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  
Xmat

[návod] Tvorba vlasních NPC

Recommended Posts

Návod na tvorbu vlastního NPC pro použití např. v eventu.

 

Tento návod je můj první, proto očekávám kritiku. Dále pro úspěšné pochopení tohoto návodu je nutná byť jen

minimální znalost importu do databáze třeba přes navicat.

 

Základem každého npc je jeho zápis v databázi, který je uložený v tabulce creature_template. To, že vůbec

netušíte o co se jedná nevadí, vše vysvětlím. Každé npc má v databázi svůj vlastní zápis, který určuje jak vypadá,

jak se jmenuje, jaké má staty, jaké používá spelly atd. Než budete pokračovat ve čtení tohoto návodu, ukážu vám,

jak takový zápis vypadá.

 

(4, 7338, 0, 7338, 0, "Key Master Bob", "Guild key vendor", "NULL", 43, 43, 2766, 2766, 100, 100, 1, 2, 2, 130, "1,16", 1, 0, 25, 53, 0, 273, 1580, 1738, 0, 0, 0, 0, 0, 0, 0, "59,7872", "82,2074", 100, 7, 1, 0, 8125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 540, "", 0, 3, 0, 1, 418, 0, "generic_creature");

 

Tato změť čísel v sobě ukrývá identitu npc, které se ve hře jmenuje Key Master Bob. Před tím, než vás seznámím s tím,

jak editovat tento záznam, tak abyste si mohli přizpůsobit své vlastní npc, je nutné uvědomit si jednu věc. Tento "kód"

musí zůstat v tomto tvaru. Jedny smazané uvozovky, jedna smazaná čárka a npc se vám prostě nepodaří dostat do databáze.

Proto editujeme jen čísla a písmena, všechny ostatní znaky musí zůstat na svém místě.

 

Následující kód je trochu upravený, abyste pochopili co některá čísla znamenají (pro zkušené: je to velmi zjednodušené, nebombardujte topic tím, že jsem něco vynechal nebo neupřesnil... je to opravdu pro lidi co nemají o sql ani potuchy)

 

(9999991, 7338, 0, 7338, 0, "Jmeno Postavy", "Subjmeno postavy", "NULL", 70, 70, 2766, 2766, 100, 100, 1, 2, 2, 130, "1,16", 1, 0, 25, 53, 0, 273, 1580, 1738, 0, 0, 0, 0, 0, 0, 0, "59,7872", "82,2074", 100, 7, 1, 0, 8125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 540, "", 0, 3, 0, 1, 418, 0, "generic_creature");

 

Tak udělal jsem v první části prvního řádku kódu několik změn a nyní vás seznámím s tím, co jednotlivá čísla znamenají.

9999991 - je ID, pod kterým npc vyvoláte ve hře, doporučuji dávat čísla šesti a sedmi místná, aby nekolidovala s čísli, která tam už jsou

7338 - je ID skinu, neboli display-ID, někdy zmiňované také jako morph-ID. Udává jak bude npc vypadat.

0 - nechte nulu nulou... needitovat

7338 - zopakujte display-ID (proč je to zde 2x vám sdělím někdy příště, teď už vám nebudu motat hlavu)

0 - nechte nulu

"jmeno postavy" - Musí být v uvozovkách, vysvětlovat snad nemusím... nepoužívejte interpunkci

"subjmeno postavy" - napr označení u vendora co prodává, nebo frakční příslušnost, u hráče guilda. Není myslím třeba vysvětlovat.

"NULL" - nechte jak je

70 - minimální level npc

70 - maximální level npc (když spawnujete npc ve hře, tak se náhodně zvolí level někde v rozmezí max a min levelu)

2766 - min HP npc

2766 - max HP npc (to samé jako u levelu)

100 - min mana

100 - max mana

1 - počet armoru

2 - příslušnost frakce pro alianci

2 - příslušnost frakce pro hordu

130 - npc flag (rozhoduje o tom, jak se npc chová, jestli je to vendor, nebo guard, nebo utočí jen na hordu, nebo třeba jen na alianci...)

"1,16" - rychlost pohybu npc

1 - scale, neboli velikost, pro příklad ve hře modifikovatelná příkazem .modify scale 1-3 (standartně nastavena na 1)

0 - rank (0=normal 1=elite 2=rare 3=boss)

25 - min damage, minimální hodnota, kterou vám npc udělí damage

53 - max damage

0 - damage school, neboli typ damage, kterým na vás útočí (jaké číslo je jaká typ dmg sem doplním co nejdříve 0=fyzický útok)

273 - attack power (snad netřeba vysvětlovat)

1580 - base attack time (to jsem nějak nezjistil uplně přesně jak to s tim je... teda snad vím, ale nechci zde psát nesmysly... doplním.)

1738 - range attack time (to samé)

 

a dále jsou čísla určující resistence, spelly, looty, pickpockety, atd... to zatím vynechám a přidám až podle ohlasů.

(Neni to proto že by se mi nechtělo s tim dělat, ale nejdříve si nechám zhodnotit tento základ.

 

 

Tak a nyní když jsme si to tak pomalu vysvětlili, tak si můžete udělat vlastní npc a dostat ho do databáze.

Otevřete si notepad neboli poznámkový blok (doporučuji, nebo jiný editor, ale nemusí to proběhnout správně).

Zkopírujte do něj přesně následující kód:

 

INSERT INTO creature_template
 (entry, modelid_A, modelid_A2, modelid_H, modelid_H2, name, subname, IconName, minlevel, maxlevel, minhealth, maxhealth, minmana, maxmana, armor, faction_A, faction_H, npcflag, speed, scale, rank, mindmg, maxdmg, dmgschool, attackpower, baseattacktime, rangeattacktime, flags, dynamicflags, family, trainer_type, trainer_spell, class, race, minrangedmg, maxrangedmg, rangedattackpower, type, civilian, flag1, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, mingold, maxgold, AIName, MovementType, InhabitType, RacialLeader, RegenHealth, equipment_id, mechanic_immune_mask, ScriptName)
VALUES
 (4, 7338, 0, 7338, 0, "Key Master Bob", "Guild key vendor", "NULL", 43, 43, 2766, 2766, 100, 100, 1, 2, 2, 130, "1,16", 1, 0, 25, 53, 0, 273, 1580, 1738, 0, 0, 0, 0, 0, 0, 0, "59,7872", "82,2074", 100, 7, 1, 0, 8125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 540, "", 0, 3, 0, 1, 418, 0, "generic_creature");

 

V spodní části upravte hodnoty podle výše uvedeného rozpisu a uložte ve formátu neco.sql. Nyní importujte do

databáze a buďto restartujte server nebo reloadněte tabulku s názvem creature_template příkazem .reload creature_template

Nyní můžete vyzkoušet vaše npc ve hře.

 

 

pozn.: display-ID zjistíte tak, že si najdete ve hře npc, takové, jak budete chtít, aby to vaše vypadalo a použijete na něj příkaz .npc info

Do chatu vám to vypíše inforamce o tomto npc, mezi nimi i display-ID.

pozn.2: pokud najdete chybu v tomto návodu, nebo potřebujete pomoct, jsem na icq: DELETED

pozn.3: pro uplne nooby video-navod na import souboru do db. >> DOWNLOAD DELETED << (bude k dispozici zase co nejdřív)

 

 

Byl to můj první návod, tak prosím, kritiku, kritiku a jen kritiku, prospěje. Rozhodně ho ještě vylepším a doplním o další

údaje. Kdyžtak se můžete podívat do první části výsledného kódu, kde jsou uvedeny názvy polí v přesném pořadí, v jakém je samotný kód.

 

EDIT: pozn.4: Co je to NPC Flag?

Edited by Xmat
nepoužívej codebox, je nějakej buglej ;)
  • Upvote 2

Share this post


Link to post
Share on other sites

Cg... je to premakané a ja nemám čo kritizovať <_<... no určite by sa niečo našlo, ale v celku je to dobré, len tak ďalej B).

Share this post


Link to post
Share on other sites

Bylo by dobré pro ty "nooby" napsat pro jaký je to emulátor, jinak docela nesouhlasím, že každý NPC má zapíš v tabulce mangos_temple. Není to nahodou creature_template? :)

Share this post


Link to post
Share on other sites
Bylo by dobré pro ty "nooby" napsat pro jaký je to emulátor, jinak docela nesouhlasím, že každý NPC má zapíš v tabulce mangos_temple. Není to nahodou creature_template? :)

 

jsi v sekci mangos.

Share this post


Link to post
Share on other sites
Bylo by dobré pro ty "nooby" napsat pro jaký je to emulátor, jinak docela nesouhlasím, že každý NPC má zapíš v tabulce mangos_temple. Není to nahodou creature_template? :)

 

Ouha sorry, chybicka... jednou tam mám creature_template a podruhy mangos_template ;) edit

 

Share this post


Link to post
Share on other sites

Zdarec podle návodu jsem si vytvoril NPC, ale mam mensi problem .. ma to byt vendor, ale kdyz ho umistim tam kam potrebuju tak mi po nem jde STW straz ... vim ze je chyba nekde v prislusnosti, ale tu mam nastavenou podle navodu .. nevi nekdo co s tim ? (export radku je v priloze)

prikaz.sql.txt

Edited by niobi

Share this post


Link to post
Share on other sites
vytvotrím si v v DB postavu a kdyz ji vyvolavam pod císlem entry tak mi to píse jako by ta creatura neexistovala pls help

 

 

A jste si jist, že je Enter opravdu správně ? Mě to podle toho návodu funguje ... Jen řeším proč mi do něj ve stw "bouchají" stráže

Share this post


Link to post
Share on other sites

GJ tento navod snad musi pochopit kazdy a jestli ne tak mu neni souzeno se zabivat MaNGOSem nebo jinym emulatorem

Share this post


Link to post
Share on other sites

Zdarec podle návodu jsem si vytvoril NPC, ale mam mensi problem .. ma to byt vendor, ale kdyz ho umistim tam kam potrebuju tak mi po nem jde STW straz ... vim ze je chyba nekde v prislusnosti, ale tu mam nastavenou podle navodu .. nevi nekdo co s tim ? (export radku je v priloze)

 

Tu ti poviem tolko, ako to riesim ja ako GM na jednom nemenovanom srv. Daj tomu vendorovi ".npc factionid 35" a pojde ti to, 35 je frakcia friendly pre kazdeho...

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  

×