Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ScriptPCH.h"
- struct BroadcastData { const char* text; uint32 time; };
- struct BroadcastData Broadcasts[] =
- {
- {"Test Announce, every 30 seconds", 30000},
- {"Test Announce, every 60 seconds", 60000},
- };
- #define BROADCAST_COUNT sizeof Broadcasts/sizeof(*Broadcasts)
- class CustomAnnouncer : public WorldScript
- {
- public:
- CustomAnnouncer() : WorldScript("CustomAnnouncer") { }
- void OnStartup()
- {
- for(uint32 i = 0; i < BROADCAST_COUNT; i++)
- Events.ScheduleEvent(i+1, Broadcasts[i].time);
- }
- void OnUpdate(uint32 diff)
- {
- Events.Update(diff);
- while (uint32 eventId = Events.ExecuteEvent())
- {
- if(eventId <= BROADCAST_COUNT)
- {
- sWorld->SendServerMessage(SERVER_MSG_STRING, Broadcasts[eventId-1].text);
- Events.ScheduleEvent(eventId, Broadcasts[eventId-1].time);
- }
- }
- }
- private:
- EventMap Events;
- };
- void AddSC_CustomAnnouncer()
- {
- new CustomAnnouncer();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement