Zdravím ,
Pred nedávnom som riešil problém , ktorý súvisí s importovaním npc-čiek do world databázy a kedže som tu nenašiel žiaden návod tak chcem poradiť ľudom , ktorý majú rovnaký problém. Takto nejak vyzeralo chybové hlásenie v navicate:
Problém som vyriešil v programe HeidiSQL. V prvom rade si klasicky vytvoríme npc na www.wow-v.com (je dobré v jeho statoch hpmax,hpmin,manu a armor nastaviť na 12345 kôli prehladnosti), problém je ten že na konci není možnosť stiahnuť sql script na emu trinity core. Tak si našeho vytvoreného moba stiahneme na Mangos. Stiahnutý script otvoríme v HeidiSQL. Prvý riadok v scripte cely označíme (až úplne doprava) a nahradíme týmto odkazom (na obrázku 1 ):
insert into `creature_template` (`entry` , `modelid1` , `modelid2` , `modelid3` , `modelid4` , `name` , `subname` , `minlevel` , `maxlevel` , `faction_A` , `faction_H` , `npcflag` , `speed_walk` , `speed_run` , `scale` , `rank` , `mindmg` , `maxdmg` , `baseattacktime` , `family` , `type` , `resistance1` , `resistance2` , `resistance3` , `resistance4` , `resistance5`, `resistance6` , `mingold` , `maxgold` , `unit_class`)
V druhom riadku vymažene prednastavene hpmin,hpmax,armor a manu (na obrázku 2).
Ďalej si na konci druhého riadku pripíšeme čiarku a 2 , klikneme na Execute SQL:
Otvoríem si nové Query a skopírujeme do ňho tento kód:
-- Instructions:
-- Set the NPC Entry and stats you want it to have below.
SET
@NPC_ENTRY := 190020, -- This is your NPC's Entry
@NPC_HEALTH := 1, -- This is the health value you want your NPC to have.
@NPC_MANA := 0, -- This is the mana value you want your NPC to have.
@NPC_ARMOR := 0; -- This is the armor value you want your NPC to have.
-- DO NOT CHANGE ANYTHING BELOW, UNLESS YOU KNOW WHAT YOU ARE DOING.
-- Getting NPC datas:
SET
@NPC_CLASS := (SELECT `unit_class` FROM creature_template WHERE Entry = @NPC_ENTRY),
@NPC_LEVEL := ROUND(((SELECT `minlevel` FROM creature_template WHERE Entry = @NPC_ENTRY)+(SELECT `maxlevel` FROM creature_template WHERE Entry = @NPC_ENTRY))/2, 0),
@EXP := (SELECT `exp` FROM creature_template WHERE Entry = @NPC_ENTRY);
-- Getting base HP from a HP column defined by exp.
SET
@GET_HP_COL :=
(SELECT CASE @EXP
WHEN 0 THEN (SELECT basehp0 FROM creature_classlevelstats WHERE `level` = @NPC_LEVEL and `class` = @NPC_CLASS)
WHEN 1 THEN (SELECT basehp1 FROM creature_classlevelstats WHERE `level` = @NPC_LEVEL and `class` = @NPC_CLASS)
WHEN 2 THEN (SELECT basehp2 FROM creature_classlevelstats WHERE `level` = @NPC_LEVEL and `class` = @NPC_CLASS)
END),
-- Getting base mana
@GET_MA_COL := (SELECT basemana FROM creature_classlevelstats WHERE `level` = @NPC_LEVEL and `class` = @NPC_CLASS),
-- Getting base armor
@GET_AR_COL := (SELECT basearmor FROM creature_classlevelstats WHERE `level` = @NPC_LEVEL and `class` = @NPC_CLASS);
-- Running the update with all the data collected:
UPDATE creature_template SET Health_mod = (@NPC_HEALTH/@GET_HP_COL), Mana_mod = (@NPC_MANA/@GET_MA_COL), Armor_mod = (@NPC_ARMOR/@GET_AR_COL) WHERE Entry = @NPC_ENTRY;
Scrollneme sa vľavohore a zmeníme si položky NPC_ENTRY (id ktorým spawnete npc v hre , musí byť rovnaké ake ste zadali vo wow-v) , NPC_HEALTH, NPC_MANA, NPC_ARMOR. Už len znova stlačíme Execute, zavrieme Heidisql-na prvé vyzvanie kliknite yes na druhé no.
Teraz si dáte reštart serveru a može spawnovať
Tak dúfam že to niekomu pomôže.
zdroj: Rebellionwow yt channel