From acbc58373605b52514763e6f041ce6a7e1e2dca7 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 15 Feb 2018 19:59:29 +0300 Subject: Add script command for check is id belong to existing instance. New script command: isinstance id --- src/emap/init.c | 1 + src/emap/script_buildins.c | 8 ++++++++ src/emap/script_buildins.h | 1 + 3 files changed, 10 insertions(+) (limited to 'src/emap') diff --git a/src/emap/init.c b/src/emap/init.c index 3806aee..85d9bc5 100644 --- a/src/emap/init.c +++ b/src/emap/init.c @@ -194,6 +194,7 @@ HPExport void plugin_init (void) addScriptCommand("getitemoptionvaluebyindex", "ii", getItemOptionValueByIndex); addScriptCommand("getitemoptionparambyindex", "ii", getItemOptionParamByIndex); addScriptCommand("setitemoptionbyindex", "iii*", setItemOptionByIndex); + addScriptCommand("isinstance", "i", isInstance); do_init_langs(); diff --git a/src/emap/script_buildins.c b/src/emap/script_buildins.c index ed6c6c1..520f16f 100644 --- a/src/emap/script_buildins.c +++ b/src/emap/script_buildins.c @@ -13,6 +13,7 @@ #include "common/timer.h" #include "map/chat.h" #include "map/chrif.h" +#include "map/instance.h" #include "map/npc.h" #include "map/pc.h" #include "map/script.h" @@ -2246,3 +2247,10 @@ BUILDIN(setItemOptionByIndex) return true; } + +BUILDIN(isInstance) +{ + const int instance_id = script_getnum(st, 2); + script_pushint(st, instance->valid(instance_id) ? 1 : 0); + return true; +} diff --git a/src/emap/script_buildins.h b/src/emap/script_buildins.h index 91b02b3..176feb0 100644 --- a/src/emap/script_buildins.h +++ b/src/emap/script_buildins.h @@ -93,5 +93,6 @@ BUILDIN(getItemOptionIdByIndex); BUILDIN(getItemOptionValueByIndex); BUILDIN(getItemOptionParamByIndex); BUILDIN(setItemOptionByIndex); +BUILDIN(isInstance); #endif // EVOL_MAP_SCRIPT_BUILDINS -- cgit v1.2.3-70-g09d2