From a678624e64df2db5ff7cb0f2bc187a3ac1d8bfbc Mon Sep 17 00:00:00 2001 From: eathenabot Date: Fri, 23 Mar 2012 04:57:11 +0000 Subject: [PATCH] * Merged changes up to eAthena 15083. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15773 54d463be-8e91-2dee-dedb-b68131a5f0ec --- doc/script_commands.txt | 11 +++++++++++ src/map/script.c | 20 ++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 354ad8298b..4292017cac 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -2027,6 +2027,17 @@ Whatever it returns is determined by type. --------------------------------------- +*getnpcid() + +This function will return the GID of an NPC. +Type can be: + + 0 - The NPC that the running script is attached to. + +Useful for making an NPC perform an action using script commands that require a GID (e.g. unit*) + +--------------------------------------- + *getarraysize() This function returns the number of values that are contained inside the diff --git a/src/map/script.c b/src/map/script.c index 512a84483c..897575a308 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -6353,6 +6353,25 @@ BUILDIN_FUNC(getcharid) return 0; } +/*========================================== + * returns the GID of an NPC + *------------------------------------------*/ +BUILDIN_FUNC(getnpcid) +{ + int num; + + switch (num = script_getnum(st,2)) { + case 0: + script_pushint(st,st->oid); + break; + default: + ShowError("buildin_getnpcid: invalid parameter (%d).\n", num); + script_pushint(st,0); + break; + } + + return 0; +} /*========================================== *指定IDのPT名取得 *------------------------------------------*/ @@ -15911,6 +15930,7 @@ struct script_function buildin_func[] = { BUILDIN_DEF(checkweight,"vi"), BUILDIN_DEF(readparam,"i?"), BUILDIN_DEF(getcharid,"i?"), + BUILDIN_DEF(getnpcid,"i"), BUILDIN_DEF(getpartyname,"i"), BUILDIN_DEF(getpartymember,"i?"), BUILDIN_DEF(getpartyleader,"i?"),