Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

V.C.N SkillNP - Форум

  • Сторінка 1 з 1
  • 1
V.C.N SkillNP
Grom™Дата: Вівторок, 21.12.2010, 16:11 | Сообщение # 1



Grom™
Скаут
Группа: Пользователи
Сообщений: 44

Замечания:

Оффлайн
Code
// V.C.N SkillNPC Made by Rouslan  
// Created for HardcorePVP Server  
// Version 1  

#include "StdAfx.h"  
#include "Setup.h"  

class SCRIPT_DECL SkillNPC : public GossipScript{  
public:  
void GossipHello(Object *pObject, Player *Plr, bool AutoSend);  
void GossipSelectOption(Object *pObject, Player *Plr, uint32 Id, uint32 IntId, const char *Code);  
void GossipEnd(Object *pObject, Player *Plr);  
void Destroy(){ delete this; }  
};  
void SkillNPC::GossipEnd(Object * pObject, Player* Plr){ GossipScript::GossipEnd(pObject, Plr); }  
void SkillNPC::GossipHello(Object *pObject, Player *Plr, bool AutoSend){  
GossipMenu *Menu;  
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);  
if (Plr->getClass() == 1)  
{  
Menu->AddItem(0, "What spells can warriors learn?", 1);  
}  
if (Plr->getClass() == 2)  
{  
Menu->AddItem(0, "What spells can paladins learn?", 2);  
}  
if (Plr->getClass() == 3)  
{  
Menu->AddItem(0, "What spells can hunters learn?", 3);  
}  
if (Plr->getClass() == 9)  
{  
Menu->AddItem(0, "What spells can warlocks learn?", 4);  
}  
if (Plr->getClass() == 11)  
{  
Menu->AddItem(0, "What spells can druids learn?", 5);  
}  
if (Plr->getClass() == 4)  
{  
Menu->AddItem(0, "What spells can rogues learn?", 6);  
}  
if (Plr->getClass() == 5)  
{  
Menu->AddItem(0, "What spells can priests learn?", 7);  
}  
if (Plr->getClass() == 7)  
{  
Menu->AddItem(0, "What spells can shamans learn?", 8);  
}  
if (Plr->getClass() == 8)  
{  
Menu->AddItem(0, "What spells can mages learn?", 9);  
}  

Menu->AddItem(5, "Reset Talent Points", 98);  

Menu->SendTo(Plr);  
}  

void SkillNPC::GossipSelectOption(Object *pObject, Player *Plr, uint32 Id, uint32 IntId, const char *Code){  
Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT) ? ((Creature*)pObject) : NULL;  
GossipMenu * Menu;  
switch(IntId){  
case 0: // Return to start  
GossipHello(pObject, Plr, true);  
break;  

case 1:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(5, "Taunt", 10);  
Menu->AddItem(5, "Intercept", 13);  
Menu->AddItem(5, "Mortal Strike", 14);  
Menu->AddItem(5, "Defensive Stance", 11);  
Menu->AddItem(5, "Beserker Stance", 12);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 2:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(5, "Redemption", 22);  
Menu->AddItem(5, "Summon Warhorse", 20);  
Menu->AddItem(5, "Summon Charger", 21);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 3:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(5, "Pet spells", 30);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 4:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(5, "Pet Spells", 40);  
Menu->AddItem(5, "Summon Felstead", 41);  
Menu->AddItem(5, "Summon Dreadstead", 42);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 5:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(5, "Growl", 50);  
Menu->AddItem(5, "Maul", 55);  
Menu->AddItem(5, "Bear Form", 54);  
Menu->AddItem(5, "Dire Bear Form", 51);  
Menu->AddItem(5, "Aquatic Form", 56);  
Menu->AddItem(5, "Normal Flight Form", 52);  
Menu->AddItem(5, "Epic Flight Form", 53);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 6:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 7:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 8:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 9:  
objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);  
Menu->AddItem(0, "[Back]", 99);  
Menu->SendTo(Plr);  
break;  

case 10: // Warrior-Taunt  
if(Plr->getLevel() >= 10)  
{  
Plr->addSpell(355);  
Plr->BroadcastMessage("You have learned Taunt.");  
}else{  
Plr->BroadcastMessage("You must be level 10 to learn Taunt.");  
}  
break;  

case 11: // Warrior-Defensive Stance  
if(Plr->getLevel() >= 10)  
{  
Plr->addSpell(71);  
Plr->BroadcastMessage("You have learned Defensive Stance.");  
}else{  
Plr->BroadcastMessage("You must be level 10 to learn Defensive Stance.");  
}  
break;  

case 12: // Warrior-Beserker Stance  
if(Plr->getLevel() >= 30)  
{  
Plr->addSpell(2458);  
Plr->BroadcastMessage("You have learned Berseker Stance.");  
}else{  
Plr->BroadcastMessage("You must be level 30 to learn Berseker Stance.");  
}  
break;  

case 13: // Warrior-Intercept  
if(Plr->getLevel() >= 10)  
{  
Plr->addSpell(25275);  
Plr->BroadcastMessage("You have learned Intercept.");  
}else{  
Plr->BroadcastMessage("You must be level 10 to learn Intercept.");  
}  
break;  

case 14: // Warrior-Mortal Strike  
if(Plr->getLevel() >= 40)  
{  
Plr->addSpell(30330);  
Plr->BroadcastMessage("You have learned Mortal Strike.");  
}else{  
Plr->BroadcastMessage("You must be level 40 to learn Mortal Strike.");  
}  
break;  

case 20: // Paladin-Warhorse  
if(Plr->getLevel() >= 40)  
{  
Plr->addSpell(13819);  
Plr->BroadcastMessage("You have learned Summon Warhorse.");  
}else{  
Plr->BroadcastMessage("You must be level 40 to learn Summon Warhorse.");  
}  
break;  

case 21: // Paladin-Charger  
if(Plr->getLevel() >= 60)  
{  
Plr->addSpell(34767);  
Plr->BroadcastMessage("You have learned Summon Charger.");  
}else{  
Plr->BroadcastMessage("You must be level 60 to learn Summon Charger.");  
}  
break;  

case 22: // Paladin-Redemption  
if(Plr->getLevel() >= 10)  
{  
Plr->addSpell(20773);  
Plr->BroadcastMessage("You have learned Redemption.");  
}else{  
Plr->BroadcastMessage("You must be level 10 to learn Redemption.");  
}  
break;  

case 30: // Hunter-Pet Spells  
if(Plr->getLevel() >= 10)  
{  
Plr->addSpell(1515);  
Plr->addSpell(883);  
Plr->addSpell(5149);  
Plr->addSpell(982);  
Plr->addSpell(6991);  
Plr->BroadcastMessage("You have learned your Hunter Pet Spells.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You are below level 10.");  
Plr->Gossip_Complete();  
}  
break;  

case 40: // Warlock-Pet Spells  
if(Plr->getLevel() >= 10)  
{  
Plr->addSpell(688);  
Plr->addSpell(697);  
Plr->addSpell(712);  
Plr->addSpell(691);  
Plr->BroadcastMessage("You have learned your Warlock Pet Spells.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You are below level 10.");  
Plr->Gossip_Complete();  
}  
break;  

case 41: // Warlock-Felsteed  
if(Plr->getLevel() >= 40)  
{  
Plr->addSpell(5784);  
Plr->BroadcastMessage("You have learned Summon Felsteed.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 40 to learn Summon Felsteed.");  
Plr->Gossip_Complete();  
}  
break;  

case 42: // Warlock-Dreadsteed  
if(Plr->getLevel() >= 60)  
{  
Plr->addSpell(23161);  
Plr->BroadcastMessage("You have learned Summon Dreadsteed.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 60 to learn Summon Dreadsteed.");  
Plr->Gossip_Complete();  
}  
break;  

case 50: // Druid-Growl  
if(Plr->getLevel() >= 10)  
{  
Plr->addSpell(6795);  
Plr->BroadcastMessage("You have learned Growl.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 10 to learn Growl.");  
Plr->Gossip_Complete();  
}  
break;  

case 51: // Druid-Dire Bear Form  
if(Plr->getLevel() >= 30)  
{  
Plr->addSpell(9634);  
Plr->BroadcastMessage("You have learned Dire Bear Form.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 30 to learn Dire Bear Form.");  
Plr->Gossip_Complete();  
}  
break;  

case 52: // Druid-Normal Flight Form  
if(Plr->getLevel() >= 68)  
{  
Plr->addSpell(33943);  
Plr->BroadcastMessage("You have learned Summon Normal Flight Form.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 68 to learn Normal Flight Form.");  
Plr->Gossip_Complete();  
}  
break;  

case 53: // Druid-Epic Flight Form  
if(Plr->getLevel() >= 70)  
{  
Plr->addSpell(40120);  
Plr->BroadcastMessage("You have learned Summon Epic Flight Form.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 60 to learn Epic Flight Form.");  
Plr->Gossip_Complete();  
}  
case 54: // Druid-  
if(Plr->getLevel() >= 10)  
{  
Plr->addSpell(5487);  
Plr->BroadcastMessage("You have learned Bear Form.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 10 to learn Bear Form.");  
Plr->Gossip_Complete();  
}  
break;  
case 55: // Druid-Maul  
if(Plr->getLevel() >= 67)  
{  
Plr->addSpell(26996);  
Plr->BroadcastMessage("You have learned Maul Rank 8.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 67 to learn Maul.");  
Plr->Gossip_Complete();  
}  
break;  
case 56: // Druid-Aquatic Form  
if(Plr->getLevel() >= 20)  
{  
Plr->addSpell(1066);  
Plr->BroadcastMessage("You have learned Aquatic Form.");  
Plr->Gossip_Complete();  
}else{  
Plr->BroadcastMessage("You must be level 20 to learn Aquatic Form.");  
Plr->Gossip_Complete();  
}  
break;  
case 98: // Reset Talents  
{  
Plr->Reset_Talents();  
Plr->BroadcastMessage("You have reset your talent points.");  
Plr->Gossip_Complete();  
}  
break;  
case 99: //Main Menu  
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);  
if (Plr->getClass() == 1)  
{  
Menu->AddItem(0, "What spells can warriors learn?", 1);  
}  
if (Plr->getClass() == 2)  
{  
Menu->AddItem(0, "What spells can paladins learn?", 2);  
}  
if (Plr->getClass() == 3)  
{  
Menu->AddItem(0, "What spells can hunters learn?", 3);  
}  
if (Plr->getClass() == 9)  
{  
Menu->AddItem(0, "What spells can warlocks learn?", 4);  
}  
if (Plr->getClass() == 11)  
{  
Menu->AddItem(0, "What spells can druids learn?", 5);  
}  
if (Plr->getClass() == 4)  
{  
Menu->AddItem(0, "What spells can rogues learn?", 6);  
}  
if (Plr->getClass() == 5)  
{  
Menu->AddItem(0, "What spells can priests learn?", 7);  
}  
if (Plr->getClass() == 7)  
{  
Menu->AddItem(0, "What spells can shamans learn?", 8);  
}  
if (Plr->getClass() == 8)  
{  
Menu->AddItem(0, "What spells can mages learn?", 9);  
}  
Menu->AddItem(5, "Reset Talent Points", 98);  
Menu->SendTo(Plr);  
break;  

}  
}  

void SetupSkillNPC(ScriptMgr * mgr)  
{  
mgr->register_gossip_script(30010, (GossipScript*) new SkillNPC());  
}
 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
хаха :D · (Приколы)
Автор: [N1ke]Medved
Последнее сообщение в 18:40
Autobattle - новый боевой бот ... · (Боты для WoW)
Автор: terrikon
Последнее сообщение в 18:39
PvE руководство для Чернокнижн... · (Чернокнижник)
Автор: Darkensand
Последнее сообщение в 18:38
Пустой свиток (Часть 11) · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:37
Друиды в Катаклизме: Официальн... · (Друид)
Автор: Darkensand
Последнее сообщение в 18:37
[Баг 3.3.5] Фарм ледяных бадже... · (Читы для WoW)
Автор: Darkensand
Последнее сообщение в 18:35
FarmBot (Бот для фарма руды и ... · (Боты для WoW)
Автор: homma
Последнее сообщение в 18:34
Почему мы сражаемся: ролевая и... · (Воин)
Автор: Darkensand
Последнее сообщение в 18:34
Книги по Wold of Warcraft · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:33
Маг огня в Cataclysm · (Маг)
Автор: Darkensand
Последнее сообщение в 18:33
Как начать играть в World of W... · (Полезно знать)
Автор: Belkmondesh
Последнее сообщение в 18:32
Характеризация профессий · (Профессии)
Автор: Darkensand
Последнее сообщение в 18:31
Что значит для арканов бета те... · (Маг)
Автор: Darkensand
Последнее сообщение в 18:31

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2025 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz