Beastmaster script help

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 >.>