diff options
-rw-r--r-- | Changelog-SVN.txt | 1 | ||||
-rw-r--r-- | src/map/npc.c | 28 | ||||
-rw-r--r-- | src/map/npc.h | 2 | ||||
-rw-r--r-- | src/map/script.c | 8 |
4 files changed, 20 insertions, 19 deletions
diff --git a/Changelog-SVN.txt b/Changelog-SVN.txt index 8d0d39096..58a01ed39 100644 --- a/Changelog-SVN.txt +++ b/Changelog-SVN.txt @@ -2,6 +2,7 @@ Date Added 03/31 + * Fixed a bug with InitTimer/StopTimer, thanks to ilpalazzo-sama * Set 'undead_detect_type' to 0 by default, thanks to Dino9021 * Fixed Enchant Poison / Deadly Poison having too high poisoning chance * Reverted the pc_remove_map() change temporarily diff --git a/src/map/npc.c b/src/map/npc.c index 95893ad11..2396991d5 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -499,33 +499,33 @@ int npc_cleareventtimer(struct npc_data *nd) int npc_do_ontimer_sub(void *key,void *data,va_list ap) { - char *p=(char *)key; - struct event_data *ev=(struct event_data *)data; - int *c=va_arg(ap,int *); + char *p = (char *)key; + struct event_data *ev = (struct event_data *)data; + int *c = va_arg(ap,int *); // struct map_session_data *sd=va_arg(ap,struct map_session_data *); - int option=va_arg(ap,int); - int tick=0; + int option = va_arg(ap,int); + int tick = 0; char temp[10]; char event[50]; - if(ev->nd->bl.id==(int)*c && (p=strchr(p,':')) && p && strnicmp("::OnTimer",p,8)==0 ){ - sscanf(&p[9],"%s",temp); - tick=atoi(temp); + if(ev->nd->bl.id == (int)*c && (p = strchr(p,':')) && strnicmp("::OnTimer",p,8) == 0){ + sscanf(&p[9], "%s", temp); + tick = atoi(temp); - strcpy( event, ev->nd->name); - strcat( event, p); + strcpy(event, ev->nd->name); + strcat(event, p); if (option!=0) { - npc_addeventtimer(ev->nd,tick,event); + npc_addeventtimer(ev->nd, tick, event); } else { - npc_deleventtimer(ev->nd,event); + npc_deleventtimer(ev->nd, event); } } return 0; } -int npc_do_ontimer(int npc_id, struct map_session_data *sd, int option) +int npc_do_ontimer(int npc_id, int option) { - strdb_foreach(ev_db,npc_do_ontimer_sub,&npc_id,sd,option); + strdb_foreach(ev_db, npc_do_ontimer_sub, &npc_id, option); return 0; } /*========================================== diff --git a/src/map/npc.h b/src/map/npc.h index 054e9559b..d4ee9997c 100644 --- a/src/map/npc.h +++ b/src/map/npc.h @@ -42,7 +42,7 @@ void npc_delsrcfile(char *); int do_final_npc(void); int do_init_npc(void); int npc_event_do_oninit(void); -int npc_do_ontimer(int,struct map_session_data *,int); +int npc_do_ontimer(int,int); int npc_event_doall(const char *name); int npc_event_do(const char *name); diff --git a/src/map/script.c b/src/map/script.c index 980b552af..8a1672c06 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -5524,9 +5524,9 @@ int buildin_cmdothernpc(struct script_state *st) // Added by RoVeRT int buildin_inittimer(struct script_state *st) // Added by RoVeRT { // struct npc_data *nd=(struct npc_data*)map_id2bl(st->oid); - // nd->lastaction=nd->timer=gettick(); - npc_do_ontimer(st->oid, map_id2sd(st->rid), 1); + + npc_do_ontimer(st->oid, 1); return 0; } @@ -5534,9 +5534,9 @@ int buildin_inittimer(struct script_state *st) // Added by RoVeRT int buildin_stoptimer(struct script_state *st) // Added by RoVeRT { // struct npc_data *nd=(struct npc_data*)map_id2bl(st->oid); - // nd->lastaction=nd->timer=-1; - npc_do_ontimer(st->oid, map_id2sd(st->rid), 0); + + npc_do_ontimer(st->oid, 0); return 0; } |