Difference between revisions of "ROOMDEF"

From SphereWiki
Jump to: navigation, search
(Created page with '__FORCETOC__ Within |regions you can also define rooms, which are basically 'sub-regions' that exist inside the area which may represent buildings within a town or a ...')
 
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
__FORCETOC__
 
__FORCETOC__
Within [[Regions||regions]] you can also define rooms, which are basically 'sub-regions' that exist inside the area which may represent buildings within a town or a boss room within a dungeon. Accessing rooms in scripts can be accomplished using the ROOM reference from a [[Characters|character]], [[Items|item]] or [[Map Points|map point]] object, or the ROOM.room_id reference from the [[Servers||server]] object. The following table details the various properties of the room object in SphereServer:
+
Within [[Regions|regions]] you can also define rooms, which are basically 'sub-regions' that exist inside the area which may represent buildings within a town or a boss room within a dungeon. Rooms are almost identical to region.
  
==Properties and Functions==
+
'''Sphere 56b'''
Here is a list of all room properties and functions. If a function is marked as readable then it can return a value when used as <KEY>. Click on the name for more detailed information such as usage and examples. If an attempt is made to execute (not read) a command that does not exist on the room, then the command will be called on all sectors that touch the room area.
+
ROOMDEF  cannot possess events, triggers or tags.
 +
'''Since Sphere56c (20 July 2013)'''
 +
ROOMDEF can have events, triggers and tags.
 +
 
 +
The syntax for defining a room is as follows:
 +
 
 +
 
 +
<tt>
 +
[ROOMDEF ''defname'']<br />
 +
RECT=''left, top, right, bottom, map''<br />
 +
RECT=''left, top, right, bottom, map''<br />
 +
RECT=''left, top, right, bottom, map''<br />
 +
</tt>
 +
 
 +
 
 +
 
 +
==Properties==
 +
Within the room definition the following properties are also available to customise the behaviour of the area.
  
 
{| border="1" cellspacing="4" cellpadding="4"
 
{| border="1" cellspacing="4" cellpadding="4"
 
| '''Name''' || '''Read/Write''' || '''Description'''
 
| '''Name''' || '''Read/Write''' || '''Description'''
|-
 
| [[ALLCLIENTS]] ''command'' || W || Executes ''command'' on all clients inside the room boundaries.
 
 
|-
 
|-
 
| [[ANNOUNCE]] || RW || Gets or sets whether or not there will be an announcement when someone enters or exits the room.
 
| [[ANNOUNCE]] || RW || Gets or sets whether or not there will be an announcement when someone enters or exits the room.
Line 14: Line 29:
 
| [[ARENA]] || RW || Gets or sets whether or not the room is considered to be an arena.
 
| [[ARENA]] || RW || Gets or sets whether or not the room is considered to be an arena.
 
|-
 
|-
| [[BUILDABLE]] || RW || Gets or sets whether or not players can place buildings in the room.
+
| [[BUILDABLE]] || RW || Gets or sets whether or not players can place buildings and ships in the room.
 
|-
 
|-
| [[CLIENTS]] || R || Gets the total number of clients that are inside the sectors that touch the room.
+
| [[EVENTS (Property)|EVENTS]] ''regiontype_defname'' || W || Adds a region event to the region.
 
|-
 
|-
 
| [[FLAGS]] || RW || Gets or sets the room's attributes.
 
| [[FLAGS]] || RW || Gets or sets the room's attributes.
Line 24: Line 39:
 
| [[GROUP]] || RW || Gets or sets a group name for the room.
 
| [[GROUP]] || RW || Gets or sets a group name for the room.
 
|-
 
|-
| [[GUARDED]] || RW | Gets or sets whether or not guards can be called within the room.
+
| [[GUARDED]] || RW || Gets or sets whether or not guards can be called within the room.
 
|-
 
|-
 
| [[MAGIC]] || RW || Gets or sets whether or not there is an anti-magic field in the room.
 
| [[MAGIC]] || RW || Gets or sets whether or not there is an anti-magic field in the room.
|-
 
| [[MAP]] || R || Gets the map that the room exists on.
 
 
|-
 
|-
 
| [[MARK]] || RW || Gets or sets whether or not casting the mark spell is allowed in the room.
 
| [[MARK]] || RW || Gets or sets whether or not casting the mark spell is allowed in the room.
Line 48: Line 61:
 
| [[RECALLOUT]] || RW || Gets or sets whether players can recall out of the room.
 
| [[RECALLOUT]] || RW || Gets or sets whether players can recall out of the room.
 
|-
 
|-
| [[RECT]] || R || Gets the number of rectangles that this room is made from.
+
| [[SAFE]] || RW || Gets or sets whether or not the room is a safe zone.
 
|-
 
|-
| [[RECT]]''.n'' || R || Gets the nth rectangle that this room is made from.
+
| [[TAG]]''.name'' || RW || Gets or sets the value of a TAG.
 
|-
 
|-
| [[SAFE]] || RW || Gets or sets whether or not the room is a safe zone.
+
| [[UNDERGROUND]] || RW || Gets or sets whether or not the room is considered to be underground.
 +
|}
 +
 
 +
==Triggers==
 +
Within the room definition the following properties are also available to customise the behaviour of the area.
 +
 
 +
{| border="1" cellspacing="4" cellpadding="4"
 +
| '''Trigger''' || '''Description'''
 +
|-
 +
| [[@Enter]] || Fires when a room is entered (56c)
 
|-
 
|-
| [[UID]] || R || Gets the room's unique ID in the world.
+
| [[@Exit]] || Fires when a room is exited (56c)
 
|-
 
|-
| [[UNDERGROUND]] || RW || Gets or sets whether or not the room is considered to be underground.
+
| [[@Step]] || Fires when a step is taken inside a room (56c)
 
|}
 
|}
 +
 +
 +
==Examples==
 +
 +
<spherescript>
 +
//
 +
// A House in Minoc, from the default script pack.
 +
//
 +
[ROOMDEF a_house_1]
 +
NAME=House
 +
GROUP=Minoc
 +
FLAGS=04000
 +
P=2484,472,0,0
 +
RECT=2479,463,2489,481,0
 +
RECT=2489,471,2497,481,0
 +
</spherescript>
 +
 +
<spherescript>
 +
//
 +
// A Secret Cave, from the default script pack.
 +
//
 +
[ROOMDEF a_secret_cave_1]
 +
NAME=Secret Cave
 +
GROUP=Hidden Valley
 +
P=1653,2967,0,0
 +
RECT=1648,2957,1658,2977,0
 +
</spherescript>
  
 
[[Category: Reference Compendium]]
 
[[Category: Reference Compendium]]
[[Category: Objects]]
+
[[Category: Definitions]]

Latest revision as of 15:48, 16 September 2017

Within regions you can also define rooms, which are basically 'sub-regions' that exist inside the area which may represent buildings within a town or a boss room within a dungeon. Rooms are almost identical to region.

Sphere 56b

ROOMDEF  cannot possess events, triggers or tags.

Since Sphere56c (20 July 2013)

ROOMDEF can have events, triggers and tags.

The syntax for defining a room is as follows:


[ROOMDEF defname]
RECT=left, top, right, bottom, map
RECT=left, top, right, bottom, map
RECT=left, top, right, bottom, map


Properties

Within the room definition the following properties are also available to customise the behaviour of the area.

Name Read/Write Description
ANNOUNCE RW Gets or sets whether or not there will be an announcement when someone enters or exits the room.
ARENA RW Gets or sets whether or not the room is considered to be an arena.
BUILDABLE RW Gets or sets whether or not players can place buildings and ships in the room.
EVENTS regiontype_defname W Adds a region event to the region.
FLAGS RW Gets or sets the room's attributes.
GATE RW Gets or sets whether or not casting the gate travel spell is allowed in the room.
GROUP RW Gets or sets a group name for the room.
GUARDED RW Gets or sets whether or not guards can be called within the room.
MAGIC RW Gets or sets whether or not there is an anti-magic field in the room.
MARK RW Gets or sets whether or not casting the mark spell is allowed in the room.
NAME RW Gets or sets the name of the room.
NOBUILD RW Gets or sets whether or not players can place buildings in the room.
NODECAY RW Gets or sets whether or not items will decay in the room.
NOPVP RW Gets or sets whether or not PvP combat is allowed in the room.
P RW Gets or sets the location of the room (used when using the GO command).
RECALL RW Gets or sets whether or not casting the recall spell is allowed in the room.
RECALLIN RW Gets or sets whether or not it is possible to use the recall spell to enter the room.
RECALLOUT RW Gets or sets whether players can recall out of the room.
SAFE RW Gets or sets whether or not the room is a safe zone.
TAG.name RW Gets or sets the value of a TAG.
UNDERGROUND RW Gets or sets whether or not the room is considered to be underground.

Triggers

Within the room definition the following properties are also available to customise the behaviour of the area.

Trigger Description
@Enter Fires when a room is entered (56c)
@Exit Fires when a room is exited (56c)
@Step Fires when a step is taken inside a room (56c)


Examples

//
// A House in Minoc, from the default script pack.
//
[ROOMDEF a_house_1]
NAME=House
GROUP=Minoc
FLAGS=04000
P=2484,472,0,0
RECT=2479,463,2489,481,0
RECT=2489,471,2497,481,0
//
// A Secret Cave, from the default script pack.
//
[ROOMDEF a_secret_cave_1]
NAME=Secret Cave
GROUP=Hidden Valley
P=1653,2967,0,0
RECT=1648,2957,1658,2977,0