np its not that hard /emoticons/default_wink.png
hello can somebody please help me with this error
case GOSSIP_OPTION_VENDOR:
player->SEND_VENDORLIST(m_creature->GetGUID());
it says error C2039: ‘SEND_VENDORLIST’ : is not a member of ‘Player’ can somebody help me please
SEND_VENDORLIST → GetSession()->SendListInventory
thanks for the help kingpin but im getting more errors now
6>…......\Backup\scripts\Npc_Beastmaster.cpp(166) : error C2039: ‘SEND_VENDORLIST’ : is not a member of ‘Player’
6> H:\TrinityCore\src\server\game\Entities\Player\Player.h(1045) : see declaration of ‘Player’
6>…......\Backup\scripts\Npc_Beastmaster.cpp(167) : error C2227: left of ‘->SendListInventory’ must point to class/struct/union/generic type
6> type is ‘‘unknown-type’’
6>…......\Backup\scripts\Npc_Beastmaster.cpp(166) : error C3861: ‘GetSession’: identifier not found
so what must i do?
Replace the exact words
SEND_VENDORLIST
with
GetSession()->SendListInventory
sorry but getting more errors
6>…......\Backup\scripts\Npc_Beastmaster.cpp(166) : error C3867: ‘WorldSession::SendListInventory’: function call missing argument list; use ‘&WorldSession::SendListInventory’ to create a pointer to member
6>…......\Backup\scripts\Npc_Beastmaster.cpp(166) : error C2171: ‘–’ : illegal on operands of type ‘void (__thiscall WorldSession::* )(uint64)’
6>…......\Backup\scripts\Npc_Beastmaster.cpp(166) : error C2105: ‘–’ needs l-value
6>…......\Backup\scripts\Npc_Beastmaster.cpp(167) : error C2227: left of ‘->SendListInventory’ must point to class/struct/union/generic type
6> type is ‘‘unknown-type’’
6>…......\Backup\scripts\Npc_Beastmaster.cpp(166) : error C3861: ‘GetSession’: identifier not found
this is what i typed
case GOSSIP_OPTION_VENDOR:
player->GetSession()->SendListInventory → GetSession()->SendListInventory
post some code, you have something wrong there.
]//Modified by Marcus patched by LordPsyan
//original script created by ??
#include “ScriptPCH.h”
#define GOSSIP_ITEM_STABLE “Stable”
#define GOSSIP_ITEM_NEWPET “New Pet”
#define GOSSIP_ITEM_BOAR “Boar”
#define GOSSIP_ITEM_SERPENT “Serpent”
#define GOSSIP_ITEM_SCRAB “Scrab”
#define GOSSIP_ITEM_LION “Lion”
#define GOSSIP_ITEM_WOLF “Wolf”
#define GOSSIP_ITEM_RAVAGER “Ravenger”
#define GOSSIP_ITEM_UNTRAINEPET “Restart Pet”
class Npc_Beastmaster : public CreatureScript
{
public:
Npc_Beastmaster() : CreatureScript(“Npc_Beastmaster”) { }
void CreatePet(Player *player, Creature * m_creature, uint32 entry) {
if(player->getClass() != CLASS_HUNTER) {
m_creature->MonsterWhisper(“You are not a Hunter!”, player->GetGUID());
player->PlayerTalkClass->SendCloseGossip();
return;
}
if(player->GetPet()) {
m_creature->MonsterWhisper(“First you must drop your Pet!”, player->GetGUID());
player->PlayerTalkClass->SendCloseGossip();
return;
}
Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
if(!creatureTarget) return;
Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
if(!pet) return;
// kill original creature
creatureTarget->setDeathState(JUST_DIED);
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0); // just for nice GM-mode view
pet->SetPower(POWER_HAPPINESS, 1048000);
//pet->SetUInt32Value(UNIT_FIELD_PETEXPERIENCE,0);
//pet->SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, uint32((Trinity::XP::xp_to_level(70))/4));
// prepare visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel() - 1);
pet->GetMap()->Add((Creature*)pet);
// visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel());
if(!pet->InitStatsForLevel(player->getLevel()))
sLog->outError (“Pet Create fail: no init stats for entry %u”, entry);
pet->UpdateAllStats();
// caster have pet now
player->SetMinion(pet, true);
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
pet->InitTalentForLevel();
player->PetSpellInitialize();
//end
player->PlayerTalkClass->SendCloseGossip();
m_creature->MonsterWhisper(“Pet added. You might want to feed it and name it somehow.”, player->GetGUID());
}
bool OnGossipHello(Player *player, Creature * m_creature)
{
if(player->getClass() != CLASS_HUNTER)
{
m_creature->MonsterWhisper(“You are not a Hunter!”, player->GetGUID());
return true;
}
player->ADD_GOSSIP_ITEM(4, “Get a New Pet.”, GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, “Get a New Exotic Pet.”, GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, “Take me to the Stable.”, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature * m_creature, uint32 sender, uint32 action)
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case 100:
player->ADD_GOSSIP_ITEM(4, “Get a New Pet.”, GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, “Get a New Exotic Pet.”, GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, “Take me to the Stable.”, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 150:
player->CLOSE_GOSSIP_MENU();
break;
case 30:
player->ADD_GOSSIP_ITEM(2, “<- Back to Main Menu.”, GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(4, “Next Page. ->”, GOSSIP_SENDER_MAIN, 31);
player->ADD_GOSSIP_ITEM(6, “Bat.”, GOSSIP_SENDER_MAIN, 18);
player->ADD_GOSSIP_ITEM(6, “Bear.”, GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM(6, “Boar.”, GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM(6, “Cat.”, GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM(6, “Carrion Bird.”, GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM(6, “Crab.”, GOSSIP_SENDER_MAIN, 6);
player->ADD_GOSSIP_ITEM(6, “Crocolisk.”, GOSSIP_SENDER_MAIN, 7);
player->ADD_GOSSIP_ITEM(6, “Dragonhawk.”, GOSSIP_SENDER_MAIN, 17);
player->ADD_GOSSIP_ITEM(6, “Gorilla.”, GOSSIP_SENDER_MAIN, 8);
player->ADD_GOSSIP_ITEM(6, “Hound.”, GOSSIP_SENDER_MAIN, 9);
player->ADD_GOSSIP_ITEM(6, “Hyena.”, GOSSIP_SENDER_MAIN, 10);
player->ADD_GOSSIP_ITEM(6, “Moth.”, GOSSIP_SENDER_MAIN, 11);
player->ADD_GOSSIP_ITEM(6, “Owl.”, GOSSIP_SENDER_MAIN, 12);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 31:
player->ADD_GOSSIP_ITEM(2, “<- Back to Main Menu.”, GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(4, “<- Previous Page.”, GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(6, “Raptor.”, GOSSIP_SENDER_MAIN, 20);
player->ADD_GOSSIP_ITEM(6, “Ravager.”, GOSSIP_SENDER_MAIN, 19);
player->ADD_GOSSIP_ITEM(6, “Strider.”, GOSSIP_SENDER_MAIN, 13);
player->ADD_GOSSIP_ITEM(6, “Scorpid.”, GOSSIP_SENDER_MAIN, 414);
player->ADD_GOSSIP_ITEM(6, “Spider.”, GOSSIP_SENDER_MAIN, 16);
player->ADD_GOSSIP_ITEM(6, “Serpent.”, GOSSIP_SENDER_MAIN, 21);
player->ADD_GOSSIP_ITEM(6, “Turtle.”, GOSSIP_SENDER_MAIN, 15);
player->ADD_GOSSIP_ITEM(6, “Wasp.”, GOSSIP_SENDER_MAIN, 93);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 50:
player->ADD_GOSSIP_ITEM(2, “<- Back to Main Menu.”, GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(2, “<- Get a New Normal Pet.”, GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(6, “Chimaera.”, GOSSIP_SENDER_MAIN, 51);
player->ADD_GOSSIP_ITEM(6, “Core Hound.”, GOSSIP_SENDER_MAIN, 52);
player->ADD_GOSSIP_ITEM(6, “Devilsaur.”, GOSSIP_SENDER_MAIN, 53);
player->ADD_GOSSIP_ITEM(6, “Rhino.”, GOSSIP_SENDER_MAIN, 54);
player->ADD_GOSSIP_ITEM(6, “Silithid.”, GOSSIP_SENDER_MAIN, 55);
player->ADD_GOSSIP_ITEM(6, “Worm.”, GOSSIP_SENDER_MAIN, 56);
player->ADD_GOSSIP_ITEM(6, “Loque’nahak.”, GOSSIP_SENDER_MAIN, 57);
player->ADD_GOSSIP_ITEM(6, “Skoll.”, GOSSIP_SENDER_MAIN, 58);
player->ADD_GOSSIP_ITEM(6, “Gondria.”, GOSSIP_SENDER_MAIN, 59);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case GOSSIP_OPTION_STABLEPET:
player->GetSession()->SendStablePet(m_creature->GetGUID());
break;
case GOSSIP_OPTION_VENDOR:
player->GetSession()->SendListInventory → GetSession()->SendListInventory
;break;
case 51: //chimera
CreatePet(player, m_creature, 21879);
break;
case 52: //core hound
CreatePet(player, m_creature, 21108);
break;
case 53: //Devilsaur
CreatePet(player, m_creature, 20931);
break;
case 54: //rhino
CreatePet(player, m_creature, 30445);
break;
case 55: //silithid
CreatePet(player, m_creature, 5460);
break;
case 56: //Worm
CreatePet(player, m_creature, 30148);
break;
case 57: //Loque’nahak
CreatePet(player, m_creature, 32517);
break;
case 58: //Skoll
CreatePet(player, m_creature, 35189);
break;
case 59: //Gondria
CreatePet(player, m_creature, 33776);
break;
case 16: //Spider
CreatePet(player, m_creature, 2349);
break;
case 17: //Dragonhawk
CreatePet(player, m_creature, 27946);
break;
case 18: //Bat
CreatePet(player, m_creature, 28233);
break;
case 19: //Ravager
CreatePet(player, m_creature, 17199);
break;
case 20: //Raptor
CreatePet(player, m_creature, 14821);
break;
case 21: //Serpent
CreatePet(player, m_creature, 28358);
break;
case 1: //bear
CreatePet(player, m_creature, 29319);
break;
case 2: //Boar
CreatePet(player, m_creature, 29996);
break;
case 93: //Bug
CreatePet(player, m_creature, 28085);
break;
case 4: //cat
CreatePet(player, m_creature, 28097);
break;
case 5: //carrion
CreatePet(player, m_creature, 26838);
break;
case 6: //crab
CreatePet(player, m_creature, 24478);
break;
case 7: //crocolisk
CreatePet(player, m_creature, 1417);
break;
case 8: //gorila
CreatePet(player, m_creature, 28213);
break;
case 9: //hound
CreatePet(player, m_creature, 29452);
break;
case 10: //hynea
CreatePet(player, m_creature, 13036);
break;
case 11: //Moth
CreatePet(player, m_creature, 27421);
break;
case 12: //owl
CreatePet(player, m_creature, 23136);
break;
case 13: //strider
CreatePet(player, m_creature, 22807);
break;
case 414: //scorpid
CreatePet(player, m_creature, 9698);
break;
case 15: //turtle
CreatePet(player, m_creature, 25482);
break;
}
return true;
}
};
void AddSC_Npc_Beastmaster()
{
new Npc_Beastmaster();
}[/code
this is my script
//Modified by Marcus patched by LordPsyan
//original script created by ??
#include “ScriptPCH.h”
#define GOSSIP_ITEM_STABLE “Stable”
#define GOSSIP_ITEM_NEWPET “New Pet”
#define GOSSIP_ITEM_BOAR “Boar”
#define GOSSIP_ITEM_SERPENT “Serpent”
#define GOSSIP_ITEM_SCRAB “Scrab”
#define GOSSIP_ITEM_LION “Lion”
#define GOSSIP_ITEM_WOLF “Wolf”
#define GOSSIP_ITEM_RAVAGER “Ravenger”
#define GOSSIP_ITEM_UNTRAINEPET “Restart Pet”
class Npc_Beastmaster : public CreatureScript
{
public:
Npc_Beastmaster() : CreatureScript(“Npc_Beastmaster”) { }
void CreatePet(Player *player, Creature * m_creature, uint32 entry) {
if(player->getClass() != CLASS_HUNTER) {
m_creature->MonsterWhisper(“You are not a Hunter!”, player->GetGUID());
player->PlayerTalkClass->SendCloseGossip();
return;
}
if(player->GetPet()) {
m_creature->MonsterWhisper(“First you must drop your Pet!”, player->GetGUID());
player->PlayerTalkClass->SendCloseGossip();
return;
}
Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
if(!creatureTarget) return;
Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
if(!pet) return;
// kill original creature
creatureTarget->setDeathState(JUST_DIED);
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0); // just for nice GM-mode view
pet->SetPower(POWER_HAPPINESS, 1048000);
//pet->SetUInt32Value(UNIT_FIELD_PETEXPERIENCE,0);
//pet->SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, uint32((Trinity::XP::xp_to_level(70))/4));
// prepare visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel() - 1);
pet->GetMap()->Add((Creature*)pet);
// visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel());
if(!pet->InitStatsForLevel(player->getLevel()))
sLog->outError (“Pet Create fail: no init stats for entry %u”, entry);
pet->UpdateAllStats();
// caster have pet now
player->SetMinion(pet, true);
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
pet->InitTalentForLevel();
player->PetSpellInitialize();
//end
player->PlayerTalkClass->SendCloseGossip();
m_creature->MonsterWhisper(“Pet added. You might want to feed it and name it somehow.”, player->GetGUID());
}
bool OnGossipHello(Player *player, Creature * m_creature)
{
if(player->getClass() != CLASS_HUNTER)
{
m_creature->MonsterWhisper(“You are not a Hunter!”, player->GetGUID());
return true;
}
player->ADD_GOSSIP_ITEM(4, “Get a New Pet.”, GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, “Get a New Exotic Pet.”, GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, “Take me to the Stable.”, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature * m_creature, uint32 sender, uint32 action)
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case 100:
player->ADD_GOSSIP_ITEM(4, “Get a New Pet.”, GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, “Get a New Exotic Pet.”, GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, “Take me to the Stable.”, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 150:
player->CLOSE_GOSSIP_MENU();
break;
case 30:
player->ADD_GOSSIP_ITEM(2, “<- Back to Main Menu.”, GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(4, “Next Page. ->”, GOSSIP_SENDER_MAIN, 31);
player->ADD_GOSSIP_ITEM(6, “Bat.”, GOSSIP_SENDER_MAIN, 18);
player->ADD_GOSSIP_ITEM(6, “Bear.”, GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM(6, “Boar.”, GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM(6, “Cat.”, GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM(6, “Carrion Bird.”, GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM(6, “Crab.”, GOSSIP_SENDER_MAIN, 6);
player->ADD_GOSSIP_ITEM(6, “Crocolisk.”, GOSSIP_SENDER_MAIN, 7);
player->ADD_GOSSIP_ITEM(6, “Dragonhawk.”, GOSSIP_SENDER_MAIN, 17);
player->ADD_GOSSIP_ITEM(6, “Gorilla.”, GOSSIP_SENDER_MAIN, 8);
player->ADD_GOSSIP_ITEM(6, “Hound.”, GOSSIP_SENDER_MAIN, 9);
player->ADD_GOSSIP_ITEM(6, “Hyena.”, GOSSIP_SENDER_MAIN, 10);
player->ADD_GOSSIP_ITEM(6, “Moth.”, GOSSIP_SENDER_MAIN, 11);
player->ADD_GOSSIP_ITEM(6, “Owl.”, GOSSIP_SENDER_MAIN, 12);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 31:
player->ADD_GOSSIP_ITEM(2, “<- Back to Main Menu.”, GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(4, “<- Previous Page.”, GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(6, “Raptor.”, GOSSIP_SENDER_MAIN, 20);
player->ADD_GOSSIP_ITEM(6, “Ravager.”, GOSSIP_SENDER_MAIN, 19);
player->ADD_GOSSIP_ITEM(6, “Strider.”, GOSSIP_SENDER_MAIN, 13);
player->ADD_GOSSIP_ITEM(6, “Scorpid.”, GOSSIP_SENDER_MAIN, 414);
player->ADD_GOSSIP_ITEM(6, “Spider.”, GOSSIP_SENDER_MAIN, 16);
player->ADD_GOSSIP_ITEM(6, “Serpent.”, GOSSIP_SENDER_MAIN, 21);
player->ADD_GOSSIP_ITEM(6, “Turtle.”, GOSSIP_SENDER_MAIN, 15);
player->ADD_GOSSIP_ITEM(6, “Wasp.”, GOSSIP_SENDER_MAIN, 93);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 50:
player->ADD_GOSSIP_ITEM(2, “<- Back to Main Menu.”, GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(2, “<- Get a New Normal Pet.”, GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(6, “Chimaera.”, GOSSIP_SENDER_MAIN, 51);
player->ADD_GOSSIP_ITEM(6, “Core Hound.”, GOSSIP_SENDER_MAIN, 52);
player->ADD_GOSSIP_ITEM(6, “Devilsaur.”, GOSSIP_SENDER_MAIN, 53);
player->ADD_GOSSIP_ITEM(6, “Rhino.”, GOSSIP_SENDER_MAIN, 54);
player->ADD_GOSSIP_ITEM(6, “Silithid.”, GOSSIP_SENDER_MAIN, 55);
player->ADD_GOSSIP_ITEM(6, “Worm.”, GOSSIP_SENDER_MAIN, 56);
player->ADD_GOSSIP_ITEM(6, “Loque’nahak.”, GOSSIP_SENDER_MAIN, 57);
player->ADD_GOSSIP_ITEM(6, “Skoll.”, GOSSIP_SENDER_MAIN, 58);
player->ADD_GOSSIP_ITEM(6, “Gondria.”, GOSSIP_SENDER_MAIN, 59);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case GOSSIP_OPTION_STABLEPET:
player->GetSession()->SendStablePet(m_creature->GetGUID());
break;
case GOSSIP_OPTION_VENDOR:
player->GetSession()->SendListInventory → GetSession()->SendListInventory
;break;
case 51: //chimera
CreatePet(player, m_creature, 21879);
break;
case 52: //core hound
CreatePet(player, m_creature, 21108);
break;
case 53: //Devilsaur
CreatePet(player, m_creature, 20931);
break;
case 54: //rhino
CreatePet(player, m_creature, 30445);
break;
case 55: //silithid
CreatePet(player, m_creature, 5460);
break;
case 56: //Worm
CreatePet(player, m_creature, 30148);
break;
case 57: //Loque’nahak
CreatePet(player, m_creature, 32517);
break;
case 58: //Skoll
CreatePet(player, m_creature, 35189);
break;
case 59: //Gondria
CreatePet(player, m_creature, 33776);
break;
case 16: //Spider
CreatePet(player, m_creature, 2349);
break;
case 17: //Dragonhawk
CreatePet(player, m_creature, 27946);
break;
case 18: //Bat
CreatePet(player, m_creature, 28233);
break;
case 19: //Ravager
CreatePet(player, m_creature, 17199);
break;
case 20: //Raptor
CreatePet(player, m_creature, 14821);
break;
case 21: //Serpent
CreatePet(player, m_creature, 28358);
break;
case 1: //bear
CreatePet(player, m_creature, 29319);
break;
case 2: //Boar
CreatePet(player, m_creature, 29996);
break;
case 93: //Bug
CreatePet(player, m_creature, 28085);
break;
case 4: //cat
CreatePet(player, m_creature, 28097);
break;
case 5: //carrion
CreatePet(player, m_creature, 26838);
break;
case 6: //crab
CreatePet(player, m_creature, 24478);
break;
case 7: //crocolisk
CreatePet(player, m_creature, 1417);
break;
case 8: //gorila
CreatePet(player, m_creature, 28213);
break;
case 9: //hound
CreatePet(player, m_creature, 29452);
break;
case 10: //hynea
CreatePet(player, m_creature, 13036);
break;
case 11: //Moth
CreatePet(player, m_creature, 27421);
break;
case 12: //owl
CreatePet(player, m_creature, 23136);
break;
case 13: //strider
CreatePet(player, m_creature, 22807);
break;
case 414: //scorpid
CreatePet(player, m_creature, 9698);
break;
case 15: //turtle
CreatePet(player, m_creature, 25482);
break;
}
return true;
}
};
void AddSC_Npc_Beastmaster()
{
new Npc_Beastmaster();
}
Test this script
[CODE]
//Modified by Marcus patched by LordPsyan
//original script created by ??
#include “ScriptPCH.h”
#define GOSSIP_ITEM_STABLE “Stable”
#define GOSSIP_ITEM_NEWPET “New Pet”
#define GOSSIP_ITEM_BOAR “Boar”
#define GOSSIP_ITEM_SERPENT “Serpent”
#define GOSSIP_ITEM_SCRAB “Scrab”
#define GOSSIP_ITEM_LION “Lion”
#define GOSSIP_ITEM_WOLF “Wolf”
#define GOSSIP_ITEM_RAVAGER “Ravenger”
#define GOSSIP_ITEM_UNTRAINEPET “Restart Pet”
class Npc_Beastmaster : public CreatureScript
{
public:
Npc_Beastmaster() : CreatureScript("Npc_Beastmaster") { }
void CreatePet(Player *player, Creature * m_creature, uint32 entry) {
if(player->getClass() != CLASS_HUNTER) {
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
player->PlayerTalkClass->CloseGossip();
return;
}
if(player->GetPet()) {
m_creature->MonsterWhisper("First you must drop your Pet!", player->GetGUID());
player->PlayerTalkClass->CloseGossip();
return;
}
Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
if(!creatureTarget) return;
Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
if(!pet) return;
// kill original creature
creatureTarget->setDeathState(JUST_DIED);
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0); // just for nice GM-mode view
pet->SetPower(POWER_HAPPINESS, 1048000);
//pet->SetUInt32Value(UNIT_FIELD_PETEXPERIENCE,0);
//pet->SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, uint32((Trinity::XP::xp_to_level(70))/4));
// prepare visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel() - 1);
pet->GetMap()->Add((Creature*)pet);
// visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel());
if(!pet->InitStatsForLevel(player->getLevel()))
sLog->outError ("Pet Create fail: no init stats for entry %u", entry);
pet->UpdateAllStats();
// caster have pet now
player->SetMinion(pet, true);
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
pet->InitTalentForLevel();
player->PetSpellInitialize();
//end
player->PlayerTalkClass->CloseGossip();
m_creature->MonsterWhisper("Pet added. You might want to feed it and name it somehow.", player->GetGUID());
}
bool OnGossipHello(Player *player, Creature * m_creature)
{
if(player->getClass() != CLASS_HUNTER)
{
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
return true;
}
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature * m_creature, uint32 sender, uint32 action)
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case 100:
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 150:
player->CLOSE_GOSSIP_MENU();
break;
case 30:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(4, "Next Page. ->", GOSSIP_SENDER_MAIN, 31);
player->ADD_GOSSIP_ITEM(6, "Bat.", GOSSIP_SENDER_MAIN, 18);
player->ADD_GOSSIP_ITEM(6, "Bear.", GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM(6, "Boar.", GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM(6, "Cat.", GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM(6, "Carrion Bird.", GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM(6, "Crab.", GOSSIP_SENDER_MAIN, 6);
player->ADD_GOSSIP_ITEM(6, "Crocolisk.", GOSSIP_SENDER_MAIN, 7);
player->ADD_GOSSIP_ITEM(6, "Dragonhawk.", GOSSIP_SENDER_MAIN, 17);
player->ADD_GOSSIP_ITEM(6, "Gorilla.", GOSSIP_SENDER_MAIN, 8);
player->ADD_GOSSIP_ITEM(6, "Hound.", GOSSIP_SENDER_MAIN, 9);
player->ADD_GOSSIP_ITEM(6, "Hyena.", GOSSIP_SENDER_MAIN, 10);
player->ADD_GOSSIP_ITEM(6, "Moth.", GOSSIP_SENDER_MAIN, 11);
player->ADD_GOSSIP_ITEM(6, "Owl.", GOSSIP_SENDER_MAIN, 12);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 31:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(4, "<- Previous Page.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(6, "Raptor.", GOSSIP_SENDER_MAIN, 20);
player->ADD_GOSSIP_ITEM(6, "Ravager.", GOSSIP_SENDER_MAIN, 19);
player->ADD_GOSSIP_ITEM(6, "Strider.", GOSSIP_SENDER_MAIN, 13);
player->ADD_GOSSIP_ITEM(6, "Scorpid.", GOSSIP_SENDER_MAIN, 414);
player->ADD_GOSSIP_ITEM(6, "Spider.", GOSSIP_SENDER_MAIN, 16);
player->ADD_GOSSIP_ITEM(6, "Serpent.", GOSSIP_SENDER_MAIN, 21);
player->ADD_GOSSIP_ITEM(6, "Turtle.", GOSSIP_SENDER_MAIN, 15);
player->ADD_GOSSIP_ITEM(6, "Wasp.", GOSSIP_SENDER_MAIN, 93);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 50:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(2, "<- Get a New Normal Pet.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(6, "Chimaera.", GOSSIP_SENDER_MAIN, 51);
player->ADD_GOSSIP_ITEM(6, "Core Hound.", GOSSIP_SENDER_MAIN, 52);
player->ADD_GOSSIP_ITEM(6, "Devilsaur.", GOSSIP_SENDER_MAIN, 53);
player->ADD_GOSSIP_ITEM(6, "Rhino.", GOSSIP_SENDER_MAIN, 54);
player->ADD_GOSSIP_ITEM(6, "Silithid.", GOSSIP_SENDER_MAIN, 55);
player->ADD_GOSSIP_ITEM(6, "Worm.", GOSSIP_SENDER_MAIN, 56);
player->ADD_GOSSIP_ITEM(6, "Loque'nahak.", GOSSIP_SENDER_MAIN, 57);
player->ADD_GOSSIP_ITEM(6, "Skoll.", GOSSIP_SENDER_MAIN, 58);
player->ADD_GOSSIP_ITEM(6, "Gondria.", GOSSIP_SENDER_MAIN, 59);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case GOSSIP_OPTION_STABLEPET:
player->GetSession()->SendStablePet(m_creature->GetGUID());
break;
case GOSSIP_OPTION_VENDOR:
player->GetSession()->SendListInventory(m_creature->GetGUID());
break;
case 51: //chimera
CreatePet(player, m_creature, 21879);
break;
case 52: //core hound
CreatePet(player, m_creature, 21108);
break;
case 53: //Devilsaur
CreatePet(player, m_creature, 20931);
break;
case 54: //rhino
CreatePet(player, m_creature, 30445);
break;
case 55: //silithid
CreatePet(player, m_creature, 5460);
break;
case 56: //Worm
CreatePet(player, m_creature, 30148);
break;
case 57: //Loque'nahak
CreatePet(player, m_creature, 32517);
break;
case 58: //Skoll
CreatePet(player, m_creature, 35189);
break;
case 59: //Gondria
CreatePet(player, m_creature, 33776);
break;
case 16: //Spider
CreatePet(player, m_creature, 2349);
break;
case 17: //Dragonhawk
CreatePet(player, m_creature, 27946);
break;
case 18: //Bat
CreatePet(player, m_creature, 28233);
break;
case 19: //Ravager
CreatePet(player, m_creature, 17199);
break;
case 20: //Raptor
CreatePet(player, m_creature, 14821);
break;
case 21: //Serpent
CreatePet(player, m_creature, 28358);
break;
case 1: //bear
CreatePet(player, m_creature, 29319);
break;
case 2: //Boar
CreatePet(player, m_creature, 29996);
break;
case 93: //Bug
CreatePet(player, m_creature, 28085);
break;
case 4: //cat
CreatePet(player, m_creature, 28097);
break;
case 5: //carrion
CreatePet(player, m_creature, 26838);
break;
case 6: //crab
CreatePet(player, m_creature, 24478);
break;
case 7: //crocolisk
CreatePet(player, m_creature, 1417);
break;
case 8: //gorila
CreatePet(player, m_creature, 28213);
break;
case 9: //hound
CreatePet(player, m_creature, 29452);
break;
case 10: //hynea
CreatePet(player, m_creature, 13036);
break;
case 11: //Moth
CreatePet(player, m_creature, 27421);
break;
case 12: //owl
CreatePet(player, m_creature, 23136);
break;
case 13: //strider
CreatePet(player, m_creature, 22807);
break;
case 414: //scorpid
CreatePet(player, m_creature, 9698);
break;
case 15: //turtle
CreatePet(player, m_creature, 25482);
break;
}
return true;
}
};
void AddSC_Npc_Beastmaster()
{
new Npc_Beastmaster();
}[/CODE]
compiled it 2 mins ago and worked as a charm
Tested and working with trinity core: 432136355e492a1fad6f9f9bd1b66933df8d9f9f (will probably work with the latest too).
Original Topic: http://www.trinitycore.org/f/topic/356-beastmaster-script-help/
sql:
[SPOILER]
[CODE]
INSERT INTO creature_template
(entry
, difficulty_entry_1
, difficulty_entry_2
, difficulty_entry_3
, KillCredit1
, KillCredit2
, modelid1
, modelid2
, modelid3
, modelid4
, name
, subname
, IconName
, gossip_menu_id
, minlevel
, maxlevel
, exp
, faction_A
, faction_H
, npcflag
, speed_walk
, speed_run
, scale
, rank
, mindmg
, maxdmg
, dmgschool
, attackpower
, dmg_multiplier
, baseattacktime
, rangeattacktime
, unit_class
, unit_flags
, dynamicflags
, family
, trainer_type
, trainer_spell
, trainer_class
, trainer_race
, minrangedmg
, maxrangedmg
, rangedattackpower
, type
, type_flags
, lootid
, pickpocketloot
, skinloot
, resistance1
, resistance2
, resistance3
, resistance4
, resistance5
, resistance6
, spell1
, spell2
, spell3
, spell4
, spell5
, spell6
, spell7
, spell8
, PetSpellDataId
, VehicleId
, mingold
, maxgold
, AIName
, MovementType
, InhabitType
, Health_mod
, Mana_mod
, Armor_mod
, RacialLeader
, questItem1
, questItem2
, questItem3
, questItem4
, questItem5
, questItem6
, movementId
, RegenHealth
, equipment_id
, mechanic_immune_mask
, flags_extra
, ScriptName
, WDBVerified
) VALUES (99999, 0, 0, 0, 0, 0, 20918, 0, 0, 0, ‘Rexxar’, ‘Pet Giver’, ‘’, 0, 80, 80, 0, 35, 35, 4194433, 1, 1.14286, 0.6, 1, 1755, 1755, 0, 1504, 1, 1500, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ‘’, 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ‘Npc_Beastmaster’, 0);
INSERT INTO npc_vendor
(entry
, slot
, item
, maxcount
, incrtime
, ExtendedCost
) VALUES (99999, 0, 43087, 0, 0, 0);
INSERT INTO npc_vendor
(entry
, slot
, item
, maxcount
, incrtime
, ExtendedCost
) VALUES (99999, 0, 35950, 0, 0, 0);
INSERT INTO npc_vendor
(entry
, slot
, item
, maxcount
, incrtime
, ExtendedCost
) VALUES (99999, 0, 36782, 0, 0, 0);[/CODE][/SPOILER]
script:
[CODE]//Modified by Marcus
//original script created by ??
#include “ScriptPCH.h”
#define GOSSIP_ITEM_STABLE “Stable”
#define GOSSIP_ITEM_NEWPET “New Pet”
#define GOSSIP_ITEM_BOAR “Boar”
#define GOSSIP_ITEM_SERPENT “Serpent”
#define GOSSIP_ITEM_SCRAB “Scrab”
#define GOSSIP_ITEM_LION “Lion”
#define GOSSIP_ITEM_WOLF “Wolf”
#define GOSSIP_ITEM_RAVAGER “Ravenger”
#define GOSSIP_ITEM_UNTRAINEPET “Restart Pet”
class Npc_Beastmaster : public CreatureScript
{
public:
Npc_Beastmaster() : CreatureScript("Npc_Beastmaster") { }
void CreatePet(Player *player, Creature * m_creature, uint32 entry) {
if(player->getClass() != CLASS_HUNTER) {
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
player->PlayerTalkClass->CloseGossip();
return;
}
if(player->GetPet()) {
m_creature->MonsterWhisper("First you must drop your Pet!", player->GetGUID());
player->PlayerTalkClass->CloseGossip();
return;
}
Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
if(!creatureTarget) return;
Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
if(!pet) return;
// kill original creature
creatureTarget->setDeathState(JUST_DIED);
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0); // just for nice GM-mode view
pet->SetPower(POWER_HAPPINESS, 1048000);
//pet->SetUInt32Value(UNIT_FIELD_PETEXPERIENCE,0);
//pet->SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, uint32((Trinity::XP::xp_to_level(70))/4));
// prepare visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel() - 1);
pet->GetMap()->Add((Creature*)pet);
// visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel());
if(!pet->InitStatsForLevel(player->getLevel()))
sLog->outError ("Pet Create fail: no init stats for entry %u", entry);
pet->UpdateAllStats();
// caster have pet now
player->SetMinion(pet, true);
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
pet->InitTalentForLevel();
player->PetSpellInitialize();
//end
player->PlayerTalkClass->CloseGossip();
m_creature->MonsterWhisper("Pet added. You might want to feed it and name it somehow.", player->GetGUID());
}
bool OnGossipHello(Player *player, Creature * m_creature)
{
if(player->getClass() != CLASS_HUNTER)
{
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
return true;
}
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature * m_creature, uint32 sender, uint32 action)
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case 100:
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 150:
player->CLOSE_GOSSIP_MENU();
break;
case 30:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(4, "Next Page. ->", GOSSIP_SENDER_MAIN, 31);
player->ADD_GOSSIP_ITEM(6, "Bat.", GOSSIP_SENDER_MAIN, 18);
player->ADD_GOSSIP_ITEM(6, "Bear.", GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM(6, "Boar.", GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM(6, "Cat.", GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM(6, "Carrion Bird.", GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM(6, "Crab.", GOSSIP_SENDER_MAIN, 6);
player->ADD_GOSSIP_ITEM(6, "Crocolisk.", GOSSIP_SENDER_MAIN, 7);
player->ADD_GOSSIP_ITEM(6, "Dragonhawk.", GOSSIP_SENDER_MAIN, 17);
player->ADD_GOSSIP_ITEM(6, "Gorilla.", GOSSIP_SENDER_MAIN, 8);
player->ADD_GOSSIP_ITEM(6, "Hound.", GOSSIP_SENDER_MAIN, 9);
player->ADD_GOSSIP_ITEM(6, "Hyena.", GOSSIP_SENDER_MAIN, 10);
player->ADD_GOSSIP_ITEM(6, "Moth.", GOSSIP_SENDER_MAIN, 11);
player->ADD_GOSSIP_ITEM(6, "Owl.", GOSSIP_SENDER_MAIN, 12);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 31:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(4, "<- Previous Page.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(6, "Raptor.", GOSSIP_SENDER_MAIN, 20);
player->ADD_GOSSIP_ITEM(6, "Ravager.", GOSSIP_SENDER_MAIN, 19);
player->ADD_GOSSIP_ITEM(6, "Strider.", GOSSIP_SENDER_MAIN, 13);
player->ADD_GOSSIP_ITEM(6, "Scorpid.", GOSSIP_SENDER_MAIN, 414);
player->ADD_GOSSIP_ITEM(6, "Spider.", GOSSIP_SENDER_MAIN, 16);
player->ADD_GOSSIP_ITEM(6, "Serpent.", GOSSIP_SENDER_MAIN, 21);
player->ADD_GOSSIP_ITEM(6, "Turtle.", GOSSIP_SENDER_MAIN, 15);
player->ADD_GOSSIP_ITEM(6, "Wasp.", GOSSIP_SENDER_MAIN, 93);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 50:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(2, "<- Get a New Normal Pet.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(6, "Chimaera.", GOSSIP_SENDER_MAIN, 51);
player->ADD_GOSSIP_ITEM(6, "Core Hound.", GOSSIP_SENDER_MAIN, 52);
player->ADD_GOSSIP_ITEM(6, "Devilsaur.", GOSSIP_SENDER_MAIN, 53);
player->ADD_GOSSIP_ITEM(6, "Rhino.", GOSSIP_SENDER_MAIN, 54);
player->ADD_GOSSIP_ITEM(6, "Silithid.", GOSSIP_SENDER_MAIN, 55);
player->ADD_GOSSIP_ITEM(6, "Worm.", GOSSIP_SENDER_MAIN, 56);
player->ADD_GOSSIP_ITEM(6, "Loque'nahak.", GOSSIP_SENDER_MAIN, 57);
player->ADD_GOSSIP_ITEM(6, "Skoll.", GOSSIP_SENDER_MAIN, 58);
player->ADD_GOSSIP_ITEM(6, "Gondria.", GOSSIP_SENDER_MAIN, 59);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case GOSSIP_OPTION_STABLEPET:
player->GetSession()->SendStablePet(m_creature->GetGUID());
break;
case GOSSIP_OPTION_VENDOR:
player->SEND_VENDORLIST(m_creature->GetGUID());
break;
case 51: //chimera
CreatePet(player, m_creature, 21879);
break;
case 52: //core hound
CreatePet(player, m_creature, 21108);
break;
case 53: //Devilsaur
CreatePet(player, m_creature, 20931);
break;
case 54: //rhino
CreatePet(player, m_creature, 30445);
break;
case 55: //silithid
CreatePet(player, m_creature, 5460);
break;
case 56: //Worm
CreatePet(player, m_creature, 30148);
break;
case 57: //Loque'nahak
CreatePet(player, m_creature, 32517);
break;
case 58: //Skoll
CreatePet(player, m_creature, 35189);
break;
case 59: //Gondria
CreatePet(player, m_creature, 33776);
break;
case 16: //Spider
CreatePet(player, m_creature, 2349);
break;
case 17: //Dragonhawk
CreatePet(player, m_creature, 27946);
break;
case 18: //Bat
CreatePet(player, m_creature, 28233);
break;
case 19: //Ravager
CreatePet(player, m_creature, 17199);
break;
case 20: //Raptor
CreatePet(player, m_creature, 14821);
break;
case 21: //Serpent
CreatePet(player, m_creature, 28358);
break;
case 1: //bear
CreatePet(player, m_creature, 29319);
break;
case 2: //Boar
CreatePet(player, m_creature, 29996);
break;
case 93: //Bug
CreatePet(player, m_creature, 28085);
break;
case 4: //cat
CreatePet(player, m_creature, 28097);
break;
case 5: //carrion
CreatePet(player, m_creature, 26838);
break;
case 6: //crab
CreatePet(player, m_creature, 24478);
break;
case 7: //crocolisk
CreatePet(player, m_creature, 1417);
break;
case 8: //gorila
CreatePet(player, m_creature, 28213);
break;
case 9: //hound
CreatePet(player, m_creature, 29452);
break;
case 10: //hynea
CreatePet(player, m_creature, 13036);
break;
case 11: //Moth
CreatePet(player, m_creature, 27421);
break;
case 12: //owl
CreatePet(player, m_creature, 23136);
break;
case 13: //strider
CreatePet(player, m_creature, 22807);
break;
case 414: //scorpid
CreatePet(player, m_creature, 9698);
break;
case 15: //turtle
CreatePet(player, m_creature, 25482);
break;
}
return true;
}
};
void AddSC_Npc_Beastmaster()
{
new Npc_Beastmaster();
}[/CODE]
then tell me if you have pulled the last updates why im getting this?
6>…......\Backup\scripts\Npc_Beastmaster.cpp(25) : error C2039: ‘CloseGossip’ : is not a member of ‘PlayerMenu’
6> H:\TrinityCore\src\server\game\Entities\Creature\GossipDef.h(249) : see declaration of ‘PlayerMenu’
9>Creating library…
6>…......\Backup\scripts\Npc_Beastmaster.cpp(31) : error C2039: ‘CloseGossip’ : is not a member of ‘PlayerMenu’
6> H:\TrinityCore\src\server\game\Entities\Creature\GossipDef.h(249) : see declaration of ‘PlayerMenu’
6>…......\Backup\scripts\Npc_Beastmaster.cpp(71) : error C2039: ‘CloseGossip’ : is not a member of ‘PlayerMenu’
6> H:\TrinityCore\src\server\game\Entities\Creature\GossipDef.h(249) : see declaration of ‘PlayerMenu’
i have backup up the scripts in that folder backup but why is it checking there? is it on a cmakelist or something that is checking in that folder?
Try this one (fixed compile but haven’t tested yet).
#include "ScriptPCH.h"
#define GOSSIP_ITEM_STABLE "Stable"
#define GOSSIP_ITEM_NEWPET "New Pet"
#define GOSSIP_ITEM_BOAR "Boar"
#define GOSSIP_ITEM_SERPENT "Serpent"
#define GOSSIP_ITEM_SCRAB "Scrab"
#define GOSSIP_ITEM_LION "Lion"
#define GOSSIP_ITEM_WOLF "Wolf"
#define GOSSIP_ITEM_RAVAGER "Ravenger"
#define GOSSIP_ITEM_UNTRAINEPET "Restart Pet"
class Npc_Beastmaster : public CreatureScript
{
public:
Npc_Beastmaster() : CreatureScript("Npc_Beastmaster") { }
void CreatePet(Player *player, Creature * m_creature, uint32 entry) {
if(player->getClass() != CLASS_HUNTER) {
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
player->CLOSE_GOSSIP_MENU();
return;
}
if(player->GetPet()) {
m_creature->MonsterWhisper("First you must drop your Pet!", player->GetGUID());
player->CLOSE_GOSSIP_MENU();
return;
}
Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
if(!creatureTarget) return;
Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
if(!pet) return;
// kill original creature
creatureTarget->setDeathState(JUST_DIED);
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0); // just for nice GM-mode view
pet->SetPower(POWER_HAPPINESS, 1048000);
//pet->SetUInt32Value(UNIT_FIELD_PETEXPERIENCE,0);
//pet->SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, uint32((Trinity::XP::xp_to_level(70))/4));
// prepare visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel() - 1);
pet->GetMap()->Add((Creature*)pet);
// visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel());
if(!pet->InitStatsForLevel(player->getLevel()))
sLog->outError ("Pet Create fail: no init stats for entry %u", entry);
pet->UpdateAllStats();
// caster have pet now
player->SetMinion(pet, true);
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
pet->InitTalentForLevel();
player->PetSpellInitialize();
//end
player->CLOSE_GOSSIP_MENU();
m_creature->MonsterWhisper("Pet added. You might want to feed it and name it somehow.", player->GetGUID());
}
bool OnGossipHello(Player *player, Creature * m_creature)
{
if(player->getClass() != CLASS_HUNTER)
{
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
return true;
}
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature * m_creature, uint32 sender, uint32 action)
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case 100:
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 150:
player->CLOSE_GOSSIP_MENU();
break;
case 30:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(4, "Next Page. ->", GOSSIP_SENDER_MAIN, 31);
player->ADD_GOSSIP_ITEM(6, "Bat.", GOSSIP_SENDER_MAIN, 18);
player->ADD_GOSSIP_ITEM(6, "Bear.", GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM(6, "Boar.", GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM(6, "Cat.", GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM(6, "Carrion Bird.", GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM(6, "Crab.", GOSSIP_SENDER_MAIN, 6);
player->ADD_GOSSIP_ITEM(6, "Crocolisk.", GOSSIP_SENDER_MAIN, 7);
player->ADD_GOSSIP_ITEM(6, "Dragonhawk.", GOSSIP_SENDER_MAIN, 17);
player->ADD_GOSSIP_ITEM(6, "Gorilla.", GOSSIP_SENDER_MAIN, 8);
player->ADD_GOSSIP_ITEM(6, "Hound.", GOSSIP_SENDER_MAIN, 9);
player->ADD_GOSSIP_ITEM(6, "Hyena.", GOSSIP_SENDER_MAIN, 10);
player->ADD_GOSSIP_ITEM(6, "Moth.", GOSSIP_SENDER_MAIN, 11);
player->ADD_GOSSIP_ITEM(6, "Owl.", GOSSIP_SENDER_MAIN, 12);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 31:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(4, "<- Previous Page.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(6, "Raptor.", GOSSIP_SENDER_MAIN, 20);
player->ADD_GOSSIP_ITEM(6, "Ravager.", GOSSIP_SENDER_MAIN, 19);
player->ADD_GOSSIP_ITEM(6, "Strider.", GOSSIP_SENDER_MAIN, 13);
player->ADD_GOSSIP_ITEM(6, "Scorpid.", GOSSIP_SENDER_MAIN, 414);
player->ADD_GOSSIP_ITEM(6, "Spider.", GOSSIP_SENDER_MAIN, 16);
player->ADD_GOSSIP_ITEM(6, "Serpent.", GOSSIP_SENDER_MAIN, 21);
player->ADD_GOSSIP_ITEM(6, "Turtle.", GOSSIP_SENDER_MAIN, 15);
player->ADD_GOSSIP_ITEM(6, "Wasp.", GOSSIP_SENDER_MAIN, 93);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 50:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(2, "<- Get a New Normal Pet.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(6, "Chimaera.", GOSSIP_SENDER_MAIN, 51);
player->ADD_GOSSIP_ITEM(6, "Core Hound.", GOSSIP_SENDER_MAIN, 52);
player->ADD_GOSSIP_ITEM(6, "Devilsaur.", GOSSIP_SENDER_MAIN, 53);
player->ADD_GOSSIP_ITEM(6, "Rhino.", GOSSIP_SENDER_MAIN, 54);
player->ADD_GOSSIP_ITEM(6, "Silithid.", GOSSIP_SENDER_MAIN, 55);
player->ADD_GOSSIP_ITEM(6, "Worm.", GOSSIP_SENDER_MAIN, 56);
player->ADD_GOSSIP_ITEM(6, "Loque'nahak.", GOSSIP_SENDER_MAIN, 57);
player->ADD_GOSSIP_ITEM(6, "Skoll.", GOSSIP_SENDER_MAIN, 58);
player->ADD_GOSSIP_ITEM(6, "Gondria.", GOSSIP_SENDER_MAIN, 59);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case GOSSIP_OPTION_STABLEPET:
player->GetSession()->SendStablePet(m_creature->GetGUID());
break;
case GOSSIP_OPTION_VENDOR:
player->GetSession()->SendListInventory(m_creature->GetGUID());
break;
case 51: //chimera
CreatePet(player, m_creature, 21879);
break;
case 52: //core hound
CreatePet(player, m_creature, 21108);
break;
case 53: //Devilsaur
CreatePet(player, m_creature, 20931);
break;
case 54: //rhino
CreatePet(player, m_creature, 30445);
break;
case 55: //silithid
CreatePet(player, m_creature, 5460);
break;
case 56: //Worm
CreatePet(player, m_creature, 30148);
break;
case 57: //Loque'nahak
CreatePet(player, m_creature, 32517);
break;
case 58: //Skoll
CreatePet(player, m_creature, 35189);
break;
case 59: //Gondria
CreatePet(player, m_creature, 33776);
break;
case 16: //Spider
CreatePet(player, m_creature, 2349);
break;
case 17: //Dragonhawk
CreatePet(player, m_creature, 27946);
break;
case 18: //Bat
CreatePet(player, m_creature, 28233);
break;
case 19: //Ravager
CreatePet(player, m_creature, 17199);
break;
case 20: //Raptor
CreatePet(player, m_creature, 14821);
break;
case 21: //Serpent
CreatePet(player, m_creature, 28358);
break;
case 1: //bear
CreatePet(player, m_creature, 29319);
break;
case 2: //Boar
CreatePet(player, m_creature, 29996);
break;
case 93: //Bug
CreatePet(player, m_creature, 28085);
break;
case 4: //cat
CreatePet(player, m_creature, 28097);
break;
case 5: //carrion
CreatePet(player, m_creature, 26838);
break;
case 6: //crab
CreatePet(player, m_creature, 24478);
break;
case 7: //crocolisk
CreatePet(player, m_creature, 1417);
break;
case 8: //gorila
CreatePet(player, m_creature, 28213);
break;
case 9: //hound
CreatePet(player, m_creature, 29452);
break;
case 10: //hynea
CreatePet(player, m_creature, 13036);
break;
case 11: //Moth
CreatePet(player, m_creature, 27421);
break;
case 12: //owl
CreatePet(player, m_creature, 23136);
break;
case 13: //strider
CreatePet(player, m_creature, 22807);
break;
case 414: //scorpid
CreatePet(player, m_creature, 9698);
break;
case 15: //turtle
CreatePet(player, m_creature, 25482);
break;
}
return true;
}
};
void AddSC_Npc_Beastmaster()
{
new Npc_Beastmaster();
}
[/SPOILER]
replace
player->CLOSE_GOSSIP_MENU();
with
player->PlayerTalkClass->SendCloseGossip();
finnaly yes its fixed it hink no more errors about my npc beastmaster but getting other errors i think something is wrong i pulled the last updates 91b572d6693be64d0ff9b7fff501d4db3a535fff.
11>c1xx : fatal error C1083: Cannot open source file: ‘.\World\boss_ysondre.cpp’: No such file or directory
11>c1xx : fatal error C1083: Cannot open source file: ‘.\World\boss_taerar.cpp’: No such file or directory
11>c1xx : fatal error C1083: Cannot open source file: ‘.\Northrend\ObsidianSanctum\boss_sartharion.cpp’: No such file or directory
11>c1xx : fatal error C1083: Cannot open source file: ‘.\World\boss_lethon.cpp’: No such file or directory
11>c1xx : fatal error C1083: Cannot open source file: ‘.\World\boss_emeriss.cpp’: No such file or directory
this are the errors from the latest pull.
thx KingPin for that /emoticons/default_smile.png
Its for rev. 10668 i need update…
[CODE]#include “ScriptPCH.h”
class npc_at_beastmaster : public CreatureScript
{
private:
void CreatePet(Player *player, Creature * m_creature, uint32 entry)
{
uint32 level = player->getLevel();
if(player->getClass() != CLASS_HUNTER)
{
m_creature->MonsterWhisper("You are not hunter! Your order have been rejected.", player->GetGUID());
player->CLOSE_GOSSIP_MENU();
return;
}
if(player->GetPet())
{
m_creature->MonsterWhisper("First you must drop your pet!", player->GetGUID());
player->CLOSE_GOSSIP_MENU();
return;
}
Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
if(!creatureTarget)
return;
Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
if(!pet)
return;
creatureTarget->setDeathState(JUST_DIED);
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0);
pet->SetPower(POWER_HAPPINESS, 1048000);
pet->GetMap()->Add((Creature*)pet);
pet->SetUInt32Value(UNIT_FIELD_LEVEL, uint32(player->getLevel()));
if(!pet->InitStatsForLevel(pet->getLevel()))
sLog.outError("Pet Create fail: no init stats for entry %u", entry);
pet->UpdateAllStats();
player->SetMinion(pet, true);
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
pet->InitTalentForLevel();
player->PetSpellInitialize();
player->CLOSE_GOSSIP_MENU();
m_creature->MonsterWhisper("Pet added. You might want to feed it and name it somehow.", player->GetGUID());
}
public:
npc_at_beastmaster() : CreatureScript("npc_at_beastmaster") { }
bool OnGossipHello(Player *player, Creature *_Creature)
{
if(player->getClass() != CLASS_HUNTER)
{
_Creature->MonsterWhisper("You are not hunter!", player->GetGUID());
return true;
}
player->ADD_GOSSIP_ITEM(4, "Get new pet", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get new exotic pet", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to stable", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some food", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->SEND_GOSSIP_MENU(1,_Creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature *_Creature, uint32 sender, uint32 action)
{
switch(action)
{
case GOSSIP_ACTION_INFO_DEF + 100:
player->ADD_GOSSIP_ITEM(4, "Get new pet", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get new exotic pet", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to stable", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some food", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->SEND_GOSSIP_MENU(1,_Creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF + 30:
player->ADD_GOSSIP_ITEM(2, "<< Back to main menu", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 100);
player->ADD_GOSSIP_ITEM(4, "Next page >>", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 31);
player->ADD_GOSSIP_ITEM(6, "Bat", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 18);
player->ADD_GOSSIP_ITEM(6, "Bear", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM(6, "Boar", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM(6, "Cat", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM(6, "Carrion Bird", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM(6, "Crab", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM(6, "Crocolisk", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM(6, "Dragonhawk", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 17);
player->ADD_GOSSIP_ITEM(6, "Gorilla", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM(6, "Hound", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
player->ADD_GOSSIP_ITEM(6, "Hyena", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);
player->ADD_GOSSIP_ITEM(6, "Moth", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);
player->ADD_GOSSIP_ITEM(6, "Owl", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12);
player->SEND_GOSSIP_MENU(1,_Creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF + 31:
player->ADD_GOSSIP_ITEM(2, "<< Back to main menu", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 100);
player->ADD_GOSSIP_ITEM(4, "<< Previous page", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);
player->ADD_GOSSIP_ITEM(6, "Raptor", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 20);
player->ADD_GOSSIP_ITEM(6, "Ravager", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 19);
player->ADD_GOSSIP_ITEM(6, "Strider", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13);
player->ADD_GOSSIP_ITEM(6, "Scorpid", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14);
player->ADD_GOSSIP_ITEM(6, "Spider", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 16);
player->ADD_GOSSIP_ITEM(6, "Serpent", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21);
player->ADD_GOSSIP_ITEM(6, "Turtle", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15);
player->ADD_GOSSIP_ITEM(6, "Wasp", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
player->SEND_GOSSIP_MENU(1,_Creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF + 50:
player->ADD_GOSSIP_ITEM(2, "<< Back to main menu", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 100);
player->ADD_GOSSIP_ITEM(6, "Chimaera", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 51);
player->ADD_GOSSIP_ITEM(6, "Core Hound", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 52);
player->ADD_GOSSIP_ITEM(6, "Devilsaur", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 53);
player->ADD_GOSSIP_ITEM(6, "Rhino", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 54);
player->ADD_GOSSIP_ITEM(6, "Silithid", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 55);
player->ADD_GOSSIP_ITEM(6, "Worm", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 56);
player->SEND_GOSSIP_MENU(1,_Creature->GetGUID());
break;
case GOSSIP_OPTION_STABLEPET:
player->GetSession()->SendStablePet(_Creature->GetGUID());
break;
case GOSSIP_OPTION_VENDOR:
player->SEND_VENDORLIST( _Creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF + 51: //chimera
CreatePet(player, _Creature, 21879);
break;
case GOSSIP_ACTION_INFO_DEF + 52: //core hound
CreatePet(player, _Creature, 21108);
break;
case GOSSIP_ACTION_INFO_DEF + 53: //Devilsaur
CreatePet(player, _Creature, 20931);
break;
case GOSSIP_ACTION_INFO_DEF + 54: //rhino
CreatePet(player, _Creature, 30445);
break;
case GOSSIP_ACTION_INFO_DEF + 55: //silithid
CreatePet(player, _Creature, 5460);
break;
case GOSSIP_ACTION_INFO_DEF + 56: //Worm
CreatePet(player, _Creature, 30148);
break;
case GOSSIP_ACTION_INFO_DEF + 16: //Spider
CreatePet(player, _Creature, 2349);
break;
case GOSSIP_ACTION_INFO_DEF + 17: //Dragonhawk
CreatePet(player, _Creature, 27946);
break;
case GOSSIP_ACTION_INFO_DEF + 18: //Bat
CreatePet(player, _Creature, 28233);
break;
case GOSSIP_ACTION_INFO_DEF + 19: //Ravager
CreatePet(player, _Creature, 17199);
break;
case GOSSIP_ACTION_INFO_DEF + 20: //Raptor
CreatePet(player, _Creature, 14821);
break;
case GOSSIP_ACTION_INFO_DEF + 21: //Serpent
CreatePet(player, _Creature, 28358);
break;
case GOSSIP_ACTION_INFO_DEF + 1: //bear
CreatePet(player, _Creature, 29319);
break;
case GOSSIP_ACTION_INFO_DEF + 2: //Boar
CreatePet(player, _Creature, 29996);
break;
case GOSSIP_ACTION_INFO_DEF + 3: //Bug
CreatePet(player, _Creature, 28085);
break;
case GOSSIP_ACTION_INFO_DEF + 4: //cat
CreatePet(player, _Creature, 28097);
break;
case GOSSIP_ACTION_INFO_DEF + 5: //carrion
CreatePet(player, _Creature, 26838);
break;
case GOSSIP_ACTION_INFO_DEF + 6: //crab
CreatePet(player, _Creature, 24478);
break;
case GOSSIP_ACTION_INFO_DEF + 7: //crocolisk
CreatePet(player, _Creature, 1417);
break;
case GOSSIP_ACTION_INFO_DEF + 8: //gorila
CreatePet(player, _Creature, 28213);
break;
case GOSSIP_ACTION_INFO_DEF + 9: //hound
CreatePet(player, _Creature, 29452);
break;
case GOSSIP_ACTION_INFO_DEF + 10: //hynea
CreatePet(player, _Creature, 13036);
break;
case GOSSIP_ACTION_INFO_DEF + 11: //Moth
CreatePet(player, _Creature, 27421);
break;
case GOSSIP_ACTION_INFO_DEF + 12: //owl
CreatePet(player, _Creature, 23136);
break;
case GOSSIP_ACTION_INFO_DEF + 13: //strider
CreatePet(player, _Creature, 22807);
break;
case GOSSIP_ACTION_INFO_DEF + 14: //scorpid
CreatePet(player, _Creature, 9698);
break;
case GOSSIP_ACTION_INFO_DEF + 15: //turtle
CreatePet(player, _Creature, 25482);
break;
}
return true;
}
};
void AddSC_npc_at_beastmaster()
{
new npc_at_beastmaster();
}[/CODE]
Write me error
[code/tc/build/src/server/scripts/Custom/master.cpp: In function âvoid CreatePet(Player*, Creature*, uint32)â:
/tc/build/src/server/scripts/Custom/master.cpp:67: error: âclass PlayerMenuâ has no member named âCloseGossipâ
/tc/build/src/server/scripts/Custom/master.cpp:74: error: âclass PlayerMenuâ has no member named âCloseGossipâ
/tc/build/src/server/scripts/Custom/master.cpp:103: error: âclass PlayerMenuâ has no member named âCloseGossipâ
make[2]: *** [src/server/scripts/CMakeFiles/scripts.dir/Custom/master.cpp.o] Error 1
make[1]: *** [src/server/scripts/CMakeFiles/scripts.dir/all] Error 2
make: *** [all] Error 2
Sry… for bad sektion…
[CODE] #include “ScriptPCH.h”
#define GOSSIP_ITEM_STABLE “Stable”
#define GOSSIP_ITEM_NEWPET “New Pet”
#define GOSSIP_ITEM_BOAR “Boar”
#define GOSSIP_ITEM_SERPENT “Serpent”
#define GOSSIP_ITEM_SCRAB “Scrab”
#define GOSSIP_ITEM_LION “Lion”
#define GOSSIP_ITEM_WOLF “Wolf”
#define GOSSIP_ITEM_RAVAGER “Ravenger”
#define GOSSIP_ITEM_UNTRAINEPET “Restart Pet”
class Npc_Beastmaster : public CreatureScript
{
public:
Npc_Beastmaster() : CreatureScript("Npc_Beastmaster") { }
void CreatePet(Player *player, Creature * m_creature, uint32 entry) {
if(player->getClass() != CLASS_HUNTER) {
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
player->CLOSE_GOSSIP_MENU();
return;
}
if(player->GetPet()) {
m_creature->MonsterWhisper("First you must drop your Pet!", player->GetGUID());
player->CLOSE_GOSSIP_MENU();
return;
}
Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
if(!creatureTarget) return;
Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
if(!pet) return;
// kill original creature
creatureTarget->setDeathState(JUST_DIED);
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0); // just for nice GM-mode view
pet->SetPower(POWER_HAPPINESS, 1048000);
//pet->SetUInt32Value(UNIT_FIELD_PETEXPERIENCE,0);
//pet->SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, uint32((Trinity::XP::xp_to_level(70))/4));
// prepare visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel() - 1);
pet->GetMap()->Add((Creature*)pet);
// visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel());
if(!pet->InitStatsForLevel(player->getLevel()))
sLog->outError ("Pet Create fail: no init stats for entry %u", entry);
pet->UpdateAllStats();
// caster have pet now
player->SetMinion(pet, true);
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
pet->InitTalentForLevel();
player->PetSpellInitialize();
//end
player->CLOSE_GOSSIP_MENU();
m_creature->MonsterWhisper("Pet added. You might want to feed it and name it somehow.", player->GetGUID());
}
bool OnGossipHello(Player *player, Creature * m_creature)
{
if(player->getClass() != CLASS_HUNTER)
{
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
return true;
}
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature * m_creature, uint32 sender, uint32 action)
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case 100:
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 150:
player->CLOSE_GOSSIP_MENU();
break;
case 30:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(4, "Next Page. ->", GOSSIP_SENDER_MAIN, 31);
player->ADD_GOSSIP_ITEM(6, "Bat.", GOSSIP_SENDER_MAIN, 18);
player->ADD_GOSSIP_ITEM(6, "Bear.", GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM(6, "Boar.", GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM(6, "Cat.", GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM(6, "Carrion Bird.", GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM(6, "Crab.", GOSSIP_SENDER_MAIN, 6);
player->ADD_GOSSIP_ITEM(6, "Crocolisk.", GOSSIP_SENDER_MAIN, 7);
player->ADD_GOSSIP_ITEM(6, "Dragonhawk.", GOSSIP_SENDER_MAIN, 17);
player->ADD_GOSSIP_ITEM(6, "Gorilla.", GOSSIP_SENDER_MAIN, 8);
player->ADD_GOSSIP_ITEM(6, "Hound.", GOSSIP_SENDER_MAIN, 9);
player->ADD_GOSSIP_ITEM(6, "Hyena.", GOSSIP_SENDER_MAIN, 10);
player->ADD_GOSSIP_ITEM(6, "Moth.", GOSSIP_SENDER_MAIN, 11);
player->ADD_GOSSIP_ITEM(6, "Owl.", GOSSIP_SENDER_MAIN, 12);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 31:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(4, "<- Previous Page.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(6, "Raptor.", GOSSIP_SENDER_MAIN, 20);
player->ADD_GOSSIP_ITEM(6, "Ravager.", GOSSIP_SENDER_MAIN, 19);
player->ADD_GOSSIP_ITEM(6, "Strider.", GOSSIP_SENDER_MAIN, 13);
player->ADD_GOSSIP_ITEM(6, "Scorpid.", GOSSIP_SENDER_MAIN, 414);
player->ADD_GOSSIP_ITEM(6, "Spider.", GOSSIP_SENDER_MAIN, 16);
player->ADD_GOSSIP_ITEM(6, "Serpent.", GOSSIP_SENDER_MAIN, 21);
player->ADD_GOSSIP_ITEM(6, "Turtle.", GOSSIP_SENDER_MAIN, 15);
player->ADD_GOSSIP_ITEM(6, "Wasp.", GOSSIP_SENDER_MAIN, 93);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 50:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(2, "<- Get a New Normal Pet.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(6, "Chimaera.", GOSSIP_SENDER_MAIN, 51);
player->ADD_GOSSIP_ITEM(6, "Core Hound.", GOSSIP_SENDER_MAIN, 52);
player->ADD_GOSSIP_ITEM(6, "Devilsaur.", GOSSIP_SENDER_MAIN, 53);
player->ADD_GOSSIP_ITEM(6, "Rhino.", GOSSIP_SENDER_MAIN, 54);
player->ADD_GOSSIP_ITEM(6, "Silithid.", GOSSIP_SENDER_MAIN, 55);
player->ADD_GOSSIP_ITEM(6, "Worm.", GOSSIP_SENDER_MAIN, 56);
player->ADD_GOSSIP_ITEM(6, "Loque'nahak.", GOSSIP_SENDER_MAIN, 57);
player->ADD_GOSSIP_ITEM(6, "Skoll.", GOSSIP_SENDER_MAIN, 58);
player->ADD_GOSSIP_ITEM(6, "Gondria.", GOSSIP_SENDER_MAIN, 59);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case GOSSIP_OPTION_STABLEPET:
player->GetSession()->SendStablePet(m_creature->GetGUID());
break;
case GOSSIP_OPTION_VENDOR:
player->GetSession()->SendListInventory(m_creature->GetGUID());
break;
case 51: //chimera
CreatePet(player, m_creature, 21879);
break;
case 52: //core hound
CreatePet(player, m_creature, 21108);
break;
case 53: //Devilsaur
CreatePet(player, m_creature, 20931);
break;
case 54: //rhino
CreatePet(player, m_creature, 30445);
break;
case 55: //silithid
CreatePet(player, m_creature, 5460);
break;
case 56: //Worm
CreatePet(player, m_creature, 30148);
break;
case 57: //Loque'nahak
CreatePet(player, m_creature, 32517);
break;
case 58: //Skoll
CreatePet(player, m_creature, 35189);
break;
case 59: //Gondria
CreatePet(player, m_creature, 33776);
break;
case 16: //Spider
CreatePet(player, m_creature, 2349);
break;
case 17: //Dragonhawk
CreatePet(player, m_creature, 27946);
break;
case 18: //Bat
CreatePet(player, m_creature, 28233);
break;
case 19: //Ravager
CreatePet(player, m_creature, 17199);
break;
case 20: //Raptor
CreatePet(player, m_creature, 14821);
break;
case 21: //Serpent
CreatePet(player, m_creature, 28358);
break;
case 1: //bear
CreatePet(player, m_creature, 29319);
break;
case 2: //Boar
CreatePet(player, m_creature, 29996);
break;
case 93: //Bug
CreatePet(player, m_creature, 28085);
break;
case 4: //cat
CreatePet(player, m_creature, 28097);
break;
case 5: //carrion
CreatePet(player, m_creature, 26838);
break;
case 6: //crab
CreatePet(player, m_creature, 24478);
break;
case 7: //crocolisk
CreatePet(player, m_creature, 1417);
break;
case 8: //gorila
CreatePet(player, m_creature, 28213);
break;
case 9: //hound
CreatePet(player, m_creature, 29452);
break;
case 10: //hynea
CreatePet(player, m_creature, 13036);
break;
case 11: //Moth
CreatePet(player, m_creature, 27421);
break;
case 12: //owl
CreatePet(player, m_creature, 23136);
break;
case 13: //strider
CreatePet(player, m_creature, 22807);
break;
case 414: //scorpid
CreatePet(player, m_creature, 9698);
break;
case 15: //turtle
CreatePet(player, m_creature, 25482);
break;
}
return true;
}
};
void AddSC_Npc_Beastmaster()
{
new Npc_Beastmaster();
} [/CODE]
try this one:
[CODE]//Modified by Marcus
//original script created by ??
#include “ScriptPCH.h”
#define GOSSIP_ITEM_STABLE “Stable”
#define GOSSIP_ITEM_NEWPET “New Pet”
#define GOSSIP_ITEM_BOAR “Boar”
#define GOSSIP_ITEM_SERPENT “Serpent”
#define GOSSIP_ITEM_SCRAB “Scrab”
#define GOSSIP_ITEM_LION “Lion”
#define GOSSIP_ITEM_WOLF “Wolf”
#define GOSSIP_ITEM_RAVAGER “Ravenger”
#define GOSSIP_ITEM_UNTRAINEPET “Restart Pet”
class Npc_Beastmaster : public CreatureScript
{
public:
Npc_Beastmaster() : CreatureScript("Npc_Beastmaster") { }
void CreatePet(Player *player, Creature * m_creature, uint32 entry) {
if(player->getClass() != CLASS_HUNTER) {
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
player->PlayerTalkClass->SendCloseGossip();
return;
}
if(player->GetPet()) {
m_creature->MonsterWhisper("First you must drop your Pet!", player->GetGUID());
player->PlayerTalkClass->SendCloseGossip();
return;
}
Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
if(!creatureTarget) return;
Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
if(!pet) return;
// kill original creature
creatureTarget->setDeathState(JUST_DIED);
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0); // just for nice GM-mode view
pet->SetPower(POWER_HAPPINESS, 1048000);
//pet->SetUInt32Value(UNIT_FIELD_PETEXPERIENCE,0);
//pet->SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, uint32((Trinity::XP::xp_to_level(70))/4));
// prepare visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel() - 1);
pet->GetMap()->Add((Creature*)pet);
// visual effect for levelup
pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel());
if(!pet->InitStatsForLevel(player->getLevel()))
sLog->outError ("Pet Create fail: no init stats for entry %u", entry);
pet->UpdateAllStats();
// caster have pet now
player->SetMinion(pet, true);
pet->SavePetToDB(PET_SAVE_AS_CURRENT);
pet->InitTalentForLevel();
player->PetSpellInitialize();
//end
player->PlayerTalkClass->SendCloseGossip();
m_creature->MonsterWhisper("Pet added. You might want to feed it and name it somehow.", player->GetGUID());
}
bool OnGossipHello(Player *player, Creature * m_creature)
{
if(player->getClass() != CLASS_HUNTER)
{
m_creature->MonsterWhisper("You are not a Hunter!", player->GetGUID());
return true;
}
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature * m_creature, uint32 sender, uint32 action)
{
player->PlayerTalkClass->ClearMenus();
switch (action)
{
case 100:
player->ADD_GOSSIP_ITEM(4, "Get a New Pet.", GOSSIP_SENDER_MAIN, 30);
if (player->CanTameExoticPets())
{
player->ADD_GOSSIP_ITEM(4, "Get a New Exotic Pet.", GOSSIP_SENDER_MAIN, 50);
}
player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);
player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);
player->ADD_GOSSIP_ITEM(5, "Close Beastmaster Window.", GOSSIP_SENDER_MAIN, 150);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 150:
player->CLOSE_GOSSIP_MENU();
break;
case 30:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(4, "Next Page. ->", GOSSIP_SENDER_MAIN, 31);
player->ADD_GOSSIP_ITEM(6, "Bat.", GOSSIP_SENDER_MAIN, 18);
player->ADD_GOSSIP_ITEM(6, "Bear.", GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM(6, "Boar.", GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM(6, "Cat.", GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM(6, "Carrion Bird.", GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM(6, "Crab.", GOSSIP_SENDER_MAIN, 6);
player->ADD_GOSSIP_ITEM(6, "Crocolisk.", GOSSIP_SENDER_MAIN, 7);
player->ADD_GOSSIP_ITEM(6, "Dragonhawk.", GOSSIP_SENDER_MAIN, 17);
player->ADD_GOSSIP_ITEM(6, "Gorilla.", GOSSIP_SENDER_MAIN, 8);
player->ADD_GOSSIP_ITEM(6, "Hound.", GOSSIP_SENDER_MAIN, 9);
player->ADD_GOSSIP_ITEM(6, "Hyena.", GOSSIP_SENDER_MAIN, 10);
player->ADD_GOSSIP_ITEM(6, "Moth.", GOSSIP_SENDER_MAIN, 11);
player->ADD_GOSSIP_ITEM(6, "Owl.", GOSSIP_SENDER_MAIN, 12);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 31:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(4, "<- Previous Page.", GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM(6, "Raptor.", GOSSIP_SENDER_MAIN, 20);
player->ADD_GOSSIP_ITEM(6, "Ravager.", GOSSIP_SENDER_MAIN, 19);
player->ADD_GOSSIP_ITEM(6, "Strider.", GOSSIP_SENDER_MAIN, 13);
player->ADD_GOSSIP_ITEM(6, "Scorpid.", GOSSIP_SENDER_MAIN, 414);
player->ADD_GOSSIP_ITEM(6, "Spider.", GOSSIP_SENDER_MAIN, 16);
player->ADD_GOSSIP_ITEM(6, "Serpent.", GOSSIP_SENDER_MAIN, 21);
player->ADD_GOSSIP_ITEM(6, "Turtle.", GOSSIP_SENDER_MAIN, 15);
player->ADD_GOSSIP_ITEM(6, "Wasp.", GOSSIP_SENDER_MAIN, 93);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case 50:
player->ADD_GOSSIP_ITEM(2, "<- Back to Main Menu.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(2, "<- Get a New Normal Pet.", GOSSIP_SENDER_MAIN, 100);
player->ADD_GOSSIP_ITEM(6, "Chimaera.", GOSSIP_SENDER_MAIN, 51);
player->ADD_GOSSIP_ITEM(6, "Core Hound.", GOSSIP_SENDER_MAIN, 52);
player->ADD_GOSSIP_ITEM(6, "Devilsaur.", GOSSIP_SENDER_MAIN, 53);
player->ADD_GOSSIP_ITEM(6, "Rhino.", GOSSIP_SENDER_MAIN, 54);
player->ADD_GOSSIP_ITEM(6, "Silithid.", GOSSIP_SENDER_MAIN, 55);
player->ADD_GOSSIP_ITEM(6, "Worm.", GOSSIP_SENDER_MAIN, 56);
player->ADD_GOSSIP_ITEM(6, "Loque'nahak.", GOSSIP_SENDER_MAIN, 57);
player->ADD_GOSSIP_ITEM(6, "Skoll.", GOSSIP_SENDER_MAIN, 58);
player->ADD_GOSSIP_ITEM(6, "Gondria.", GOSSIP_SENDER_MAIN, 59);
player->SEND_GOSSIP_MENU(1, m_creature->GetGUID());
break;
case GOSSIP_OPTION_STABLEPET:
player->GetSession()->SendStablePet(m_creature->GetGUID());
break;
case GOSSIP_OPTION_VENDOR:
player->GetSession()->SendListInventory(m_creature->GetGUID());
break;
case 51: //chimera
CreatePet(player, m_creature, 21879);
break;
case 52: //core hound
CreatePet(player, m_creature, 21108);
break;
case 53: //Devilsaur
CreatePet(player, m_creature, 20931);
break;
case 54: //rhino
CreatePet(player, m_creature, 30445);
break;
case 55: //silithid
CreatePet(player, m_creature, 5460);
break;
case 56: //Worm
CreatePet(player, m_creature, 30148);
break;
case 57: //Loque'nahak
CreatePet(player, m_creature, 32517);
break;
case 58: //Skoll
CreatePet(player, m_creature, 35189);
break;
case 59: //Gondria
CreatePet(player, m_creature, 33776);
break;
case 16: //Spider
CreatePet(player, m_creature, 2349);
break;
case 17: //Dragonhawk
CreatePet(player, m_creature, 27946);
break;
case 18: //Bat
CreatePet(player, m_creature, 28233);
break;
case 19: //Ravager
CreatePet(player, m_creature, 17199);
break;
case 20: //Raptor
CreatePet(player, m_creature, 14821);
break;
case 21: //Serpent
CreatePet(player, m_creature, 28358);
break;
case 1: //bear
CreatePet(player, m_creature, 29319);
break;
case 2: //Boar
CreatePet(player, m_creature, 29996);
break;
case 93: //Bug
CreatePet(player, m_creature, 28085);
break;
case 4: //cat
CreatePet(player, m_creature, 28097);
break;
case 5: //carrion
CreatePet(player, m_creature, 26838);
break;
case 6: //crab
CreatePet(player, m_creature, 24478);
break;
case 7: //crocolisk
CreatePet(player, m_creature, 1417);
break;
case 8: //gorila
CreatePet(player, m_creature, 28213);
break;
case 9: //hound
CreatePet(player, m_creature, 29452);
break;
case 10: //hynea
CreatePet(player, m_creature, 13036);
break;
case 11: //Moth
CreatePet(player, m_creature, 27421);
break;
case 12: //owl
CreatePet(player, m_creature, 23136);
break;
case 13: //strider
CreatePet(player, m_creature, 22807);
break;
case 414: //scorpid
CreatePet(player, m_creature, 9698);
break;
case 15: //turtle
CreatePet(player, m_creature, 25482);
break;
}
return true;
}
};
void AddSC_Npc_Beastmaster()
{
new Npc_Beastmaster();
}[/CODE]
Damn guys, use SPOILER tag pls >.>