mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 07:18:37 +00:00
[Quest API] Add EVENT_PAYLOAD to Perl/Lua. (#2611)
* [Quest API] Add EVENT_PAYLOAD to Perl/Lua. # Perl - Add `$bot->SendPayload(payload_id)`. - Add `$bot->SendPayload(payload_id, payload_value)`. - Add `$client->SendPayload(payload_id)`. - Add `$client->SendPayload(payload_id, payload_value)`. - Add `$mob->SendPayload(payload_id)`. - Add `$mob->SendPayload(payload_id, payload_value)`. - Add `$npc->SendPayload(payload_id)`. - Add `$npc->SendPayload(payload_id, payload_value)`. # Lua - Add `bot:SendPayload(payload_id)`. - Add `bot:SendPayload(payload_id, payload_value)`. - Add `client:SendPayload(payload_id)`. - Add `client:SendPayload(payload_id, payload_value)`. - Add `mob:SendPayload(payload_id)`. - Add `mob:SendPayload(payload_id, payload_value)`. - Add `npc:SendPayload(payload_id)`. - Add `npc:SendPayload(payload_id, payload_value)`. # Notes - Allows operators to send payload IDs with a payload value, the value can be a comma separated value, JSON, etc. - The idea is to allow a more configurable event for operators to send information to/from entities. * Cleanup parser events.
This commit is contained in:
+31
-1
@@ -1366,7 +1366,7 @@ void Lua_Mob::Signal(int signal_id) {
|
||||
self->CastToNPC()->SignalNPC(signal_id);
|
||||
#ifdef BOTS
|
||||
} else if (self->IsBot()) {
|
||||
self->CastToBot()->SignalBot(signal_id);
|
||||
self->CastToBot()->Signal(signal_id);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -2719,6 +2719,34 @@ bool Lua_Mob::EntityVariableExists(std::string variable_name) {
|
||||
return self->EntityVariableExists(variable_name);
|
||||
}
|
||||
|
||||
void Lua_Mob::SendPayload(int payload_id) {
|
||||
Lua_Safe_Call_Void();
|
||||
|
||||
if (self->IsClient()) {
|
||||
self->CastToClient()->SendPayload(payload_id);
|
||||
} else if (self->IsNPC()) {
|
||||
self->CastToNPC()->SendPayload(payload_id);
|
||||
#ifdef BOTS
|
||||
} else if (self->IsBot()) {
|
||||
self->CastToBot()->SendPayload(payload_id);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void Lua_Mob::SendPayload(int payload_id, std::string payload_value) {
|
||||
Lua_Safe_Call_Void();
|
||||
|
||||
if (self->IsClient()) {
|
||||
self->CastToClient()->SendPayload(payload_id, payload_value);
|
||||
} else if (self->IsNPC()) {
|
||||
self->CastToNPC()->SendPayload(payload_id, payload_value);
|
||||
#ifdef BOTS
|
||||
} else if (self->IsBot()) {
|
||||
self->CastToBot()->SendPayload(payload_id, payload_value);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef BOTS
|
||||
void Lua_Mob::DamageAreaBots(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
@@ -3193,6 +3221,8 @@ luabind::scope lua_register_mob() {
|
||||
.def("SendWearChange", (void(Lua_Mob::*)(uint8))&Lua_Mob::SendWearChange)
|
||||
.def("SendBeginCast", &Lua_Mob::SendBeginCast)
|
||||
.def("SendIllusionPacket", (void(Lua_Mob::*)(luabind::adl::object))&Lua_Mob::SendIllusionPacket)
|
||||
.def("SendPayload", (void(Lua_Mob::*)(int))&Lua_Mob::SendPayload)
|
||||
.def("SendPayload", (void(Lua_Mob::*)(int,std::string))&Lua_Mob::SendPayload)
|
||||
.def("SendSpellEffect", (void(Lua_Mob::*)(uint32,uint32,uint32,bool,uint32))&Lua_Mob::SendSpellEffect)
|
||||
.def("SendSpellEffect", (void(Lua_Mob::*)(uint32,uint32,uint32,bool,uint32,bool))&Lua_Mob::SendSpellEffect)
|
||||
.def("SendSpellEffect", (void(Lua_Mob::*)(uint32,uint32,uint32,bool,uint32,bool,Lua_Client))&Lua_Mob::SendSpellEffect)
|
||||
|
||||
Reference in New Issue
Block a user