TXT - Wiki

Svety sú piesok vo vetre...

Nástroje používateľa

Nástoje správy stránok


definovanie_objektov

Definovanie objektov (block #objectid)

{
#objectId=ID;
#preset=ID;

#objectId - jedinecne ID objektu
#preset - hodnoty objektu ID sa pouziju ako defaultne, uz musi byt zadefinovany

#name=nazov objektu napr. stolicka;
 
#nouns=#null;
#nouns=kreslo;
#nouns=sedatko;
 
#adjectives=#null;
#adjectives=stara;
#adjectives=biela;
 
#uniqueName=jedinecne meno napr. stara barova biela stolicka;

#name - nazov objektu (napr.: stolicka)
#nouns - podstatne mena objektu. Prve podstatne meno sa pouziva pri vypise nejednoznacnosti, nemoze pouzit #name uz by mohlo obsahovat pridavne mena.
#adjectives - pridavne mena
#uniqueName - pouziva sa pri popise nejednoznacnosti, malo by obsahovat pridavne mena vypise ho v chybovej hlaske

Umiestnenie objektu v miestnosti:

#location=ID;
  #note  ID miestnosti kde sa objekt nachadza (defaultna hodnota #null);
#location=#null;
  #note  Viacnasobne definovanie pozicie prepise predchadzajucu definiciu.;
  #note  Umiestnenie #null znaci ze sa predmet nikde nenachadza.;
#location=#you;
  #note  Objekt sa nachadza u teba.;

Umiestnenie objektu na ojekte:

#location=ID_objektu;

ID objektu na ktorom je umiestneny dany predmet. Tento nadradeny objekt nemusi byt kontajner. Ak sa nepouzije spresnenie lokacie (#locationDetails) a #found je #false tak po preskumani nadradeneho objektu sa schovany predmet objavi v miestnosti.

Ak je nadradeny predmet kontajner je mozne pouzit aj spresnenie umiestnenia:

#locationDetails=#under;

Mozne hodnoty su: #inFrontOf,#beside,#behind,#under,#onTopOf,#inside,#between,#unknown
Ak je predmet umiestneny na inom objekte a je #inside a rodic je #close a nepriehladny nevies sa k nemu dostat
Ak je predmet umiestneny na inom objekte ako #unknown, po preskumani je automaticky premiestneny do miestnosti
Ak je predmet umiestneny na inom objekte, po preskumani sa o nom vypise informacia
Ak je vsak predmet neobjaveny (#found!=#true) pusta sa akcia #foundVerify a v pripade ze vrati #false nic z hore uvedeneho sa nevykona!

#previouslocation=ID;
  #note  ID predchadzajucej miestnosti kde sa objekt nachadzal;
#previouslocationDetails=#under;
  #note  spresnenie predchadzajuceho umiestnenia;


Vytvorenie kontajnera doktoreho sa daju hracovi umiestnovat veci (ovplyvnuje to moznost PUT/GIVE):

#isContainer=#false;

Obmedzenie velkosti kontajnera:

#capacityCount=-1;
  #note  kapacita kontajnera, maximalny pocet veci ktore moze obsahovat (default -1 nekonecno);
#capacityWeight=-1;
  #note  kapacita kontajnera, maximalna vaha veci ktore moze obsahovat (default -1 nekonecna);
#capacityBulk=-1;
  #note  kapacita kontajnera, maximalna velkost veci ktore moze obsahovat (default -1 nekonecna);

Dalsie moznosti obmedzenia kontajnera: (npr.: slot na kartu)

#allowedExactlyObjects=ID1;
#allowedExactlyObjects=ID2;
  #note  konkretne povolene objekty ktore moze kontajner obsahovat, bez zadania moze obsahovat cokolvek;

Rozmery predmetu:

#weight=-1;
  #note  vaha objektu (default -1 bez vahy);
#bulk=-1;
  #note  velkost objektu (default -1 bez velkosti);
 
#allowedLocation=#under, pod stolom;
  #note  uvadza povolene umiestnenie v kontajneri a text pouzity pri predmetoch
  #note    - pokial nie je definovane tak su povolene vsetky umiestnenia
  #note    - ked to hrac neupresni default sa pouzije INSIDE (ak je otvoreny) inac sa pouzije ON_TOP_OFF
  #note    - pokial hrac nezada umiestnenie ale zadefinovane su tak sa pouzije prve


#containerReceived=ID;
  #note  Akcia ktora sa spusti po vlozeni predmetu do kontajnera (defaultne nastavena #null);
#containerReleased=ID;
  #note  Akcia ktora sa spusti po zobrati predmetu z kontajnera (defaultne nastavena #null);

$rom_exec_executor = id objektu (vkladaneho/zobrateho)
$rom_exec_owner = id object (kontajner)
$rom_exec_owner_action = #receivedPut, #receivedGive, #released podla toho ako bol predmet umiestneny/vybraty
Miestnost ma podobnu funkcionalitu (Definovanie miestnosti #buttonOnFloor).

#showAsSeparateObject=#true;

Bude zobrazovat objekt v popise miestnosti(pripadne v INV) (defaultna hodnota #true)

Viditelnost objektu (defaultna hodnota #null)

#visibility=#false;

Neviditelny objekt sa neda zobrat/pouzit/preskumat/rozpravat. Viditelnost nema vplyv a akcia #meet ked ho stretnes pripadne akcie #actionAfterYourMove, #actionAfterYourCommand, #actionTime. Tie sa volaju normalne.

#visibilityInhibitor=#true;

Zastavuje hlbsie skumanie a vypis predmetu (stol, na stole vaza, na nej nalepka a vnutri kvet). (defaultna hodnota je #true)

Je nutne rozlisovat dve podobne vlastnosti. Viditelnost (#visibility) predmetu (schopnost ho vidiet, neznamena ale ze ho vidis a vies o nom) a ci bol predmet objaveny (#found).

#foundVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o zmenu hodnoty #found (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false zmena je zamietnuta;
#found=#true;
  #note  Uz objaveny predmet (defaultna hodnota #true);

V popise miestnosti pripadne ako samostatne objekty miestnosti ci v INV sa zobrazuju len objavene predmety.
Tato vlastnost sa nastavuje pocas #examine.

Vyuziva sa #foundVerify, ak je navratova hodnota #true pripadne nie je zadefinovany skript nastavi sa #found na #true.
Nasledne po zavolani #foundVerify sa testuje ci je #countOfExaminationParentActual < #countOfExaminationParentMax (defaultne 1) ak je stale mensie predmet sa neobjavi! Nastavi sa vysledok #foundVerify na #false (da sa tak jednoducho nastavit objavenie objektu po 2,3 preskumani rodicovskeho objektu)

V pripade ze nevyhovuje automaticke informovanie o objaveni objektu da sa (od 1.7.5) vypnut pre konkretny objekt cez #automaticsShowFoundObject=0; a vtedy sa zobrazi text #foundText.

V pripade ze nevyhovuje automaticke informovanie o objektoch umiestnenych na objekte da sa (od 1.7.5) vypnut pre konkretny objekt cez #automaticsShowObject=0; a vtedy sa zobrazi text #seeText. Ked sa nastavi #found na #true, aktualizuje sa objekt, co znamena ze sa vola jeho #actionUpdate funkcia a potom sa zavola #foundAction akcia.

#nonPortable=#true;

Predmet sa neda zobrat, ale pri pokuse (uspesnom aj neuspesnom) o zobratie vola akcia #take.
Defaultna hodnota je #false pre object/item a #true pre npc. Rozdelovanie na item a npc je ZASTARALE. Je pravdepodobne ze v novych verziach bude vyradene.

Pozor ak takyto objekt vlastnis da sa polozit, ale uz nie opat zobrat.

Po uspesnom zadefinovani #door sa nastavi #nonPortable na #true! a podobne po zadefinovani #nonPortable=#false; sa zmaze nastavenie #door!

#canNotPut=#true;

Predmet sa neda polozit.
Defaultna hodnota #false pre object/item a #true pre npc. Rozdelovanie na item a npc je ZASTARALE. Je pravdepodobne ze v novych verziach bude vyradene.

Na DARUJ/GIVE nemaju #canNotPut a #nonPortable efekt lebo je mozne davat veci v ramci invetara (napr. baterie do baterky)

#descriptionId=ID;
#description=popis objektu;
 
#longNameInDescriptionOfRoom=...;
#longNameInDescriptionOfObject=...;
 
#longNameInDescriptionOfYou=...;

#descriptionId - ID textu s popisom objektu
#descriptionId ma prednost pred #description, pokial je #descriptionId=#null pouzije sa text z #description

#longNameInDescriptionOfRoom - text ktory sa vypise za popisom miestnosti v pripade ze sa tu ten objekt nachadza (musi byt visibility), takyto predmet sa zobrazuje aj v INV
#longNameInDescriptionOfObject - text ktory sa vypisuje pri preskumani nadradeneho predmetu (miesto kde je umiestneny) hned za jeho #description
#longNameInDescriptionOfYou - text ktory sa vypisuje v INV za polozkou nesies a mas oblecene

#actionUpdate=ID;
  #note  ID akcie ktora sa vola po update objektu;

V pripade ze dochadza k updatu sameho seba nezavola sa znova.
V pripade ze updatne iny objekt a ten naspat updatne moj objekt tak sa nevola znova.
V niektorych pripadoch napriklad pre EXAMINE OBJEKTU sa najskor zavola #actionUpdate (zvysenie priznaku #countOfExamination) az potom examine akcia.

Jednoduchy sposob ako dynamicky menit popis miestnosti:

#actionprint=ID;
  #note  ID akcie ktora sa vola pri printe situacie.;

Text sa uklada do registrov $rom_reg_textbuffer1 az $rom_reg_textbuffer8 podla nasledujucej schemy:

$rom_reg_textbuffer5 NAME ROOM $rom_reg_textbuffer1
$rom_reg_textbuffer6 DESCRIPTION ...............
............................ $rom_reg_textbuffer2

$rom_reg_textbuffer7 ITEMS.......... $rom_reg_textbuffer3

$rom_reg_textbuffer8 DIRECTION...... $rom_reg_textbuffer4


#examineVerify=#null;
  #note  ID akcie ktora sa vola pred preskumanim (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false preskumanie je zamietnute;
#examine=#null;
  #note  ID akcie ktora sa vola po preskumani (defaultna hodnota #null);
#countofexamination=20;
  #note  pocet preskumani, premenna iba na citanie!;
 
#countoftouch=10;
  #note  pocet dotknuti (examine nie je dotknutie), premenna iba na citanie!;


#takeVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o zobratie. (defaultna hodnota #null);
  #note  Navratova hodnota #true povoli zobratie.;
#take=#null;
  #note  ID akcie ktora sa vola po zobrati (aj neuspesnom) ;
  #note  V pripade ze akcia vrati #return #false predmet sa vrati na povodnu poziciu;
 
#putVerify=#null;
  #note  ID akcie ktora sa vola pred polozenim (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false polozenie je zamietnute;
#put=#null;
  #note  ID akcie ktora sa vola po polozeni (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false predmet sa vrati na povodnu poziciu;
 
#giveVerify=#null;
  #note  ID akcie ktora sa vola pred polozenim (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false polozenie je zamietnute;
#give=ID;
  #note  akcia volana pri darovani, (defaultna hodnota #null);
  #note  sprava sa ako #put ale vola prislusne give akcie, texty...;
 
#insertVerify=#null;
  #note  ID akcie ktora sa vola pri pokuse o vlozenie predmetu do kontajnera (defaultna hodnota #null);
  #note  vyuziva ho mechanizmus PUT aj GIVE;
  #note  V pripade ze akcia vrati #return #false vlozenie(give/put) je zamietnute;


#useVerify=#null;
  #note  ID akcie ktora sa vola pred pouzitim (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false pouzitie je zamietnute;
#use=#null;
  #note  ID akcie ktora sa vola po pouziti (defaultna hodnota #null).;


Rozhovory sa daju obsluhovat 3 akciami:

#talkVerify=#null;
  #note  ID akcie ktora sa vola pred volanim samotnej TALK akcie (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false TALK akcia sa nezavola;
#talk=#null;
  #note  ID akcie ktora sa vola pri osloveni NIEKOHO (defaultna hodnota #null);
 
#askVerify=#null;
  #note  ID akcie ktora sa vola pred volanim samotnej ASK akcie (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false ASK akcia sa nezavola;
#ask=#null;
  #note  ID akcie ktora sa vola pri opytani sa NIEKOHO NIECO (defaultna hodnota #null);
 
#tellVerify=#null;
  #note  ID akcie ktora sa vola pred volanim samotnej TELL akcie (defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false TELL akcia sa nezavola;
#tell=#null;
  #note  ID akcie ktora sa vola pri povedani NIEKOMU NIECO (defaultna hodnota #null);

NIECO sa da v skriptoch identifikovat cez premenne
$rom_exec_commandline_count_of_secondary_objects
$rom_exec_commandline_secondary_objects_location[$pos]
$rom_exec_commandline_count_of_secondary_objects[$pos]
$rom_exec_commandline_secondary_objects[$pos][$pos2]

#hitVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o udretie(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false HIT akcia sa nezavola;
#hit=#null;
  #note  ID akcie ktora sa vola po udreti (defaultna hodnota #null);
 
#touchVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o dotknutie(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false TOUCH akcia sa nezavola;
#touch=#null;
  #note  ID akcie ktora sa vola po dotknuti (defaultna hodnota #null);
 
#pressVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o zmacknutie(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false PRESS akcia sa nezavola;
#press=#null;
  #note  ID akcie ktora sa vola po zmacknuti (defaultna hodnota #null);


#smellVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o ovonanie(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false SMELL akcia sa nezavola;
#smell=#null;
  #note  ID akcie ktora sa vola ked ho ovonias (defaultna hodnota #null);
 
#listenVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o pocuvanie(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false LISTEN akcia sa nezavola;
#listen=#null;
  #note  ID akcie ktora sa vola pri pocuvani (defaultna hodnota #null);
 
#eatVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o konzumaciu(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false EAT akcia sa nezavola;
#eat=#null;
  #note  ID akcie ktora sa vola po skonzumovani (defaultna hodnota #null) (life objektu sa nastavi na #false);
 
#drinkVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o vypitie(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false DRINK akcia sa nezavola;
#drink=#null;
  #note  ID akcie ktora sa vola po vypiti (defaultna hodnota #null) (life objektu sa nastavi na #false)


#meet=ID;
  #note  ID akcie ktora sa vola pri tvojom stretnuti s objektom, a pri stretnuti objektu s objektom;
  #note  Vola sa aj pre neviditelne objekty (defaultna hodnota #null);
#leave=#null;
  #note  ID akcie ktora sa vola pri tvojom rozluceni s objektom (defaultna hodnota #null);


#actionAfterYourMove=ID;
  #note  ID akcie ktora sa vola po tvojom pohybe (defaultna hodnota #null);
#actionAfterYourCommand=ID;
  #note  ID akcie ktora sa vola po tvojom prikaze (nie pohybe) (defaultna hodnota #null);
 
#timeInterval=5;
  #note  cas v sekundach kedy sa ma spustat after time action (defaultna hodnota 0);
#actionTime=ID;
  #note  ID akcie ktora sa vola po Xsekundach definovanych v #timeInterval (defaultna hodnota #null);


#life=#false;
  #note  zije objekt?  (defaultna hodnota #true);
#actionstartlife=ID;
  #note  ID akcie ktora sa vola po oziveni objektu (defaultna hodnota #null);
  #note  vola sa vzdy ked doslo k zmene #life pocas aktualizacie objectu (replace);
#actionendlife=ID;
  #note  ID akcie ktora sa vola po zniceni objektu (defaultna hodnota #null);
  #note  vola sa vzdy ked doslo k zmene #life pocas aktualizacie objectu (replace);


Dvojstatove akcie:

#wearing=#false;
  #note  vyjadruje stav, mas to oblecene? (defaultna hodnota #false t.j. #undress)
#dress=ID;
  #note  akcia volana pri obleceni, ak existuje zmeni stav #wearing;
  #note  oblecene sa nedaju polozit, obliect je mozne len to co drzis (defaultna hodnota #null);
#undress=ID;
  #note  akcia volana pri vyzleceni, ak existuje zmeni stav #wearing (defaultna hodnota #null);
  #note  existuje aj #dressVerify, #undressVerify ktorych funkcionalita je rovnaka ako inych verify akcii;
#isEnabled=#false;
  #note  vyjadruje stav, je to zapnute? (defaultna hodnota #false t.j. #off);
#on=ID;
  #note  akcia volana pri zapnuti, ak existuje zmeni stav #isEnabled (defaultna hodnota #null);
#off=ID;
  #note  akcia volana pri vypnuti, ak existuje zmeni stav #isEnabled (defaultna hodnota #null);
  #note  existuje aj #onVerify, #offVerify ktorych funkcionalita je rovnaka ako inych verify akcii;
#isPushed=#false;
  #note  vyjadruje stav, je to zatlacene? (defaultna hodnota #false t.j. #pull);
#push=ID;
  #note  akcia volana pri zatlaceni, ak existuje zmeni stav #isPushed (defaultna hodnota #null);
#pull=ID;
  #note  akcia volana pri tahani, ak existuje zmeni stav #isPushed (defaultna hodnota #null);
  #note  existuje aj #pushVerify, #pullVerify ktorych funkcionalita je rovnaka ako inych verify akcii;
#isOpen=#false;
  #note  vyjadruje stav, je to otvorene? otvorit sa daju len odomknute veci! (defaultna hodnota #false t.j. #close);
#open=ID;
  #note  akcia volana pri otvoreni, ak existuje zmeni stav #isOpen (defaultna hodnota #null);
#close=ID;
  #note  akcia volana pri zatvoreni, ak existuje zmeni stav #isOpen (defaultna hodnota #null);
  #note  existuje aj #openVerify, #closeVerify ktorych funkcionalita je rovnaka ako inych verify akcii;
 
#door=#direction,IDto;
  #note  udava smer ktorym vedu dvere a ciel "IDto" kam vedu;
  #note  V pripade ze uz bol zadefinovany #location staci pouzit tuto kratku formu;
  #note  ak nebol zadefinovany #location je nutne pouzit plnu formu:;
#door=IDfrom,#direction,IDto;
  #note  udava odkial "IDfrom" smer "#direction" ktorym vedu dvere a ciel "IDto" kam vedu;

Po uspesnom zadefinovani #door sa nastavi #nonPortable na #true! a podobne po zadefinovani #nonPortable=#false; sa zmaze nastavenie #door!

Definicia #door funguje len pre obojsmerne prechody, jednosmerky je nutne definovat rucne!

#isLocked=#false;
  #note  vyjadruje stav, je to zamknute? (defaultna hodnota #false t.j. #unlock);
  #note  zamykat a odomykat sa daju len zatvorene veci!;
#lock=ID;
  #note  akcia volana pri zamknuti, ak existuje zmeni stav #isLocked (defaultna hodnota #null);
#unlock=ID;
  #note  akcia volana pri odomknuti, ak existuje zmeni stav #isLocked (defaultna hodnota #null);
  #note  existuje aj #lockVerify, #unlockVerify ktorych funkcionalita je rovnaka ako inych verify akcii;
#key=ID;
  #note  id predmetu ktorym sa da odomykat/zamykat (defaultna hodnota #null);


#transparent=#true;
  #note  priesvitnost (defaultna hodnota #false);
 
#readVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o citanie(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false READ akcia sa nezavola;
#read=ID;
  #note  akcia volana pri precitani, (defaultna hodnota #null);


#showVerify=#null;
  #note  ID akcie ktora sa vola pred pokusom o ukazanie(defaultna hodnota #null);
  #note  V pripade ze akcia vrati #return #false SHOW akcia sa nezavola;
#show=ID;
  #note  akcia volana pri ukazani tohoto objektu, (defaultna hodnota #null)
#observerNoticedObject=ID;
  #note  akcia volana pri ukazani niecoho tomuto objektu (defaultna hodnota #null;
  #note  NIECO ukazovane sa da v skriptoch identifikovat cez premenne $rom_exec_commandline_...;


Premenne objektu:

$ID=value;
  #note  Premenna ID s hodnotou value, je mozne zadefinovat lubovolne mnozstvo premennych.;
 
$ID1=value;
$ID2=value;
$ID[x][y];
  #note  Definovanie pola.;
$ID[]=0;
  #note  Nastav kompletne pole na hodnotu 0.;
$ID[1][2]=xx;
  #note  Nastav pole na suradniciach [1,2] na hodnotu xx.;
 
  #note  Cez premenne sa daju predefinovat systemove chybove hlasky pre konkretnu akciu s tymto objektom.;
  #note  Maju tvar $text_... napr $text_putfail, $text_seenothinghere.;
}


pohyb objektu:

#movementSpeedBasedOnMove=X;
  #note  pohybuje sa po kazdom tvojom Xtom pohybe (aj neuspesnom) (defaultna hodnota 0);
#movementSpeedBasedOnCommand=X;
  #note  pohybuje sa po kazdom tvojom Xtom prikaze (aj nezmyselnom) (defaultna hodnota 0);
#movementSpeedBasedOnTime=X;
  #note  pohybuje sa po kazdej Xtej sekunde (defaultna hodnota 0);
 
#actionBeforeMove=ID;
  #note  ID akcie ktora sa spusti pred pohybom (defaultna hodnota akcie je #null);
  #note  pokial bude navratova hodnota $rom_return_result==#true pohyb sa uskutocni ;
#actionAfterMove=ID;
  #note  ID akcie ktora sa spusti po pohybe (defaultna hodnota #null);
 
#move=#false;
  #note  nepohybuje sa (defaultna hodnota #null);
#move=#teleportToYou;
  #note  nie je dolezite kde sa nachadza, teleportuje sa k tebe;
#move=#random;
  #note  nahodny pohyb;
#move=#circle;
  #note  (#circle/#cycle) ide po zadefinovanej ceste, ak pride na koniec skoci na zaciatok;
#move=#line;
  #note  (#line/#yoyo) ide po zadefinovanej ceste, ak pride na koniec obrati sa a ide opacnym smerom;
#move=#followYou;
  #note  pokusi sa najst cestu k tebe;
 
#move=#followYou,mapID;
  #note  pokusi sa najst cestu k tebe, vyuzije na to mapu mapID (default je #baseMap);
#moveMapId=#baseMap;
  #note  defaultne nastavenie je #baseMap, urcenie ktora mapa sa pouzije pri pohybe #followYou;

Pohyb je definovany aj teritoriom v ktorom sa moze pohybovat.
Ak je objekt mimo svojho teritoria nikam sa nepohne!
V pripade #circle a #line teritorium urcuje presnu trasu po ktorej sa bude pohybovat.

#territory=#null;
#territory=ID1;
#territory=ID2;
#territory=ID3;


Pomocne runtime premenne vyuzivane pri pohybe:

#runtimeMovementSpeedBasedOnMove=...;
  #note  (runtime helper) vyuzivane pri pohybe (defaultna hodnota 0);
#runtimeMovementSpeedBasedOnCommand=...;
  #note  (runtime helper) vyuzivane pri pohybe (defaultna hodnota 0);
#runtimeMovementSpeedBasedOnTime=...;
  #note  (runtime helper) vyuzivane pri pohybe (defaultna hodnota 0);
#positionOnRoad=...;
  #note  vyuzivane pri pohybe (pozicia v #territory tyka sa to len #line/#yoyo/#circle/#cycle);
  #note  defaultna hodnota -1;
#movementDirectionOnTerritory=#true;
  #note  (runtime helper) vyuziva sa len pre sposob pohybu #line a #circle (defaultna hodnota #true);
  #note  urcuje smer pohybu;
  #note  #true - pokracuje dalej v #territory smerom ku koncu;
  #note  #false - pokracuje naspat v #territory smerom k zaciatku;
}


V pripade ze dvojstavova akcia vrati #return #false #dress, #undress (#wearing)
#on, #off (#isEnabled)
#push, #pull (#isPushed)
#open, #close (#isOpen)
#lock, #unlock (#isLocked)
a jednostavove funkcie #take, #put
Akcia sa revertne, ale pozor iba ta konkretna hodnota ktorej sa to tyka (napr. #location pri #take/#put), cokolvek ine bolo zmenene v prislusnej akcii ostane zmenene! Preto je lepsie kvoli prehladnosti vyuzivat verify akcie!

Verifikacne akcie su definovane ako:

#enterVerify
#leaveVerify
#moveVerify
 
#putVerify #giveVerify #insertVerify
#takeVerify
#useVerify
#hitVerify
#touchVerify
#pressVerify
#smellVerify
#listenVerify
#eatVerify
#drinkVerify
#readVerify
#showVerify
#dressVerify #undressVerify
#openVerify #closeVerify
#lockVerify #unlockVerify
#onVerify #offVerify
#pushVerify #pullVerify
#examineVerify
#foundVerify
#talkVerify
#askVerify
#tellVerify
executor=#you owner=object.ID owner_action=#examineVerify
executor=#north(#south,...) owner=#moveVerify, owner_action=#actionMoveVerify

Ked je navratova hodnota #true vykona sa akcia ak je #false akcia sa nevykona a vypise sa prislusny text:

#enterVerifyFail
#leaveVerifyFail
#moveVerifyFail
 
#putVerifyFail #giveVerifyFail #insertVerifyFail
#takeVerifyFail
#useVerifyFail
#hitVerifyFail
#touchVerifyFail
#pressVerifyFail
#smellVerifyFail
#listenVerifyFail
#eatVerifyFail
#drinkVerifyFail
#readVerifyFail
#showVerifyFail
#dressVerifyFail #undressVerifyFail
#openVerifyFail #closeVerifyFail
#lockVerifyFail #unlockVerifyFail
#onVerifyFail #offVerifyFail
#pushVerifyFail #pullVerifyFail
#examineVerifyFail
#foundVerifyFail
#talkVerifyFail
#askVerifyFail
#tellVerifyFail
definovanie_objektov.txt · Posledná úprava: 2019/03/06 21:08 od wolf