Guest User

NPC_RESET_FREE

a guest
May 1st, 2014
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.56 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2.  
  3. class npc_reset : public CreatureScript
  4. {
  5.     public:
  6.         npc_reset() : CreatureScript("npc_reset"){}
  7.        
  8.         bool OnGossipHello(Player* player, Creature* creature)
  9.         {
  10.             player->ADD_GOSSIP_ITEM(4, "|TInterface\\icons\\INV_Misc_Wrench_01:30:30:-18:0|tRepair Items", GOSSIP_SENDER_MAIN, 2);
  11.             player->ADD_GOSSIP_ITEM_EXTENDED(4, "|TInterface\\icons\\INV_Misc_Head_ClockworkGnome_01:30:30:-18:0|tReset Saves.",  GOSSIP_SENDER_MAIN, 3, "ΒΏAre you sure you want to reset saves?", 0, false);
  12.             player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
  13.             return true;
  14.         }
  15.         bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 actions)
  16.         {
  17.            
  18.             switch (actions)
  19.             {
  20.                 case 0:
  21.                     player->TeleportTo(1, -8531.564f, 2010.638f, 100.7205f, 0.380013f);
  22.                     player->PlayerTalkClass->SendCloseGossip();
  23.                     return true;
  24.                
  25.                 case 1:
  26.                     player->TeleportTo(530, -2472.7460f, 8613.0058f, 195.9158f, 2.391120f);
  27.                     player->PlayerTalkClass->SendCloseGossip();
  28.                     return true;
  29.                
  30.                 case 2:
  31.                     player->DurabilityRepairAll(false, 0, false);
  32.                     creature->MonsterWhisper("Your items was repaired.", player);
  33.                     player->PlayerTalkClass->SendCloseGossip();
  34.                     break;
  35.                
  36.                 case 3:
  37.                        for (uint8 i = 0; i < MAX_DIFFICULTY; ++i)
  38.                        {
  39.                             Player::BoundInstancesMap &binds = player->GetBoundInstances(Difficulty(i));
  40.                             for (Player::BoundInstancesMap::iterator itr = binds.begin(); itr != binds.end();)
  41.                             {
  42.                                 player->UnbindInstance(itr, Difficulty(i));
  43.                                 creature->MonsterWhisper("Reset sucessful.", player);
  44.                                 player->PlayerTalkClass->SendCloseGossip();
  45.                                 return true;
  46.                             }
  47.                        }
  48.                        return true;
  49.                        break;
  50.                        
  51.                 default: // Close
  52.                         player->CLOSE_GOSSIP_MENU();
  53.                         return true;
  54.             }
  55.             OnGossipHello(player, creature);
  56.             return true;
  57.         }
  58. };
  59.  
  60. void AddSC_npc_reset()
  61. {
  62.     new npc_reset;
  63. }
Add Comment
Please, Sign In to add comment