summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-03-31 17:21:24 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-03-31 17:21:24 +0000
commit653c08bb22079c851a785b88e0f1744c21f08d41 (patch)
tree7c0c2b0e4477be3b9bbf6bf1ae3ae51680f6f8ef
parent76da1004104ac328b5004883fc14aba3c24c9284 (diff)
downloadhercules-653c08bb22079c851a785b88e0f1744c21f08d41.tar.gz
hercules-653c08bb22079c851a785b88e0f1744c21f08d41.tar.bz2
hercules-653c08bb22079c851a785b88e0f1744c21f08d41.tar.xz
hercules-653c08bb22079c851a785b88e0f1744c21f08d41.zip
* Fixed a bug with InitTimer/StopTimer
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1358 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-SVN.txt1
-rw-r--r--src/map/npc.c28
-rw-r--r--src/map/npc.h2
-rw-r--r--src/map/script.c8
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;
}