Beastmaster script help

Hi again, I’ve tried to compile Trinity Core again with Marcus’s Beastmaster script but this time I get an error compiling. Here is it:

error LNK1181: could not open input file ‘…\scripts\Release\scripts.lib’

The only thing i’ve added it’s Marcus’s Beastmaster scripts (below) and I’m using the lastest version of TC.

[SPOILER]//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->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();

}

[/SPOILER]

Did you add to scriptloader???

Clean make cache!!

Yes I have, and i’m using Windows so if i’m not wrong i can’t clean make cache haha.

I think “clean solution” was meant.

Didn’t work, also tried redownloading Trinity Core source.

Don’t know if was only luck, but I changed the script to the one below (same with little differences) and works perfectly. Thanks.

[SPOILER]#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->PlayerTalkClass->SendCloseGossip();

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]

Please stop shitting all over our forums.

— Canned message start —

This thread is not related to the official Trinity codebase and was moved to the Custom Code section.

Please read the stickies next time.

— Canned message end —

Doesn’t works for newest revision /emoticons/default_wacko.png

I use this, works for me:

edit: Fixed the code here, no need for the pastebin link.

[CODE]

#include “ScriptPCH.h”

#include “ScriptMgr.h”

#include “Pet.h”

#include “Formulas.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”

void CreatePet(Player* player, Creature* m_creature, uint32 entry)

{

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;


// 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());

}

class npc_beastmaster : public CreatureScript

{

public: npc_beastmaster() : CreatureScript("npc_beastmaster")

{

}


bool OnGossipHello(Player* pPlayer, Creature* pCreature)

    { //Show Main Menu

        if(pPlayer->getClass() != CLASS_HUNTER)

        {

            pCreature->MonsterWhisper("You are not hunter!", pPlayer->GetGUID());

            return true;

        }


        pPlayer->ADD_GOSSIP_ITEM(4, "Get new pet", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);


        if (pPlayer->CanTameExoticPets())

        {

            pPlayer->ADD_GOSSIP_ITEM(4, "Get new exotic pet", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 50);

        }


        pPlayer->ADD_GOSSIP_ITEM(2, "Take me to stable", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);

        pPlayer->ADD_GOSSIP_ITEM(6, "Sell me some food", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);

        pPlayer->SEND_GOSSIP_MENU(1,pCreature->GetGUID());

        return true;

    }


bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)

    {

        ShowMenuItems(pPlayer, pCreature, uiAction);

        return true;

    }


void ShowMenuItems(Player* pPlayer, Creature* pCreature, uint32 uiAction)

{ //BACK BUTTON FOO

    switch (uiAction)

    {

        case GOSSIP_ACTION_INFO_DEF + 100:

            pPlayer->PlayerTalkClass->ClearMenus();

            pPlayer->ADD_GOSSIP_ITEM(4, "Get new pet", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);


            if (pPlayer->CanTameExoticPets())

            {

                pPlayer->ADD_GOSSIP_ITEM(4, "Get new exotic pet", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 50);

            }


            pPlayer->ADD_GOSSIP_ITEM(2, "Take me to stable", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET);

            pPlayer->ADD_GOSSIP_ITEM(6, "Sell me some food", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR);

            pPlayer->SEND_GOSSIP_MENU(1,pCreature->GetGUID());

            break;

        case GOSSIP_ACTION_INFO_DEF + 30:

            pPlayer->PlayerTalkClass->ClearMenus();

            pPlayer->ADD_GOSSIP_ITEM(2, "<< Back to main menu", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 100);

            pPlayer->ADD_GOSSIP_ITEM(4, "Next page >>", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 31);

            pPlayer->ADD_GOSSIP_ITEM(6, "Bat", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 18);

            pPlayer->ADD_GOSSIP_ITEM(6, "Bear", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);

            pPlayer->ADD_GOSSIP_ITEM(6, "Boar", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);

            pPlayer->ADD_GOSSIP_ITEM(6, "Cat", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);

            pPlayer->ADD_GOSSIP_ITEM(6, "Carrion Bird", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);

            pPlayer->ADD_GOSSIP_ITEM(6, "Crab", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);

            pPlayer->ADD_GOSSIP_ITEM(6, "Crocolisk", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);

            pPlayer->ADD_GOSSIP_ITEM(6, "Dragonhawk", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 17);

            pPlayer->ADD_GOSSIP_ITEM(6, "Gorilla", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);

            pPlayer->ADD_GOSSIP_ITEM(6, "Hound", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);

            pPlayer->ADD_GOSSIP_ITEM(6, "Hyena", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);

            pPlayer->ADD_GOSSIP_ITEM(6, "Moth", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);

            pPlayer->ADD_GOSSIP_ITEM(6, "Owl", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12);

            pPlayer->SEND_GOSSIP_MENU(1,pCreature->GetGUID());

            break;

        case GOSSIP_ACTION_INFO_DEF + 31:

            pPlayer->PlayerTalkClass->ClearMenus();

            pPlayer->ADD_GOSSIP_ITEM(2, "<< Back to main menu", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 100);

            pPlayer->ADD_GOSSIP_ITEM(4, "<< Previous page", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);

            pPlayer->ADD_GOSSIP_ITEM(6, "Raptor", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 20);

            pPlayer->ADD_GOSSIP_ITEM(6, "Ravager", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 19);

            pPlayer->ADD_GOSSIP_ITEM(6, "Strider", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13);

            pPlayer->ADD_GOSSIP_ITEM(6, "Scorpid", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14);

            pPlayer->ADD_GOSSIP_ITEM(6, "Spider", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 16);

            pPlayer->ADD_GOSSIP_ITEM(6, "Serpent", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21);  

            pPlayer->ADD_GOSSIP_ITEM(6, "Turtle", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15);

            pPlayer->ADD_GOSSIP_ITEM(6, "Wasp", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);

            pPlayer->SEND_GOSSIP_MENU(1,pCreature->GetGUID());

            break;

        case GOSSIP_ACTION_INFO_DEF + 50:

            pPlayer->PlayerTalkClass->ClearMenus();

            pPlayer->ADD_GOSSIP_ITEM(2, "<< Back to main menu", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 100);

            pPlayer->ADD_GOSSIP_ITEM(6, "Chimaera", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 51);

            pPlayer->ADD_GOSSIP_ITEM(6, "Core Hound", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 52);

            pPlayer->ADD_GOSSIP_ITEM(6, "Devilsaur", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 53);

            pPlayer->ADD_GOSSIP_ITEM(6, "Rhino", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 54);

            pPlayer->ADD_GOSSIP_ITEM(6, "Silithid", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 55);

            pPlayer->ADD_GOSSIP_ITEM(6, "Worm", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 56);  

            pPlayer->ADD_GOSSIP_ITEM(6, "Loque'nahak", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 57);

            pPlayer->ADD_GOSSIP_ITEM(6, "Skoll", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 58);

            pPlayer->ADD_GOSSIP_ITEM(6, "Gondria", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 59);

            pPlayer->SEND_GOSSIP_MENU(1,pCreature->GetGUID());

            break;

        case GOSSIP_OPTION_STABLEPET:

            pPlayer->CLOSE_GOSSIP_MENU();

            pPlayer->GetSession()->SendStablePet(pCreature->GetGUID());

            break;

        case GOSSIP_OPTION_VENDOR:

            /*pPlayer->SEND_VENDORLIST( pCreature->GetGUID());*/

            pPlayer->CLOSE_GOSSIP_MENU();

            pPlayer->GetSession()->SendListInventory( pCreature->GetGUID());

            break;

        case GOSSIP_ACTION_INFO_DEF + 51: //chimera

            CreatePet(pPlayer, pCreature, 21879);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 52: //core hound

            CreatePet(pPlayer, pCreature, 21108);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 53: //Devilsaur

            CreatePet(pPlayer, pCreature, 20931);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 54: //rhino

            CreatePet(pPlayer, pCreature, 30445);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 55: //silithid

            CreatePet(pPlayer, pCreature, 5460);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 56: //Worm

            CreatePet(pPlayer, pCreature, 30148);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 57: //Loque'nahak

            CreatePet(pPlayer, pCreature, 32517);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 58: //Skoll

            CreatePet(pPlayer, pCreature, 35189);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 59: //Gondria

            CreatePet(pPlayer, pCreature, 33776);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 16: //Spider

            CreatePet(pPlayer, pCreature, 2349);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 17: //Dragonhawk

            CreatePet(pPlayer, pCreature, 27946);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 18: //Bat

            CreatePet(pPlayer, pCreature, 28233);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 19: //Ravager

            CreatePet(pPlayer, pCreature, 17199);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 20: //Raptor

            CreatePet(pPlayer, pCreature, 14821);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 21: //Serpent

            CreatePet(pPlayer, pCreature, 28358);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 1: //bear

            CreatePet(pPlayer, pCreature, 29319);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 2: //Boar

            CreatePet(pPlayer, pCreature, 29996);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 3: //Bug

            CreatePet(pPlayer, pCreature, 28085);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 4: //cat

            CreatePet(pPlayer, pCreature, 28097);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 5: //carrion

            CreatePet(pPlayer, pCreature, 26838);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 6: //crab

            CreatePet(pPlayer, pCreature, 24478);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 7: //crocolisk

            CreatePet(pPlayer, pCreature, 1417);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;  

        case GOSSIP_ACTION_INFO_DEF + 8: //gorila

            CreatePet(pPlayer, pCreature, 28213);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 9: //hound

            CreatePet(pPlayer, pCreature, 29452);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 10: //hynea

            CreatePet(pPlayer, pCreature, 13036);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 11: //Moth

            CreatePet(pPlayer, pCreature, 27421);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 12: //owl

            CreatePet(pPlayer, pCreature, 23136);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 13: //strider

            CreatePet(pPlayer, pCreature, 22807);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 14: //scorpid

            CreatePet(pPlayer, pCreature, 9698);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

        case GOSSIP_ACTION_INFO_DEF + 15: //turtle

            CreatePet(pPlayer, pCreature, 25482);

            pPlayer->CLOSE_GOSSIP_MENU();

            break;

    }


    /*return true;*/

}

};

void AddSC_npc_beastmaster()

{

new npc_beastmaster();

}[/CODE]

Thanks works properly! /emoticons/default_smile.png

Great. /emoticons/default_biggrin.png

Hey guys!

I hope someone here can help me out

i have this Beast Master Script. and when i compiling this i have Error at line 53

pls help me

i have EEROR at Line 53 -->> pet->GetMap()->Add((Creature*)pet);

[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->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 GossipHello_npc_beastmaster(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 OGossipSelect_npc_beastmaster(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]

And what is the error?

i get error for this :>Add((Creature*)pet)

I need this script updated too, would be wonderful if someone could update it /emoticons/default_happy.png

This one should work:

[CODE]

//Fixed and 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()->AddToMap((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]

marcus

i have again Error at this line { pet->GetMap()->Add((Creature*)pet); }

pls help me. i need it hard ;(

you can see Error at this link

thxx

updated previous post try now.

Marcus i have that Error with new your script

why i get this ?

pls help

thxx