void ChatHandler::SendGlobalGMSysMessage(const char *str) { // Chat output WorldPacket data; // need copy to prevent corruption by strtok call in LineFromMessage original string char* buf = strdup(str); char* pos = buf; while (char* line = LineFromMessage(pos)) { FillSystemMessageData(&data, line); sWorld->SendGlobalGMMessage(&data); } free(buf); }
void ChatHandler::SendSysMessage(const char *str) { WorldPackets::Chat::Chat packet; // need copy to prevent corruption by strtok call in LineFromMessage original string char* buf = strdup(str); char* pos = buf; while (char* line = LineFromMessage(pos)) { packet.Initalize(CHAT_MSG_SYSTEM, LANG_UNIVERSAL, nullptr, nullptr, line); m_session->SendPacket(packet.Write()); } free(buf); }
void ChatHandler::SendSysMessage(const char *str) { WorldPacket data; // need copy to prevent corruption by strtok call in LineFromMessage original string char* buf = strdup(str); char* pos = buf; while (char* line = LineFromMessage(pos)) { BuildChatPacket(data, CHAT_MSG_SYSTEM, LANG_UNIVERSAL, NULL, NULL, line); m_session->SendPacket(&data); } free(buf); }
void ChatHandler::SendGlobalGMSysMessage(const char *str) { // Chat output WorldPacket data; // need copy to prevent corruption by strtok call in LineFromMessage original string char* buf = strdup(str); char* pos = buf; while (char* line = LineFromMessage(pos)) { BuildChatPacket(data, CHAT_MSG_SYSTEM, LANG_UNIVERSAL, nullptr, nullptr, line); sWorld->SendGlobalGMMessage(&data); } free(buf); }
void ChatHandler::SendSysMessage(const char *str, bool escapeCharacters) { WorldPacket data; // need copy to prevent corruption by strtok call in LineFromMessage original string char* buf; char* pos; if (escapeCharacters && strchr(str, '|')) { size_t startPos = 0; std::ostringstream o; while (const char* charPos = strchr(str + startPos, '|')) { o.write(str + startPos, charPos - str - startPos); o << "||"; startPos = charPos - str + 1; } o.write(str + startPos, strlen(str) - startPos); buf = strdup(o.str().c_str()); } else { buf = strdup(str); } pos = buf; while (char* line = LineFromMessage(pos)) { BuildChatPacket(data, CHAT_MSG_SYSTEM, LANG_UNIVERSAL, NULL, NULL, line); m_session->SendPacket(&data); } free(buf); }