Viliam Búr

28. 7. 2008

Vodná mapa pre Wesnoth, uverejnená

V predchádzajúcom článku sme si nakreslili mapu na vodné súboje s názvom "2p_Pool.map". Teraz pridáme podmienku, že hráči môžu verbovať iba morských ľudí a morských hadov. A potom túto mapu uverejníme ako stiahnuteľný doplnok na serveri Wesnothu, takže si ju hráči na internete budú môcť stiahnuť a zahrať proti sebe.

V editore máp môžeme iba kresliť terén a umiestňovať počiatočné pozície. Na všetko ostatné potrebujeme konfiguračný súbor. Je to textový súbor. Slová "textový súbor" označujú textový súbor vytvorený jednoduchým textovým editorom ako napríklad Notepad alebo KWrite. Nie dokument aplikácie Word, ani dokument RTF, ale iba obyčajný súbor "*.txt". A ten bude vyzerať asi takto:

[multiplayer]

 id=multiplayer_2p_Pool
 name= _ "(2) Pool"
 description= _ "Vodna bitka medzi vodnymi ludmi a hadmi."
 map_data="{@campaigns/Examples_by_Viliam/maps/multiplayer/2p_Pool.map}"

 {DEFAULT_SCHEDULE}
 {DEFAULT_MUSIC_PLAYLIST}

 [side]
  side=1
  controller=human

  team_name=zapad
  user_team_name= _ "team^Zapad"

  canrecruit=yes
  recruit=Merman Fighter,Merman Hunter,Mermaid Initiate

 [/side]

 [side]
  side=2
  controller=human

  team_name=vychod
  user_team_name= _ "team^Vychod"

  canrecruit=yes
  recruit=Naga Fighter,Saurian Augur,Saurian Skirmisher
 [/side]

[/multiplayer]

Nebojte sa. Ak sa trochu posnažíte, dá sa to pochopiť. Konfiguračný súbor je vlastne zoznam dvojíc "parameter=hodnota". Niektoré parametre sú obklopené značkami ako "[multiplayer]" a "[/multiplayer]", alebo "[side]" a "[/side]". Môžete sa naučiť, čo znamenajú (majte vždy poruke ťahák), alebo len skopírujte tento príklad a skúšajte zmeniť to, čomu rozumiete.

Značky "[multiplayer]" a "[/multiplayer]" znamenajú "toto je začiatok / koniec popisu scenára pre viacerých hráčov". Parameter "id" je identifikátor scenára; hráčovi sa nikde nezobrazuje, musí to byť len nejaká hodnota iná ako "id" iných scenárov. Parameter "name" je názov, pod ktorým sa scenár objaví v zozname máp. Názvy tradične obsahujú počet hráčov, preto "(2) Pool". Parameter "description" je text, ktorý sa objaví, keď na náhľad mapy ukážete kurzorom myši. Parameter "map_data" je linka na súbor s mapou, ktorý sme vytvorili v editore máp.

Symboly "{DEFAULT_SCHEDULE}" a "{DEFAULT_MUSIC_PLAYLIST}" sú iba skratky (nazývané makrá) niečoho zložitejšieho. Znamená to, že budeme používať štandardné striedanie dňa a noci, a štandardnú hudbu. Nemáme to teraz dôvod meniť.

(C) 2008 Viliam Búr viliam-bur.blogspot.com

Značky "[side]" a "[/side]" znamenajú "toto je začiatok / koniec popisu bojujúcej strany". Máme tu dve strany, a na mape sme umiestnili dve počiatočné pozície. Parameter "side" je len poradové číslo, 1 alebo 2. Parameter "controller" znamená, že za túto stranu môže hrať človek (ale pri spúštaní v hre možno nastaviť aj počítačového hráča). Parameter "team_name" je identifikátor tímu, "user_team_name" je názov tímu, ktorý sa zobrazí hráčovi, aby vedel, či ide hrať za západnú alebo východnú armádu. Parameter "canrecruit" hovorí, že hráči môžu vo svojich pevnostiach verbovať jednotky; "recruit" je zoznam verbovateľných jednotiek oddelený čiarkami. (Definície jednotiek nájdete v adresári "data/core/units", kde "data" znamená "C:\Program Files\Wesnoth 1.4\data" alebo niečo podobné. Pozrite sa na tie konfiguračné súbory a hľadajte ich "id".)

Znamienko "_" pred niektorými textami znamená, že tieto texty sa dajú preložiť do iných jazykov. To teraz nebudeme robiť, ale je dobrým zvykom písať znamienko "_" pred každý reťazec, ktorý sa zobrazí hráčovi. Časť textu pred znamienkom "^" v texte sa nezobrazí; je to iba kontextová pomôcka pre prekladateľov.

Poznámka: Konfiguračné súbory sa zvyčajne píšu po anglicky, bez diakritiky. Ak chcete nechať svoj súbor preložiť do iných jazykov, píšte ho po anglicky. Ak vám na preklade nezáleží, a ak píšete iba pre slovenských hráčov, môžete zobrazované texty písať po slovensky... ale aj tak rozhodne odporúčam bez diakritiky. V opačnom prípade pravdepodobne nastane problém pri načítavaní súboru, a scenár sa nebude dať spustiť. (Pre odborníkov: Textový súbor musí byť uložený v kódovaní UTF-8, ale nesmie obsahovať značku Byte Order Mark, ktorú napríklad Notepad automaticky pridáva na začiatok každého súboru v UTF-8. Ak si s tým neviete poradiť, píšte bez diakritiky.)

Teraz potrebujeme umiestniť súbor s mapu "2p_Pool.map" a konfiguračný súbor scenára "2p_Pool.cfg" niekam, kde ich hra nájde, a aby jeden správne linkoval druhý. Pretože chcem viaceré svoje príklady uverejniť v jednom balíčku (po anglicky), vytvoril som si adresár "userdata/data/campaigns/Examples_by_Viliam". (Toto síce nie je kampaň, ale herný server s doplnkami podporuje kampane, takže naňho musíme použiť takýto trik.) Vnútri tohoto adresára som uložil súbor s mapou ako "maps/multiplayer/2p_Pool.map" a súbor so scenárom ako "scenarios/multiplayer/2p_Pool.cfg". Všimnite si, že hodnota parametra "map_data" v konfiguračnom súbore scenára ukazuje na súbor s mapou. Ak chcete použiť iné adresáre, musíte príslušne upraviť aj tú linku.

Aby hra videla tento balík, potrebujeme ďalší konfiguračný súbor "userdata/data/campaigns/Examples_by_Viliam.cfg". Bude vyzerať asi takto:

#ifdef MULTIPLAYER
{@campaigns/Examples_by_Viliam/scenarios/multiplayer}
#endif

Konfiguračný súbor balíka načíta obsah podadresára "scenarios/multiplayer", ak je hra v režime súboja viacerých hráčov. Ak robí hráč niečo iné, netreba plytvať pamäťou. A ešte budeme potrebovať publikačný súbor "userdata/data/campaigns/Examples_by_Viliam.pbl" asi takýto:

title="Examples by Viliam"
version="0.0.1"
author="Viliam Bur"
passphrase="tu_by_bolo_moje_heslo_ale_vymyslite_si_vlastne"
description="Priklady na WML. Mozno fungujuce..."

Keď teraz spustíme hru a vyberieme si v menu "Doplnky", zobrazí sa zoznam stiahnuteľných balíkov, a aj možnosť uverejniť tento náš balík. A to som aj urobil... takže ak vám niečo v tomto návode nebolo jasné, stiahnite si v hre balík "Examples by Viliam" a pozrite si tie súbory na vlastnom disku.

Ak máte nejaké otázky ohľadom tohoto príkladu, alebo ak vám pripadá užitočný, môžete mi tu napísať komentár. Ak máte ďalšie otázky ohľadom tvorby obsahu do hry Wesnoth, a ak rozumiete po anglicky, prosím zaregistrujte sa na diskusnom fóre Wesnothu a opýtajte sa tam. V diskusnom fóre je mnoho ľudí ochotných pomôcť, ak sa správate slušne, a ak najprv skúsite pohľadať informácie na webovej stránke a až potom sa opýtate.

Súvisiace články:

Menovky:

0 komentárov:

Zverejnenie komentára

Prihlásiť na odber Zverejniť komentáre [Atom]

<< Domov