KNIHOVNY, SPECIÁLNÍ PŘÍKAZY A ODKAZY FGBE 4.x

Optimalizováno pro rozlišení min. 1024x768, verze 1.1 (pro novější verze kontrolujte na http://textovky.webpark.cz sekci vývoj)
Pro pochopení některých postupů uvedených v tomto návodu jsou potřeba dobře zvládnuté základy "programování" ve FGBE.
Tento manuál je doplňujícím manuálem ke kompletnímu manuálu FGBE.

KNIHOVNY

Nejprve malý úvod.
Při psaní skriptů se dostanete do situace, kdy zjistíte, že opakovaně vkládáte stejný skript do různých lokací. Pak zjistíte, že ho potřebujete změnit. A musíte pracně procházet celou hru (pokud je skript složitější) nebo pomocí nahrazování v textovém editoru daný příkaz změnit.

Jak to řešit jinak?
FGBE (od verze 4) umožňuje takový skript vložit do knihovny (pokud někdo ví, co znamená makro, tak vězte, že knihovna se rovná makro). Knihovna je samostatný soubor <jmeno>.gbs, který musí být uložen v podadresáři data\knihovny adresáře, kde máte nainstalované FGBE.
Takže máme skript v knihovně a teď knihovnu potřebujeme použít. Na správném místě v lokaci tedy vložíme příkaz #knihovna_jmeno; (kde jmeno je jméno knihovny)
POZOR: nesmí tam být přípona gbs. Pokud používáte šablonu Gamebook v PsPadu, nezapomeňte smazat příponu a cestu k souboru.

Vytvoříme ukázkovou knihovnu test.gbs s obsahem:
<text obsah="První řádek v knihovně test.gbs.">
<text obsah="Druhý řádek v knihovně test.gbs.">
Tak skript máme napsaný a jdeme testovat.
<1>
<menu odkaz="2" popis="Další">
<2>
<text obsah="Text1">
<text obsah="Text2">
#knihovna_test;
<text obsah="Text3">
<text obsah="Text4">
<text obsah="Text5">
<3>
Po kliknutí na odkaz další se spustilo zpracování lokace 2. Výsledkem je text:
  Text1
  Text2
  První řádek v knihovně test.gbs. tady je vložen obsah naší knihovny test.gbs
  Druhý řádek v knihovně test.gbs. tady je vložen obsah naší knihovny test.gbs
  Text3
  Text4
  Text5

V knihovně můžou být i celé lokace, ne jen samostatné příkazy a podmínky. Do knihoven můžete vkládat celé části kódu, např. kamarád napíše část lokací a vy ji pak vložíte do hry. Nejprve se ale musíte dohodnout na rozsahu lokací, které může použít.
V tomto případě si musíte dát pozor na to, kam vložíte výslednou knihovnu. Nelze ji vložit na libovolné místo v souboru data.gbs. Musí být zachováno pravidlo vzestupného číslování lokací. Uvědomte si, co FGBE udělá s vloženou knihovnou. Když narazí na příkaz #knihovna_<...>;, příkaz nahradí jeho obsahem, tj. na místo příkazu vloží obsah knihovny a pak teprve začne vykonávat skripty.

Dejme tomu, že kamarád vytvořil prodejnu zboží. A my ji chceme vložit do hry. Povolili jste mu lokaci 10000 až 10099.
Knihovna prodejna.gbs obsahuje:
<10000> začátek knihovny
<text obsah="V regálech a na stojanech se naházejí různé zbraně a zbroje.">
<menu odkaz="10001" popis="Koupíš luk">
<menu odkaz="10002" popis="Koupíš meč">
<menu odkaz="10003" popis="Koupíš zbroj">
<menu odkaz="10004" popis="Koupíš štít">
<menu odkaz="10" popis="Odejdeš">
<10001>
<text obsah="Koupil jsi luk.">
<zpet>
<10002>
<text obsah="Koupil jsi meč.">
<zpet>
<10003>
<text obsah="Koupil jsi zbroj.">
<zpet>
<10004>
<text obsah="Koupil jsi štít.">
<zpet>
<10005> konec knihovny
Do hry ji vložíme takto:
<1>
<text obsah="Začínáme...">
<menu odkaz="2" popis="Další">
<2>
...
<10>
<text obsah="Stojíš před budovou zbrojířství.">
<menu odkaz="10000" popis="Vstoupíš">
<menu odkaz="11" popis="Půjdeš dál">
<11>
...
<9999> až sem jsou naše skripty
#knihovna_prodejna; a sem přijde vložit knihovna prodejna
<10100> a zde jsou opět naše skripty
...
<10199>
<11000>
<konec>
<11001>

Nebo dalším využitím může být zpřehlednění kódu hry. Pokud máte příliš dlouhý kód a některou část editujete často, můžete ji vyjmout ze souboru data.gbs a vložit do samostatné knihovny. A v editoru ji pak máte otevřenou stále zvlášť a nemusíte neustále v kódu přeskakovat sem a tam, šetří to čas.
Knihovny můžete vkládat i do jiné knihovny (tzv. vnořené knihovny), ale nepřehánějte to. Pokud to se zanořováním knihoven přeženete, docílíte opaku a znepřehledníte si kód.

PREFIX A SUFFIX

Prošli jsme základní využití knihoven. Co když ale nějakou knihovnu chceme mít v každé lokaci a to tak, aby se provedla jedna na začátku a druhá na konci? K tomu slouží příkaz prefix (provede se na začátku) a suffix (provede se na závěr).
Příkaz prefix provede inicializaci knihovny, která se od příští lokace bude vkládat na začátek každé lokace, tj. FGBE ji vykoná nejprve a až pak teprve provede příkazy v cílové lokaci.
Příkaz suffix (je opak prefixu) provede inicializaci knihovny, která se od příští lokace bude vkládat na konec každé lokace, tj. FGBE nejprve provede příkazy v cílové lokaci a pak teprve provede knihovnu.
Knihovna inicializovaná příkazy prefix nebo suffix se bude vykonávat, dokud ji nezaměníme za jinou nebo ji nezakážeme. Zakázat ji můžeme dočasně příkazy #noprefix; a #nosuffix;, jejich přítomnost v lokaci zabrání vykonání prefixu či suffixu v této lokaci. Prefix a suffix můžeme také zakázat trvale a to parametrem provadet="ne" v příkazu prefix a suffix.

Nyní to ukážu na příkladu:
Vytvoříme knihovnu prefix.gbs (název je libovolný) s obsahem:
<text obsah="Předchozí lokace byla $30.">
<text obsah="">
A také vytvoříme knihovnu suffix.gbs (název je libovolný) s obsahem:
<text obsah="">
<text obsah="Teď je lokace $lokace.">
<promenna 30="$lokace"> pomocná proměnná pro prefix
Obě knihovny vložíme do úvodního příkladu s knihovnou test.gbs a trochu ho rozšíříme:
<1>
<prefix provadet="ano" jmeno="prefix"> inicializace prefixu, provede se od lokace 2
#knihovna_prefix;
<menu odkaz="2" popis="Další">
<suffix provadet="ano" jmeno="sufix"> inicializace prefixu, provede se od lokace 2
#knihovna_suffix;

<2>
<text obsah="Text1">
<text obsah="Text2">
#knihovna_test;
<text obsah="Text3">
<text obsah="Text4">
<text obsah="Text5">
<menu odkaz="3" popis="Třetí">
<3>
#noprefix;
#nosuffix;
<text obsah="Text6">
<text obsah="Text7">
<menu odkaz="4" popis="Čtvrtá">
<4>
<text obsah="Text8">
<text obsah="Text9">
<5>
V lokaci 1 jsme knihovny prefix a suffix inicializovali. Pokud chceme, aby se vykonaly již v lokaci 1, musíme je tam vložit pomocí příkazu #knihovna.

Po spuštění hry se zobrazí:
  Předchozí lokace byla 0 zde je vložen náš prexif.gbs jako knihovna
  
  
  Teď je lokace 1 zde je vložen náš suffix.gbs jako knihovna
Po kliknutí na odkaz Další v lokaci 1 se spustilo zpracování lokace 2. Výsledkem je text:
  Předchozí lokace byla 1 zde je vložen náš prexif.gbs jako prefix
  
  Text1
  Text2
  První řádek v knihovně test.gbs. tady je vložen obsah naší knihovny test.gbs
  Druhý řádek v knihovně test.gbs. tady je vložen obsah naší knihovny test.gbs
  Text3
  Text4
  Text5
  
  Teď je lokace 2 zde je vložen náš suffix.gbs jako suffix
Po kliknutí na odkaz Třetí v lokaci 2 se spustilo zpracování lokace 3. Výsledkem je text:
  Text6 knihovna prefix.gbs ani suffix.gbs se neprovedla, protože jsme ji zakázali
  Text7
Po kliknutí na odkaz Čtvrtá v lokaci 3 se spustilo zpracování lokace 4. Výsledkem je text:
  Předchozí lokace byla 2 v lokaci 3 byl suffix zakázán, proměnná 30 zůstala nastavená z lokace 2
  
  Text8
  Text9
  
  Teď je lokace 4

V knihovnách vkládaných pomocí prefixu a suffixu smí být pouze příkazy a podmínky. Nesmí tam být přítomné číslo lokace.

PŘÍKAZ PRESMERUJ

Zvláštním rozšířením knihoven je speciální příkaz presmeruj. Umožňuje rozdělit soubor data.gbs na více "nezávislých" částí tak, že přesměruje engine FGBE, aby místo souboru data.gbs vykonával jiný námi zvolený soubor. Všechny přesměrované soubory se musí nacházet v podadresáři data\knihovny adresáře, kde máte naisntalovaný FGBE.
Příkaz presmeruj se může nacházet kdekoliv v lokaci. FGBE zpracuje celou lokaci a provede ji normálně. Ale v okamžiku, když kliknete na odkaz v lokaci, změní se soubor, ve kterém FGBE hledá odkaz (viz příklad).
Soubor je definován v parametru příkazu presmeruj. Jestliže se potřebujete vrátit zpět do hlavního souboru, uveďte v lokaci příkaz presmeruj bez parametru. Tolik nutná teorie.

Doplníme příklad s knihovnou prodejna, soubor data.gbs bude vypadat takto:
<1>
<text obsah="Začínáme ...">
<menu odkaz="2" popis="Další">
<2>
<text obsah="Jsme ve městě Neapole">
<menu odkaz="3" popis="Další">
<3>
...
<10>
<text obsah="Stojíš před budovou zbrojířství.">
<menu odkaz="10000" popis="Vstoupíš">
<menu odkaz="11" popis="Půjdeš dál">
<11>
...
<100>
<text obsah="Nacházíš se na cestě do Říma.">
<menu odkaz="1" popis="Vstoupíš jižní branou">
<menu odkaz="10" popis="Vstoupíš severní branou">
<přesměruj jmeno="rim">  FGBE začne zpracovávat soubor rim.gbs po kliknutí na některý odkaz Vstoupíš ...
                         tzn. odkaz číslo 1 nebo 10 bude hledat v souboru rim.gbs
<101>
...
#knihovna_prodejna;
<10100>
...
<10199>
<11000>
<konec>
<11001>
Vytvoříme si soubor rim.gbs a uložíme ho do podadresáře data\knihovny:
<1>
<text obsah="Jsme ve městě Řím.">
<menu odkaz="2" popis="Další">
<menu odkaz="206" popis="Ulož pozici">
<2>
...
<10>
<text obsah="Stojíš před budovou kovářství v Římě.">
<menu odkaz="10000" popis="Vstoupíš">
<menu odkaz="11" popis="Půjdeš dál">
<11>
...
<205>
<text obsah="Nacházíš se na cestě do Neapole.">
<menu odkaz="2" popis="Půjdeš dál">
<presmeruj>  FGBE začne zpracovávat soubor data.gbs po kliknutí na odkaz Půjdeš dál
             tzn. odkaz číslo 2 bude hledat v souboru data.gbs
<206>
<save odkaz="1" nazev="Řím" presmeruj="rim"> po nahrání savu "Řím "se načte lokace 1 v souboru rim.gbs
<zpet>
<207>
...
#knihovna_prodejna;
<11000>
<konec>
<11001>
Teď rozeberu výše uvedený příklad.
Po spuštění hry se nacházíme ve městě Neapole. Procházíme město, nakupujeme apod. Už nás to přestalo bavit a půjdeme tedy jinam. Vyjdeme z města a vyrazíme na cestu do Říma (lokace 100). Po kliknutí na odkaz Vstoupíš jižní branou dál budeme přeneseni do města Řím do lokace 1 v souboru rim.gbs. Opět bloumáme městem, nakupujeme, plníme úkoly a chceme se vrátit do Neapole. Vyjdeme z Říma a vydáme se na cestu (lokace 205). Klikneme na odkaz Půjdeš dál a budeme přeneseni do Neapole do lokace 2 v hlavním souboru data.gbs.
Uvědomte si také další věc. Všechny odkazy definované v lokaci s presmeruj, musí také existovat v cílovém souboru (viz cesta do Říma).
Asi jste si všimli, že knihovna prodejna.gbs se nachází v obou souborech data.gbs i rim.gbs. To je další výhoda knihoven, kdy stejný kód můžete mít v různých souborech. Pouze nesmíte zapomenout dodržet pravidlo vzestupného číslování lokací, tj. knihovnu vložit na správné místo.
!!!VAROVÁNÍ!!!
Jestliže v souboru rim.gbs použijete save a cíl po nahrání má být v souboru rim.gbs, musíte uvést v tagu save speciální parametr presmeruj se jménem přesměrovaného souboru, viz příklad. Jinak hra po nahrání takového savu spadne (při neexistenci lokace) nebo se budete nacházet v jiné situaci než bylo zamýšleno. Pokud bych v souboru rim.gbs neuvedl parametr presmeruj, tak po nahrání hry nebudeme v Římě ale v Neapoli, či-li bude načtený soubor data.gbs.


SPECIÁLNÍ PARAMETRY ODKAZŮ

U každého tagu s parametrem odkaz, tedy u tagů menu, zpet, text a obrazekvtextu, můžeme použít nepovinné přídavné parametry k odkazu. Při kliknutí na odkaz se přesouváme do cílové lokace, avšak pokud nastavíme některý z přídavných parametrů, před samotným přesunem na daný odkaz (do dané lokace) se něco provede.
Pro úplnost sesumíruji, co se stane, když kliknete na odkaz, tj. jak FGBE zpracovává lokaci. Speciální parametry s tím totiž mohou trochu zamíchat.
Posloupnost zpracování jednotlivých částí kódu, které FGBE umožňuje:
  1. prefix
  2. lokace s příkazy a knihovnami
  3. suffix
Je-li přítomen příkaz presmeruj v lokaci, po kliknutí na odkaz se provede:
    presmeruj
      1. prefix
      2. lokace s příkazy a knihovnami
      3. suffix
Mezi příkazy se speciálními parametry se řadí i save, u kterého lze použít pouze parametr presmeruj. Dejte si velký pozor na definici tagu save. Jestliže cíl savu leží v jiném souboru než data.gbs, musíte uvést v tagu save parametr presmeruj se jménem souboru!!!

Parametr preprefix

Zápis:
      <menu odkaz="1" popis="Menu" preprefix="test">
Hodnota parametru udává, jaká knihovna se vloží na začátek cílové lokace. Funguje stejně jako prefix s tím rozdílem, že je volán pouze po kliknutí na daný odkaz. V cílové lokaci se vkládá ještě před prefix, je to tedy to první, co se v cílové lokaci provede, viz:
  1. preprefix
  2. prefix
  3. lokace s příkazy a knihovnami
  4. suffix
Praktický příklad:
Použijeme naši knihovnu test.gbs
<1>
<menu odkaz="2" popis="Další">
<menu odkaz="2" popis="Test" preprefix="test"> nadefinujeme preprefix
<2>
<text obsah="Text1">
<text obsah="Text2">
<3>
Po kliknutí na odkaz další se spustí klasické zpracování lokace 2. Výsledkem je text:
  Text1
  Text2
Po kliknutí na odkaz test se spustí nejprve preprefix a pak teprve klasické zpracování lokace 2. Výsledkem je text:
  První řádek v knihovně test.gbs. tady je vložen obsah naší knihovny test.gbs
  Druhý řádek v knihovně test.gbs. tady je vložen obsah naší knihovny test.gbs
  Text1
  Text2

V knihovnách vkládaných pomocí preprefixu smí být pouze příkazy a podmínky. Nesmí tam být přítomné číslo lokace.

Parametr presmeruj

Zápis:
      <menu odkaz="1" popis="Menu" presmeruj="rim">
      <menu odkaz="1" popis="Menu" presmeruj="">        
Hodnota parametru je jméno přesměrovaného souboru nebo je to prázdný řetězec pro návrat do hlavního souboru data.gbs. Funguje stejně jako příkaz presmeruj, na rozdíl od něho ale platí pouze pro daný odkaz a ne pro všechny odkazy v lokaci.

Praktický příklad:
Upravím soubor data.gbs s městem Neapole z příkladu příkazu presmeruj. Soubor rim.gbs zůstane beze změny.
<1>
<text obsah="Začínáme ...">
<menu odkaz="2" popis="Další">
<2>
<text obsah="Jsme ve městě Neapole">
<menu odkaz="3" popis="Další">
<3>
...
<10>
<text obsah="Stojíš před budovou zbrojířství.">
<menu odkaz="10000" popis="Vstoupíš">
<menu odkaz="11" popis="Půjdeš dál">
<11>
...
<100>
<text obsah="Nacházíš se na cestě do Říma.">
<menu odkaz="1" popis="Půjdeš do Říma" presmeruj="rim"> odkaz s presmeruj
<menu odkaz="1" popis="Vrátíš se na začátek"> normální odkaz
<101>
...
#knihovna_prodejna;
<10100>
...
<10199>
<11000>
<konec>
<11001>
Teď rozeberu výše uvedený příklad.
Po spuštění hry se nacházíme ve městě Neapole. Procházíme město, nakupujeme apod. Už nás to přestalo bavit a půjdeme tedy jinam. Vyjdeme z města a vyrazíme na cestu do Říma (lokace 100). Nyní si můžeme vybrat Půjdeš do Říma nebo Vrátíš se zpět na začátek.
Po kliknutí na odkaz Půjdeš do Říma budeme přeneseni do města Řím do lokace 1 v souboru rim.gbs, tj. dojde k přesměrování enginu do souboru rim.gbs. Je to odkaz se speciálním parametrem presmeruj.
Pokud ale kliknete na odkaz Vrátíš se zpět na začátek dojde k normálnímu skoku do lokace 1 v hlavním souboru data.gbs. Je to normální odkaz.
!!!VAROVÁNÍ!!!
Dejte si velký pozor na definici tagu save. Jestliže cíl savu leží v jiném souboru než data.gbs, musíte uvést v tagu save parametr presmeruj se jménem souboru!!!

Parametr "číslo"

Zápis:
      <menu odkaz="1" popis="Menu" 2="5" 50="10000">
Provede nastavení proměnných při kliknutí na odkaz. Funguje stejně jako normální nastavování proměnných, tedy např. 2="5" (proměnná 2 se bude rovnat 5). U jednoho odkazu je možné takto nastavit maximálně 4 proměnné.
Nastavení proměnných proběhne ještě před provedením případného preprefixu, posloupnost je následující:
  1. nastaví se např. proměnná 2= 5, proměnná 50=1000
  2. preprefix
  3. prefix
  4. lokace s příkazy a knihovnami
  5. suffix
Praktický příklad:
<1>
<menu odkaz="2" popis="Další">
<menu odkaz="2" popis="Test" 2="5" 50="10000">
<2>
<text obsah="Proměnná 2 = $2">
<text obsah="Proměnná 50 = $50">
<3>  
Po kliknutí na odkaz Další se zobrazí následující:
  Proměnná 2 = 0
  Proměnná 50 = 0
Po kliknutí na odkaz Test se zobrazí následující:
  Proměnná 2 = 5
  Proměnná 50 = 10000

Závěrečné shrnutí speciálních vlastností odkazů

Na závěr ukážu kombinaci všech speciálních vlastností.
Pokud máme odkaz typu:
<menu odkaz="2" popis="Test" presmeruj="rim" preprefix="test" 2="5" 50="10000">
Tak se po kliknutí na odkaz vykoná následující posloupnost:
      1. přesměruj do souboru "rim"
      2. nastavení proměnné 2=5 a 50=1000
      3. preprefix "test"
      4. prefix (pokud je inicializován)
      5. lokace s příkazy a případnými knihovnami
      6. suffix (pokud je inicializován)
Praktický příklad:
Celý následující příklad je možné stáhnout v hratelné verzi na stránkách http://textovky.webpark.cz v sekci vývoj. Tento příklad je určen spíše pokročilým a znalým.

Vypravíme se na lov zvěře. Samotný lov je realizován v samostaném souboru lov.gbs. Výsledek lovu je ovlivňován náhodou (preprefix nahodalov.gbs), kterou ovlivňuje cesta, kterou se vydáme (parametr číslo proměnné 2="x").

Soubor data.gbs bude definován následovně:
<1>
<text obsah="Začínáme - budeme lovit zvěř">
<prefix provadet="ano" jmeno="prefix"> inicializace prefixu, provede se od lokace 2
<suffix provadet="ano" jmeno="suffix"> inicializace suffixu, provede se od lokace 2
<menu odkaz="2" popis="Další">
<2>
<retezec 2="Půjdeš?"><zmenotazku otazka="$retezec2">
<text obsah="Jdeš lesem plným zvuků. Náhle před sebou vidíš chodník vyšlapaný zvěří tvořící předěl mezi částmi lesa.">
<text obsah="Vlevo je hustý travnatý podrost dosahující až k pasu s občasným výskytem trnitých keřů.">
<text obsah="Vpravo jsou řídká křoviska se skalnatým terénem pokrytým kobercem vřesu.">
<menu odkaz="1" popis="kradmo vlevo" presmeruj="lov" 2="30" preprefix="nahodalov">
<menu odkaz="1" popis="kradmo po chodníku" presmeruj="lov" 2="10" preprefix="nahodalov">
<menu odkaz="1" popis="kradmo vpravo" presmeruj="lov" 2="20" preprefix="nahodalov">
<3>  

Nadefinujeme si knihovny nahodalov.gbs (preprefix), prefix.gbs a suffix.gbs:
nahodalov.gbs
<nahoda 3="1k80+$2"> v proměnné 3 bude naše šance ulovit zvěř zvýšená o bonus v proměnné 2
Pro účely výuky do knihovny prefix.gbs jsem umístil informaci o právě vykonávaném přesměrovaném souboru. K tomu je určena speciální proměnná $souborpresmerovan. Hodnota v proměnné je jméno souboru. Je-li prázdné, vykonává se hlavní soubor data.gbs.
<text obsah="Jméno aktuálního souboru je $souborpresmerovan." barva="yellow">
<text obsah="">
Do knihovny suffix.gbs jsem vložil odkaz na zobrazení výsledku lovu, který je v souboru vysledek.gbs (velmi zjednodušená obdoba mého POMMENU). Pro správnou funkci souboru vysledek.gbs jsou nutné dvě proměnné číslo lokace (promenna 1) kam se vrátit a jméno souboru (retezec 1) do kterého se vrátit.
<promenna 1="$lokace"> uložení čísla lokace pro návrat z vysledek.gbs
<retezec 1="$souborpresmerovan"> uložení jména souboru pro návrat z vysledek.gbs
<menu odkaz="1" popis="Výsledek" presmeruj="vysledek" barva="lime">

Nyní nadefinujeme soubory lov.gbs, vysledek.gbs a pomocnou knihovnu zpetzmenu.gbs:
lov.gbs
<1>
<retezec 2="Co uděláš?"><zmenotazku otazka="$retezec2"> <text obsah="Tvoje šance k ulovení zvěře je $3."> [promenna 3<"60"] <text obsah="Kraal tě spatřil a dlouhými skoky zmizel v dáli."> [/] [promenna 3>"59"] <text obsah="Kraal skloněný nad napajedlem si tě nevšiml, pečlivě jsi zamířil. Zvíře po výstřelu padlo."> ... zde může být např. zpracování uloveného zvířete atd. [promenna 1<>"$lokace"] <text obsah="Přičteme 1 zastřelený kus."> <zvyspromennou 4="1"> zvýšíme počítadlo ulovené zvěře, nebylo-li už nastaveno [/] [/] <menu odkaz="2" popis="Vrátíš se zpět" presmeruj=""> <2>
V souboru vysledek.gbs je zobrazen počet ulovené zvěře. V tomto souboru musí být zakázán suffix, nešlo by se vrátit zpět do hry. Dále přepíšeme otázku.
Odkaz vedoucí zpět do hry musí obsahovat parametr presmeruj. Aby bylo možné obnovit otázku, je nutné provést nejprve přípravu (místo standardní otázky je třeba vložit otázku do řetězce - viz soubor data.gbs a lov.gbs) a potom otázku obnovit pomocí pomocné knihovny, nazval jsem ji zpetzmenu.
<1>
#nosuffix; musíme zakázat suffix
<zmenotazku otazka="Výsledek">
<text obsah="Dosud jsi ulovil $4 kusů zvířat.">
<menu odkaz="2" popis="Ulož pozici">
<menu odkaz="$1" popis="Zpět do hry" presmeruj="$retezec1" preprefix="zpetzmenu">
<2>
#nosuffix; musíme zakázat suffix
<text obsah="Uložení pozice">
<save odkaz="$1" presmeruj="$retezec1"> po nahrání hry se budeme nacházet v souboru data.gbs nebo lov.gbs,
                                        záleží na tom, odkud byl Výsledek volán
<zpet>
<menu odkaz="$1" popis="Zpět do hry" presmeruj="$retezec1" preprefix="zpetzmenu">
<3>
zpetzmenu.gbs
<zmenotazku otazka="$retezec2"> pomocná knihovna pro obnovení otázky

Když máme všechny soubory připraveny a uloženy na správných místech, spustíme hru. Klikneme na uvítací obrazovce na odkaz Další, zobrazí se:

Půjdeš?


kradmo vlevo
kradmo po chodníku
kradmo vpravo
Výsledek
Jméno aktuálního souboru je .

Jdeš lesem plným zvuků. Náhle před sebou vidíš chodník vyšlapaný zvěří tvořící předěl mezi částmi lesa.
Vlevo je hustý travnatý podrost dosahující až k pasu s občasným výskytem trnitých keřů.
Vpravo jsou řídká křoviska se skalnatým terénem pokrytým kobercem vřesu.


                                Stav proměnných a knihoven na této obrazovce:
                                          proměnná 1 = 2
                                          proměnná 2 = 0
                                          proměnná 3 = 0
                                          proměnná 4 = 0
                                          řetězec 1 = ""
                                          řetězec 2 = "Půjdeš?"
                                          knihovna prefix.gbs a suffix.gbs se vykonala
                                          vykonává se soubor data.gbs
Pokud zvolíme odkaz kradmo vlevo, zobrazí se:

Co uděláš?


Vrátíš se zpět
Výsledek
Jméno aktuálního souboru je lov.

Tvoje šance k ulovení zvěře je 75.
Kraal skloněný nad napajedlem si tě nevšiml, pečlivě jsi zamířil. Zvíře po výstřelu padlo.
Přičteme 1 zastřelený kus.



                                Stav proměnných a knihoven na této obrazovce:
                                          proměnná 1 = 1
                                          proměnná 2 = 30
                                          proměnná 3 = 75
                                          proměnná 4 = 1
                                          řetězec 1 = "lov"
                                          řetězec 2 = "Co uděláš?"
                                          knihovna prefix.gbs, suffix.gbs a nahodalov.gbs se vykonala
                                          vykonává se soubor lov.gbs
Teď si zobrazíme výsledek:

Výsledek

Ulož pozici
Zpět do hry
Jméno aktuálního souboru je vysledek.

Dosud jsi ulovil 1 kusů zvířat.






                               Stav proměnných a knihoven na této obrazovce:
                                          proměnná 1 = 1
                                          proměnná 2 = 30
                                          proměnná 3 = 75
                                          proměnná 4 = 1
                                          řetězec 1 = "lov"
                                          řetězec 2 = "Co uděláš?"
                                          knihovna prefix.gbs se vykonala
                                          vykonává se soubor vysledek.gbs
Vrátíme se zpět do hry, zobrazí se:

Co uděláš?


Vrátíš se zpět
Výsledek
Jméno aktuálního souboru je lov.

Tvoje šance k ulovení zvěře je 75.
Kraal skloněný nad napajedlem si tě nevšiml, pečlivě jsi zamířil. Zvíře po výstřelu padlo.




                                Stav proměnných a knihoven na této obrazovce:
                                          proměnná 1 = 1
                                          proměnná 2 = 30
                                          proměnná 3 = 75
                                          proměnná 4 = 1
                                          řetězec 1 = "lov"
                                          řetězec 2 = "Co uděláš?"
                                          knihovna prefix.gbs, suffix.gbs a zpetzmenu.gbs se vykonala
                                          vykonává se soubor lov.gbs
Vrátíme se, odkud jsme vyšli na lov:

Půjdeš?


kradmo vlevo
kradmo po chodníku
kradmo vpravo
Výsledek
Jméno aktuálního souboru je .

Jdeš lesem plným zvuků. Náhle před sebou vidíš chodník vyšlapaný zvěří tvořící předěl mezi částmi lesa.
Vlevo je hustý travnatý podrost dosahující až k pasu s občasným výskytem trnitých keřů.
Vpravo jsou řídká křoviska se skalnatým terénem pokrytým kobercem vřesu.


                                Stav proměnných a knihoven na této obrazovce:
                                          proměnná 1 = 2
                                          proměnná 2 = 30
                                          proměnná 3 = 75
                                          proměnná 4 = 1
                                          řetězec 1 = ""
                                          řetězec 2 = "Půjdeš?"
                                          knihovna prefix.gbs a suffix.gbs se vykonala
                                          vykonává se soubor data.gbs
Zobrazíme si výsledek:

Výsledek

Ulož pozici
Zpět do hry
Jméno aktuálního souboru je vysledek.

Dosud jsi ulovil 1 kusů zvířat.






                                Stav proměnných a knihoven na této obrazovce:
                                          proměnná 1 = 2
                                          proměnná 2 = 30
                                          proměnná 3 = 75
                                          proměnná 4 = 1
                                          řetězec 1 = ""
                                          řetězec 2 = "Půjdeš?"
                                          knihovna prefix.gbs se vykonala
                                          vykonává se soubor vysledek.gbs
Vrátíme se zpět do hry:

Půjdeš?


kradmo vlevo
kradmo po chodníku
kradmo vpravo
Výsledek
Jméno aktuálního souboru je .

Jdeš lesem plným zvuků. Náhle před sebou vidíš chodník vyšlapaný zvěří tvořící předěl mezi částmi lesa.
Vlevo je hustý travnatý podrost dosahující až k pasu s občasným výskytem trnitých keřů.
Vpravo jsou řídká křoviska se skalnatým terénem pokrytým kobercem vřesu.


                                Stav proměnných a knihoven na této obrazovce:
                                          proměnná 1 = 2
                                          proměnná 2 = 30
                                          proměnná 3 = 75
                                          proměnná 4 = 1
                                          řetězec 1 = ""
                                          řetězec 2 = "Půjdeš?"
                                          knihovna prefix.gbs, suffix.gbs a zpetzmenu se vykonala
                                          vykonává se soubor data.gbs