Object Program Commands

This page lists every command available in object programs. All object program commands use the obj prefix. Most commands are shared across all entity types — for those, a brief description and a link to the Shared Commands Reference are provided. Commands that are unique to objects or that behave differently in object context receive full documentation here.

Table of Contents

How to Use This Reference

Every command follows this pattern:

obj <command> [arguments...]
  • $n refers to the character who triggered the script.
  • $i refers to the object itself (the script owner).
  • lastreturn is set by many commands (1 = success, 0 = failure). Check it with if lastreturn == 1.

For the full explanation of variables, quick codes, and color codes, see Variables and Tokens and Scripting Basics.


Output Commands

Commands that send messages to characters.

echo

Send a message to everyone in the object’s room. → Shared Reference

obj echo The sword hums with power.

echoat

Send a message to one specific target. → Shared Reference

obj echoat $n You feel the ring tighten around your finger.

echoaround

Send a message to everyone in the room except the target. → Shared Reference

obj echoaround $n $N's ring begins to glow.

echoroom

Send a message to a specific room (not necessarily the object’s room). → Shared Reference

obj echoroom 3001 A distant rumble echoes from the cavern.

gecho

Broadcast a message to all players in the game. → Shared Reference

obj gecho {RThe sky darkens as an ancient artifact awakens!{x

zecho

Send a message to all players in the same area. → Shared Reference

obj zecho {YA bell tolls three times from the temple.{x

echonotvict

Send a message to everyone in the room except the victim. → Shared Reference

obj echonotvict $(victim) $N is struck by the artifact's power!

echobattlespam

Send a combat-flagged message (respects player battlespam settings). → Shared Reference

obj echobattlespam {RSparks fly from the enchanted blade!{x

echochurch

Send a message to all online members of a church. → Shared Reference

obj echochurch $i {YThe relic speaks to the faithful.{x

echogroupat

Send a message to all members of the target’s group. → Shared Reference

obj echogroupat $n {CThe banner rallies your group!{x

echogrouparound

Send a message to the room except the target’s group. → Shared Reference

obj echogrouparound $n The enemy group's banner pulses with light.

echoleadat

Send a message to the group leader. → Shared Reference

obj echoleadat $n {YYour commander's insignia glows with authority.{x

echoleadaround

Send a message to everyone except the group leader. → Shared Reference

obj echoleadaround $n The leader's insignia flares with power.

asound

Send a message to all adjacent rooms (not the current room). → Shared Reference

obj asound A deep horn blast echoes from nearby.

crier

Make a town crier announce a message. → Shared Reference

obj crier Hear ye! The ancient artifact has been found!

mail

Send in-game mail to a player. → Shared Reference

obj mail $n The artifact whispers a message into your mailbox.

pageat

Send a paginated message to a target. → Shared Reference

obj pageat $n {CLong inscription text from the ancient tablet...{x

prompt

Display a custom prompt to a target. → Shared Reference

obj prompt $n {Y[Artifact Charge: 75%%]{x

wiznet

Send a message to the immortal wiznet channel. → Shared Reference

obj wiznet Debug: artifact triggered by $n in room $R

Entity Modification Commands

Commands that change properties of mobiles, objects, rooms, and exits.

alterobj

Modify object properties (values, flags, weight, etc.). → Shared Reference

obj alterobj $i v0 5
obj alterobj $i addname glowing

altermob

Modify mobile/NPC properties. → Shared Reference

obj altermob $n maxhp 500

alterroom

Modify room properties. → Shared Reference

obj alterroom $(here) addflag dark

alterexit

Modify exit properties. → Shared Reference

obj alterexit north flags remove closed

condition

Set or modify object condition/durability. → Shared Reference

obj condition $i 100

ed

Add or modify extra descriptions on an entity. → Shared Reference

obj ed $i runes Ancient runes cover the blade's surface.

resetdice

Reset dice or random values on an object. → Shared Reference

obj resetdice $i

stringmob

Modify mobile name, short, or long descriptions. → Shared Reference

obj stringmob $n short a battle-scarred warrior

stringobj

Modify object name, short, or long descriptions. → Shared Reference

obj stringobj $i short a {Rbloodstained{x dagger

setclass

Set a character’s class. → Shared Reference

obj setclass $n warrior

setclasslevel

Set a character’s level in a specific class. → Shared Reference

obj setclasslevel $n warrior 10

setposition

Set a character’s position (standing, sitting, sleeping, etc.). → Shared Reference

obj setposition $n sleeping

setrace

Set a character’s race. → Shared Reference

obj setrace $n elf

setrecall

Set a player’s recall (home) room. → Shared Reference

obj setrecall $n 3001

Affects and Auras

Commands that add, modify, or remove spell-like effects.

addaffect

Add a spell-like affect by skill number. → Shared Reference

obj addaffect $n 1 200 -2 17 0

addaffectname

Add a named affect (by string name). → Shared Reference

obj addaffectname $n fire_shield 100

addaura

Add a magical aura effect. → Shared Reference

obj addaura $n holy_aura 200

alteraffect

Modify an existing affect on a character. → Shared Reference

obj alteraffect $n fire_shield duration 300

applytoxin

Apply a poison or toxin effect. → Shared Reference

obj applytoxin $n venom 50

fixaffects

Recalculate all affects on a character. → Shared Reference

obj fixaffects $n

remaura

Remove a magical aura from a character. → Shared Reference

obj remaura $n holy_aura

stripaffect

Remove an affect by skill number. → Shared Reference

obj stripaffect $n 1

stripaffectname

Remove a named affect by string name. → Shared Reference

obj stripaffectname $n fire_shield

Combat Commands

Commands related to fighting, damage, and combat state.

damage

Inflict HP damage on a character. → Shared Reference

obj damage $n 50
obj damage $(victim) 100

gdamage

Inflict damage on an entire group. → Shared Reference

obj gdamage $n 25

entercombat

Force a character into combat. → Shared Reference

obj entercombat $n $(victim)

startcombat

Initiate combat between two characters. → Shared Reference

obj startcombat $n $(victim)

stopcombat

Force a character to stop fighting. → Shared Reference

obj stopcombat $n

peace

Stop all combat in the current room. → Shared Reference

obj peace

rawkill

Instantly kill a character (bypasses death processing). → Shared Reference

obj rawkill $n

interrupt

Interrupt a character’s current action (casting, etc.). → Shared Reference

obj interrupt $n

breathe

Force an entity to perform a breath attack. → Shared Reference

obj breathe $n fire

cast

Force the object’s context to cast a spell. This is one of the few commands that behaves specially for objects — the object itself can be the caster.

obj cast 'fireball' $(victim)
obj cast 'cure light' $n

zot

Smite a character with divine punishment. → Shared Reference

obj zot $n 500

flee

Force the holder to flee from combat. → Shared Reference

obj flee

Movement and Transfer

Commands that move characters and objects between locations.

goto

Teleport the object to a specified room. In object programs, this moves the object itself.

obj goto 3001

at

Execute a command at a different location without moving the object.

obj at 3001 obj echo A distant rumble is heard.

transfer

Teleport a character to a destination room. → Shared Reference

obj transfer $n 3001

gtransfer

Transfer an entire group to a destination. → Shared Reference

obj gtransfer $n 3001

otransfer

Transfer an object to a different location or character. → Shared Reference

obj otransfer $i $n
obj otransfer 3050 3001

Entity Creation and Destruction

Commands that create or remove entities.

oload

Load (create) an object by vnum. → Shared Reference

obj oload 3050
obj oload 3050 $n

mload

Load (create) a mobile by vnum. → Shared Reference

obj mload 3001

purge

Remove entities from the room. → Shared Reference

obj purge
obj purge 3050

junk

Silently destroy an object. In object programs, commonly used to destroy other objects or the object itself.

obj junk $i
obj junk $(obj1)

selfdestruct

Cause the object to destroy itself. This is the standard way for one-use items to clean themselves up after activation.

** Potion is consumed after use
obj echoat $n {GYou feel the healing energy flow through you.{x
obj restore $n
obj selfdestruct

Notes:

  • The script stops executing after selfdestruct — any commands after it will not run.
  • Use this for consumables, one-time quest items, and objects that should disappear after triggering.

remove

Remove/unequip an object from a character. → Shared Reference

obj remove $n

cloneroom

Create a dynamic copy of a room. → Shared Reference

obj cloneroom 3001 9001

destroyroom

Destroy a dynamically created room. → Shared Reference

obj destroyroom 9001

resetroom

Reset a room to its default state. → Shared Reference

obj resetroom 3001

loadinstanced

Load an entity into a dungeon instance context. → Shared Reference

obj loadinstanced 3001

makeinstanced

Convert an entity to instance-specific scope. → Shared Reference

obj makeinstanced $i

Skills, Spells, and Traits

Commands that modify character abilities.

addspell

Add a spell to a character’s spell list. → Shared Reference

obj addspell $n fireball

remspell

Remove a spell from a character’s spell list. → Shared Reference

obj remspell $n fireball

grantskill

Grant a character knowledge of a skill. → Shared Reference

obj grantskill $n dodge

revokeskill

Revoke a character’s knowledge of a skill. → Shared Reference

obj revokeskill $n dodge

grantsong

Grant a character knowledge of a bard song. → Shared Reference

obj grantsong $n lullaby

revokesong

Revoke a character’s knowledge of a bard song. → Shared Reference

obj revokesong $n lullaby

grantclass

Grant a character access to a class. → Shared Reference

obj grantclass $n ranger

revokeclass

Revoke a character’s access to a class. → Shared Reference

obj revokeclass $n ranger

skimprove

Trigger a skill improvement check. → Shared Reference

obj skimprove $n swordsmanship

addtrait

Add a trait (racial/class feature) to a character.

obj addtrait $n night_vision

adjusttrait

Adjust a trait’s value on a character.

obj adjusttrait $n strength_bonus 2

removetrait

Remove a trait from a character.

obj removetrait $n night_vision

settrait

Set a specific trait value on a character. → Shared Reference

obj settrait $n fire_resist 50

Character Resources

Commands that modify currency, experience, and vitals.

award

Award experience points or quest credit. → Shared Reference

obj award $n 500

deduct

Deduct currency, XP, or other resources. → Shared Reference

obj deduct $n gold 100

chargebank

Deduct money from a player’s bank account. → Shared Reference

obj chargebank $n 500

restore

Fully restore a character’s HP, mana, and movement. → Shared Reference

obj restore $n

wiretransfer

Transfer money between player bank accounts. → Shared Reference

obj wiretransfer $n merchant 1000

remort

Remort a character (rebirth at higher tier). → Shared Reference

obj remort $n

Variable Commands

Commands for storing and retrieving data. Variables are how objects remember state across trigger firings.

varset

Set a variable on the object. → Shared Reference

obj varset kill_count 0
obj varset last_user $n

varclear

Delete a variable from the object. → Shared Reference

obj varclear kill_count

varseton

Set a variable on a different entity. → Shared Reference

obj varseton $n has_artifact 1

varclearon

Clear a variable on a different entity. → Shared Reference

obj varclearon $n has_artifact

varcopy

Copy a variable value to a new variable name. → Shared Reference

obj varcopy old_count new_count

persist

Mark a variable for persistent storage (survives reboots). → Shared Reference

obj persist kill_count

varsave

Mark a variable for persistent save. → Shared Reference

obj varsave kill_count

varsaveon

Mark a variable on a different entity for persistent save. → Shared Reference

obj varsaveon $n quest_progress

Script Control

Commands that control script execution flow.

call

Call another script as a subroutine. → Shared Reference

obj call 3001 argument1 argument2

xcall

Execute a cross-entity script call. → Shared Reference

obj xcall $(victim) 3005

delay

Set a delay timer (in pulses). When the delay expires, the delay trigger fires. → Shared Reference

obj delay 10

cancel

Cancel a previously set delay timer. → Shared Reference

obj cancel

queue

Schedule a command for delayed execution. → Shared Reference

obj queue 5 obj echo {RBoom!{x

dequeue

Remove all queued events owned by this entity. → Shared Reference

obj dequeue

input

Queue a command as if the entity typed it. → Shared Reference

obj input drop all

inputstring

Send raw input as if typed. → Shared Reference

obj inputstring say Hello there!

scriptwait

Pause script execution for a duration. In object programs, this pauses the current script and resumes after the specified time.

obj scriptwait 3
obj echo {xThree seconds later...{x

settimer

Set a countdown timer on a token or entity. → Shared Reference

obj settimer bomb_timer 30

Script Entity Management

Commands for managing script attachment and memory.

attach

Attach a script program to an entity. → Shared Reference

obj attach 3005

detach

Detach a script program from an entity. → Shared Reference

obj detach 3005

remember

Store a target in the object’s memory for later reference. → Shared Reference

obj remember $n

forget

Clear the object’s remembered target. → Shared Reference

obj forget

Force Commands

Commands that make characters perform actions.

force

Force a character to execute a command. → Shared Reference

obj force $n say I cannot resist the artifact's command!

gforce

Force all members of a group to execute a command. → Shared Reference

obj gforce $n stand

vforce

Force all instances of a mobile vnum to execute a command. → Shared Reference

obj vforce 3001 say The artifact commands us!

group

Force grouping operations. → Shared Reference

obj group $n add $(victim)

ungroup

Force a character to leave their group. → Shared Reference

obj ungroup $n

Quest Commands

Commands for the quest system.

questaccept

Accept or begin a quest for a player. → Shared Reference

obj questaccept $n 100

questcomplete

Mark a quest as completed. → Shared Reference

obj questcomplete $n 100

questcancel

Cancel an active quest. → Shared Reference

obj questcancel $n 100

questgenerate

Procedurally generate a random quest. → Shared Reference

obj questgenerate $n

questpartcustom

Add a custom quest objective. → Shared Reference

obj questpartcustom 100 Speak the ancient password

questpartgetitem

Add a “collect item” quest objective. → Shared Reference

obj questpartgetitem 100 3050 5

questpartgoto

Add a “go to location” quest objective. → Shared Reference

obj questpartgoto 100 3001

questpartrescue

Add a “rescue NPC” quest objective. → Shared Reference

obj questpartrescue 100 3010

questpartslay

Add a “kill mob” quest objective. → Shared Reference

obj questpartslay 100 3005 10

questscroll

Create a quest scroll item for a player. → Shared Reference

obj questscroll $n 100

questsetindex

Set the quest step/index. Available on objects, rooms, and tokens.

obj questsetindex 100 3

Dungeon and Instance Commands

Commands for the dungeon and instance systems.

spawndungeon

Create and initialize a new dungeon instance. → Shared Reference

obj spawndungeon 5001

dungeoncommence

Start the dungeon encounter phase. → Shared Reference

obj dungeoncommence 5001

dungeoncomplete

Mark a dungeon as successfully completed. → Shared Reference

obj dungeoncomplete 5001

dungeonfailure

Mark a dungeon as failed. → Shared Reference

obj dungeonfailure 5001

instancecomplete

Mark the current instance as completed. → Shared Reference

obj instancecomplete

instancefailure

Mark the current instance as failed. → Shared Reference

obj instancefailure

checkpoint

Set a dungeon checkpoint for respawning. → Shared Reference

obj checkpoint 5010

sendfloor

Send a dungeon floor transition. → Shared Reference

obj sendfloor 2

showroom

Display a remote room description to a player (scrying). → Shared Reference

obj showroom 3001 $n

specialkey

Create or manage a special key item. → Shared Reference

obj specialkey ancient_key

unlockarea

Unlock a locked area. → Shared Reference

obj unlockarea 50

unlockdungeon

Unlock a dungeon (make it accessible). → Shared Reference

obj unlockdungeon 5001

Event and Reckoning Commands

Commands for the world event system.

event

Interact with the event system. → Shared Reference

obj event start festival

startevent

Start a world or area event. → Shared Reference

obj startevent 200

stopevent

Stop an active event. → Shared Reference

obj stopevent 200

phaseevent

Advance an event to the next phase. → Shared Reference

obj phaseevent 200

reckoning

Trigger a reckoning world event. → Shared Reference

obj reckoning start

startreckoning

Start a reckoning event sequence. → Shared Reference

obj startreckoning 1

stopreckoning

Stop an active reckoning event. → Shared Reference

obj stopreckoning 1

Lock Commands

Commands for managing locks on doors and containers.

lockadd

Add a lock to a door or container. → Shared Reference

obj lockadd north 3050

lockremove

Remove a lock from a door or container. → Shared Reference

obj lockremove north

Create or modify an exit link between rooms. → Shared Reference

obj link north 3002

Appearance and Social

addstache

Add a cosmetic customization to a character. → Shared Reference

obj addstache $n handlebar

remstache

Remove a cosmetic customization. → Shared Reference

obj remstache $n handlebar

fade

Gradually make the object disappear (fade-out effect). → Shared Reference

obj fade 5

Player Management

mute

Prevent a character from speaking. → Shared Reference

obj mute $n

unmute

Unmute a previously muted character. → Shared Reference

obj unmute $n

saveplayer

Force-save a player character to disk. → Shared Reference

obj saveplayer $n

showcommand

Display command output to a player without executing. → Shared Reference

obj showcommand $n score

Religion and Organization

churchannouncetheft

Announce a theft to church members. → Shared Reference

obj churchannouncetheft temple The sacred relic has been stolen!

shop

Interact with the shop system. → Shared Reference

obj shop list $n

Catalyst and Alchemy

usecatalyst

Consume a catalyst and check requirements. → Shared Reference

obj usecatalyst 3080

Wilderness

Commands for the wilderness map system.

treasuremap

Create or interact with a treasure map. → Shared Reference

obj treasuremap $n 150 200

wildernessmap

Generate or modify a wilderness map overlay. → Shared Reference

obj wildernessmap generate

wildsanchor

Set an anchor point on the wilderness map. → Shared Reference

obj wildsanchor 150 200

wildsoverlay

Apply a tile overlay to the wilderness map. → Shared Reference

obj wildsoverlay add forest 150 200

wildstile

Set or modify a wilderness tile. → Shared Reference

obj wildstile 150 200 mountain

Create a virtual link between wilderness and interior rooms. → Shared Reference

obj wildsvlink 150,200 3001

Command Quick Reference

Alphabetical list of all 162 object program commands:

Command Category Command Category
addaffect Affects mload Creation
addaffectname Affects mute Player Mgmt
addaura Affects oload Creation
addspell Skills otransfer Movement
addstache Appearance pageat Output
addtrait Skills peace Combat
adjusttrait Skills persist Variables
alteraffect Affects phaseevent Events
alterexit Modification prompt Output
altermob Modification purge Creation
alterobj Modification questaccept Quest
alterroom Modification questcancel Quest
applytoxin Affects questcomplete Quest
asound Output questgenerate Quest
at Movement questpartcustom Quest
attach Script Mgmt questpartgetitem Quest
award Resources questpartgoto Quest
breathe Combat questpartrescue Quest
call Script Control questpartslay Quest
cancel Script Control questscroll Quest
cast Combat questsetindex Quest
chargebank Resources queue Script Control
checkpoint Dungeon rawkill Combat
churchannouncetheft Religion reckoning Events
cloneroom Creation remember Script Mgmt
condition Modification remort Resources
crier Output remove Creation
damage Combat removetrait Skills
deduct Resources remspell Skills
delay Script Control remstache Appearance
dequeue Script Control resetdice Modification
destroyroom Creation resetroom Creation
detach Script Mgmt restore Resources
dungeoncommence Dungeon revokeclass Skills
dungeoncomplete Dungeon revokeskill Skills
dungeonfailure Dungeon revokesong Skills
echo Output saveplayer Player Mgmt
echoaround Output scriptwait Script Control
echoat Output selfdestruct Creation
echobattlespam Output sendfloor Dungeon
echochurch Output setclass Modification
echogrouparound Output setclasslevel Modification
echogroupat Output setposition Modification
echoleadaround Output setrace Modification
echoleadat Output setrecall Modification
echonotvict Output settimer Script Control
echoroom Output settrait Skills
ed Modification shop Religion
entercombat Combat showcommand Player Mgmt
event Events showroom Dungeon
fade Appearance skimprove Skills
fixaffects Affects spawndungeon Dungeon
flee Combat specialkey Dungeon
force Force startcombat Combat
forget Script Mgmt startevent Events
gdamage Combat startreckoning Events
gecho Output stopcombat Combat
gforce Force stopevent Events
goto Movement stopreckoning Events
grantclass Skills stringmob Modification
grantskill Skills stringobj Modification
grantsong Skills stripaffect Affects
group Force stripaffectname Affects
gtransfer Movement transfer Movement
input Script Control treasuremap Wilderness
inputstring Script Control ungroup Force
instancecomplete Dungeon unlockarea Dungeon
instancefailure Dungeon unlockdungeon Dungeon
interrupt Combat unmute Player Mgmt
junk Creation usecatalyst Alchemy
link Exits varclear Variables
loadinstanced Creation varclearon Variables
lockadd Locks varcopy Variables
lockremove Locks varsave Variables
mail Output varsaveon Variables
makeinstanced Creation varset Variables
wildernessmap Wilderness varseton Variables
wildsanchor Wilderness vforce Force
wildsoverlay Wilderness wiretransfer Resources
wildstile Wilderness wiznet Output
wildsvlink Wilderness xcall Script Control
zecho Output zot Combat