summaryrefslogtreecommitdiff
path: root/src/emap
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-02-26 03:11:34 -0300
committerJesusaves <cpntb1@ymail.com>2020-02-26 03:11:34 -0300
commit6ccdbae7b9a7d417c428122e8f2bbbdeae9e86c6 (patch)
tree9cfe51bb3a1e2873765c12a74ce05ea10292abd0 /src/emap
parent5e50f368b069132dd76b9e1e37cf2bec4139a3fd (diff)
downloadevol-hercules-6ccdbae7b9a7d417c428122e8f2bbbdeae9e86c6.tar.gz
evol-hercules-6ccdbae7b9a7d417c428122e8f2bbbdeae9e86c6.tar.bz2
evol-hercules-6ccdbae7b9a7d417c428122e8f2bbbdeae9e86c6.tar.xz
evol-hercules-6ccdbae7b9a7d417c428122e8f2bbbdeae9e86c6.zip
New utility function: instanceowner.
Will return the ID of the instance owner. "0" means global instance or invalid. Party and Guilds share IDs, so be careful when not using account IDs for this.
Diffstat (limited to 'src/emap')
-rw-r--r--src/emap/init.c1
-rw-r--r--src/emap/script_buildins.c18
-rw-r--r--src/emap/script_buildins.h1
3 files changed, 20 insertions, 0 deletions
diff --git a/src/emap/init.c b/src/emap/init.c
index 5c5bf27..d351985 100644
--- a/src/emap/init.c
+++ b/src/emap/init.c
@@ -233,6 +233,7 @@ HPExport void plugin_init (void)
addScriptCommand("homstatus","",homstatus);
addScriptCommand("readparam2","i?",readparam2);
addScriptCommand("npcshopattach","s?",npcshopattach);
+ addScriptCommand("instanceowner", "i", InstanceOwner);
// Overrides
addScriptCommand("debugmes","v*",debugmes);
diff --git a/src/emap/script_buildins.c b/src/emap/script_buildins.c
index 65ac653..f0b06a5 100644
--- a/src/emap/script_buildins.c
+++ b/src/emap/script_buildins.c
@@ -2984,3 +2984,21 @@ BUILDIN(countitem)
}
+// Returns the Acc. ID of the owner of an instance
+BUILDIN(InstanceOwner)
+{
+ const int instance_id = script_getnum(st, 2);
+
+ // Do instance exists?
+ if (!instance->valid(instance_id)) {
+ script_pushint(st, false);
+ return true;
+ }
+
+ // Note: This does not returns type!
+ // using this against party/guilds instances not advised.
+ // returns 0 if either instance doesn't exists or is global
+ script_pushint(st, (int)instance->list[instance_id].owner_id);
+ return true;
+}
+
diff --git a/src/emap/script_buildins.h b/src/emap/script_buildins.h
index 53907bd..2343b12 100644
--- a/src/emap/script_buildins.h
+++ b/src/emap/script_buildins.h
@@ -118,6 +118,7 @@ BUILDIN(deployhomunculus);
BUILDIN(recallhomunculus);
BUILDIN(homstatus);
BUILDIN(readparam2);
+BUILDIN(InstanceOwner);
// Overrides
BUILDIN(countitem);