Eluna SendAddonMessage method

Added: SendAddonMessage method.

TODO: Debug, does not work. @Easelm
This commit is contained in:
Foereaper
2014-04-06 00:54:41 +02:00
parent a9542a28cb
commit 54899419e0
2 changed files with 32 additions and 0 deletions

View File

@@ -2229,6 +2229,37 @@ namespace LuaPlayer
return 0;
}
int SendAddonMessage(lua_State* L, Player* player)
{
std::string prefix = sEluna->CHECKVAL<std::string>(L, 1);
std::string message = sEluna->CHECKVAL<std::string>(L, 2);
uint8 channel = sEluna->CHECKVAL<uint8>(L, 3);
uint64 receiver = sEluna->CHECKVAL<uint64>(L, 4);
std::string fullmsg = prefix + '\t' + message;
// Needs a custom built packet since TC doesnt send guid
WorldPacket* data = new WorldPacket();
uint32 messageLength = (uint32)strlen(fullmsg.c_str()) + 1;
data->Initialize(SMSG_MESSAGECHAT, 100);
*data << channel;
*data << LANG_ADDON;
*data << player->GetGUID();
*data << uint32(0);
if (channel == CHAT_MSG_WHISPER)
*data << receiver;
else
*data << uint64(0);
*data << messageLength;
*data << fullmsg;
*data << uint8(0);
player->GetSession()->SendPacket(data);
return 0;
}
/*int BindToInstance(lua_State* L, Player* player)
{
player->BindToInstance();