View difference between Paste ID: 8wLk6MUc and UG45ivpT
SHOW: | | - or go back to the newest paste.
1
C++ Code
2
3-
    icon = "|Tinterface\\ChatFrame\\UI-ChatIcon-Blizz.blp:16:32:1:-2|t"
3+
    static void SendWorldRWMessage(const char* text, WorldSession* self)
4-
    msgCenter = "|cff00FF00[SYSTEM]|r<GM>|cff00FF00["..player:GetName().."]: "..p
4+
    {
5-
    msgChat = "|cff00FF00[SYSTEM]|r"..icon.." <GM>|cff00FF00["..player:GetName().."]: "..p
5+
        uint32 textLen = (uint32)strlen((char*)text) + 1;
6-
    textLen = string.len(msgCenter) + 1
6+
7
        WorldPacket data(textLen + 40);
8-
   
8+
        data.Initialize(SMSG_MESSAGECHAT);
9
10-
    CHAT_MSG_RAID_WARNING = 40 -- is 41 on wotlk and 40 on tbc
10+
        data << uint8(CHAT_MSG_RAID_WARNING) << uint32(LANG_UNIVERSAL);
11-
   
11+
        data << (uint64)0 << (uint32)0 << (uint64)0;
12
        data << textLen << text << uint8(0);
13
14
        sWorld->SendGlobalMessage(&data, self);
15
    }
16-
        data:WriteGUID(0)            -- uint64 sender guid
16+
17
-- Eluna Lua Code
18-
        data:WriteGUID(0)                           -- uint64
18+
19
function Commands.sysmsg(player, p)
20-
        data:WriteString(msgCenter)                       -- text
20+
    msg = p
21-
        data:WriteUByte(0)                           -- uint8
21+
    textLen = string.len(msg) + 1
22
    players = GetPlayersInWorld(2, false)
23-
        v:SendBroadcastMessage(msgChat)
23+
    
24
    SMSG_MESSAGECHAT = 150
25
    CHAT_MSG_RAID_WARNING = 41
26
    
27
    for k, v in pairs (players) do
28
        local data = CreatePacket(SMSG_MESSAGECHAT, textLen + 40);
29
        data:WriteUByte(CHAT_MSG_RAID_WARNING)       -- chat type
30
        data:WriteULong(0)                          -- lang universal
31
        data:WriteGUID(player:GetGUID())            -- uint64 sender guid
32
        data:WriteULong(0)                          -- uint32 some flags
33
        data:WriteGUID(0)                           -- uint64 
34
        data:WriteULong(textLen)                    -- text length
35
        data:WriteString(msg)                       -- text
36
        data:WriteUByte(0)                           -- uint8 
37
        print(data)
38
        v:SendPacket(data)
39
    end
40
end