Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  
frytiks

Prosím o radu

Recommended Posts

Problém pri compile player.cpp > Tu pridávam kód kde je chyba

 

 

void Player::SetSpectator(bool bSpectator)
{
if (bSpectator)
{
	if (IsSpectator())
	{
		sLog->outError("Player::SetSpectator: trying to set spectator state for player (GUID: %u) but he already has this state.", GetGUIDLow());
		return;
	}

 if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(8326))
		Aura::TryCreate(spellInfo, MAX_EFFECT_MASK, this, this);
}
else
	RemoveAurasDueToSpell(8326);
m_spectator = bSpectator;
}
void Player::SendClearFocus(Unit* target)
{
WorldPacket data(SMSG_BREAK_TARGET, target->GetPackGUID().size());
data.append(target->GetPackGUID());
GetSession()->SendPacket(&data);
}

 

 

 

 

A tu výpis compile

 

1>------ Build started: Project: ZERO_CHECK, Configuration: Release Win32 ------

1> Checking Build System

1> CMake is re-running because generate.stamp.list is missing.

1> -- Detected 32-bit platform

1> -- Using supplied MySQL sources

1> -- MSVC: Enabled large address awareness

1> -- MSVC: Overloaded standard names

1> -- MSVC: Disabled NON-SECURE warnings

1> -- MSVC: Disabled POSIX warnings

1> -- MSVC: Disabled generic compiletime warnings

1>

1> -- WARNING - Missing or outdated git - did you forget to install a recent version?

1> -- WARNING - Observe that for revision hash/date to work you need at least version 1.7

1> -- WARNING - Missing repository tags - you may need to pull tags with git fetch -t

1> -- WARNING - Continuing anyway - note that the versionstring will be set to 0000-00-00 00:00:00 (Archived)

1>

1> * SkyFireEMU rev. hash : Archived

1> * SkyFireEMU rev. date : 0000-00-00 00:00:00 +0000

1>

1> * Install core to : C:/Program Files (x86)/SkyFire

1>

1> * Build world/auth : Yes (default)

1> * Build with scripts : Yes (default)

1> * Build map/vmap tools : No (default)

1> * Build core w/PCH : Yes (default)

1> * Build scripts w/PCH : Yes (default)

1> * Use SFMT for RNG : No (default)

1> * Show compile-warnings : No (default)

1> * Use coreside debug : No (default)

1> * Use MySQL sourcetree : Yes (default)

1>

1> -- MySQL 5.5.15

1> -- SCRIPT PREPARATIONS

1> -> Prepared: Spells

1> -> Prepared: Examples

1> -> Prepared: Commands

1> -> Prepared: Custom

1> -> Prepared: World

1> -> Prepared: Outdoor PVP Zones

1> -> Prepared: Eastern Kingdoms

1> -> Prepared: Kalimdor

1> -> Prepared: Outland

1> -- SCRIPT PREPARATION COMPLETE

1> -> Prepared: Northrend

1>

1> -- Configuring done

1> -- Generating done

1> -- Build files have been written to: C:/SkyFireEMU/Build

2>------ Build started: Project: revision.h, Configuration: Release Win32 ------

2>

2> -- WARNING - Missing or outdated git - did you forget to install a recent version?

2> -- WARNING - Observe that for revision hash/date to work you need at least version 1.7

2> -- WARNING - Missing repository tags - you may need to pull tags with git fetch -t

2> -- WARNING - Continuing anyway - note that the versionstring will be set to 0000-00-00 00:00:00 (Archived)

3>------ Build started: Project: game, Configuration: Release Win32 ------

3> Player.cpp

3>C:\SkyFireEMU\Core\src\server\game\Entities\Player\Player.cpp(25401): error C2065: 'SpellInfo' : undeclared identifier

3>C:\SkyFireEMU\Core\src\server\game\Entities\Player\Player.cpp(25401): error C2143: syntax error : missing ')' before 'const'

3>C:\SkyFireEMU\Core\src\server\game\Entities\Player\Player.cpp(25401): error C2143: syntax error : missing ';' before 'const'

3>C:\SkyFireEMU\Core\src\server\game\Entities\Player\Player.cpp(25401): warning C4390: ';' : empty controlled statement found; is this the intent?

3>C:\SkyFireEMU\Core\src\server\game\Entities\Player\Player.cpp(25401): error C2059: syntax error : ')'

4>------ Build started: Project: ALL_BUILD, Configuration: Release Win32 ------

4> Build all projects

4> Building Custom Rule C:/SkyFireEMU/Core/CMakeLists.txt

4> CMake is re-running because C:\SkyFireEMU\Build\CMakeFiles\generate.stamp dependency file is missing.

4> -- Detected 32-bit platform

4> -- Using supplied MySQL sources

4> -- MSVC: Enabled large address awareness

4> -- MSVC: Overloaded standard names

4> -- MSVC: Disabled NON-SECURE warnings

4> -- MSVC: Disabled POSIX warnings

4> -- MSVC: Disabled generic compiletime warnings

4>

4> -- WARNING - Missing or outdated git - did you forget to install a recent version?

4> -- WARNING - Observe that for revision hash/date to work you need at least version 1.7

4> -- WARNING - Missing repository tags - you may need to pull tags with git fetch -t

4> -- WARNING - Continuing anyway - note that the versionstring will be set to 0000-00-00 00:00:00 (Archived)

4>

4> * SkyFireEMU rev. hash : Archived

4> * SkyFireEMU rev. date : 0000-00-00 00:00:00 +0000

4>

4> * Install core to : C:/Program Files (x86)/SkyFire

4>

4> * Build world/auth : Yes (default)

4> * Build with scripts : Yes (default)

4> * Build map/vmap tools : No (default)

4> * Build core w/PCH : Yes (default)

4> * Build scripts w/PCH : Yes (default)

4> * Use SFMT for RNG : No (default)

4> * Show compile-warnings : No (default)

4> * Use coreside debug : No (default)

4> * Use MySQL sourcetree : Yes (default)

4>

4> -- MySQL 5.5.15

4> -- SCRIPT PREPARATIONS

4> -> Prepared: Spells

4> -> Prepared: Examples

4> -> Prepared: Commands

4> -> Prepared: Custom

4> -> Prepared: World

4> -> Prepared: Outdoor PVP Zones

4> -> Prepared: Eastern Kingdoms

4> -> Prepared: Kalimdor

4> -> Prepared: Outland

4> -- SCRIPT PREPARATION COMPLETE

4> -> Prepared: Northrend

4>

4> -- Configuring done

4> -- Generating done

4> -- Build files have been written to: C:/SkyFireEMU/Build

5>------ Skipped Build: Project: INSTALL, Configuration: Release Win32 ------

5>Project not selected to build for this solution configuration

========== Build: 3 succeeded, 1 failed, 15 up-to-date, 1 skipped ==========

Edited by frytiks
  • Downvote 2

Share this post


Link to post
Share on other sites

Mě přijde že ti tam hlavně pár věcí chybí. Máš tam jenom půlku kódu viz zde.

 

Tady to máš celé.

 

 

//Modified by Chronic of zwowz.com to work with SkyfireEMU
//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_SLOT_ACTUAL_PET_SLOT);
	pet->SavePetToDB(PET_SLOT_ACTUAL_PET_SLOT);
	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();
}


 

 

 

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 (9009200, 0, 0, 0, 0, 0, 18802, 0, 0, 0, 'Reset Npc', 'Player help/tools', '', 0, 80, 80, 0, 35, 35, 1, 1, 1.14286, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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', 12340);

Edited by denny1326

Share this post


Link to post
Share on other sites

Mě přijde že ti tam hlavně pár věcí chybí. Máš tam jenom půlku kódu viz zde.

 

Tady to máš celé.

 

 

//Modified by Chronic of zwowz.com to work with SkyfireEMU
//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_SLOT_ACTUAL_PET_SLOT);
	pet->SavePetToDB(PET_SLOT_ACTUAL_PET_SLOT);
	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();
}


 

 

 

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 (9009200, 0, 0, 0, 0, 0, 18802, 0, 0, 0, 'Reset Npc', 'Player help/tools', '', 0, 80, 80, 0, 35, 35, 1, 1, 1.14286, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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', 12340);

 

Ja viem to som si všimol nahral som to celé veď inak by mi to nešlo ale aj to sql som vložil ale nič

  • Downvote 2

Share this post


Link to post
Share on other sites

Jen taková blbá otázka. Spawnul jsis creaturu? Nevím jak je to u skyfire ale u TC by to bylo .npc add 9009200

 

Ja som už prišiel na to kde som robil chybu ... A prosím ťa nevieš prečo ale nejde mi vojsť ani do jedného dungeonu

  • Downvote 2

Share this post


Link to post
Share on other sites

Jak nejde? Copak ti to píše?

 

No proste nemôžem vojsť do žiadného dungeonu skúšal som to opravovať ale nič a píše mi to : You must be level 80 to enter... to sme mali urobený raid... ale s GM tam vojsť môžem

  • Downvote 2

Share this post


Link to post
Share on other sites

Tak skúšal som niečo urobiť a podarilo sa mi tu chybu zúžiť čo je postnutá na prvom poste

 

takže teraz som to urobil tak že ...

 

if SpellInfo const *spellInfo = sSpellMgr->GetSpellRank(8326)
		Aura::TryCreate(spellInfo, MAX_EFFECT_MASK, this, this);

 

a chyba je už iba táto

 

3>C:\SkyFireEMU\Core\src\server\game\Entities\Player\Player.cpp(25401): error C2061: syntax error : identifier 'SpellInfo'

Edited by frytiks
  • Downvote 1

Share this post


Link to post
Share on other sites

Proč bych měl pomáhat člověku, co jen tak z ničeho nic opustil náš portál ? Ok napovím ti ... Funkce SpellInfo neexistuje :) Takže si musíš někde v core najít název té funkce :)

Edited by Henzig

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×