Vytvoření nové unikátní věci

Návody jak co udělat a upravit

Moderátor:Dark_Deamon

Odpovědět
Uživatelský avatar
Javurek
Warlord
Příspěvky:2713
Currenly, I'm playing:Diablo 2
Vytvoření nové unikátní věci

Příspěvek od Javurek » 14.05.2009, 18:06 hod.

V této lekci se už podíváme na to, jak si přidat svou unikátní věc. Z patch_d2.mpq\data\global\excel si vyextrahujte UniqueItems.txt a také data\local\lng\eng\Patchstring.tbl.

Otevřete v AFJS uniqueitems.txt. Uvidíte všechny unikátní věci, které vůbec v D2 jsou. Zde ve většině případů "name" jejich jménu ve hře odpovídá, ale je to spíše kvůli přehlednosti, klidně by ta jména tady mohla být jiná.
Klikněte kamkoliv do souboru pravým tlačítkem a vyberte Row operations > add rows a zadejte 1. Přibyde jeden nový řádek. Do "name" napište co chcete, můžete klidně napsat název, který pak bude vidět ve hře. Pole version určuje, jestli bude věc v obyčejném D2 (hodnota 0) nebo LODu (hodnota 100). To zálěží na vás. V enabled musí být 1, jinak by věc byla deaktivovaná. Ladder: 0, rarity: 1. Lvl a lvl req jsou levely věci, dejte 1 (později vysvětlím, proč). Vytváříme unikátní prsten, takže do "code" napište "rin". Do "*type" nemusíte dávat nic, do cost mult a cost add dejte to, co mají ostatní věci (smysl těchto sloupců není důležitý). Pak už nás zajímají jen pole propx. To jsou konečně pole, která definují vlastnosti věci.

Asi vás nepřekvapí, že do polí propx nemůžete psát třeba "+x to life", "x life stolen per hit". Takové zápisy by byly dost dlouhé, a proto má každá vlastnost svůj kód. Jejich kompletní seznam si můžete stáhnout v sekci ODKAZY.
Řekněmě, že chceme, aby věc dávala +40 do life, +20% do maximum many a 1 do všech skillů (v reálu by byl takový dost ring dost overpowered, ale to je teď jedno). Kód pro + life je hp, takže do prop1 napište "hp" a do min1+max1 "40". Min a max je rozmezí hodnot dané vlastnosti, takže třeba 40 v min1 a 60 v max1 znamená, že se bude náhodně vybírat mezi 40-60. X % do maxima many je "mana%", to bude v prop2, min2+max2 = 20. +all skills je překvapivě "allskills", v min3+max3 bude 1. A hlavně, nezapomeňte napsat 0 ve sloupci eol, v lepším případě by to tenhle nový řádek ignorovalo, v horším by hra spadnula. Teď už náš prsten existuje (a dokonce funguje), ale nemá žádný nápis. Takže se konečně podíváme, jak fungují tbl soubory.


Většina textů v Diablu je uložena v *.tbl souborech. Do toho patří věci a jejich vlastnosti, monstra, jména NPC, logování do BN, chybové hlášky na BN, a všechen scrolovací text, když kecáte s nějakým NPC. Pro každý jazyk jsou 3 .tbl soubory; ten nejstarší z nich, String.tbl, je uložen v d2data.mpq a obsahuje veškeré nápisy originální hry D2. Nápisy datadisku jsou v ExpansionString.tbl, který je v d2xp.mpq.
A ty nejnovější změny přinesené patchem (tedy v Patch_d2.mpq), jsou v Patchstring.tbl.
Tyto tabulky s nápisy (string tables) mají vždy dva sloupce; ten levý tzv. string key a napravo je to, co se skutečně ukazuje ve hře. String key musí přesně odpovídat názvu v tom kterém txt souboru. V souboru UniqueItems.txt jsou string keye ve sloupci "name". Např. ring Manald Heal má stejný string key jako pravý string, ale pro běžné věci to neplatí, třeba Hand Axe je "hax".

Nápis klidně může být definován ve více souborech najednou. Pokud to tak je, definice v Expansionstring přepíše tu ve string, a definice v patchstring přepíše tu v expansionstring. Při dělání módů si můžete vybrat, který soubor používat (nebo klidně všechny tři a rozdělit si to), ale pozor na jednu věc: jestliže byste do string.tbl zadali nový string key "hax", který už tam je, hra by pak neukazovala žádný nápis (leda že by byl "hax" i v expansionstring/patchstring).
Nový string
OK, tak jdeme vložit nápis pro náš nový ring. Budeme používat String.tbl.

Doporučoval bych vám, abyste string keye pro vaše nové unikáty pojmenovávali ve stylu "ui-jméno" (např. ui-Big Crusher - ui jako unique item), budete pak mít jistotu, že ještě takový string key neexistuje. Našemu ringu dejte v uniqueitems.txt "name" třeba "ui-first-ring".
Otevřete si v AFJ Tbl Edit string.tbl (v d2data.mpq). Klikněte na to plus (při nájezdu myší se ukáže "Add key"). Ujistěte se, že je zakšrtnuto Append to End a napište "ui-first-ring". V pravé části programu teď napište název věci. Já budu mít třeba "d2lod-mody.wz.cz" :-).
Testování prstenu
Náš nový prsten má teď už i nápis, ale ještě potřebujeme způsob, jak otestovat, že skutečně funguje. Jsou 2 způsoby, jak se o tom přesvědčit docela rychle: za 1) nechat si ho vypadnout z quill rata, nebo za 2) nechat ho vyrobit v horadrické kostce (což je ještě lehčí). Podíváme se teď na ten druhý způsob.
Z patch_d2.mpq si vytáhněte cubemain.txt. Pravé myšítko > row operations > add rows > 1.
Pole description je jen stručný popis receptu, napište tam třeba "test recept". Enabled=1 (aby byl recept akrivní), version=100 (že půjde jen v LODu). "numinputs" je počet ingrediencí, dáme si jen jednu. Do input1 už se píše 1. věc potřebná k vytvoření věci. Sem se zadává kód věci z "code" sloupce v misc.txt (nebo "name" z uniqueitems.txt; tam name slouží zároveň jako kód věci i string key). Napište "key" (BEZ uvozovek). A v output1 bude to, co má vzniknout, tedy "ui-first-ring" (opět raději bez uvozovek). Nakonec už jen 0 v "eol". Jde se testovat.

UniqueItems.txt a CubeMain.txt nahrajte do své Data\global\excel. String.tbl dejte do složky data\local\lng\eng (tak, jak to bylo v mpq). Vyšlete nějaký char a v kostce transumutujte obyčejný klíč. Měl by vám vylézt váš nový ring.

Autor: Ass

Lykantrop
Fallen Shaman
Příspěvky:62

Re: Vytvoření nové unikátní věci

Příspěvek od Lykantrop » 03.10.2009, 08:18 hod.

Ještě bych doplnil, že pro ty, kteří toto budou zkoušet s novou postavu je vhodné, aby do dalšího políčka v charstats.txt přidali do itemx "key" a do itemx count "1". Jinak si nebudete moct za co koupit klíč a nevyzkoušíte si recept;)
Pokud se vám zdám retardovaný, neděste se. Máte naprostou pravdu.
Pro ty, kteří nedokáží snést mojí kritiku a posty:
HUDBA: http://www.youtube.com/watch?v=RlWy4hPN3uQ
EFT: http://www.youtube.com/watch?gl=JP&hl=ja&v=zw6woFsyjHU

Uživatelský avatar
negris
Gorebelly
Příspěvky:230
Currenly, I'm playing:Diablo 2: Resurrected
BattleTag:Angalascz#2103

Re: Vytvoření nové unikátní věci

Příspěvek od negris » 03.10.2009, 09:34 hod.

neni problem snizit v misc cenu klice na 1zlatak a pak akorat prodat treba zbran :D
Byl jsem vyhnán z království nebeských i z podsvětí pekelných a našel si útočiště mezi nebem a peklem. A tak tedy semnou přichází utrpení ...

Obrázek

Lykantrop
Fallen Shaman
Příspěvky:62

Re: Vytvoření nové unikátní věci

Příspěvek od Lykantrop » 03.10.2009, 09:44 hod.

To je taky možnost ;)...
Pokud se vám zdám retardovaný, neděste se. Máte naprostou pravdu.
Pro ty, kteří nedokáží snést mojí kritiku a posty:
HUDBA: http://www.youtube.com/watch?v=RlWy4hPN3uQ
EFT: http://www.youtube.com/watch?gl=JP&hl=ja&v=zw6woFsyjHU

Uživatelský avatar
Joko
Gorebelly
Příspěvky:217
Currenly, I'm playing:Diablo 2
BattleTag:Gluttony#2845

Re: Vytvoření nové unikátní věci

Příspěvek od Joko » 26.06.2012, 17:25 hod.

Mám malý problém nemohu najít ten soubot patchstring.tbl
"Žádnej bastard ještě nevyhrál válku tím, že by zemřel pro svojí zemi. Vyhrál ji tak, že donutil jinýho pitomce, aby on zemřel pro tu svou." - Gen. George S. Patton

Uživatelský avatar
ZOMB
Warlord
Příspěvky:2703
Currenly, I'm playing:Diablo 2
BattleTag:zomb#2334

Re: Vytvoření nové unikátní věci

Příspěvek od ZOMB » 26.06.2012, 17:46 hod.

použij na to program MPQView, otevři soubor patch_d2.mpq, cesta data\local\lng\eng\Patchstring.tbl
jestli s tím budeš mít pořád problém, můžu ten soubor někam postnout, nebo napiš PM, rád ti s čímkoliv poradím ;)
Fanoušek, hráč a modder hry Diablo 2
Obrázek

Odpovědět

Zpět na „Tutoriály, Návody“