diff options
author | Lupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-20 17:49:30 +0000 |
---|---|---|
committer | Lupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-20 17:49:30 +0000 |
commit | 7c958b1bd13c14022fb118fca661eb449645c87a (patch) | |
tree | b6776d6eb162b0b0c834b8a5a83417e77412c314 /src/map/pc.c | |
parent | c5d586a611baf934fe30b2291e51002a4506bdbb (diff) | |
download | hercules-7c958b1bd13c14022fb118fca661eb449645c87a.tar.gz hercules-7c958b1bd13c14022fb118fca661eb449645c87a.tar.bz2 hercules-7c958b1bd13c14022fb118fca661eb449645c87a.tar.xz hercules-7c958b1bd13c14022fb118fca661eb449645c87a.zip |
some Valaris's fixes of "double connect bug"
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@663 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 4a019de58..40b8491b5 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3892,6 +3892,11 @@ int pc_setpos(struct map_session_data *sd,char *mapname_org,int x,int y,int clrt // map_addblock(&sd->bl); /// ブロック登?とspawnは // clif_spawnpc(sd); + //double connection bug fix by Valaris + if(sd->alive_timer) + delete_timer(sd->alive_timer,pc_alive_timer); + sd->alive_timer=add_timer(gettick()+60*1000,pc_alive_timer,sd->bl.id,0); + return 0; } @@ -8085,6 +8090,7 @@ int do_init_pc(void) { // add night/day timer (by [yor]) add_timer_func_list(map_day_timer, "map_day_timer"); // by [yor] add_timer_func_list(map_night_timer, "map_night_timer"); // by [yor] + add_timer_func_list(pc_alive_timer, "pc_alive_timer"); //by Valaris { int day_duration = battle_config.day_duration; int night_duration = battle_config.night_duration; @@ -8105,3 +8111,14 @@ int do_init_pc(void) { return 0; } + +//Valaris +int pc_alive_timer(int tid,unsigned int tick,int id,int data) +{ + struct map_session_data *sd=(struct map_session_data*)map_id2bl(id); + nullpo_retr(0, sd); + if(sd->alive_timer != tid) + return 0; + map_quit(sd); + return 0; +}
\ No newline at end of file |