Главная Форум Файлы
Вы находитесь: Wow-Good.Ru » WoW » Mists of Pandaria




Страница 1 из 11
Модератор форума: Влад 
Форум » TrinityCore » Патчи » NPC-BUFFER (Скрипт)
NPC-BUFFER
root Дата: Четверг, 12.04.2012, 11:56 | Сообщение # 1
HellCore Dev
Сообщений: 100
Репутация: 27
Награды: 1
Code
#include "ScriptPCH.h"   

   #define GOSSIP_TEXT_WELCOME 40034   
   #define GOSSIP_NO_BUFF "Спасибо, проду позже."   

   #define GOSSIP_BOM "Повысить выносливость на 10%"   
   #define GOSSIP_BOK "Повысить разум на 10%"   
   #define GOSSIP_BOW "Повысить ловкость на 10%"   
   #define GOSSIP_BOS "Повысить силу на 10%"   
   #define GOSSIP_INT "Повысить дух на 10%"   
   #define GOSSIP_KIT "Бесплатные баффы"   

   class Buff : public CreatureScript   
   {   
   public:   
   Buff() : CreatureScript("Buff") { }   

   bool OnGossipHello(Player* pPlayer, Creature* pCreature)   
   {   

   pPlayer->ADD_GOSSIP_ITEM(4, GOSSIP_BOM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);   
   pPlayer->ADD_GOSSIP_ITEM(4, GOSSIP_BOK, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);   
   pPlayer->ADD_GOSSIP_ITEM(4, GOSSIP_BOW, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);   
   pPlayer->ADD_GOSSIP_ITEM(4, GOSSIP_BOS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);   
   pPlayer->ADD_GOSSIP_ITEM(4, GOSSIP_INT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);   
   pPlayer->ADD_GOSSIP_ITEM(4, GOSSIP_KIT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);   
   pPlayer->ADD_GOSSIP_ITEM(4, GOSSIP_NO_BUFF, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);   
   pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXT_WELCOME, pCreature->GetGUID());   

   return true;   
   }   

   bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)   
   {   
   pPlayer->PlayerTalkClass->ClearMenus();   
   switch(uiAction)   
   {   
   case GOSSIP_ACTION_INFO_DEF + 1:// Buff   
   if (pPlayer->GetItemCount(29434) < 15)   
   {   
   pCreature->MonsterSay("Недостаточно знаков справедливости, требуется 15 !", LANG_UNIVERSAL, NULL);   
   } else {   
   pCreature->MonsterSay("Здорово ! А теперь наслождайся !", LANG_UNIVERSAL, NULL);   
   pPlayer->CastSpell(pPlayer, 23737, true);   
   pPlayer->DestroyItemCount(29434, 15, true);   
   }   
   pPlayer->CLOSE_GOSSIP_MENU();   
   break;   

   case GOSSIP_ACTION_INFO_DEF + 2:// Buff   
   if (pPlayer->GetItemCount(29434) < 15)   
   {   
   pCreature->MonsterSay("Недостаточно знаков справедливости, требуется 15 !", LANG_UNIVERSAL, NULL);   
   } else {   
   pCreature->MonsterSay("Здорово ! А теперь наслождайся !", LANG_UNIVERSAL, NULL);   
   pPlayer->CastSpell(pPlayer, 23766, true);   
   pPlayer->DestroyItemCount(29434, 15, true);   
   }   
   pPlayer->CLOSE_GOSSIP_MENU();   
   break;   

   case GOSSIP_ACTION_INFO_DEF + 3:// Buff   
   if (pPlayer->GetItemCount(29434) < 15)   
   {   
   pCreature->MonsterSay("Недостаточно знаков справедливости, требуется 15 !", LANG_UNIVERSAL, NULL);   
   } else {   
   pCreature->MonsterSay("Здорово ! А теперь наслождайся !", LANG_UNIVERSAL, NULL);   
   pPlayer->CastSpell(pPlayer, 23736, true);   
   pPlayer->DestroyItemCount(29434, 15, true);   
   }   
   pPlayer->CLOSE_GOSSIP_MENU();   
   break;   

   case GOSSIP_ACTION_INFO_DEF + 4:// Buff   
   if (pPlayer->GetItemCount(29434) < 15)   
   {   
   pCreature->MonsterSay("Недостаточно знаков справедливости, требуется 15 !", LANG_UNIVERSAL, NULL);   
   } else {   
   pCreature->MonsterSay("Здорово ! А теперь наслождайся !", LANG_UNIVERSAL, NULL);   
   pPlayer->CastSpell(pPlayer, 23735, true);   
   pPlayer->DestroyItemCount(29434, 15, true);   
   }   
   pPlayer->CLOSE_GOSSIP_MENU();   
   break;   

   case GOSSIP_ACTION_INFO_DEF + 5:// Buff   
   if (pPlayer->GetItemCount(29434) < 15)   
   {   
   pCreature->MonsterSay("Недостаточно знаков справедливости, требуется 15 !", LANG_UNIVERSAL, NULL);   
   } else {   
   pCreature->MonsterSay("Здорово ! А теперь наслождайся !", LANG_UNIVERSAL, NULL);   
   pPlayer->CastSpell(pPlayer, 23738, true);   
   pPlayer->DestroyItemCount(29434, 15, true);   
   }   
   pPlayer->CLOSE_GOSSIP_MENU();   
   break;   

   case GOSSIP_ACTION_INFO_DEF + 6:// Buff   
   pPlayer->CastSpell(pPlayer, 69381, true);   
   pPlayer->CastSpell(pPlayer, 48162, true);   
   pPlayer->CastSpell(pPlayer, 48170, true);   
   pPlayer->CastSpell(pPlayer, 48074, true);   
   pPlayer->CastSpell(pPlayer, 25898, true);   
   pPlayer->CastSpell(pPlayer, 72484, true);   
   pPlayer->CLOSE_GOSSIP_MENU();   
   break;   

   case GOSSIP_ACTION_INFO_DEF + 7: // end dialog   
   pPlayer->CLOSE_GOSSIP_MENU();   
   break;   
   }   
   return true;   
   }   
   };   

   void AddSC_Buff()   
   {   
   new Buff;   
   }

 
Форум » TrinityCore » Патчи » NPC-BUFFER (Скрипт)
Страница 1 из 11
Поиск: