Tvorba dialogů

Po nějaké době odmlky jsem se rozhodl napsat pár dalších dílů seriálu o skriptování. Nejdříve bych začal velice zajímavým tématem a to Dialogy.
Někteří z vás možná neví co to je, a proto to ozřejmím. Potřebujete-li, aby hráč po poklepání na kámen dostal na výběr zda si chce zvýšit sílu nebo obratnost, nebo cokoliv jiného nač potřebujete okno na výběr můžete si vybrat buď dialog či klasické menu. Já se budu teď zabývat jen dialogy.
Nejprve ukážu příklad, jak to vypadá a potom podrobně rozeberu každý řádek.

[DIALOG d_stats] 0,0
resizepic 0 0 3600 500 280
page 0
text 200 20 1117 0
text 60 50 694 1
text 60 85 38 2
text 200 85 165 3
text 360 85 15 4
text 80 200 694 5
text 220 200 694 6
text 380 200 694 7
button 60 120 112 112 1 0 1
button 200 120 107 107 1 0 2
button 360 120 109 109 1 0 3
button 209 230 1215 1215 1 0 4

[DIALOG d_stats TEXT] Stat update
Zvolte si kolik bodu chcete pridat do statu. Zbyva <eval <SRC.TAG.UPDAT>>
Strenght
Dexterity
Inteligence
<SRC.TAG.STR>
<SRC.TAG.DEX>
<SRC.TAG.INT>

[DIALOG d_stats BUTTON] ONBUTTON=0
DIALOG d_stats
ONBUTTON=1
updatestr
ONBUTTON=2
updatedex
ONBUTTON=3
updateint
ONBUTTON=4
IF (<SRC.TAG.LEVUP>==1)
ENDIF

Tak nejprve první část [DIALOG d_stats].
Toto je obecné schéma, které akorát uceluje informace v ostatních částech obsažené.
D_stats je jenom název, nic víc.
Následuje základní pozice okna = 0,0
resizepic 0 0 3600 500 280 - určuje přesné rozměry okna a jeho vzhled. První nuly označují, kde okno přesně začne. 3600 je hodnota pro určitý vzhled okna
(ještě jsem našel 2600, který je taky ucházející, ale ostatní si budete muset najít sami.) 500 a 280 udávají rozměry okna do šířky a výšky.
page 0 jak už z názvu vyplývá, tento řádek označuje stránku. Je třeba začínat od 0 strany.
text 200 20 1117 0 tento řádek říká sphéře, že na určitém místě v okně je umístěn text. Pozici určují první dvě číslice tady 200 a 20. Následuje číslo, kterou nastavíte
barvu textu. Barvy si musíte najít sami. Poslední číslice je pořadí textů. Tato položka je velice důležitá hlavně pro to, že v pozdější části sepíšete všechen text pod sebe
na řádky a podle označení 1 nebo 3 sphéra pozná, jaký řádek má zobrazit, ale k tomu později.
button 60 120 112 112 1 0 1 - této příkaz namísto textu umisťuje tlačítko. Zase první dvě číslice jsou určení pozice. Další dvě jsou určení tlačítka. Ta první, jaký druh
tlačítka má být zobrazen před stisknutím a ta druhá, jaké po stisknutí. U posledních třech číslic si nejsem jistý co přesně znamenají. Měli by sloužit k označení buttonu -
jeho pořadí. Tento button má pořadové číslo 1 , kde číslice, která to určuje je ta poslední. Problém je v tom, že v různých verzích různých skriptů jsem i pro stejné pořadí
viděl označení 1 1 0. Kdo ví, ať mi to prosím napíše.

Tím bychom měli základní schéma. Přejděme k další části a to [DIALOG d_stats TEXT] Už z názvu vyplývá, že se jedná o text, který se bude zobrazovat na určených pozicích. Každý na sobě nezávislý text musí být na samostatné řádce, aby se jednoznačně
mohlo určit pořadí řádků.
Poslední částí je [DIALOG d_stats BUTTON] Jako část TEXT určuje text, který má být napsán, tak oddíl button určuje, co se po zmáčknutí toho kterého tlačítka má stát.
Každá tlačítka začínají svoje pořadí u 0. To znamená, že první tlačítko bůže mít pořadovou číslici 0. Když takovéto tlačítko nezadáte, tak sphéra automaticky přidělí toto
tlačítko, jako pravé tlačítko myši. To znamená, že pokud nastavíte v oddílu pro button 0 nejakou funkci, tak se spustí při stisku pravého tlačítka myši.
Každý oddíl ONBUTTON =xx je takový malý oddíl skriptu, zde můžete uvést vše od normálního triggeru pro přidání statů až po volání funkce.

Autor: Sandal

Poslal: Sandal - Pátek, 24 září, 2004 - 03:45 CET