summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2019-06-01 16:01:52 +0200
committerGitHub <noreply@github.com>2019-06-01 16:01:52 +0200
commit04509358343beb64bc3c6b79a35cf03899370f1a (patch)
tree5bf26ec8d9322123ecdbd7d8b862ec90085a1a90
parent0514a2b066d89e66efab5afb5dfe453b2039f11d (diff)
parent8013b7950bc9a48ec91c25587e513ad563d5f34f (diff)
downloadhercules-04509358343beb64bc3c6b79a35cf03899370f1a.tar.gz
hercules-04509358343beb64bc3c6b79a35cf03899370f1a.tar.bz2
hercules-04509358343beb64bc3c6b79a35cf03899370f1a.tar.xz
hercules-04509358343beb64bc3c6b79a35cf03899370f1a.zip
Merge pull request #2474 from Emistry/scriptcommand_getmapinfo
Update *getmapinfo script command.
-rw-r--r--doc/script_commands.txt11
-rw-r--r--src/map/script.c12
2 files changed, 15 insertions, 8 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 516454365..ae9d05d46 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -3396,11 +3396,12 @@ argument is omitted, it will try to use the map of the attached NPC, or the
map of the attached player if the NPC can't be found.
Valid <info> are:
- MAPINFO_NAME name of the map
- MAPINFO_ID numeric ID of the map
- MAPINFO_ZONE name of the zone used by the map
- MAPINFO_SIZE_X width of the map (cells on the x axis)
- MAPINFO_SIZE_Y height of the map (cells on the y axis)
+ MAPINFO_NAME name of the map
+ MAPINFO_ID numeric ID of the map
+ MAPINFO_ZONE name of the zone used by the map
+ MAPINFO_SIZE_X width of the map (cells on the x axis)
+ MAPINFO_SIZE_Y height of the map (cells on the y axis)
+ MAPINFO_NPC_COUNT total number of NPC in the map
Examples:
getmapinfo(MAPINFO_ID, "map name"); // ID from name
diff --git a/src/map/script.c b/src/map/script.c
index 98c485e65..478cc8e1d 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -13053,7 +13053,8 @@ enum mapinfo_info {
MAPINFO_ID,
MAPINFO_SIZE_X,
MAPINFO_SIZE_Y,
- MAPINFO_ZONE
+ MAPINFO_ZONE,
+ MAPINFO_NPC_COUNT
};
static BUILDIN(getmapinfo)
@@ -13078,7 +13079,7 @@ static BUILDIN(getmapinfo)
}
if (bl == NULL) {
- ShowError("script:getmapinfo: map not supplied and NPC/PC not attached!\n");
+ ShowError("buildin_getmapinfo: map not supplied and NPC/PC not attached!\n");
script_pushint(st, -3);
return false;
}
@@ -13109,8 +13110,11 @@ static BUILDIN(getmapinfo)
case MAPINFO_ZONE:
script_pushstrcopy(st, map->list[m].zone->name);
break;
+ case MAPINFO_NPC_COUNT:
+ script_pushint(st, map->list[m].npc_num);
+ break;
default:
- ShowError("script:getmapinfo: unknown option in second argument (%u).\n", mode);
+ ShowError("buildin_getmapinfo: unknown option in second argument (%u).\n", mode);
script_pushint(st, -2);
return false;
}
@@ -26111,6 +26115,7 @@ static void script_hardcoded_constants(void)
script->set_constant("MAX_MENU_LENGTH", MAX_MENU_LENGTH, false, false);
script->set_constant("MOB_CLONE_START", MOB_CLONE_START, false, false);
script->set_constant("MOB_CLONE_END", MOB_CLONE_END, false, false);
+ script->set_constant("MAX_NPC_PER_MAP", MAX_NPC_PER_MAP, false, false);
script->constdb_comment("status options");
script->set_constant("Option_Nothing",OPTION_NOTHING,false, false);
@@ -26361,6 +26366,7 @@ static void script_hardcoded_constants(void)
script->set_constant("MAPINFO_SIZE_X", MAPINFO_SIZE_X, false, false);
script->set_constant("MAPINFO_SIZE_Y", MAPINFO_SIZE_Y, false, false);
script->set_constant("MAPINFO_ZONE", MAPINFO_ZONE, false, false);
+ script->set_constant("MAPINFO_NPC_COUNT", MAPINFO_NPC_COUNT, false, false);
script->constdb_comment("consolemes options");
script->set_constant("CONSOLEMES_DEBUG", CONSOLEMES_DEBUG, false, false);