SHOW:
|
|
- or go back to the newest paste.
| 1 | /* _____ _ _ _ _____ ______ _____ ___ */ | |
| 2 | /*| ____|| | | | | || | | | |*/ | |
| 3 | /*| | | | | | | ||_____ | |_____ |___|*/ | |
| 4 | /*| |___ | |___ | |___| | | | | | */ | |
| 5 | /*|_____||_____| |_______| _____| | |_____ | __ */ | |
| 6 | #include "ScriptPCH.h" | |
| 7 | #define MENU_ID 123 | |
| 8 | ||
| 9 | class solo_instance_teleport : public PlayerScript | |
| 10 | {
| |
| 11 | public: | |
| 12 | - | solo_instance_teleport() : PlayerScript("solo_instance_teleport") {}
|
| 12 | + | solo_instance_teleport(): PlayerScript("solo_instance_teleport") {}
|
| 13 | ||
| 14 | ||
| 15 | - | void OnLevelChanged(Player* player, uint8 newLevel) |
| 15 | + | void OnLevelChanged(Player* player, uint8 newLevel) |
| 16 | - | {
|
| 16 | + | {
|
| 17 | - | if (newLevel == 80) |
| 17 | + | if (newLevel == 80) |
| 18 | - | {
|
| 18 | + | {
|
| 19 | - | WorldPacket data(SMSG_GOSSIP_MESSAGE, 100); // guess size |
| 19 | + | player->PlayerTalkClass->ClearMenus(); |
| 20 | - | data << uint64(player->GetGUID()); |
| 20 | + | player->PlayerTalkClass->GetGossipMenu().SetMenuId(MENU_ID); |
| 21 | - | data << uint32(1); // new 2.4.0 |
| 21 | + | WorldPacket data(SMSG_GOSSIP_MESSAGE, 100); // guess size |
| 22 | - | data << uint32(1); |
| 22 | + | data << uint64(player->GetGUID()); |
| 23 | - | data << uint32(1); // max count 0x10 |
| 23 | + | data << uint32(MENU_ID); // menu_id |
| 24 | - | data << uint32(1); |
| 24 | + | data << uint32(1); // npc_text |
| 25 | - | data << uint8(1); |
| 25 | + | data << uint32(1); // max count 0x10 |
| 26 | - | data << uint8(0); // makes pop up box password |
| 26 | + | data << uint32(1); |
| 27 | - | data << uint32(1); // money required to open menu, 2.0.3 |
| 27 | + | data << uint8(1); |
| 28 | - | data << "HI"; // text for gossip item |
| 28 | + | data << uint8(0); // makes pop up box password |
| 29 | - | data << "HI"; // accept text (related to money) pop up box, 2.0.3 |
| 29 | + | data << uint32(1); // money required to open menu, 2.0.3 |
| 30 | data << "HI"; // text for gossip item | |
| 31 | - | player->GetSession()->SendPacket(&data); |
| 31 | + | data << "HI"; // accept text (related to money) pop up box, 2.0.3 |
| 32 | - | } |
| 32 | + | player->GetSession()->SendPacket(&data); |
| 33 | - | } |
| 33 | + | } |
| 34 | } | |
| 35 | - | void OnGossipSelect(Player* player, uint32 menu_id, uint32 sender, uint32 action) |
| 35 | + | |
| 36 | - | {
|
| 36 | + | void OnGossipSelect(Player* player, uint32 menu_id, uint32 sender, uint32 action) |
| 37 | - | player->PlayerTalkClass->ClearMenus(); |
| 37 | + | {
|
| 38 | - | if (action == 1 || sender == 1 || menu_id == 1) |
| 38 | + | player->PlayerTalkClass->ClearMenus(); |
| 39 | - | {
|
| 39 | + | if (menu_id != MENU_ID) |
| 40 | - | player->AddItem(100001, 10); |
| 40 | + | return; |
| 41 | - | } |
| 41 | + | |
| 42 | - | player->AddItem(100001, 11); |
| 42 | + | if (sender == GOSSIP_SENDER_MAIN && action == GOSSIP_ACTION_INFO_DEF + 1) |
| 43 | - | player->CLOSE_GOSSIP_MENU(); |
| 43 | + | {
|
| 44 | - | } |
| 44 | + | player->AddItem(100001, 10); |
| 45 | } | |
| 46 | player->AddItem(100001, 11); | |
| 47 | player->CLOSE_GOSSIP_MENU(); | |
| 48 | } | |
| 49 | ||
| 50 | }; | |
| 51 | ||
| 52 | - | new solo_instance_teleport(); |
| 52 | + | |
| 53 | {
| |
| 54 | new solo_instance_teleport(); | |
| 55 | } |