From 97df01a69aa790ced8ecb90024ff646e1d9a4083 Mon Sep 17 00:00:00 2001 From: Murilo_Bio Date: Mon, 18 Sep 2017 19:53:38 -0400 Subject: allow buildin_getgroupid to take a GID --- src/map/script.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/map/script.c b/src/map/script.c index 8ddb056bd..533e421d8 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -9967,14 +9967,22 @@ BUILDIN(setgroupid) { /// Returns the group ID of the player. /// -/// getgroupid() -> -BUILDIN(getgroupid) -{ - struct map_session_data *sd = script->rid2sd(st); - if (sd == NULL) +/// getgroupid({}) -> +BUILDIN(getgroupid) { + struct map_session_data *sd = NULL; + + if (script_hasdata(st, 2)) { + sd = map->id2sd(script_getnum(st, 2)); + } else { + sd = script->rid2sd(st); + } + + if (sd == NULL) { + script_pushint(st, -1); return true; // no player attached, report source - script_pushint(st, pc_get_group_id(sd)); + } + script_pushint(st, pc_get_group_id(sd)); return true; } @@ -23861,7 +23869,7 @@ void script_parse_builtin(void) { BUILDIN_DEF(basicskillcheck,""), BUILDIN_DEF(getgmlevel,""), BUILDIN_DEF(setgroupid, "i?"), - BUILDIN_DEF(getgroupid,""), + BUILDIN_DEF(getgroupid,"?"), BUILDIN_DEF(end,""), BUILDIN_DEF(checkoption,"i?"), BUILDIN_DEF(setoption,"i??"), -- cgit v1.2.3-60-g2f50