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
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]
- ↑ Data directly entered in RuneLibris by manpaint on 2025-04-25
- ↑ Data retrieved from a copy of their server that was downloaded on 18 April 2025; in the \script\ScriptOpcode.ts file.