Categories:
functions triggers variables
Functions: all  aff  other  char  array  room  obj  quest  int  string  

Proměnné:

Obecný popis

Proměnné jsou beztypové a nastavují se přikazem let při prvním použití. Není potřeba je definovat včetně typu před prvním použitím. Je potřeba rozlišovat použití proměnné v interakci s MUDem a použitím ve script engine. Interakcí s MUDem je myšleno například vypsání hodnoty proměnné do MUD světa, použití ve script engine je například v cyklech. Při použití proměnné ve script engine se nepoužívá žádný předřadný znak jako například v php apod. Ale při použití v interakci s MUDem je nutné před proměnnou uvést znak @. Ideálně včetné závorek např. @(prom).

Příklad:

#definice proměnné
let name = "Zeus"
#použití v interakci s MUDem
say Hello, @(name)!
#použití ve script engine
if (name == "Zeus") {
  say Bacha, Zeus je tady
}

Kontext proměnné

Kontextem proměnné je myšleno v jaké souvislosti je proměnná uvažovaná. Může se jednat o proměnnou scriptu, entity na které script běží, proměnnou zóny, globální proměnnou případně proměnnou entity uložené v jiné proměnné. Kontext proměnné lze libovolně řetězit. Kontexty se oddělují tečkou.

Příklady kontextu proměnných:
Proměnnádefinice
scriptuprom
entity na které script běžímy.prom
zónyzone.prom
zóny ukládaná na disk (přežije reboot)zonedisk.prom
globálníglobal.prom
entity v proměnné ent (mob, object)ent.prom
zřetězení kontextůmy.ent.prom

Příklady použití:
#proměnná scriptu
let name = "Zeus"
#proměnná moba, na kterém script běží
let my.name = "Zeus"
#jiná možnost definice proměnné moba, na kterém script běží - použití kontextu entity uložené v proměnné mob
let mob = me - uložení moba do proměnné mob, me je speciální proměnná, ve které je uložen mob nebo object na kterém script běží, pozor nelze definovat kontext jako me.prom, místo toho se musí použít my.prom
let mob.prom = 10 - nastavení proměnné prom na mobovi v proměnné mob
let actor.prom = 100 - použití např. ve scriptech, kde je často v promenné actor uložený ten, kdo script vyvolal
say Hodnota: @(actor.prom)

Speciální proměnné

Následující proměnné lze definovat a mají speciální použití za určitých podmínek.

Proměnná:typLze definovat napopis
specstring:stringobjectHodnota vypsána jako popis specu při použití Guide to High Arcane
trigtype:intMob, ObjectČíslo tiggeru, který spustil script, lze využít například, když má script více trigerů pro rozlišení, který byl spuštěn, lze kombinovat s funkcí trigtype2str() pro převod čísla triggeru na jméno
cansee:arrayObjectPři nastavení obj flagy LIMITED_VISIBILITY toto pole určuje, kdo může daný předmět vidět. Indexem do pole cansee je ID hráče. Object daný hráč vidí pouze je-li hodnota definovaná a jiná než 0. Lze tedy definovat seznam hráčů, kteří daný objekt vidí.