sobota 30. srpna 2014

WoT: Mody na půl cesty k cheatu

Předtím, než někoho obviníte z cheatování, je dobré se zamyslet, zda ve Vaší porážce nehrála roli i Vaše neznalost, či neschopnost. Proud informací ve WoT je nepřetržitý a zahlcující. Lidský mozek se s tím vyrovnává po svém. Něco ignoruje, něco zapomene.
Počítače ale byly vymyšleny právě z toho důvodu, aby lidem usnadnily práci a dodaly správné informace ve správný okamžik. Mody ve WoT tedy neoperují s daty, které nejsou k dispozici. Neovlivňují komunikaci mezi klientem a serverem. Přesto v případě správného použití mohou kromě honění vlastního ega i výrazně zamíchat se hrou.
Pojďme se podívat na to, jak hrát na vyšší úrovni. Posviťme si na tajemství modování.

V dřívějších dobách byly hry plně kompilované do kódu, včetně grafiky, zvuků a vlastně všeho. Provádět úpravy na hře dle libosti se rovnalo hackování a často souviselo s přepisováním paměti přímo v RAM, nebo jste museli program dekompilovat do assembleru a metodou pokus omyl zkoušet, co který registr dělá.
S rostoucí složitostí zobrazování však rostla i potřeba rozšiřovat týmy vývojářů jak na straně herních producentů, tak na straně technologických mágů okolo grafických karet. Aby mohla symbioza fungovat, objevil se pojem "engine". O co jde?
Engine je "motor" hry. Něco jako černá skříňka, která běží na hardwaru počítače a má přístup k systémovým voláním. Když chcete v enginu něco zobrazit, tak mu řeknete, co to je (tedy nadefinujete nějaký objekt), jak se to má chovat (svážete s objektem skript) a následně mu dodáte texturu, kterou engine naplácne na objekt podle Vám známých pravidel.
Platí to jak u grafiky, tak u zvuku. Pro nás je důležité ovšem to, že zpracovávaná data jsou plně oddělena od enginu a ve známé formě. A co je důsledkem?
Můžeme si je za dodržení určitých pravidel upravit sami.
Objektem jako takovým se samozřejmě nemyslí jen tank, nebo zbouratelný dům ve hře. Může to být prakticky cokoli, od dříve jmenovaného, až po nějaké menu. Každá viditelná i neviditelná struktura ve hře má své textury, filtry a zvuky.
Vývojáři ovšem chodí ještě dál. V okamžiku, když zjistí, že se kolem jejich hry rozmohne modovací komunita, oddělí často hru samotnou od modifikovaných souborů. Výsledkem je potom stav, kdy nahrání modu do specifické složky nepřepisuje zdrojová data hry a v případě jejich nefunkčnosti neafektují původní kód. To je velmi důležité.
Důsledkem je, že se hra při spuštění nějakého podprogramu nejdříve podívá, zda existuje pro aktuální zdrojová data alternativa v modovacím adresáři. Pokud je tam nalezne, tak je aplikuje. Tak mohou modeři snadno a bezpečně držet svůj mod oddělený od hry. Drtivá většina modů je tedy pěkně uložená stranou a moder má přehled, co změnil a co ne. Ve hře WoT jsou mody uložené ve složce res_mods a podsložce s názvem aktuální revize hry. Tam budeme své mody povětšinou nahrávat.

Další pojmy, které je dobré si zapamatovat, je viditelná a skrytá adresářová struktura hry. Viditelná adresářová struktura je to, co můžete vidět běžně v systému. V kořeni hry je třeba složka "install", kam si hra stahuje updaty před jejich aplikací, v "replays" naleznete replaye ze hry, pokud je ukládáte atd.
Důležitá složka je složka "res". To je složka, kde jsou zdrojová data a na tu se vztahuje přednostní aplikace v modovací složce "res_mods". Na jednoduchém příkladu ukážu, jak upřednostnit nějaký soubor. Složitější skriptované mody zatím vytvářet neumím, ale to určitě někdy přijde :-).

Tak jdeme na to

Pročteme si složku "res". Ve složce packages asi budou nějaké zajímavé balíky, že? Otevřeme ji tedy a objeví se před námi spousta souborů, které mají povědomé názvy. Vidíme tam balíčky map a další soubory. Mě padl do oka jako první soubor "gui.pkg". V něm by mohlo být něco zajímavého. Na ploše jsem si tedy vytvořil pracovní složku a tam soubor "gui.pkg" zkopíroval.
Nyní už budeme operovat v pracovní složce.
Příponu .pkg systém nezná. Ale jak jsem říkal, jde o moderní engine. Zkusíme tedy soubor přejmenovat na "gui.zip". Otevřeme a voilá - vidíme skrytou adresářovou strukturu hry. Konkrétně vidíme všechna data, která tvoří menu, loading screeny a podobně.
Doporučuji jednotlivé složky a soubory prozkoumat. Je to velice poučné. Některé soubory neotevřete, některé ano. Museli byste mít na to specializované programy. Já Vám na začátek prozradím, že cíl mého snažení se nachází na dvou pozicích.
  • gui.zip\gui\maps\icons\map\screen\00_tank_tutorial.png (obrázek pozadí)
  • gui.zip\gui\maps\icons\map\00_tank_tutorial.png (minimapa)
Ten druhý (minimapu) si vykopírujte třeba do pracovního adresáře jako první, přejmenute jej třeba na "a.png" a ten první si vykopírujte s daným názvem.
Otevřete si soubor "00_tank_tutorial.png" třeba v malování windows. Uvidíte tohle:

Když otevřete v malování soubor "a.png", uvidíte tohle:
 
Zkopírujte celou minimapu, duplikujte do obrázku pozadí a umístěte na nějaké pěkné místo. Dostanete třeba tohle:
Teď jděte do složky "res_mods", otevřete složku pro aktuání mody (nyní to je "0.9.2") a v ní vytvořte složku "gui", v ní složku "maps", v ní složku "icons", v ní složku "map" a v ní složku "screen". Do této složky zkopírujte modifikovaný soubor "00_tank_tutorial.png".
A to je vše. Když nyní spustíte hru a v ní tutoriál, načte se Vám tato loadovací obrazovka:
Bomba, ne? Vyextrahovali jsme ze hry požadované soubory pro modifikaci, ty jsme využili/upravili a nahráli je do bezpečné složky pro mody, kde se využily jako zdroj a byly použity ve hře.
Stejně tak to jde dělat prakticky s každým herním souborem ve složce "res". Jdou vytvářet mody pro textury, zvuky i skripty.
Uklidíme si tedy po sobě svinčík, který jsme si udělali na ploše (smažeme pracovní složku) a máme hotovo.

Nyní se budu věnovat trošku komplexnějšímu modu, který jsem nevytvářel já, ale hru nám může dost usnadnit.

XVM

XVM je komplexní balík skriptů, umožňující vidět v bitvě mnoho důležitých a zajímavých informací. Obsahuje například výpis damage, které za bitvu udělíte, upravuje mapu, abyste viděli, kam dohlédnete, odkud Vás mohou spotnout, poslední známé pozice nepřátel i přátel, ukazuje statistiky spoluhráčů a spoustu dalších informací. Taktéž umožňuje modifikovat podobu informačního panelu nad jednotlivými tanky, či zobrazit, zda jste se náhodou nepotkali v bitvě se svými spolubojovníky z klanu.

Instalace je komplexnější, než změnit texturu na pozadí loadingu, ale když se dodrží posloupnost kroků, není to žádná věda.
  • Krok 1 - Je třeba si nainstalovat komunikační framework se serverem. Jmenuje se DocanLib. a je stáhnutelný na adrese http://www.dokan-dev.net/wp-content/uploads/DokanInstall_0.6.0.exe.
  • Krok 2 - Jděte na adresu http://www.modxvm.com/en/ a v kartě DOWNLOAD XVM stáhněte verzi pro aktuální verzi WoT. Obsah adresáře "res_mods" v zazipovaném souboru pak nakopírujte do adresáře "res_mods" ve hře.
  • Krok 3 - Aktivujte si statistiky ve hře. Klikněte na "sing in" vpravo nahoře stránky modxvm.com a přihlašte se pod svým game účtem v EU (budete přesměrování na stránky WG). Jakmile to uděláte, mělo by se Vám na horní liště na stránkách XVM zobrazit tlačítko pro aktivaci klienta. Aktivujte si jej.
A to je vše. V tento okamžik by mělo vše fungovat. Možná se Vám ze začátku nebudou zobrazovat statistiky, protože aktivace klienta trvá občas i tři dny, ale další funkce XVM, jako třeba minimapa, už fungovat bude.
Teď už zbývá jen jediná věc - nastavit si klienta dle svých představ. Buďto se v konfiguračních souborech budete hrabat sami a nebo můžete použít nějaký přednastavený profil. Můj konfigurační profil je nahoře vpravo u odkazů. Stačí jej jen nahrát stejně, jako jste nahráli XVM, a bude to fungovat.
Existuje nepřeberné množství modů s různými funkcemi. Je jen na Vás, kolik si jich do hry napatláte. Mějte však na paměti, že každý mod navíc (především skriptovaný) hru trochu zpomalí. Čím jich bude víc, tím horší to bude.

Mody, které používám já, jsou vlevo nahoře v sekci Linky.

A to je vše. Upozorňuji, že mi při psaní blogu spadnul prohlížeč (moc velkých obrázků :-) ), tak můžou být ve článku nějaké nesrovnalosti. Každopádně příště se budeme věnovat jedné zajímavé knížce, konkrétně "Umění války" od pana Sun-c'.

PS: Od patche 9.5 došlo ke změně formátu map. Přešlo se na DDS, což nese nutnou podmínku vytvářet loadovací mapy v tomto formátu. Jinými slovy, musí se víc operovat s GIMPem. To nám ovšem nezabrání s kapkou rozumu použít výše napsaný postup, víme :-).
Další update: Vzhledem k tomu, že do hry byly implementovány důležité prvky z XVM, se pro mne stal mod XVM nepodstatným. Jediná funkce, která by mohla být ještě použitelná, je poměřování výkonnosti jednotlivých hráčů, ale co si budeme povídat, není to nijak extra nutné. Vzhledem k tomu, že zároveň prudce roste složitost konfigurace, jsem se tedy rozhodl XVM mod již více neinstalovat.

Žádné komentáře:

Okomentovat

Hlavně slušně děcka.