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:  
Sign in to follow this  
Noeel

[Oregon Core] Úprava serveru

Recommended Posts

Ahoj, v téhle sekci se pořád objevují stejné otazky a stejné chyby a protože někdo neumí moc dobře hledat tak jsem budu dávat vychytávky pro OC.

 

Základní Úpravy

Max level 1-255

otevřete si /src/game/DBCEnums.h

a přepište

#define DEFAULT_MAX_LEVEL 255 
#define MAX_LEVEL 255

Smažte cache a znova zkompilujte server

Nastavte si configuračním souboru jaký chcete max level.

A můžete zapnout server.

 

Pokud stále nebude fungovat max level 200 tak je třeba nastavit v Databazi.. pro editaci použite Wlčí SQL Generátor v0.82

 

SQL Úprava/Doplňky

Vendors 2.4.3 OC

Venroři které byly uploadovny 23.06.2010.

http://filebeam.com/3056521a7f269f9142a2616ad0841f75

Heslo - oregoncorevendors

Trainer spellů za Q + Weapon trainer.

 

INSERT INTO `creature_template` (`entry`, `heroic_entry`, `modelid_A`, `modelid_A2`, `modelid_H`, `modelid_H2`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction_A`, `faction_H`, `npcflag`, `speed`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `baseattacktime`, `rangeattacktime`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `class`, `race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `PetSpellDataId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `RacialLeader`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`)
VALUES (300111, 0, 17927, 0, 17927, 0, 'Weapon Trainer', '', NULL, 0, 255, 255, 1000000, 1000000, 1000000, 1000000, 1000000, 35, 35, 19, 1.1, 1, 0, 5000, 6000, 0, 5000, 2000, 2000, 0, 0, 0, 2, 0, 0, 0, 5000, 6000, 6000, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15000000, 15000000, '', 0, 3, 0, 1, 0, 0, 2, 'generic_creature');


-- WEAPON SKILLS!
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 15590, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 5011, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 2567, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 1180, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 266, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 264, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 227, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 202, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 201, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 200, 10000, 0, 0, 20);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 199, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 198, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 197, 1000, 0, 0, 0);
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 196, 1000, 0, 0, 0);
-- --------------------------------------------------------------------------------------------------------------------------------------

-- PALADIN
-- Summon Warhorse 
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 13819, 10000, 0, 40, 0);
--   Summon Charger
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 23214, 10000, 0, 40, 0);
--   Redemption RANK1
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 7328, 10000, 0, 40, 0);
--   Sense Undead
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 5502, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

-- DRUID
--   Bear Form
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 5487, 10000, 0, 40, 0);
--   Maul RANK1
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 6807, 10000, 0, 40, 0);
--   Enrage
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 5229, 10000, 0, 40, 0);
--   Aquatic Form
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 1066, 10000, 0, 40, 0);
--   Growl
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 6795, 10000, 0, 40, 0);
--   Swift Flight Form
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 40120, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

-- WARLOCK
--   Summon Imp
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 688, 10000, 0, 40, 0);
--   Summon Voidwalker
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 697, 10000, 0, 40, 0);
--   Summon Succubus
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 712, 10000, 0, 40, 0);
--   Summon Felhunter
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 691, 10000, 0, 40, 0);
--   Summon Felsteed
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 5784, 10000, 0, 40, 0);
--   Summon Infernal
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 1122, 10000, 0, 40, 0);
--   Ritual of Doom
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 18540, 10000, 0, 40, 0);
--   Summon Dreadsteed
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 23161, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

-- WARRIOR
--   Defencive Stance
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 71, 10000, 0, 40, 0);
--   Berserker Stance
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 2458, 10000, 0, 40, 0);
--   Intercept RANK1
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 20252, 10000, 0, 40, 0);
--   Taunt
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 355, 10000, 0, 40, 0);
--   Sunder Armor
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 7386, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

-- ROGUE
--   Poisons
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 2842, 10000, 0, 40, 0);
--   Instant Poison
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 8681, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

-- HUNTER
--   Tame Beast
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 1515, 10000, 0, 40, 0);
--   Feed Pet
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 6991, 10000, 0, 40, 0);
--   Call Pet
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 883, 10000, 0, 40, 0);
--   Dismiss Pet
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 2641, 10000, 0, 40, 0);
--   Beast Training
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 5149, 10000, 0, 40, 0);
--   Revive Pet
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 982, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

-- MAGE
--   Polymorph
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 28272, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

-- Priest
--   Devouring Plague
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 2944, 10000, 0, 40, 0);
--   Fear Ward
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 6346, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

-- SHAMAN
--   Healing Stream Totem
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 5394, 10000, 0, 40, 0);
--   Searing Totem
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 3599, 10000, 0, 40, 0);
--   Stoneskin Totem
INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (300111, 8071, 10000, 0, 40, 0);
-- -------------------------------------------------------------------------------------------------------------------------------------------

 

Nějaké UPDATE database zde

http://www.wowresource.eu/index.php?showtopic=11564

Úprava hry/Core

Správa spellů?

Prográmek pro Upravu spellů/Aury atd..

http://www.wowresource.eu/index.php?showtopic=23330&pid=208606&st=0entry208606

 

Script pro Additem + Můj Reagent Vendor?

Takže první je třeba zaregristrovat AddItem do Core // Podle návodu Wolf Officious

http://www.wowresource.eu/index.php?showtopic=23749

Dále můj vzor Reagent Vendora

 

#include "ScriptPCH.h"

class starter_item : public CreatureScript
{
public:
starter_item() : CreatureScript("starter_item") { }

bool OnGossipHello(Player *player, Creature *_creature)
{
	// warrior
	if(player->getClass() == 1)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"		, GOSSIP_SENDER_MAIN, 1101);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"		, GOSSIP_SENDER_MAIN, 1102);
	}
	// paladin
	if(player->getClass() == 2)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"	, GOSSIP_SENDER_MAIN, 1201);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"		, GOSSIP_SENDER_MAIN, 1202);
	}
	//hunter
	if(player->getClass() == 3)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"			, GOSSIP_SENDER_MAIN, 1301);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"			, GOSSIP_SENDER_MAIN, 1302);

	}
	//rogue
	if(player->getClass() == 4)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"			, GOSSIP_SENDER_MAIN, 1401);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"			, GOSSIP_SENDER_MAIN, 1402);
	}
	//priest
	if(player->getClass() == 5)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"	, GOSSIP_SENDER_MAIN, 1501);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"	, GOSSIP_SENDER_MAIN, 1502);
	}

	// shaman
	if(player->getClass() == 6)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags And Totem!"	, GOSSIP_SENDER_MAIN, 1701);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"	, GOSSIP_SENDER_MAIN, 1702);
	}
	// mage
	if(player->getClass() == 7)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"			, GOSSIP_SENDER_MAIN, 1801);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"			, GOSSIP_SENDER_MAIN, 1802);
	}
	// warlock
	if(player->getClass() == 8)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"			, GOSSIP_SENDER_MAIN, 1901);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"			, GOSSIP_SENDER_MAIN, 1902);
	}
	// druid
	if(player->getClass() == 9)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"	, GOSSIP_SENDER_MAIN, 1001);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"	, GOSSIP_SENDER_MAIN, 1002);
	}
      if(player->getClass() == 0)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me Bullet!"		, GOSSIP_SENDER_MAIN, 1991);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Arows!"		, GOSSIP_SENDER_MAIN, 1992);
	}
	 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());         
        return true;
}

 bool OnGossipSelect(Player *player, Creature *_creature, uint32 sender, uint32 uiAction)
 {
	 player->PlayerTalkClass->ClearMenus();
	 switch(uiAction)
	 {
	 case 1101:
		 {
		 player->AddItem(23162, 4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
		 case 1102:
		 {
		 player->AddItem(21215, 200);
		 player->AddItem(17033, 200);
		 player->AddItem(21177, 200);
		 player->AddItem(21177, 200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1201:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
		 case 1202:
		 {
		 player->AddItem(21215,200);

		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	 case 1301:
		 {
		 player->AddItem(23162,3);
		 player->AddItem(18714,1);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1302:
		 {
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	 case 1401:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1402:
		 {
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	 case 1501:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1502:
		 {
		 player->AddItem(17029,200);
		 player->AddItem(17028,200);
		 player->AddItem(17056,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	case 1701:
		 {
		 player->AddItem(23162,4);
		 player->AddItem(5178,1);
		 player->AddItem(5175,1);
		 player->AddItem(5176,1);
		 player->AddItem(5177,1);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1702:
		 {
		 player->AddItem(17057,200);
		 player->AddItem(17030,200);
		 player->AddItem(17058,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1801:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1802:
		 {
		 player->AddItem(17056,200);
		 player->AddItem(17031,200);
		 player->AddItem(17032,200);
		 player->AddItem(17056,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	 case 1901:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1902:
		 {
		 player->AddItem(16583,200);
		 player->AddItem(5565,200);
		 player->AddItem(6265,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	case 1001:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1002:
		 {
		 player->AddItem(22148,200);
		 player->AddItem(22147,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1991:
		 {
		 player->AddItem(280061,200);

		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1992:
		 {
		 player->AddItem(280056,200);

		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

		 }
 return true;
 }

};

void AddSC_starter_item()
{
new starter_item();
}

 

 

Vendor rozdává

http://old.wowhead.com/item=23162

http://old.wowhead.com/item=21215

A potřebné věci pro spelly.

Aktualně budu přidávat a editovat.Zde Můžete přidávat i svoje návody návrhy

  • Upvote 2
  • Downvote 1

Share this post


Link to post
Share on other sites

Můj názor je, že je lepší návod jak to udělat, než hotová práce. Ale tak lidi jsou dneska líní, a asi toto ocení víc :)

Share this post


Link to post
Share on other sites

Dále můj vzor Reagent Vendora

 

#include "ScriptPCH.h"

class starter_item : public CreatureScript
{
public:
starter_item() : CreatureScript("starter_item") { }

bool OnGossipHello(Player *player, Creature *_creature)
{
	// warrior
	if(player->getClass() == 1)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"		, GOSSIP_SENDER_MAIN, 1101);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"		, GOSSIP_SENDER_MAIN, 1102);
	}
	// paladin
	if(player->getClass() == 2)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"	, GOSSIP_SENDER_MAIN, 1201);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"		, GOSSIP_SENDER_MAIN, 1202);
	}
	//hunter
	if(player->getClass() == 3)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"			, GOSSIP_SENDER_MAIN, 1301);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"			, GOSSIP_SENDER_MAIN, 1302);

	}
	//rogue
	if(player->getClass() == 4)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"			, GOSSIP_SENDER_MAIN, 1401);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"			, GOSSIP_SENDER_MAIN, 1402);
	}
	//priest
	if(player->getClass() == 5)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"	, GOSSIP_SENDER_MAIN, 1501);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"	, GOSSIP_SENDER_MAIN, 1502);
	}

	// shaman
	if(player->getClass() == 6)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags And Totem!"	, GOSSIP_SENDER_MAIN, 1701);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"	, GOSSIP_SENDER_MAIN, 1702);
	}
	// mage
	if(player->getClass() == 7)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"			, GOSSIP_SENDER_MAIN, 1801);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"			, GOSSIP_SENDER_MAIN, 1802);
	}
	// warlock
	if(player->getClass() == 8)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"			, GOSSIP_SENDER_MAIN, 1901);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"			, GOSSIP_SENDER_MAIN, 1902);
	}
	// druid
	if(player->getClass() == 9)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me TYPE Bags!"	, GOSSIP_SENDER_MAIN, 1001);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Requiens Item!"	, GOSSIP_SENDER_MAIN, 1002);
	}
      if(player->getClass() == 0)
	{
		player->ADD_GOSSIP_ITEM ( 0, "Give me Bullet!"		, GOSSIP_SENDER_MAIN, 1991);
		player->ADD_GOSSIP_ITEM ( 0, "Give me Arows!"		, GOSSIP_SENDER_MAIN, 1992);
	}
	 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());         
        return true;
}

 bool OnGossipSelect(Player *player, Creature *_creature, uint32 sender, uint32 uiAction)
 {
	 player->PlayerTalkClass->ClearMenus();
	 switch(uiAction)
	 {
	 case 1101:
		 {
		 player->AddItem(23162, 4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
		 case 1102:
		 {
		 player->AddItem(21215, 200);
		 player->AddItem(17033, 200);
		 player->AddItem(21177, 200);
		 player->AddItem(21177, 200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1201:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
		 case 1202:
		 {
		 player->AddItem(21215,200);

		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	 case 1301:
		 {
		 player->AddItem(23162,3);
		 player->AddItem(18714,1);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1302:
		 {
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	 case 1401:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1402:
		 {
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	 case 1501:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1502:
		 {
		 player->AddItem(17029,200);
		 player->AddItem(17028,200);
		 player->AddItem(17056,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	case 1701:
		 {
		 player->AddItem(23162,4);
		 player->AddItem(5178,1);
		 player->AddItem(5175,1);
		 player->AddItem(5176,1);
		 player->AddItem(5177,1);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1702:
		 {
		 player->AddItem(17057,200);
		 player->AddItem(17030,200);
		 player->AddItem(17058,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1801:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1802:
		 {
		 player->AddItem(17056,200);
		 player->AddItem(17031,200);
		 player->AddItem(17032,200);
		 player->AddItem(17056,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	 case 1901:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	 case 1902:
		 {
		 player->AddItem(16583,200);
		 player->AddItem(5565,200);
		 player->AddItem(6265,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

	case 1001:
		 {
		 player->AddItem(23162,4);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1002:
		 {
		 player->AddItem(22148,200);
		 player->AddItem(22147,200);
		 player->AddItem(21215,200);
		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1991:
		 {
		 player->AddItem(280061,200);

		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;
	case 1992:
		 {
		 player->AddItem(280056,200);

		 player->CLOSE_GOSSIP_MENU();
		 }
		 break;

		 }
 return true;
 }

};

void AddSC_starter_item()
{
new starter_item();
}

Reagent Vendor? Pěkná prasárna, zvlášť to s tím getClass(). Proč tam nehodíš switch proboha?

A co je sakra tohle?

if(player->getClass() == 0)

Navíc v tom máš hroznej bordel - od kdy má druid class 9? A class 6 je u wotlku DK, takže asi těžko.

http://www.oregoncore.com/wiki/index.php?title=ChrClasses.dbc

 

Je to hrůza. Některý lidi sice líný jsou, ale snad nejsou tak blbý aby to používali v tomhle stavu. Ani by to nešlo, když je to script pro TC2.

 

#include "ScriptPCH.h"

#ifndef GOSSIP_ACTION_INFO_DEF
#define GOSSIP_ACTION_INFO_DEF 1000
#endif

bool GossipHello_npc_starter_item(Player* player, Creature* creature)
{
   if(player->isInCombat())
   {
       player->GetSession()->SendNotification("You are in combat!");
       return false;
   }

   uint8 pClass = player->getClass();
   player->ADD_GOSSIP_ITEM(0, "Give me TYPE Bags!",     GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + (10 * pClass) + 1);
   player->ADD_GOSSIP_ITEM(0, "Give me Requiens Item!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + (10 * pClass) + 2);
   player->ADD_GOSSIP_ITEM(0, "Giveme Bullets!",        GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 201);
   player->ADD_GOSSIP_ITEM(0, "Giveme Arows!",          GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 202);
   player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
   return true;
}

bool GossipSelect_npc_starter_item(Player* player, Creature* creature, uint32 sender, uint32 action)
{
   if(player->isInCombat())
   {
       player->GetSession()->SendNotification("You are in combat!");
       return false;
   }

   player->PlayerTalkClass->ClearMenus();

   if(sender != GOSSIP_SENDER_MAIN)
   {
       player->CLOSE_GOSSIP_MENU();
       return false;
   }

 /* 1x Warrior
    2x Paladin
    3x Hunter
    4x Rogue
    5x Priest
    7x Shaman
    8x Mage
    9x Warlock
   11x Druid
   20x Common items */

   switch(action)
   {
   case GOSSIP_ACTION_INFO_DEF + 11:
       player->AddItem(23162, 4);
       break;

   case GOSSIP_ACTION_INFO_DEF + 12:
       player->AddItem(21215, 200);
       player->AddItem(17033, 200);
       player->AddItem(21177, 200);
       player->AddItem(21177, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 21:
       player->AddItem(23162, 4);
       break;

   case GOSSIP_ACTION_INFO_DEF + 22:
       player->AddItem(21215, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 31:
       player->AddItem(23162, 3);
       player->AddItem(18714, 1);
       break;

   case GOSSIP_ACTION_INFO_DEF + 32:
       player->AddItem(21215, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 41:
       player->AddItem(23162, 4);
       break;

   case GOSSIP_ACTION_INFO_DEF + 42:
       player->AddItem(21215, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 51:
       player->AddItem(23162, 4);
       break;

   case GOSSIP_ACTION_INFO_DEF + 52:
       player->AddItem(17029, 200);
       player->AddItem(17028, 200);
       player->AddItem(17056, 200);
       player->AddItem(21215, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 71:
       player->AddItem(23162, 4);
       player->AddItem(5178, 1);
       player->AddItem(5175, 1);
       player->AddItem(5176, 1);
       player->AddItem(5177, 1);
       break;

   case GOSSIP_ACTION_INFO_DEF + 72:
       player->AddItem(17057, 200);
       player->AddItem(17030, 200);
       player->AddItem(17058, 200);
       player->AddItem(21215, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 81:
       player->AddItem(23162, 4);
       break;

   case GOSSIP_ACTION_INFO_DEF + 82:
       player->AddItem(17056, 200);
       player->AddItem(17031, 200);
       player->AddItem(17032, 200);
       player->AddItem(17056, 200);
       player->AddItem(21215, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 91:
       player->AddItem(23162, 4);
       break;

   case GOSSIP_ACTION_INFO_DEF + 92:
       player->AddItem(16583, 200);
       player->AddItem(5565, 200);
       player->AddItem(6265, 200);
       player->AddItem(21215, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 111:
       player->AddItem(23162, 4);
       break;

   case GOSSIP_ACTION_INFO_DEF + 112:
       player->AddItem(22148, 200);
       player->AddItem(22147, 200);
       player->AddItem(21215, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 201:
       player->AddItem(280061, 200);
       break;

   case GOSSIP_ACTION_INFO_DEF + 202:
       player->AddItem(280056, 200);
       break;
   }

   player->CLOSE_GOSSIP_MENU();
   return true;
}

void AddSC_npc_starter_item()
{
   Script *newscript;
   newscript = new Script;
   newscript->Name = "starter_item";
   newscript->pGossipHello = &GossipHello_npc_starter_item;
   newscript->pGossipSelect = &GossipSelect_npc_starter_item;
   newscript->RegisterSelf();
}

Ani jsem ten switch nepotřeboval.

 

Neříká se nadarmo "dvakrát měř, jednou řež".

  • Upvote 3

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

Sign in to follow this  

×