====== RoomProgs ======
Room progs are attached in redit with addrprog command.
Room progs are always lua scripts.
^Argument ^Type ^Note |
|ch1 |[[:lua:ch:members|CH]] |see table |
|ch2 |[[:lua:ch:members|CH]] |see table |
|obj1 |[[:lua:obj:members|OBJ]] |see table |
|obj2 |[[:lua:obj:members|OBJ]] |see table |
|text1 |string |see table |
|trigger |string |see table |
|trigtype |string |see table |
The actual room to which the script is attached can be referenced in the script through '**room**' global variable (type [[:lua:room:members|ROOM]]).
^trigtype ^ch1 ^ch2 ^obj1 ^obj2 ^text1 ^trigger ^Phrase type ^Description |
|enter |enterer |none |none |none |none |none |number(%chance) |Fires when player enters the room. \\ See [[:triggers:enterandexit|enter and exit triggers]]. |
|*exit |exiter |none |none |none |none |none |number(%chance) |Fires when player exits the room. \\ See [[:triggers:enterandexit|enter and exit triggers]]. |
|*move |enterer |none |none |none |none |direction name |string(direction name or "*") |Fires when a player attemps to move in given direction. Exit does not have to exist. \\ See [[:triggers:enterandexit|enter and exit triggers]]. |
|*open |opener |none |none |none |none |direction name |string(direction name or "*") |Fires when a player opens given door. |
|*close |closer |none |none |none |none |direction name |string(direction name or "*") |Fires when a player closes given door. |
|*unlock |unlocker |none |none |none |none |direction name |string(direction name or "*") |Fires when a player unlocks given door. |
|*lock |locker |none |none |none |none |direction name |string(direction name or "*") |Fires when a player locks given door. |
|[[:triggers:timer|timer]] |none |none |none |none |none |none |number(seconds interval) |Fires at an interval of x seconds (provided as phrase) |
|*look |looker |none |none |none |none |none |number(%chance) |Fires when player would see the room desc. |
|try |tryer |none |none |none |none |none |string(phrase or *) |Fires when player in room used try command. |
|connect |connecter |none |none |none |none |none |number(%chance) |Fires when player connects in room. Does not fire on reconnect. |
|*prereset |none |none |none |none |none |none |number(%chance) |Fires directly before the room resets. |
|postreset |none |none |none |none |none |none |number(%chance) |Fires directly after the room resets. |
|*command |commander |none |none |none |command argument |command name |string(command name) |Fires when player uses the given command. |
|(*)If trigger fires, command is prevented from going through unless 'return true' in the script. |
When recalling, order of trigger processing is: rexit then exit then recall
\\