Area Program Commands
This page documents all 44 commands available in area programs. For detailed syntax and examples of shared commands, see the Shared Commands Reference. This page provides a quick reference plus context for how each command works in the area program context.
Table of Contents
- Command Quick Reference
- What Area Programs Cannot Do
- Command Details
- alterroom
- call
- churchannouncetheft
- dungeoncommence
- dungeoncomplete
- dungeonfailure
- echoat
- event
- instancecomplete
- instancefailure
- mload
- mute
- oload
- phaseevent
- quest
- questechoat
- reckoning
- resetroom
- sendfloor
- specialkey
- stageevent
- startevent
- startreckoning
- stopevent
- stopreckoning
- treasuremap
- unlockarea
- unlockdungeon
- unmute
- varclear
- varclearon
- varcopy
- varsave
- varsaveon
- varset
- varseton
- wildernessmap
- wildsanchor
- wildsoverlay
- wildstile
- wildsvlink
- wiznet
- xcall
- Commands by Category
All area program commands use the
areaprefix. For example:area echo,area mload,area varset.
Quest programs share this exact command table. Every command listed here is also available in quest programs (with the
questprefix). The engine dispatches both area and quest scripts through the same command table.
Command Quick Reference
All 44 commands available in area programs:
| Command | Description | Restricted |
|---|---|---|
alterroom | Modify properties of a room (flags, sector, name, etc.) | yes |
call | Call another script as a subroutine with return value | yes |
churchannouncetheft | Announce a theft to members of a church/religion | yes |
dungeoncommence | Start/begin a dungeon encounter or phase | yes |
dungeoncomplete | Mark a dungeon as successfully completed | yes |
dungeonfailure | Mark a dungeon as failed | yes |
echoat | Send a message to a specific target character | yes |
event | Interact with the event system | yes |
instancecomplete | Mark the current dungeon instance as completed | yes |
instancefailure | Mark the current dungeon instance as failed | yes |
mail | Send an in-game mail message to a player | yes |
mload | Load/create a mobile by vnum into the game world | yes |
mute | Mute a character (prevent them from speaking) | yes |
oload | Load/create an object by vnum into the game world | yes |
phaseevent | Advance an event to its next phase | yes |
quest | Interact with the quest system | yes |
questechoat | Send a quest-related message to a character | yes |
reckoning | Trigger a reckoning event | yes |
resetroom | Reset a room to its default/template state | yes |
sendfloor | Send a dungeon floor transition to players | yes |
specialkey | Create or manage a special key item (dungeon keys) | yes |
stageevent | Advance an event to its next stage (alias for phaseevent) | yes |
startevent | Start a world/area event | yes |
startreckoning | Start a reckoning world event sequence | yes |
stopevent | Stop/end an active world/area event | yes |
stopreckoning | Stop an active reckoning event | yes |
treasuremap | Create or interact with a treasure map item | yes |
unlockarea | Unlock a locked area (make it accessible) | yes |
unlockdungeon | Unlock a dungeon (make it accessible to players) | yes |
unmute | Unmute a previously muted character | yes |
varclear | Clear/delete a variable from the area | yes |
varclearon | Clear a variable on a different entity | yes |
varcopy | Copy a variable from one name to another | yes |
varsave | Mark a variable for persistent save | yes |
varsaveon | Mark a variable on a different entity for persistent save | yes |
varset | Set a variable value on the area | yes |
varseton | Set a variable on a different entity | yes |
wildernessmap | Generate or modify a wilderness map overlay | yes |
wildsanchor | Set an anchor point on the wilderness map | yes |
wildsoverlay | Apply a tile overlay to the wilderness map | yes |
wildstile | Set or modify a specific wilderness tile | yes |
wildsvlink | Create a virtual link between wilderness and interior rooms | yes |
wiznet | Send a message to the immortal channel | yes |
xcall | Execute a cross-entity script call | yes |
All area commands are restricted — they require elevated script security to execute. This prevents untrusted scripts from modifying zone-wide state.
What Area Programs Cannot Do
Compared to mob programs (167 commands), area programs have a deliberately limited set. Notably absent:
- No
echo— Useechoatto message specific players, or use mob/room programs for room-level messages - No movement commands — No
goto,transfer,teleport(areas don’t have a location) - No combat commands — No
kill,damage,cast,assist(areas can’t fight) - No object manipulation — No
give,take,junk,purge(use mob programs for these) - No affect commands — No
addaffect,stripaffect(target through mob/token programs) - No self-modification — No
appear,disappear,selfdestruct
This is intentional. Area programs coordinate zone-wide behavior; detailed entity interaction belongs in mob, object, room, or token programs. Use area call or area xcall to delegate to entity-level scripts.
Command Details
alterroom
area alterroom <room vnum> <field> <value>
Modify properties of a room within the area — flags, sector type, name, description, etc. See Shared Commands: alterroom for full field list.
Example:
** Collapse a mine entrance during the reckoning
area alterroom 3045 addflag dark
area alterroom 3045 sector underground
call
area call <script vnum> [arguments]
Call another area script as a subroutine. The called script runs immediately, and execution returns to the caller when it finishes. The called script can set lastreturn to pass a value back.
Example:
** Call a shared utility script to check zone state
area call 12400
if lastreturn == 1
area echoat $n The zone is ready for the event.
endif
See Shared Commands: call for full details.
churchannouncetheft
area churchannouncetheft <church name> <thief name>
Announce a theft to all online members of a church or religious organization. Used by anti-theft systems in church-controlled areas.
See Shared Commands: churchannouncetheft for full details.
dungeoncommence
area dungeoncommence
Signal that a dungeon encounter or phase should begin. Used in dungeon orchestration scripts to transition from setup to active gameplay.
See Shared Commands: dungeoncommence for full details.
dungeoncomplete
area dungeoncomplete
Mark the current dungeon as successfully completed. Triggers completion rewards and cleanup.
See Shared Commands: dungeoncomplete for full details.
dungeonfailure
area dungeonfailure
Mark the current dungeon as failed. Triggers failure handling and cleanup.
See Shared Commands: dungeonfailure for full details.
echoat
area echoat <target> <message>
Send a message to a specific character. This is the primary output command for area programs — since areas have no inherent room, you must target messages to specific players.
Example:
** Send a personalized message to a player
area echoat $n {YYou feel the land itself watching you...{x
See Shared Commands: echoat for full details.
event
area event <subcommand> [arguments]
Interact with the event system — create, modify, query, or manage events. Events are zone-level or world-level occurrences that can span multiple areas and trigger cascading scripts.
See Shared Commands: startevent for event lifecycle commands.
instancecomplete
area instancecomplete
Mark the current dungeon instance as completed. Similar to dungeoncomplete but operates on the instance level rather than the dungeon template.
See Shared Commands: instancecomplete for full details.
instancefailure
area instancefailure
Mark the current dungeon instance as failed.
See Shared Commands: instancefailure for full details.
area mail <recipient> <subject>~<body>~
Send an in-game mail message to a player. Useful for notifying players about zone events, quest updates, or administrative messages triggered by area scripts.
Example:
** Notify a player that their land claim has expired
area mail $n Land Claim Expired~Your claim in the Northern Forest has expired due to inactivity.~
See Shared Commands: mail for full details.
mload
area mload <mob vnum> <room vnum>
Load a mobile into a specific room. In area programs, you must specify the destination room since the area has no inherent location.
Example:
** Spawn a patrol guard at the north gate
area mload 5032 3001
See Shared Commands: mload for full details.
mute
area mute <target>
Mute a character, preventing them from using communication channels. Useful for scripted silence effects or enforcing zone rules.
See Shared Commands: mute for full details.
oload
area oload <obj vnum> <room vnum>
Load an object into a specific room. Like mload, the destination room must be specified explicitly in area programs.
Example:
** Place a quest item in the treasure chamber
area oload 7200 3050
See Shared Commands: oload for full details.
phaseevent
area phaseevent <event id>
Advance an event to its next phase. Events progress through phases, each of which can trigger different scripts and behavior.
See Shared Commands: phaseevent for full details.
quest
area quest <subcommand> [arguments]
Interact with the quest system — start quests, complete objectives, set steps, and manage quest state for players.
Example:
** Complete a zone-wide quest objective for all participants
area quest complete 5001 $n
questechoat
area questechoat <target> <message>
Send a quest-related message to a specific character. Functions like echoat but is categorized as quest output, which may be filtered differently by client settings.
Example:
area questechoat $n {GQuest Update: The forest has been cleansed!{x
reckoning
area reckoning <subcommand> [arguments]
Trigger or interact with the reckoning event system. Reckonings are major world events that affect entire zones.
See Shared Commands: reckoning for full details.
resetroom
area resetroom <room vnum>
Reset a specific room to its default template state — restoring mobs, objects, exits, and flags to their original values.
Example:
** Reset the boss chamber after the event ends
area resetroom 3099
See Shared Commands: resetroom for full details.
sendfloor
area sendfloor <arguments>
Send a dungeon floor transition to players, moving them between floors in a multi-level dungeon instance.
See Shared Commands: sendfloor for full details.
specialkey
area specialkey <arguments>
Create or manage a special key item used in dungeon mechanics. Special keys are temporary items that unlock specific dungeon doors or triggers.
See Shared Commands: specialkey for full details.
stageevent
area stageevent <event id>
Advance an event to its next stage. This is an alias for phaseevent — both commands are identical in function.
See Shared Commands: phaseevent for full details.
startevent
area startevent <event vnum> [arguments]
Start a world or area event. Events are multi-phase scripted occurrences that can spawn mobs, modify rooms, and drive narrative across the zone.
Example:
** Start the harvest festival event
area startevent 9001
area echoat $n {GThe Harvest Festival has begun!{x
See Shared Commands: startevent for full details.
startreckoning
area startreckoning <arguments>
Start a reckoning world event sequence. This triggers the prereckoning phase first, then transitions to the active reckoning phase.
See Shared Commands: startreckoning for full details.
stopevent
area stopevent <event id>
Stop an active world or area event, ending all associated triggers and cleanup.
See Shared Commands: stopevent for full details.
stopreckoning
area stopreckoning
Stop an active reckoning event, ending the reckoning phase and ceasing all reckoning triggers.
See Shared Commands: stopreckoning for full details.
treasuremap
area treasuremap <arguments>
Create or interact with a treasure map item. Treasure maps lead players to hidden locations in the wilderness.
See Shared Commands: treasuremap for full details.
unlockarea
area unlockarea <area vnum>
Unlock a locked area, making it accessible to players. Areas can be locked to prevent entry until certain conditions are met.
Example:
** Unlock the forbidden zone after the ritual completes
area unlockarea 50
area echoat $n {YThe magical barrier around the Forbidden Zone shimmers and fades!{x
See Shared Commands: unlockarea for full details.
unlockdungeon
area unlockdungeon <dungeon vnum>
Unlock a dungeon, making it accessible to players who meet the entry requirements.
See Shared Commands: unlockdungeon for full details.
unmute
area unmute <target>
Unmute a previously muted character, restoring their ability to use communication channels.
See Shared Commands: unmute for full details.
varclear
area varclear <variable name>
Clear (delete) a script variable from the area entity. The variable is removed entirely, not just set to zero.
Example:
** Clean up event state after the event ends
area varclear event_stage
area varclear wave_count
area varclear merchant_spawned
See Shared Commands: varclear for full details.
varclearon
area varclearon <target type> <target id> <variable name>
Clear a variable on a different entity — a mob, room, token, quest, or event.
See Shared Commands: varclearon for full details.
varcopy
area varcopy <source variable> <destination variable>
Copy a variable value from one name to another on the area entity.
Example:
** Save the previous state before updating
area varcopy current_stage previous_stage
area varset current_stage 3
See Shared Commands: varcopy for full details.
varsave
area varsave <variable name>
Mark a variable for persistent save. Persistent variables survive area resets and server reboots. Use this for long-term zone state.
Example:
** Track total completions across reboots
area varset total_completions $@(total_completions + 1)
area varsave total_completions
See Shared Commands: varsave for full details.
varsaveon
area varsaveon <target type> <target id> <variable name>
Mark a variable on a different entity for persistent save.
See Shared Commands: varsaveon for full details.
varset
area varset <variable name> <value>
Set a variable value on the area entity. Variables can store numbers, strings, or expressions.
Example:
** Track event progress
area varset invasion_phase 2
area varset defender_count $@(defender_count + 1)
area varset last_reset_time $T
See Shared Commands: varset for full details.
varseton
area varseton <target type> <target id> <variable name> <value>
Set a variable on a different entity — a mob, room, token, quest, or event.
See Shared Commands: varseton for full details.
wildernessmap
area wildernessmap <arguments>
Generate or modify a wilderness map overlay. Wilderness maps are large-scale outdoor environments rendered dynamically.
See Shared Commands: wildernessmap for full details.
wildsanchor
area wildsanchor <x> <y> <room vnum>
Set an anchor point on the wilderness map, linking a specific coordinate to an interior room. Anchors create entry points from the wilderness into buildings, caves, or other interior spaces.
See Shared Commands: wildsanchor for full details.
wildsoverlay
area wildsoverlay <arguments>
Apply a tile overlay to the wilderness map. Overlays change the visual appearance and properties of a region without modifying the base map.
See Shared Commands: wildsoverlay for full details.
wildstile
area wildstile <x> <y> <tile type>
Set or modify a specific tile on the wilderness map. Changes the terrain type at a given coordinate.
See Shared Commands: wildstile for full details.
wildsvlink
area wildsvlink <arguments>
Create a virtual link between a wilderness map coordinate and an interior room. Virtual links allow seamless transitions between the outdoor map and indoor areas.
See Shared Commands: wildsvlink for full details.
wiznet
area wiznet <message>
Send a message to the immortal communication channel (wiznet). Useful for debugging area scripts or notifying staff about zone events.
Example:
** Debug message for staff
area wiznet Area reset script fired — reset_count is now $@(reset_count)
See Shared Commands: wiznet for full details.
xcall
area xcall <entity type> <entity id> <script vnum> [arguments]
Execute a cross-entity script call — run a script on a different entity (mob, object, room, token) from within the area program. This is how area programs delegate detailed work to entity-level scripts.
Example:
** Tell the town crier mob to announce the event
area xcall mob 5001 12500 invasion_started
See Shared Commands: xcall for full details.
Commands by Category
Output
| Command | Purpose |
|---|---|
echoat | Message a specific player |
questechoat | Quest-flagged message to a player |
wiznet | Message to immortal channel |
mail | Send in-game mail |
Entity Creation
| Command | Purpose |
|---|---|
mload | Spawn a mobile in a room |
oload | Spawn an object in a room |
resetroom | Reset a room to defaults |
alterroom | Modify room properties |
Variables
| Command | Purpose |
|---|---|
varset | Set a variable |
varseton | Set variable on another entity |
varclear | Delete a variable |
varclearon | Delete variable on another entity |
varcopy | Copy variable to new name |
varsave | Mark variable as persistent |
varsaveon | Mark remote variable as persistent |
Script Control
| Command | Purpose |
|---|---|
call | Call a subroutine script |
xcall | Call a script on another entity |
Events & Reckonings
| Command | Purpose |
|---|---|
event | Interact with event system |
startevent | Start an event |
stopevent | End an event |
phaseevent | Advance event phase |
stageevent | Advance event stage (alias) |
reckoning | Reckoning interaction |
startreckoning | Begin a reckoning |
stopreckoning | End a reckoning |
Dungeons & Instances
| Command | Purpose |
|---|---|
dungeoncommence | Start dungeon encounter |
dungeoncomplete | Mark dungeon complete |
dungeonfailure | Mark dungeon failed |
instancecomplete | Mark instance complete |
instancefailure | Mark instance failed |
sendfloor | Floor transition |
specialkey | Manage dungeon keys |
unlockdungeon | Unlock a dungeon |
Wilderness
| Command | Purpose |
|---|---|
wildernessmap | Map overlay generation |
wildsanchor | Set map anchor point |
wildsoverlay | Apply tile overlay |
wildstile | Modify a map tile |
wildsvlink | Create interior link |
Other
| Command | Purpose |
|---|---|
churchannouncetheft | Church theft announcement |
treasuremap | Treasure map management |
unlockarea | Unlock a locked area |
mute | Mute a character |
unmute | Unmute a character |
quest | Quest system interaction |