<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
<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 knihovnyDo 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>
<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.
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 knihovnaPo 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 suffixPo 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
<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.
presmeruj 1. prefix 2. lokace s příkazy a knihovnami 3. suffixMezi 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!!!
<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>
<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 Text2Po 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
<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.
<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.
<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é.
<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 = 0Po kliknutí na odkaz Test se zobrazí následující:
Proměnná 2 = 5 Proměnná 50 = 10000
<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:
<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>
<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">
<1>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.
<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>
<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
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.gbsPokud 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.gbsTeď 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.gbsVrá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.gbsVrá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.gbsZobrazí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.gbsVrá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