From 96a0bb83a3c679b376c6ee3c17c3c732d5f9b8f7 Mon Sep 17 00:00:00 2001 From: gumi Date: Sun, 5 Mar 2017 12:19:34 -0500 Subject: fix code style in buildin_addtimer --- src/map/script.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/map') diff --git a/src/map/script.c b/src/map/script.c index a7e27fc1b..950242e77 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10785,19 +10785,21 @@ BUILDIN(donpcevent) *------------------------------------------*/ BUILDIN(addtimer) { - int tick = script_getnum(st,2); + int tick = script_getnum(st, 2); const char* event = script_getstr(st, 3); struct map_session_data *sd; script->check_event(st, event); sd = script->rid2sd(st); - if( sd == NULL ) + + if (sd == NULL) return true; - if (!pc->addeventtimer(sd,tick,event)) { - ShowWarning("buildin_addtimer: Event timer is full, can't add new event timer. (cid:%d timer:%s)\n",sd->status.char_id,event); + if (!pc->addeventtimer(sd, tick, event)) { + ShowWarning("script:addtimer: Event timer is full, can't add new event timer. (cid:%d timer:%s)\n", sd->status.char_id, event); return false; } + return true; } /*========================================== -- cgit v1.2.3-60-g2f50 From 0920136eab9db973c3fc8aff2f6d7cdcd389d00e Mon Sep 17 00:00:00 2001 From: gumi Date: Sun, 5 Mar 2017 12:23:13 -0500 Subject: make addtimer return success or failure --- src/map/script.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/map') diff --git a/src/map/script.c b/src/map/script.c index 950242e77..6d6ce4e85 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10792,14 +10792,18 @@ BUILDIN(addtimer) script->check_event(st, event); sd = script->rid2sd(st); - if (sd == NULL) - return true; + if (sd == NULL) { + script_pushint(st, 0); + return false; + } if (!pc->addeventtimer(sd, tick, event)) { ShowWarning("script:addtimer: Event timer is full, can't add new event timer. (cid:%d timer:%s)\n", sd->status.char_id, event); + script_pushint(st, 0); return false; } + script_pushint(st, 1); return true; } /*========================================== -- cgit v1.2.3-60-g2f50 From 404f321df6d5ff717d63528d6bceaadad4c10f07 Mon Sep 17 00:00:00 2001 From: gumi Date: Sun, 5 Mar 2017 12:28:56 -0500 Subject: allow to use addtimer on another player --- src/map/script.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/map') diff --git a/src/map/script.c b/src/map/script.c index 6d6ce4e85..ae6cb74ed 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10790,7 +10790,11 @@ BUILDIN(addtimer) struct map_session_data *sd; script->check_event(st, event); - sd = script->rid2sd(st); + + if (script_hasdata(st, 4)) + sd = map->id2sd(script_getnum(st, 4)); + else + sd = script->rid2sd(st); if (sd == NULL) { script_pushint(st, 0); @@ -21092,7 +21096,7 @@ void script_parse_builtin(void) { BUILDIN_DEF(clone,"siisi????"), BUILDIN_DEF(doevent,"s"), BUILDIN_DEF(donpcevent,"s"), - BUILDIN_DEF(addtimer,"is"), + BUILDIN_DEF(addtimer,"is?"), BUILDIN_DEF(deltimer,"s"), BUILDIN_DEF(addtimercount,"si"), BUILDIN_DEF(initnpctimer,"??"), -- cgit v1.2.3-60-g2f50 From 5d94553ad2a3625b2ba74615c89785a2d92e9e2b Mon Sep 17 00:00:00 2001 From: gumi Date: Sun, 5 Mar 2017 12:30:36 -0500 Subject: fix code style in buildin_deltimer --- src/map/script.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/map') diff --git a/src/map/script.c b/src/map/script.c index ae6cb74ed..3da3ff211 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10819,11 +10819,12 @@ BUILDIN(deltimer) event=script_getstr(st, 2); sd = script->rid2sd(st); - if( sd == NULL ) + + if (sd == NULL) return true; script->check_event(st, event); - pc->deleventtimer(sd,event); + pc->deleventtimer(sd, event); return true; } /*========================================== -- cgit v1.2.3-60-g2f50 From 50c79f0312c25de2c5b5e285f9f1635f8b74a4bb Mon Sep 17 00:00:00 2001 From: gumi Date: Sun, 5 Mar 2017 12:34:12 -0500 Subject: allow to use deltimer on another player --- src/map/script.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/map') diff --git a/src/map/script.c b/src/map/script.c index 3da3ff211..43d1822f1 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10818,7 +10818,11 @@ BUILDIN(deltimer) struct map_session_data *sd; event=script_getstr(st, 2); - sd = script->rid2sd(st); + + if (script_hasdata(st, 3)) + sd = map->id2sd(script_getnum(st, 3)); + else + sd = script->rid2sd(st); if (sd == NULL) return true; @@ -21098,7 +21102,7 @@ void script_parse_builtin(void) { BUILDIN_DEF(doevent,"s"), BUILDIN_DEF(donpcevent,"s"), BUILDIN_DEF(addtimer,"is?"), - BUILDIN_DEF(deltimer,"s"), + BUILDIN_DEF(deltimer,"s?"), BUILDIN_DEF(addtimercount,"si"), BUILDIN_DEF(initnpctimer,"??"), BUILDIN_DEF(stopnpctimer,"??"), -- cgit v1.2.3-60-g2f50 From 083c90c4497e7b5bd19fb5f2491255a3fbc9972c Mon Sep 17 00:00:00 2001 From: gumi Date: Sun, 5 Mar 2017 14:17:31 -0500 Subject: fix code style in buildin_addtimercount --- src/map/script.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/map') diff --git a/src/map/script.c b/src/map/script.c index 43d1822f1..84d5ed98f 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10839,14 +10839,15 @@ BUILDIN(addtimercount) int tick; struct map_session_data *sd; - event=script_getstr(st, 2); - tick=script_getnum(st,3); + event = script_getstr(st, 2); + tick = script_getnum(st, 3); sd = script->rid2sd(st); - if( sd == NULL ) + + if (sd == NULL) return true; script->check_event(st, event); - pc->addeventtimercount(sd,event,tick); + pc->addeventtimercount(sd, event, tick); return true; } -- cgit v1.2.3-60-g2f50 From 9a9294956a47a4eee51b072f6e23ede28962fa69 Mon Sep 17 00:00:00 2001 From: gumi Date: Sun, 5 Mar 2017 14:19:21 -0500 Subject: allow to use addtimercount on another player --- src/map/script.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/map') diff --git a/src/map/script.c b/src/map/script.c index 84d5ed98f..1641aba66 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10841,7 +10841,11 @@ BUILDIN(addtimercount) event = script_getstr(st, 2); tick = script_getnum(st, 3); - sd = script->rid2sd(st); + + if (script_hasdata(st, 4)) + sd = map->id2sd(script_getnum(st, 4)); + else + sd = script->rid2sd(st); if (sd == NULL) return true; @@ -21104,7 +21108,7 @@ void script_parse_builtin(void) { BUILDIN_DEF(donpcevent,"s"), BUILDIN_DEF(addtimer,"is?"), BUILDIN_DEF(deltimer,"s?"), - BUILDIN_DEF(addtimercount,"si"), + BUILDIN_DEF(addtimercount,"si?"), BUILDIN_DEF(initnpctimer,"??"), BUILDIN_DEF(stopnpctimer,"??"), BUILDIN_DEF(startnpctimer,"??"), -- cgit v1.2.3-60-g2f50