V prvním díle seriálu o LUA jste se dozvěděli, že cartridge se dá psát i jinak než v oficiálním Wherigo Builderu. Já ke psaní používám program PSPad – freewarový textový editor. Pokud ho ve svém počítači nemáte nainstalovaný, doporučuji si stáhnout nejnovější verzi ze stránek http://www.pspad.com/.
Aby bylo psaní kódu snadnější než v poznámkovém bloku, přidáme do PSPadu zvýrazňovač LUA syntaxe. Můžete použít můj zvýrazňovač, který je doplněný i o speciální Wherigo klíčová slova:
Wherigo syntax highlight pro PSPad (1836)
Soubor Wherigo.INI uložte do adresáže syntax vašeho PSPadu (nejčastěji to bude C:\Program Files\PSPad editor\Syntax). Pak už zbývá jen otevřít PSPad a zvolit Nastavení -> Nastavení zvýrazňovačů.
Z levého seznamu vybereme první nepřiřazenou položku (zcela dole <not assigned>) a ze seznamu zvýrazňovačů vpravo vybereme Wherigo jak je vidět na následujícím obrázku:
Nezapomeneme v levém seznamu zaškrtnout u položky Wherigo checkbox.
Nyní když otevřeme v PSPadu nějaký zdrojový LUA soubor, bude to vypadat nějak takto:
A jak bylo slíbeno na začátku nyní se se čtenáři podělím o to jak tvořím cartridge já. Vynechávám nyní veškeré fáze o vymýšlení příběhu či tvorbě scénáře ale zaměřím se pouze na psaní kódu. Nejprve otevřu Wherigo Builder a vytvořím novou cartridge, do které naťukám všechny zóny, postavy, předměty, timery co ve hře budu potřebovat. Také si u nich vytvořím příslušné akce, které budu chtít využít, ale většinou do nich nevkládám žádné příkazy.
Tedy např. Cartrdidge… ->Events -> When a cartridge is Resumed -> New -> Ok -> Ok -> Ok -> CTRL + S
Tím posledním krokem jsem cartridge uložil, kouknu do PSPadu, kde si příslušný soubor otevřu, vzniknul tam tento kód:
function cartTest:OnRestore() -- #GroupDescription=Script -- -- #Comment=Script Comment -- end
Za dva komentáře doplním jen volání vlastní funkce, treba priObnove() a samotnou mojí funkci už píšu do sekce Author functions. Celý kód pak vypadá takto:
function cartTest:OnRestore() -- #GroupDescription=Script -- -- #Comment=Script Comment -- priObnove() end ------End Builder Generated functions, Do not Edit, this will be overwritten------ ------------------------------------------------------------------------------- ------Builder Generated callbacks, Do not Edit, this will be overwritten------ ------------------------------------------------------------------------------- --#LASTCALLBACKKEY=0#-- ------End Builder Generated callbacks, Do not Edit, this will be overwritten------ -- #Author Functions Go Here# -- function priObnove() Wherigo.MessageBox("Nacetl jsi hru"); end -- #End Author Functions# -- -- Nothing after this line -- return cartTest
Psaní veškerého kódu do Author functions má za následek, že cartridge se dá otevřít v Wherigo Builderu.
Vždy když udělám nějaké úpravy, dám v Builderu jen File -> z nabídky posledních otevřených otevřu soubor uložený v PSPadu -> CTRL + M -> Create Playable Cartridge -> Uložím ->replace YES -> Close -> CTRL + E a cartridge vyzkouším v emulátoru. Je to trochu krkolomné, ale nepřišel jsem na to jak třeba rovnou z příkazové řádky spustit emulátor…
Pokud máte někdo nějaký zlepšovák a nebo vlastní postup, podělte se s ostatními v diskuzi pod článkem.
[...] cart.lua) vytvoříme prázdný soubor a pojmenujeme ho functions.lua. Poté si otevřeme (třeba v PSPadu) náš soubor cart.lua (vytvořený ve Wherigo Builderu) a skoro úplně na začátku doplníme [...]