Knowledgebase
Storm Palace Hosting > Storm Hosting Help Desk > Knowledgebase

Ask a question:


Iptscrae Quick Reference

Solution

Iptscrae Quick Reference

The following table is a brief summary of the Iptscrae commands and their meanings.
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
 
Was this article helpful? yes / no
Article details
Article ID: 88
Category: Iptscrae Defined
Date added: 04-04-2011 04:24:10
Views: 516
Rating (Votes): Article not rated yet (0)

 
<< Go back

Powered by Help Desk Software HESK™