diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-04-05 19:12:18 +0000 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2019-04-05 19:12:18 +0000 |
commit | f170e1cbb556b491a7ba7a74a26d19ab174752f0 (patch) | |
tree | af9ad782b1fd1fc970525120eb6169e21a8e14ec /src | |
parent | d9711288beba1ed7320f30252f1a1a2035da4023 (diff) | |
download | plugin-f170e1cbb556b491a7ba7a74a26d19ab174752f0.tar.gz plugin-f170e1cbb556b491a7ba7a74a26d19ab174752f0.tar.bz2 plugin-f170e1cbb556b491a7ba7a74a26d19ab174752f0.tar.xz plugin-f170e1cbb556b491a7ba7a74a26d19ab174752f0.zip |
Implement sendMapMask() which sends a custom map mask only to a specified user.
Remember to use getmapmask() before!
Diffstat (limited to 'src')
-rw-r--r-- | src/emap/init.c | 1 | ||||
-rw-r--r-- | src/emap/script_buildins.c | 26 | ||||
-rw-r--r-- | src/emap/script_buildins.h | 1 |
3 files changed, 28 insertions, 0 deletions
diff --git a/src/emap/init.c b/src/emap/init.c index 31656ef..d8a6d12 100644 --- a/src/emap/init.c +++ b/src/emap/init.c @@ -153,6 +153,7 @@ HPExport void plugin_init (void) addScriptCommand("npcwalkto", "ii", npcWalkTo); addScriptCommand("rif", "is*", rif); addScriptCommand("setmapmask", "si", setMapMask); + addScriptCommand("sendmapmask", "i*", sendMapMask); addScriptCommand("addmapmask", "si", addMapMask); addScriptCommand("removemapmask", "si", removeMapMask); addScriptCommand("getmapmask", "s", getMapMask); diff --git a/src/emap/script_buildins.c b/src/emap/script_buildins.c index e1c9123..93e9388 100644 --- a/src/emap/script_buildins.c +++ b/src/emap/script_buildins.c @@ -730,6 +730,32 @@ BUILDIN(setMapMask) return true; } +// sendMapMask(mask{, "player name"}) +BUILDIN(sendMapMask) +{ + const int val = script_getnum(st, 2); + + struct map_session_data *sd = NULL; + if (script_hasdata(st, 3) && script_isstringtype(st, 3)) + { + sd = script->nick2sd(st, script_getstr(st, 3)); + } + else + { + sd = script->rid2sd(st); + } + + if (sd == NULL) + { + ShowWarning("player not attached\n"); + script->reportsrc(st); + return false; + } + + send_mapmask(sd->fd, val); + return true; +} + BUILDIN(getMapMask) { const char *const mapName = script_getstr(st, 2); diff --git a/src/emap/script_buildins.h b/src/emap/script_buildins.h index a72a035..fab271e 100644 --- a/src/emap/script_buildins.h +++ b/src/emap/script_buildins.h @@ -29,6 +29,7 @@ BUILDIN(setq); BUILDIN(setNpcDir); BUILDIN(rif); BUILDIN(setMapMask); +BUILDIN(sendMapMask); BUILDIN(getMapMask); BUILDIN(addMapMask); BUILDIN(removeMapMask); |