This website is a read-only preview of RuneLibris. Some features may not work. For more information about the full feature-complete version of this wiki, please visit this link.

(Return to archive index)

Aspects/RuneScript

From RuneLibris
Jump to: navigation, search

Overview[edit]

RuneScript is the custom programming language in which RuneScape is written in[1]

Early RuneScape 2 script opcodes[edit]

The following is a list of script opcodes that the Lost City believe were part of RuneScript on 18 May 2004[2]:

PUSH_CONSTANT_INT
PUSH_VARP
POP_VARP
PUSH_CONSTANT_STRING
PUSH_VARN
POP_VARN
BRANCH
BRANCH_NOT
BRANCH_EQUALS
BRANCH_LESS_THAN
BRANCH_GREATER_THAN
PUSH_VARS
POP_VARS
RETURN
GOSUB
JUMP
SWITCH
BRANCH_LESS_THAN_OR_EQUALS
BRANCH_GREATER_THAN_OR_EQUALS
PUSH_INT_LOCAL
POP_INT_LOCAL
PUSH_STRING_LOCAL
POP_STRING_LOCAL
JOIN_STRING
POP_INT_DISCARD
POP_STRING_DISCARD
GOSUB_WITH_PARAMS
JUMP_WITH_PARAMS
DEFINE_ARRAY
PUSH_ARRAY_INT
POP_ARRAY_INT
COORDX
COORDY
COORDZ
DISTANCE
HUNTALL
HUNTNEXT
INZONE
LINEOFSIGHT
LINEOFWALK
MAP_BLOCKED
MAP_INDOORS
MAP_CLOCK
MAP_LOCADDUNSAFE
MAP_MEMBERS
MAP_PLAYERCOUNT
MAP_FINDSQUARE
MOVECOORD
PLAYERCOUNT
PROJANIM_MAP
PROJANIM_NPC
PROJANIM_PL
SEQLENGTH
SPLIT_GET
SPLIT_GETANIM
SPLIT_INIT
SPLIT_LINECOUNT
SPLIT_PAGECOUNT
SPOTANIM_MAP
STAT_RANDOM
STRUCT_PARAM
WORLD_DELAY
NPCCOUNT
ZONECOUNT
LOCCOUNT
OBJCOUNT
MAP_MULTIWAY
ALLOWDESIGN
ANIM
BAS_READYANIM
BAS_RUNNING
BAS_TURNONSPOT
BAS_WALK_B
BAS_WALK_F
BAS_WALK_L
BAS_WALK_R
BUFFER_FULL
BUILDAPPEARANCE
BUSY
CAM_LOOKAT
CAM_MOVETO
CAM_RESET
CAM_SHAKE
CLEARQUEUE
CLEARSOFTTIMER
CLEARTIMER
GETTIMER
COORD
DAMAGE
DISPLAYNAME
FACESQUARE
FINDUID
GENDER
GETQUEUE
STAT_ADVANCE
HEADICONS_GET
HEADICONS_SET
HEALENERGY
HINT_COORD
HINT_NPC
HINT_PLAYER
HINT_STOP
IF_CLOSE
TUT_CLOSE
IF_MULTIZONE
IF_OPENCHAT
TUT_OPEN
IF_OPENMAIN
IF_OPENMAIN_SIDE
IF_OPENSIDE
IF_SETANIM
IF_SETCOLOUR
IF_SETHIDE
IF_SETMODEL
IF_SETRECOL
IF_SETNPCHEAD
IF_SETOBJECT
IF_SETPLAYERHEAD
IF_SETPOSITION
IF_SETRESUMEBUTTONS
IF_SETTAB
IF_SETTABACTIVE
TUT_FLASH
IF_SETTEXT
LAST_LOGIN_INFO
LAST_COM
LAST_INT
LAST_ITEM
LAST_SLOT
LAST_TARGETSLOT
LAST_USEITEM
LAST_USESLOT
LONGQUEUE
MES
MIDI_JINGLE
MIDI_SONG
NAME
P_APRANGE
P_ARRIVEDELAY
P_COUNTDIALOG
P_DELAY
P_EXACTMOVE
P_FINDUID
P_LOCMERGE
P_LOGOUT
P_PREVENTLOGOUT
P_OPHELD
P_OPLOC
P_OPNPC
P_OPNPCT
P_OPOBJ
P_OPPLAYER
P_OPPLAYERT
P_PAUSEBUTTON
P_STOPACTION
P_TELEJUMP
P_TELEPORT
P_WALK
PLAYER_FINDALLZONE
PLAYER_FINDNEXT
QUEUE
SAY
WALKTRIGGER
SETTIMER
SOFTTIMER
SOUND_SYNTH
SPOTANIM_PL
STAFFMODLEVEL
STAT
STAT_ADD
STAT_BASE
STAT_HEAL
STAT_SUB
STAT_BOOST
STAT_DRAIN
STRONGQUEUE
UID
WEAKQUEUE
IF_OPENMAINOVERLAY
AFK_EVENT
LOWMEMORY
SETIDKIT
P_CLEARPENDINGACTION
GETWALKTRIGGER
BUSY2
FINDHERO
BOTH_HEROPOINTS
SETGENDER
SETSKINCOLOUR
P_ANIMPROTECT
RUNENERGY
WEIGHT
LAST_COORD
SESSION_LOG
WEALTH_LOG
WEALTH_EVENT
P_RUN
NPC_ADD
NPC_ANIM
NPC_BASESTAT
NPC_CATEGORY
NPC_CHANGETYPE
NPC_CHANGETYPE_KEEPALL
NPC_COORD
NPC_DAMAGE
NPC_DEL
NPC_DELAY
NPC_FACESQUARE
NPC_FIND
NPC_FINDALLANY
NPC_FINDALL
NPC_FINDEXACT
NPC_FINDHERO
NPC_FINDALLZONE
NPC_FINDNEXT
NPC_FINDUID
NPC_GETMODE
NPC_HEROPOINTS
NPC_NAME
NPC_PARAM
NPC_QUEUE
NPC_RANGE
NPC_SAY
NPC_HUNT
NPC_HUNTALL
NPC_HUNTNEXT
NPC_SETHUNT
NPC_SETHUNTMODE
NPC_SETMODE
NPC_WALKTRIGGER
NPC_SETTIMER
NPC_STAT
NPC_STATADD
NPC_STATHEAL
NPC_STATSUB
NPC_TELE
NPC_TYPE
NPC_UID
SPOTANIM_NPC
NPC_WALK
NPC_ATTACKRANGE
NPC_HASOP
NPC_ARRIVEDELAY
LOC_ADD
LOC_ANGLE
LOC_ANIM
LOC_CATEGORY
LOC_CHANGE
LOC_COORD
LOC_DEL
LOC_FIND
LOC_FINDALLZONE
LOC_FINDNEXT
LOC_NAME
LOC_PARAM
LOC_SHAPE
LOC_TYPE
OBJ_ADD
OBJ_ADDALL
OBJ_FIND
OBJ_FINDALLZONE
OBJ_FINDNEXT
OBJ_COORD
OBJ_COUNT
OBJ_DEL
OBJ_NAME
OBJ_PARAM
OBJ_TAKEITEM
OBJ_TYPE
NC_CATEGORY
NC_DEBUGNAME
NC_DESC
NC_NAME
NC_OP
NC_PARAM
LC_CATEGORY
LC_DEBUGNAME
LC_DESC
LC_NAME
LC_OP
LC_PARAM
LC_WIDTH
LC_LENGTH
OC_CATEGORY
OC_CERT
OC_COST
OC_DEBUGNAME
OC_DESC
OC_IOP
OC_MEMBERS
OC_NAME
OC_OP
OC_PARAM
OC_STACKABLE
OC_TRADEABLE
OC_UNCERT
OC_WEARPOS2
OC_WEARPOS3
OC_WEARPOS
OC_WEIGHT
INV_ALLSTOCK
INV_SIZE
INV_STOCKBASE
INV_ADD
INV_CHANGESLOT
INV_CLEAR
INV_DEL
INV_DELSLOT
INV_DROPITEM
INV_DROPSLOT
INV_FREESPACE
INV_GETNUM
INV_GETOBJ
INV_ITEMSPACE
INV_ITEMSPACE2
INV_MOVEFROMSLOT
INV_MOVETOSLOT
BOTH_MOVEINV
INV_MOVEITEM
INV_MOVEITEM_CERT
INV_MOVEITEM_UNCERT
INV_SETSLOT
INV_TOTAL
INV_TOTALCAT
INV_TRANSMIT
INVOTHER_TRANSMIT
INV_STOPTRANSMIT
BOTH_DROPSLOT
INV_DROPALL
INV_TOTALPARAM
INV_TOTALPARAM_STACK
INV_DEBUGNAME
ENUM
ENUM_GETOUTPUTCOUNT
APPEND_NUM
APPEND
APPEND_SIGNNUM
LOWERCASE
TEXT_GENDER
TOSTRING
COMPARE
TEXT_SWITCH
APPEND_CHAR
STRING_LENGTH
SUBSTRING
STRING_INDEXOF_CHAR
STRING_INDEXOF_STRING
ADD
SUB
MULTIPLY
DIVIDE
RANDOM
RANDOMINC
INTERPOLATE
ADDPERCENT
SETBIT
CLEARBIT
TESTBIT
MODULO
POW
INVPOW
AND
OR
MIN
MAX
SCALE
BITCOUNT
TOGGLEBIT
SETBIT_RANGE
CLEARBIT_RANGE
GETBIT_RANGE
SETBIT_RANGE_TOINT
SIN_DEG
COS_DEG
ATAN2_DEG
ABS
DB_FIND_WITH_COUNT
DB_FINDNEXT
DB_GETFIELD
DB_GETFIELDCOUNT
DB_LISTALL_WITH_COUNT
DB_GETROWTABLE
DB_FINDBYINDEX
DB_FIND_REFINE_WITH_COUNT
DB_FIND
DB_FIND_REFINE
DB_LISTALL
ERROR
MAP_PRODUCTION
MAP_LASTCLOCK
MAP_LASTWORLD
MAP_LASTCLIENTIN
MAP_LASTNPC
MAP_LASTPLAYER
MAP_LASTLOGOUT
MAP_LASTLOGIN
MAP_LASTZONE
MAP_LASTCLIENTOUT
MAP_LASTCLEANUP
MAP_LASTBANDWIDTHIN
MAP_LASTBANDWIDTHOUT
TIMESPENT
GETTIMESPENT
CONSOLE


References[edit]

  1. Data directly entered in RuneLibris by manpaint on 2025-04-25
  2. Data retrieved from a copy of their server that was downloaded on 18 April 2025; in the \script\ScriptOpcode.ts file.