| Word |
Stack |
Synopsis |
!
|
a -- bool
|
Pushes 1 if a is zero, else
0
|
!=
|
a b -- bool
|
Pushes 1 if a is zero, else
0
|
#
|
--
|
Rest of line is a
comment
|
%
|
a b -- m
|
Pushes the remainder (modulus) of
a/b
|
%=
|
v sym --
|
Divides contents of sym by v and
stores remainder in sym
|
&
|
"a" "b" -- "ab"
|
Pushes the concatenation of a and
b
|
*
|
a b -- p
|
Pushes the product of
a*b
|
*=
|
v sym --
|
Multiplies v by the contents of
sym and stores result in sym
|
+
|
a b -- s
|
Pushes the sum of a+b
|
+
|
"a" "b" -- "ab"
|
Pushes the concatenation of a and
b
|
++
|
sym --
|
Adds 1 to the contents of sym and
stores result in sym
|
+=
|
v sym --
|
Adds v to the contents of sym and
stores result in sym
|
+=
|
"s" sym --
|
Appends "s" to the string value of
sym and stores result in sym
|
-
|
a b -- d
|
Pushes the difference
a-b
|
--
|
sym --
|
Subtracts 1 from the contents of
sym and stores result in sym
|
-=
|
v sym --
|
Subtracts v from the contents of
sym and stores result in sym
|
/
|
a b -- id
|
Pushes the integer dividend of
a/b
|
/=
|
v sym --
|
Divides contents of sym by v and
stores the result in sym
|
;
|
--
|
Rest of line is a
comment
|
<
|
a b -- bool
|
Pushes 1 if a less than b, else
0
|
<
|
"a" "b" -- bool
|
Pushes 1 if a less than b, else
0
|
<=
|
a b -- bool
|
Pushes 1 if a less than or equal
b, else 0
|
<=
|
"a" "b" -- bool
|
Pushes 1 if a less than or equal
b, else 0
|
<>
|
a b -- bool
|
Pushes 1 if a not equal b, else
0
|
<>
|
"a" "b" -- bool
|
Pushes 1 if a not equal b, else
0
|
=
|
v sym --
|
Stores v in location
sym
|
==
|
a b -- bool
|
Pushes 1 if a equals b, else
0
|
==
|
"a" "b" -- bool
|
Pushes 1 if a equals b, else
0
|
>
|
a b -- bool
|
Pushes 1 if a greater than b, else
0
|
>
|
"a" "b" -- bool
|
Pushes 1 if a greater than b, else
0
|
>=
|
a b -- bool
|
Pushes 1 if a greater than or
equal b, else 0
|
>=
|
"a" "b" -- bool
|
Pushes 1 if a greater than or
equal b, else 0
|
ADDLOOSEPROP
|
propID x y --
|
Place propID at x,y
|
ADDLOOSEPROP
|
"name" x y --
|
Place prop name at
x,y
|
ALARMEXEC
|
{al} ticks --
|
Run atomlist al after ticks 1/60
seconds
|
AND
|
a b -- bool
|
Pushes 1 if both a and b are
non-zero
|
ARRAY
|
n -- [ar]
|
Allocate array ar of n
elements
|
ATOI
|
"str" -- n
|
Converts str to an integer or
zero
|
BEEP
|
--
|
Sound system beep
|
BREAK
|
--
|
Exit from a WHILE or FOREACH
loop
|
CHAT
|
|
deprecated, use SAY
|
CLEARLOOSEPROPS
|
--
|
Clear all loose props in
room
|
CLEARPROPS
|
|
deprecated, use NAKED
|
CLIENTTYPE
|
-- "type"
|
Pushes the type of the client,
e.g. "TPV"
|
COSINE
|
degrees -- sin
|
Pushes
cosine(degrees)*1000
|
DATETIME
|
-- t
|
Pushes seconds since
1/1/1970
|
DEF
|
{al} sym --
|
Define atomlist al as symbol
sym
|
DELAY
|
n --
|
Stop client for n
seconds
|
DEST
|
-- roomID
|
Pushes destination roomID of the
ME door or 0 for Cyborg
|
DIMROOM
|
n --
|
Dim room to n% of fully
lit
|
DOFFPROP
|
--
|
Removes last-worn
prop
|
DONPROP
|
propID --
|
Add prop propID
|
DONPROP
|
"name" --
|
Add prop name
|
DOORIDX
|
n -- doorID
|
Pushes doorID of door number
n
|
DROPPROP
|
x y --
|
Put last-worn prop at
x,y
|
DUP
|
n -- n n
|
Duplicate top of
stack
|
EXEC
|
{al} --
|
Execute atomlist al
|
EXIT
|
--
|
Stop the currently executing
script
|
FOREACH
|
{al} [a] --
|
Run al for each element of
a
|
GET
|
[a] n -- v
|
Pushes element n from array a onto
stack
|
GETSPOTSTATE
|
spotID -- n
|
Pushes the state n of
spotID
|
GLOBAL
|
sym --
|
Declares symbol sym to be global
scope
|
GLOBALMSG
|
"msg" --
|
Sends msg to everyone on the
server
|
GOTOROOM
|
roomID --
|
Moves user to room
roomID
|
GOTOURL
|
"url" --
|
Moves user or browser to
url
|
GOTOURLFRAME
|
"url" "frame" --
|
Moves user or browser to
url
|
GREPSTR
|
"s" "p" -- bool
|
Greps s for pattern p, pushes 1 if
found else 0
|
GREPSUB
|
"rep" -- "s"
|
Replaces values in rep from
GREPSTR and pushes result
|
HASPROP
|
propID -- bool
|
Pushes 1 if user has prop, else
0
|
HASPROP
|
"name" -- bool
|
Pushes 1 if user has prop, else
0
|
ID
|
-- id
|
Pushes spotID/doorID executing
script or 0 for Cyborg
|
IF
|
{al} bool --
|
Run al if bool is not
zero
|
IFELSE
|
{tal} {fal} bool --
|
If bool not zero run tal,
otherwise fal
|
INSPOT
|
spotID -- bool
|
Pushes 1 if user in within spot
spotID, else 0
|
IPTVERSION
|
-- ver
|
Pushes the version of the Iptscrae
language supported
|
ISGOD
|
-- bool
|
Pushes 1 if user is an owner, else
0
|
ISGUEST
|
-- bool
|
Pushes 1 if user is guest, else
0
|
ISLOCKED
|
doorID -- bool
|
Pushes 1 if doorID is
locked
|
ISWIZARD
|
-- bool
|
Pushes 1 if user is an operator or
owner, else 0
|
ITOA
|
n -- "S"
|
Converts n to a
string
|
KILLUSER
|
userID --
|
Forces user userID off
server
|
LENGTH
|
[a] -- n
|
Pushes the number of elements in
a
|
LINE
|
x1 y1 x2 y2 --
|
Draws from absolute x1,y1 to
x2,y2
|
LINETO
|
x y --
|
Draws from penpos relative
x,y
|
LOCALMSG
|
"msg" --
|
Sends msg to user running script
(only)
|
LOCK
|
doorID --
|
Locks doorID
|
LOGMSG
|
"msg" --
|
Puts msg in client
log
|
LOWERCASE
|
"S" -- "s"
|
Converts upper case in S to lower
case
|
MACRO
|
number --
|
Runs user's avatar macro
number
|
ME
|
-- id
|
Pushes spotID/doorID executing
script or 0 for Cyborg
|
MIDIPLAY
|
"fn" --
|
Plays MIDI file fn.
|
MIDISTOP
|
--
|
Stops the currently playing
MIDI
|
MOUSEPOS
|
--
|
x y Pushes the current mouse
x,y
|
MOVE
|
x y --
|
Moves the user relative x,y from
current position
|
NAKED
|
--
|
Clears all props from
user
|
NBRDOORS
|
-- n
|
Pushes number of doors in
room
|
NBRROOMUSERS
|
-- n
|
Pushes number of users in
room
|
NBRSPOTS
|
-- n
|
Pushes number of spots in
room
|
NBRUSERPROPS
|
-- n
|
Pushes number of props being
worn
|
NETGOTO
|
"url" --
|
same as GOTOURL
|
NOT
|
a -- bool
|
Pushes 1 if a is zero, else
0
|
OR
|
a b -- bool
|
Pushes 1 if either a or b is
non-zero
|
OVER
|
--item
|
Pushes a copy of the next to top
of the stack
|
PAINTCLEAR
|
--
|
Clears all painting
|
PAINTUNDO
|
--
|
Erases last painting
command
|
PENBACK
|
--
|
Moves pen behind
avatars
|
PENCOLOR
|
r g b --
|
Sets pen to
red/green/blue
|
PENFRONT
|
--
|
Moves pen in front of
avatars
|
PENPOS
|
x y --
|
Moves pen to x,y w/o
drawing
|
PENSIZE
|
n --
|
Sets size of pen to n
(1-9)
|
PENTO
|
x y --
|
Moves pen to relative x,y w/o
drawing
|
PICK
|
n -- item
|
Pushes a copy of the item n down
on the stack
|
POP
|
n --
|
Removes top stack
element
|
POSX
|
-- x
|
Pushes user's X
coordinate
|
POSY
|
-- y
|
Pushes user's Y
coordinate
|
PUT
|
d [a] n --
|
Stores d in element n of array
a
|
PRIVATEMSG
|
"msg" userID --
|
Sends private msg to
userID
|
RANDOM
|
n -- v
|
Pushes a random number between 0
and n-1
|
REMOVEPROP
|
propID --
|
Removes prop propID
|
REMOVEPROP
|
"name" --
|
Removes prop name
|
RETURN
|
--
|
Break out of an
atomlist
|
ROOMID
|
-- n
|
Pushes the current
roomID
|
ROOMMSG
|
"msg" --
|
Sends msg to everyone in the
room
|
ROOMNAME
|
-- "name"
|
Pushes the current room
name
|
ROOMUSER
|
n -- userID
|
Pushes userID of nth user in
room
|
SAY
|
"msg" --
|
Makes user speak msg
|
SAYAT
|
"msg" x y --
|
Cause msg to appear at
x,y
|
SELECT
|
spotID --
|
Causes ON SELECT handler of spotID
to run
|
SERVERNAME
|
-- "name"
|
Pushes the current server
name
|
SETALARM
|
ticks spotID --
|
Runs ON ALARM for spotID in ticks
time
|
SETCOLOR
|
n --
|
Sets roundhead to color
0-15
|
SETFACE
|
n --
|
Sets roundhead expression to
0-12
|
SETLOC
|
x y spotID --
|
Moves spotID to x,y if
god/wiz
|
SETPICLOC
|
x y spotID --
|
Moves current state pic for spotID
relative x,y if wiz/god
|
SETPOS
|
x y --
|
Moves user to absolute
x,y
|
SETPROPS
|
[props] --
|
Causes user to wear
props
|
SETSPOTSTATE
|
n spotID --
|
Sets state of spotID to n for all
in room
|
SETSPOTSTATELOCAL
|
n spotID --
|
Sets state of spotID to n for user
only
|
SHOWLOOSEPROPS
|
--
|
Lists loose props locations in
log
|
SINE
|
degrees -- sin
|
Pushes
sine(degrees)*1000
|
SOUND
|
"fn" --
|
Plays sound fn
|
SPOTDEST
|
spotID -- n
|
Pushes room number spot leads
to
|
SPOTNAME
|
spotID -- "name"
|
Pushes name of spot
spotID
|
SPOTIDX
|
n -- spotID
|
Returns ID of the nth spot in
room
|
SQUAREROOT
|
n -- sqrt
|
Pushes the square root of
n
|
STACKDEPTH
|
-- n
|
Pushes the number of items on the
stack
|
STATUSMSG
|
"msg" --
|
Puts msg in client status
window
|
STRINDEX
|
"str" "sp" -- off
|
Pushes the offset of sp in str or
-1
|
STRLEN
|
"str" -- len
|
Pushes the length of
str
|
STRTOATOM
|
"str" -- {al}
|
Compiles str into
atomlist
|
SUBSTR
|
"str" "sp" -- bool
|
Search str for sp, push 1 if
found, else 0. Case independent.
|
SUBSTRING
|
"str" off len -- "f"
|
Pushes the substring of str at
offset off for length len
|
SUSRMSG
|
"msg" --
|
Sends msg to owner/operator via
page
|
SWAP
|
a b -- b a
|
Swap top two stack
elements
|
TANGENT
|
degrees -- sin
|
Pushes
tangent(degrees)*1000
|
TICKS
|
-- tick
|
Push current client time in 1/60
seconds
|
TOPPROP
|
-- propID
|
Pushes the propID of the top
prop
|
TOPTYPE
|
-- type
|
Pushes the type of the top item on
the stack without removing it. Types are: 0 -
Error/unknown/stack empty, 1 - number, 2 - variable, 3 -
AtomList, 4 - String, 5 - ArrayMark, 6 - Array
|
UNLOCK
|
doorID --
|
Unlocks door doorID
|
UPPERCASE
|
"str" -- "STR"
|
Converts lower case str letters to
upper case
|
USERID
|
-- userID
|
Pushes my userID
|
USERNAME
|
-- "name"
|
Pushes the user's screen
name
|
USERPROP
|
n -- propID
|
Pushes ID of the nth worn
prop
|
VARTYPE
|
-- type
|
Like TOPTYPE, but if the top item
is a variable pushes the type of it's value
|
WHILE
|
{al} {test} --
|
Runs al as long as test is
non-zero
|
WHOCHAT
|
-- userID
|
Pushes userID in INCHAT
handler
|
WHOME
|
-- userID
|
Pushes my userID
|
WHONAME
|
userID -- "name"
|
Pushes screen name of
userID
|
WHOPOS
|
userID -- x y
|
Pushes x,y of user
userID
|
WHOPOS
|
"name" -- x y
|
Pushes x,y of user
name
|
WHOTARGET
|
-- userID
|
Pushes userID of whisper/esp
target
|