summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/script_commands.txt11
-rw-r--r--src/map/script.c20
2 files changed, 31 insertions, 0 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 354ad8298..4292017ca 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -2027,6 +2027,17 @@ Whatever it returns is determined by type.
---------------------------------------
+*getnpcid(<type>)
+
+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(<array name>)
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 512a84483..897575a30 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -6354,6 +6354,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名取得
*------------------------------------------*/
BUILDIN_FUNC(getpartyname)
@@ -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?"),