• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
V.C.N SkillNPC
rr2739
Сержант
Мой Скрипт для Warrior Stances i Druid forms i t.d Учит почти все Missing Skills.

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 отредактировано rr2739 - Пятница, 06.02.2009, 06:00
norilskom
Скаут
Я конечно понимаю что я нуб высшей степени, НО ктонибудь подскажет как его установить?
Сообщение # 2 написано 06.02.2009 в 15:31
rr2739
Сержант
dolgo obesnyat ya sdelau gaid skoro

esli hochesh ya tebe s kompalau .. kokoi emulator i revisia?

Сообщение # 3 написано 06.02.2009 в 19:56
norilskom
Скаут
ArcEmu rev2135(3.0.8.9506)
Заранее спасибо
P.S. Давно хотел свой фан сервер smile c меня +
Сообщение # 4 написано 06.02.2009 в 23:26
Galant
Капрал
это под 3.0.9?
Сообщение # 5 написано 03.04.2009 в 20:06
grom
wow sensei
это луа, кидай в папку scripts
http://islamicstore.ru восточные товары доставка по всему миру!
Сообщение # 6 написано 07.04.2009 в 17:19
Obana
Маршал
Quote (grom)
это луа, кидай в папку scripts

lol где ты тут луа увидел?
Code

#include "StdAfx.h"  
#include "Setup.h"
О_о это Луа?
это скрипт на ядро! Компилить нужно!
Web Dev
Сообщение # 7 написано 08.04.2009 в 06:16
grom
wow sensei
ох ох я неразглядел хорошо это патч на ядро:) тока выложите файл .patch
http://islamicstore.ru восточные товары доставка по всему миру!
Сообщение # 8 написано 20.04.2009 в 09:59
Blay
Капрал
под какую версию скрипт?
Сообщение # 9 написано 28.01.2011 в 20:40
Blazedimon
Капрал
Хорош скрипт - я его еще подобрал когда то на давно забытом репозитории дяди Knaura вместе с фан сборкой
Вещь нужная только ДК туда дописывал сам.
У меня этот скрипт и на ревизиях 27ХХ и 29ХХ и работал идеально.
respect
Сообщение # 10 написано 18.02.2011 в 15:53
  • Страница 1 из 1
  • 1
Поиск: