diff options
-rw-r--r-- | doc/script_commands.txt | 13 | ||||
-rw-r--r-- | src/map/script.c | 16 |
2 files changed, 26 insertions, 3 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index e2a0af548..50f5d5dfe 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -2671,9 +2671,9 @@ Notice that NPC objects disabled with 'disablenpc' will still be located. *getgmlevel() -This function will return the GM level of the account to which the invoking -character belongs. If this is somehow executed from a console command, 99 will -be returned, and 0 will be returned if the account has no GM level. +This function will return the (GM) level of player group the account to which the +invoking character belongs. If this is somehow executed from a console command, +99 will be returned, and 0 will be returned if the account has no GM level. This allows you to make NPC's only accessible for certain GM levels, or behave specially when talked to by GMs. @@ -2683,6 +2683,13 @@ specially when talked to by GMs. --------------------------------------- +*getgroupid() + +This function will return the id of player group the account to which the +invoking player belongs. + +--------------------------------------- + *gettimetick(<tick type>) This function will return the system time in UNIX epoch time (if tick type is 2) diff --git a/src/map/script.c b/src/map/script.c index 14c3ae6d9..8fdefe2c2 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -7350,6 +7350,21 @@ BUILDIN_FUNC(getgmlevel) return 0; } +/// Returns the group ID of the player. +/// +/// getgroupid() -> <int> +BUILDIN_FUNC(getgroupid) +{ + TBL_PC* sd; + + sd = script_rid2sd(st); + if (sd == NULL) + return 1; // no player attached, report source + script_pushint(st, pc_get_group_id(sd)); + + return 0; +} + /// Terminates the execution of this script instance. /// /// end @@ -15978,6 +15993,7 @@ struct script_function buildin_func[] = { BUILDIN_DEF(getgdskilllv,"iv"), BUILDIN_DEF(basicskillcheck,""), BUILDIN_DEF(getgmlevel,""), + BUILDIN_DEF(getgroupid,""), BUILDIN_DEF(end,""), BUILDIN_DEF(checkoption,"i"), BUILDIN_DEF(setoption,"i?"), |