diff options
author | Haru <haru@dotalux.com> | 2015-05-16 16:22:15 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2015-05-16 16:28:36 +0200 |
commit | 6f2b524a4f1349a588bd5db4526b485eda7a6d2d (patch) | |
tree | 79c38faa01fac08eb98a42b5b6b534c6e43fdf29 | |
parent | cfd20d2657db0b129e10acbd8787eea017fa5cbd (diff) | |
download | hercules-6f2b524a4f1349a588bd5db4526b485eda7a6d2d.tar.gz hercules-6f2b524a4f1349a588bd5db4526b485eda7a6d2d.tar.bz2 hercules-6f2b524a4f1349a588bd5db4526b485eda7a6d2d.tar.xz hercules-6f2b524a4f1349a588bd5db4526b485eda7a6d2d.zip |
Added charid2rid script command
- Returns the account ID (RID) for the given character ID.
- As per Streusel's request.
Signed-off-by: Haru <haru@dotalux.com>
-rw-r--r-- | doc/script_commands.txt | 8 | ||||
-rw-r--r-- | src/map/script.c | 18 |
2 files changed, 26 insertions, 0 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 0eb383c0a..779589281 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -2322,6 +2322,14 @@ Whatever it returns is determined by type. --------------------------------------- +*charid2sd(<char id>) + +This function returns the RID of the character with the given character ID. + +If the character is offline or doesn't exist, 0 is returned. + +--------------------------------------- + *getarraysize(<array name>) This function returns highest index of the array that is filled. diff --git a/src/map/script.c b/src/map/script.c index 99d6f9088..898d341ed 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -8105,6 +8105,23 @@ BUILDIN(strnpcinfo) { return true; } +/** + * charid2rid: Returns the RID associated to the given character ID + */ +BUILDIN(charid2rid) +{ + int cid = script_getnum(st, 2); + TBL_PC *sd = map->charid2sd(cid); + + if (sd == NULL) { + script_pushint(st, 0); + return true; + } + + script_pushint(st, sd->status.account_id); + return true; +} + /*========================================== * GetEquipID(Pos); Pos: 1-SCRIPT_EQUIP_TABLE_SIZE *------------------------------------------*/ @@ -19827,6 +19844,7 @@ void script_parse_builtin(void) { BUILDIN_DEF(getguildmember,"i?"), BUILDIN_DEF(strcharinfo,"i"), BUILDIN_DEF(strnpcinfo,"i"), + BUILDIN_DEF(charid2rid,"i"), BUILDIN_DEF(getequipid,"i"), BUILDIN_DEF(getequipname,"i"), BUILDIN_DEF(getbrokenid,"i"), // [Valaris] |