From db20d783fe41bb9b44b92461f9843a31146a5ce7 Mon Sep 17 00:00:00 2001 From: mekolat Date: Thu, 21 May 2015 19:17:03 -0400 Subject: npc actions --- src/map/script-fun.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/map/script-fun.cpp') diff --git a/src/map/script-fun.cpp b/src/map/script-fun.cpp index 520936b..0d19770 100644 --- a/src/map/script-fun.cpp +++ b/src/map/script-fun.cpp @@ -1614,6 +1614,30 @@ void builtin_setnpctimer(ScriptState *st) npc_settimerevent_tick(nd, tick); } +static +void builtin_npcaction(ScriptState *st) +{ + dumb_ptr sd = script_rid2sd(st); + short command = conv_num(st, &AARG(0)); + int id = 0; + short x = HARG(2) ? conv_num(st, &AARG(2)) : 0; + short y = HARG(3) ? conv_num(st, &AARG(3)) : 0; + + if(HARG(1)) + { + if(command == 2) + { + dumb_ptr nd_; + nd_ = npc_name2id(stringish(ZString(conv_str(st, &AARG(1))))); + id = unwrap(nd_->bl_id); + } + else + id = conv_num(st, &AARG(1)); + } + + clif_npc_action(sd, st->oid, command, id, x, y); +} + static void builtin_setnpcdirection(ScriptState *st) { @@ -3103,6 +3127,7 @@ BuiltinFunction builtin_functions[] = BUILTIN(getnpctimer, "i?"_s, 'i'), BUILTIN(setnpctimer, "i?"_s, '\0'), BUILTIN(setnpcdirection, "iii?"_s, '\0'), + BUILTIN(npcaction, "i???"_s, '\0'), BUILTIN(announce, "si"_s, '\0'), BUILTIN(mapannounce, "Msi"_s, '\0'), BUILTIN(getusers, "i"_s, 'i'), -- cgit v1.2.3-60-g2f50