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
|