All 92 commands the assistant registers. Commands do
things; to read state and decide whether to do them, see the
expressions.
This list is generated from the assistant itself. If a command is here, it is
registered; if it is missing, it does not exist. Anything that cannot work on
UOSagas is marked and explained rather than quietly omitted.
Targeting
attack
attack (serial)
Attacks a specific serial, or a variable holding one. If the serial is already your last target, this repeats the last attack instead.
Parameter
Meaning
serial
Mobile to attack, or a variable that resolves to one.
Example
attack0x2AB4attack'attackdummy'
lasttarget
lasttarget
Answers the cursor with whatever Razor has stored as Last Target.
Targets a serial directly, or picks a mobile by proximity. Notoriety accepts a comma list (any match) or an exclamation list (priority order: try the first, fall back to the next). Type narrows to 'humanoid' or 'monster'. Also takes 'cancel' and 'clear'.
Parameter
Meaning
serial | mode
A serial, or closest / random / next / prev / cancel / clear.
Answers a ground target cursor with a fixed world location.
Parameter
Meaning
x
World X.
y
World Y.
z optional
World Z. Defaults to 0.
Example
cast'fire field'waitfortargettargetloc592311450
targetrelloc
targetrelloc (x-offset) (y-offset)
Answers a ground target cursor at an offset from your own position.
Parameter
Meaning
x-offset
Tiles east (positive) or west (negative).
y-offset
Tiles south (positive) or north (negative).
Example
cast'fire field'waitfortargettargetrelloc11
On UOSagas: The target uses your own Z rather than the height of the tile you are aiming at, because Razor has no access to the map files. This is fine on flat ground. On stairs or multi-level terrain it can miss.
Stops Razor's pending lift/drop actions without dropping what you hold.
Example
cleardragdrop
clearhands
clearhands ('left' | 'right' | 'both')
Moves the item in the named hand back to your backpack.
Parameter
Meaning
hand
left, right, both (or 'hands').
Example
clearhands'both'dclicktype'bandage'
dclick
dclick (serial) | dclick ('left'/'right'/'hands')
Uses (double-clicks) a specific item or mobile. Instead of a serial you can pass 'left', 'right' or 'hands' to use what you are holding. 'useobject' is an alias.
Finds an item by Tiledata name or graphic ID and uses it. It is the acting twin of findtype and takes the same arguments. Falls back to mobiles if no item matches. 'usetype' is an alias.
Uses (double-clicks) a specific item or mobile. Instead of a serial you can pass 'left', 'right' or 'hands' to use what you are holding. 'useobject' is an alias.
Finds an item by Tiledata name or graphic ID and uses it. It is the acting twin of findtype and takes the same arguments. Falls back to mobiles if no item matches. 'usetype' is an alias.
Parameter
Meaning
'name' | graphic
Tiledata name (supports the %s% plural wildcard) or graphic ID.
source optional
backpack, self (worn, including container contents), ground, a container serial, or true/false for the CE range check. 'any' skips the slot.
Sets a weapon ability or special move. Defaults to 'on' when you omit the state.
Parameter
Meaning
ability
primary, secondary, stun or disarm.
'on' | 'off' optional
Defaults to on. 'off' clears the armed ability.
Example
setability'primary'setability stun
setability'primary' off
setskill
setskill ('skill name') ('up' | 'down' | 'lock')
Changes whether a skill goes up, goes down, or is locked, the same as clicking the arrow in the skills window. Works on any skill, not just usable ones.
Parameter
Meaning
'skill name'
Skill name with spaces removed, e.g. blacksmithing.
'up' | 'down' | 'lock'
New lock state.
Example
setskill'blacksmithing' up
setskill'mining' lock
skill
skill ('name of skill' | 'last')
Invokes a usable skill, the same as clicking its button in the skills window. Pass 'last' to repeat the previous one. 'useskill' is an alias.
Cancels the target cursor, empties the action queues and drops whatever you are holding. A good first line for a script that must start from a known state.
Example
clearallcast'greater heal'
hotkey
hotkey ('name of hotkey')
Executes a hotkey exactly as if you pressed it. This is the bridge to everything the assistant can do that has no command of its own. Use the name shown on the Hot Keys tab.
Parameter
Meaning
'name of hotkey'
Display name, exactly as on the Hot Keys tab. A numeric index also works.
On UOSagas: The duration is in milliseconds. Older scripts that pass seconds keep working: a value below 100 is read as seconds. The on-screen cooldown bar is not implemented yet, but the timer itself works.
Appends to the back by default. Add ! to only push when the value is not already in the list.
Parameter
Meaning
'list name'
Target list.
'element'
Value to add.
'front' | 'back' optional
Where to insert. Defaults to back.
Example
createlist'ore'pushlist'ore'0x19B9pushlist! 'ore'0x19B9// ! = only if not already present
removelist
removelist ('list name')
Destroys the list entirely. listexists will report false afterwards.
Parameter
Meaning
'list name'
Name of the list.
Example
removelist'ore'
removetimer
removetimer ('timer name')
Destroys the timer. timerexists reports false afterwards.
Parameter
Meaning
'timer name'
Name of the timer.
Example
removetimer'trip'
settimer
settimer ('timer name') (value)
Sets the elapsed time in milliseconds, the same as starting it that long ago.
Parameter
Meaning
'timer name'
Name of the timer.
value
Milliseconds already elapsed.
Example
settimer'trip'5000
setvar
setvar ('name') [serial] [timeout]
With only a name, the script pauses and asks you to click a target. Pass a serial to set it without prompting. Variables are saved in your profile and survive a restart; add ! to make it script-local instead. 'setvariable' is an alias.
With only a name, the script pauses and asks you to click a target. Pass a serial to set it without prompting. Variables are saved in your profile and survive a restart; add ! to make it script-local instead. 'setvariable' is an alias.
On UOSagas: Not supported. The client is compiled ahead-of-time, so it has no reflection with which to reach profile properties. The command still parses and warns instead of breaking your script. We may route it through the assistant interface later.
Razor keeps a buffer of recent system messages for insysmsg and waitforsysmsg. This clears it. Do that before waiting for a message you expect soon, so an old one cannot match. 'clearjournal' is an alias.
Razor keeps a buffer of recent system messages for insysmsg and waitforsysmsg. This clears it. Do that before waiting for a message you expect soon, so an old one cannot match. 'clearjournal' is an alias.
Sets a ClassicUO profile property at runtime. 'cuo' is an alias.
Parameter
Meaning
setting
Profile property name.
value
New value.
Example
cuo'usecustomlight' true
On UOSagas: Not supported. The client is compiled ahead-of-time, so it has no reflection with which to reach profile properties. The command still parses and warns instead of breaking your script. We may route it through the assistant interface later.
Draws a private message over your character (or another mobile). Nobody else sees it; it is never sent to the server. Supports {{...}} interpolation: {{myvar}} inserts a variable, and an expression such as {{skill 'Alchemy'}} or {{hits}} inserts its current value. 'headmsg' is an alias.
Parameter
Meaning
'text'
Message. {{name}} inserts a variable; {{expression args}} inserts the expression's value, e.g. {{skill 'Alchemy'}} or {{hits}}.
hue optional
Text colour.
serial optional
Show it over this mobile instead of you.
Example
ifstam = 100overhead'ready to go!'68endifoverhead"Alchemy: {{skill 'Alchemy'}}"88overhead'hp {{hits}}/{{maxhits}}'
Draws a private message over your character (or another mobile). Nobody else sees it; it is never sent to the server. Supports {{...}} interpolation: {{myvar}} inserts a variable, and an expression such as {{skill 'Alchemy'}} or {{hits}} inserts its current value. 'headmsg' is an alias.
Prints a message in the lower-left of the client. Local only. Supports {{...}} interpolation: {{myvar}} inserts a variable, and an expression such as {{skill 'Alchemy'}} or {{hits}} inserts its current value. 'sysmessage' is an alias.
Parameter
Meaning
'text'
Message. {{name}} inserts a variable; {{expression args}} inserts the expression's value, e.g. {{skill 'Alchemy'}} or {{hits}}.
hue optional
Text colour.
Example
sysmsg'ready to go!'33sysmsg"Alchemy: {{skill 'Alchemy'}}"
Prints a message in the lower-left of the client. Local only. Supports {{...}} interpolation: {{myvar}} inserts a variable, and an expression such as {{skill 'Alchemy'}} or {{hits}} inserts its current value. 'sysmessage' is an alias.