TXT - Wiki

Svety sú piesok vo vetre...

Nástroje používateľa

Nástoje správy stránok


definovanie_prikazov

Definovanie prikazov (blok #commands)

Definvanie prikazov ktorym engine rozumie.
Poradie zadefinovanych prikazov urcuje poradie pri vypisani slovniku.
@ pred prikazom vypne predspracovanie #dot, #separator, #all, #pronoun

commands.dat
{
	#commands;
 
	#help=pomoc;
	#dictionary=slovník;
 
	#mute=mute;
	#mute=hudba;
 
	#volume=hlasitosť;
 
	#cls=cls;
	#enableScrollingInfoLine=štart;
	#disableScrollingInfoLine=stop;
 
	#wait=čakaj;
 
	#take=zober;
	#take=vyber;
 
	#put=polož;
	#put=vlož;
 
	#use=použi;
 
	#hit=udri;
	#touch=dotkni sa;
	#press=zmačkni;
	#smell=ovoňaj;
	#listen=počúvaj;
	#eat=zjedz;
	#drink=vypi;
 
	#dress=obleč;
	#undress=vyzleč;
 
	#open=otvor;
	#close=zatvor;
 
	#lock=zamkni;
	#unlock=odomkni;
 
	#on=zapni;
	#off=vypni;
 
	#push=tlač;
	#pull=ťahaj;
 
	#read=čítaj;
	#give=daj;
	#give=daruj;
	#show=ukáž;
 
	#talk=oslov;
	#ask=opýtaj sa;
	#ask=spýtaj sa;
	#tell=povedz;
 
	#examine=preskúmaj;
	#examine=prozkoumej;
 
	#sit=situácia;
	#sit=r;
 
	#inv=inventár;
	#inv=i;
 
	#north=sever;
	#north=s;
	#east=východ;
	#east=v;
	#south=juh;
	#south=j;
	#west=západ;
	#west=z;
	#up=hore;
	#up=h;
	#down=dole;
	#down=d;
	#in=dnu;
	#out=von;
 
	#save=save;
	#load=load;
	#dir=dir;
 
	#end=koniec;
	#restart=reštart;
 
	#newcommand=spievaj,spievaj,#show,#enabled,#dontmove;
	#newcommand=spievaj,nôť,#show,#enabled,#dontmove;
}

#commands - urcuje typ dat ktory bude v tomto bloku nasledovat

#help - prikaz pomoc, spusti zadefinovanu akciu #actionhelp
#dictionary - vypise slovnik

#mute - vypne zapne hudbu/zvuky

	#mute=mute,#show,#enabled,#dontmove;

prvy parameter je prikaz
druhy parameter je default #true(#show) - urcuje ci sa ma vypisovat prikaz v slovniku (plati pre vsetky synonyma)
treti parameter je default #true(#enabled) - urcuje ci je prikaz zapnuty (plati pre vsetky synonyma)
stvrty parameter je default #false(#dontmove) - urcuje ci je to prikaz pohybu (plati pre vsetky synonyma)

#volume - bez parametra vypise aktualnu hlasitost hudby, s parametrom ju nastavi na zadanu hodnotu 0-128

#cls - vymaz obrazovku
#enableScrollingInfoLine - v pripade ze je infoline vacsi ako sirka obrazovky scroluje dookola, scrolling sa da vypnut/zapnut
#disableScrollingInfoLine

#wait - nic nevykonas len cakas, prikaz o hodnote normalneho prikazu, teda nie pohybu! Cakas zadany pocet hodin, defaultne 1 hodinu. Spusti sa akcia zadefinovana v #actionwait

#take - pre zadefinovanie viacerych moznosti(synonym) ako zadat jeden a ten isty prikaz, staci uviest viac krat definiciu
#put
#use
#hit
#touch
#press
#smell
#listen
#eat
#drink
#dress
#undress
#open
#close
#lock
#unlock
#on
#off
#push
#pull
#read
#give
#show
#talk
#ask
#ask
#tell
#examine
#sit
#inv

#north - pohybove prikazy
#east
#south
#west
#up
#down
#in
#out

#save
#load
#dir - vypis ulozenych pozicii

Nacitat poziciu system dovoli len v pripade ze:

  • #launcher v ulozenej pozicii sa zhoduje so spustenou aplikaciu.
  • verzia spusteneho #launcher-a je rovnaka alebo vacsia ako v ulozenej pozicii
  • #appname v ulozenej pozicii sa zhoduje s nacitanym pribehom
  • verzia spusteneho pribehu #appversion je rovnaka alebo vacsia ako v ulozenej pozicii

Pouzivaju sa ako „save nazov“ a „load nazov“. V pripade ze sa pouzije len „save“ ulozi sa ako tmpXXX kde sa XXX postupne inkrementuje.
System si pamata poslednu ulozenu poziciu a v pripade pouzitia „load“ bez nazvu nacita tuto poziciu.

#end - koniec hry
#restart - restart pribehu

Definovanie noveho prikazu:

	#newcommand=spievaj,spievaj,#show,#enabled,#dontmove;
	#newcommand=spievaj,nôť,#show,#enabled,#dontmove;

prvy parameter je ID (ked je rovnake ID, je mozne tvorit synonyma)
druhy parameter je prikaz
treti parameter je default #true(#show) - urcuje ci sa ma vypisovat prikaz v slovniku
stvrty parameter je default #true(#enabled) - urcuje ci je prikaz zapnuty
piaty parameter je default #false(#dontmove) - urcuje ci je to prikaz pohybu

Pouzitie prikazu xxx vola akciu s ID „newcommand_xxx“ (v pripade ze existuje, nemusi byt definovana).
Pricom z retazeca „xxx“ je odstranena diakritika, je prevedeny na male pismena (LowerCase) a su odstranene medzery na okrajoch retazca (Trim).

systemova premenna $rom_exec_executor sa nastavi na upraveny prikaz (diakritika/lowercase/trim) #xxx

napr:
#newcommand=Leť ; - zavola akciu s ID=newcommand_let ($rom_exec_executor=#let;)

{
	#actionid=newcommand_let;
	...
	...
}

Je mozne potom vyuzit interne systemove premenne:

zadany prikaz: „pre pod zeleny strom vedla borovice pod kamenom“

$rom_exec_commandline - kopletny zadany prikaz „pre pod zeleny strom vedla borovice pod kamenom“
$rom_exec_commandline_command - kod prikazu ktory bol zadany (#examine)
$rom_exec_commandline_without_verb - command line bez slovesa „pod zeleny strom vedla borovice pod kamenom“
$rom_exec_commandline_without_primary_object - command line bez primarneho predmetu „vedla borovice pod kamenom“
$rom_exec_commandline_unknown_words - zostavajuce nezname slova

$rom_exec_commandline_count_of_primary_objects - pocet primarnych predmetov (1)
$rom_exec_commandline_primary_object_location - umiestnenie primarneho predmetu („under“)
$rom_exec_commandline_primary_objects[1] - primarne predmety (id „zeleny strom“)

$rom_exec_commandline_count_of_secondary_objects - pocet sekundarnych predmetov (2)
yn = $rom_exec_commandline_count_of_secondary_objects[x1] - pocet moznych rozpoznanych predmetov pre predmet x1
$rom_exec_commandline_secondary_objects_location[x1] - umiestnenie sekundarneho predmetu x1 (vedla „beside“)
$rom_exec_commandline_secondary_objects[x1][yn] - sekundarny predmet x1, rozpoznany mozny predmet ktory to moze byt yn (id „borovica“)

pri dvojznacnosti(nejasnosti) o aky predmet sa jedna je mozne vyuzit systemovy vypis (priklad zeleny stol, cerveny stol)

#printunknownprimaryobjects - rozpoznane predmety pre primarny predmet
#printunknownsecondaryobjects x1 - rozpoznane predmety pre sekundarny predmet x1 (ak nezadas x1, tak sa berie default 1)

definovanie_prikazov.txt · Posledná úprava: 2019/08/28 21:40 od wolf