diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-11-28 16:03:23 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-11-28 16:03:23 +0300 |
commit | eb2a8c8519ad566e2b2dfae18d11acc8478a85fc (patch) | |
tree | 29c8c07e6f8c41957c88ff7a62db286f93b9593c /src/map | |
parent | 905642f167858017e1fa1582f6253da3c9a8ff97 (diff) | |
download | evol-hercules-eb2a8c8519ad566e2b2dfae18d11acc8478a85fc.tar.gz evol-hercules-eb2a8c8519ad566e2b2dfae18d11acc8478a85fc.tar.bz2 evol-hercules-eb2a8c8519ad566e2b2dfae18d11acc8478a85fc.tar.xz evol-hercules-eb2a8c8519ad566e2b2dfae18d11acc8478a85fc.zip |
Add script command "getnpcclass".
Format: getnpcclass ([NAME])
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/init.c | 1 | ||||
-rw-r--r-- | src/map/script.c | 28 | ||||
-rw-r--r-- | src/map/script.h | 1 |
3 files changed, 30 insertions, 0 deletions
diff --git a/src/map/init.c b/src/map/init.c index e22bcba..519ca02 100644 --- a/src/map/init.c +++ b/src/map/init.c @@ -78,6 +78,7 @@ HPExport void plugin_init (void) addScriptCommand("addmapmask", "si", addMapMask); addScriptCommand("removemapmask", "si", removeMapMask); addScriptCommand("getmapmask", "s", getMapMask); + addScriptCommand("getnpcclass", "*", getNpcClass); do_init_langs(); diff --git a/src/map/script.c b/src/map/script.c index 676d598..8b8cbfe 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -506,3 +506,31 @@ BUILDIN(removeMapMask) send_mapmask_brodcast(m, mapData->mask); return true; } + +BUILDIN(getNpcClass) +{ + struct npc_data *nd = 0; + + if (script_hasdata(st, 2)) + { + nd = npc->name2id (script_getstr(st, 2)); + } + if (!nd && !st->oid) + { + script_pushint(st, -1); + return false; + } + + if (!nd) + nd = (struct npc_data *) map->id2bl(st->oid); + + if (!nd) + { + script_pushint(st, -1); + return false; + } + + script_pushint(st, (int)nd->class_); + + return true; +} diff --git a/src/map/script.h b/src/map/script.h index 3210cca..36e8150 100644 --- a/src/map/script.h +++ b/src/map/script.h @@ -24,5 +24,6 @@ BUILDIN(setMapMask); BUILDIN(getMapMask); BUILDIN(addMapMask); BUILDIN(removeMapMask); +BUILDIN(getNpcClass); #endif // EVOL_MAP_SCRIPT |