inherit "/std/object"; string last_wrote; int daily_time,running_time; void save_timekeeper(); int check_write(); void setup() { set_name("timekeeper"); restore_object("/save/timekeeper"); } int add_time(int time_on) { if(time_on > 0 && time_on < 86400) { daily_time+=time_on; running_time+=time_on; } check_write(); save_timekeeper(); return daily_time; } int check_write() { string *cur_time = explode(ctime(time())," "); if(cur_time[0] != last_wrote) { log_file("TIME_ON", ctime(time())+"\n"+daily_time+"\n"); daily_time = 0; last_wrote = cur_time[0]; return 1; } return 0; } int query_daily_time() { check_write(); return daily_time; } int query_running_time() { check_write(); return running_time; } void dest_me() { save_timekeeper(); ::dest_me(); } void set_last_wrote(string str) { last_wrote = str; } void save_timekeeper() { save_object("/save/timekeeper",1); }