List of opcodes
Revision as of 20:14, 30 January 2010 by Spaceeinstein (talk | contribs)
This is a list of all opcodes, including nops and unsupported ones, in GTA III, Vice City, and San Andreas. Brief descriptions and notes are added to the list for quick and easy access to information.
Opcode | P | Parameter type | Games | Brief description | Notes |
---|---|---|---|---|---|
0000 | 0 | nop | no operation | special use in CLEO | |
0001 | 1 | int | wait | ||
0002 | 1 | label | jump to label | ||
0003 | 1 | int | shake camera | ||
0004 | 2 | int, int | set global to int (G = I) | ||
0005 | 2 | float, float | set global to float (G = F) | ||
0006 | 2 | int, int | set local to int (L = I)) | ||
0007 | 2 | float, float | set local to float (L = F)) | unused in GTA III | |
0008 | 2 | int, int | add global to int (G += I) | ||
0009 | 2 | float, float | add global to float (G += F) | ||
000A | 2 | int, int | add local to int (L += I) | unused in GTA III | |
000B | 2 | float, float | add local to float (L += F) | unused in GTA III | |
000C | 2 | int, int | subtract global to int (G -= I) | ||
000D | 2 | float, float | subtract global to float (G -= F) | ||
000E | 2 | int, int | subtract local to int (L -= I) | unused in GTA III | |
000F | 2 | float, float | subtract local to float (L -= F) | unused in GTA III | |
0010 | 2 | int, int | multiply global to int (G *= I) | ||
0011 | 2 | float, float | multiply global to float (G *= F) | ||
0012 | 2 | int, int | multiply local to int (L *= I) | unused in GTA III and Vice City | |
0013 | 2 | float, float | multiply local to float (L *= F) | unused in GTA III and Vice City | |
0014 | 2 | int, int | divide global to int (G /= I) | ||
0015 | 2 | float, float | divide global to float (G /= F) | ||
0016 | 2 | int, int | divide local to int (L /= I) | unused in GTA III and Vice City | |
0017 | 2 | float, float | divide local to float (L /= F) | unused in GTA III and Vice City | |
0018 | 2 | int, int | check global greater than int (G > I) | ||
0019 | 2 | int, int | check local greater than int (L > I) | ||
001A | 2 | int, int | check int greater than global (I > G) | ||
001B | 2 | int, int | check int greater than local (I > L) | ||
001C | 2 | int, int | check global int greater than global int (G > G int) | ||
001D | 2 | int, int | check local int greater than local int (L > L int) | unused in GTA III and Vice City | |
001E | 2 | int, int | check global int greater than local int (G > L int) | unused in GTA III | |
001F | 2 | int, int | check local int greater than global int (L > G int) | ||
0020 | 2 | float, float | check global greater than float (G > F) | ||
0021 | 2 | float, float | check local greater than float (L > F) | unused in GTA III | |
0022 | 2 | float, float | check float greater than global (F > G) | ||
0023 | 2 | float, float | check float greater than local (F > L) | unused in GTA III | |
0024 | 2 | float, float | check global float greater than global float (G > G float) | ||
0025 | 2 | float, float | check local float greater than local float (L > L float) | unused in GTA III and Vice City | |
0026 | 2 | float, float | check global float greater than local float (G > L float) | unused in GTA III and Vice City | |
0027 | 2 | float, float | check local float greater than global float (L > G float) | unused in GTA III | |
0028 | 2 | int, int | check global greater than or equal to int (G >= I) | ||
0029 | 2 | int, int | check local greater than or equal to int (L >= I) | ||
002A | 2 | int, int | check int greater than or equal to global (I >= G) | ||
002B | 2 | int, int | check int greater than or equal to local (I >= L) | unused in Vice City | |
002C | 2 | int, int | check global int greater than or equal to global int (G >= G int) | unused in GTA III and Vice City | |
002D | 2 | int, int | check local int greater than or equal to local int (L >= L int) | unused in GTA III and Vice City | |
002E | 2 | int, int | check global int greater than or equal to local int (G >= L int) | unused in GTA III and Vice City | |
002F | 2 | int, int | check local int greater than or equal to local int (L >= G int) | unused in GTA III | |
0030 | 2 | float, float | check global greater than or equal to float (G >= F) | unused in GTA III | |
0031 | 2 | float, float | check local greater than or equal to float (L >= F) | unused in GTA III and Vice City | |
0032 | 2 | float, float | check float greater than or equal to global (F >= G) | unused in GTA III | |
0033 | 2 | float, float | check float greater than or equal to local (F >= L) | unused in GTA III and Vice City | |
0034 | 2 | float, float | check global float greater than or equal to global float (G >= G float) | unused in GTA III and Vice City | |
0035 | 2 | float, float | check local float greater than or equal to local float (L >= L float) | unused in GTA III and Vice City | |
0036 | 2 | float, float | check global float greater than or equal to local float (G >= L float) | unused in GTA III and Vice City | |
0037 | 2 | float, float | check local float greater than or equal to global float (L >= G float) | unused in GTA III and Vice City | |
0038 | 2 | int, int | check global equal to integer (G == I) | ||
0039 | 2 | int, int | check local equal to integer (L == I) | ||
003A | 2 | int, int | check global integer equal to global integer (G == G int) | ||
003B | 2 | int, int | check local integer equal to local integer (L == L int) | unused in GTA III and Vice City | |
003C | 2 | int, int | check global integer equal to local integer (G == L int) | unused in GTA III and Vice City | |
003D | 0 | unsupported | ? | ||
003E | 0 | unsupported | ? | ||
003F | 0 | unsupported | ? | ||
0040 | 0 | unsupported | ? | ||
0041 | 0 | unsupported | ? | ||
0042 | 2 | float, float | check global equal to float (G == F) | ||
0043 | 2 | float, float | check local equal to float (L == F) | unused in GTA III | |
0044 | 2 | float, float | check global float equal to global float (G == G float) | unused in GTA III and Vice City | |
0045 | 2 | float, float | check local float equal to local float (L == L float) | unused in GTA III and Vice City | |
0046 | 2 | float, float | check global float equal to local float (G == L float) | unused in GTA III, Vice City, and San Andreas | |
0047 | 0 | unsupported | ? | ||
0048 | 0 | unsupported | ? | ||
0049 | 0 | unsupported | ? | ||
004A | 0 | unsupported | ? | ||
004B | 0 | unsupported | ? | ||
004C | 1 | label | jump to label if true | unused in GTA III | |
004D | 1 | label | jump to label if false | ||
004E | 0 | end thread | |||
004F | -1 | label | create thread | ||
0050 | 1 | label | gosub | ||
0051 | 0 | return | |||
0052 | 0 | nop | no operation | ||
0053 | 5 | int, float, float, float, player handle | create player | parameters rearranged in SB | |
0054 | 4 | player handle, var, var, var | get player coordinates | ||
0055 | 4 | player handle, int, int, int | set player at coordinates | ||
0056 | 6 | player handle, float, float, float, float, int | check player is in 2D area | parameters rearranged in SB | |
0057 | 8 | player handle, float, float, float, float, float, float, int | check player is in 3D area | parameters rearranged in SB | |
0058 | 2 | int, int | add global integer to global integer (G += G int) | ||
0059 | 2 | float, float | add global float to global float (G += G float) | ||
005A | 2 | int, int | add local integer to local integer (L += L int) | unused in GTA III and Vice City | |
005B | 2 | float, float | add local float to local float (L += L float) | unused in GTA III and Vice City | |
005C | 2 | int, int | add local integer to global integer (L += G int) | unused in GTA III and Vice City | |
005D | 2 | float, float | add local float to global float (L += G float) | unused in GTA III and Vice City | |
005E | 2 | int, int | add global integer to local integer (G += L int) | unused in GTA III and Vice City | |
005F | 2 | float, float | add global float to local float (G += L float) | unused in GTA III and Vice City | |
0060 | 2 | int, int | subtract global integer to global integer (G -= G int) | ||
0061 | 2 | float, float | subtract global float to global float (G -= G float) | ||
0062 | 2 | int, int | subtract local integer to local integer (L -= L int) | unused in GTA III and Vice City | |
0063 | 2 | float, float | subtract local float to local float (L -= L float) | unused in GTA III and Vice City | |
0064 | 2 | int, int | subtract local integer to global integer (L -= G int) | unused in GTA III and Vice City | |
0065 | 2 | float, float | subtract local float to global float (L -= G float) | unused in GTA III and Vice City | |
0066 | 2 | int, int | subtract global integer to local integer (G -= L int) | unused in GTA III and Vice City | |
0067 | 2 | float, float | subtract global float to local float (G -= L float) | unused in GTA III | |
0068 | 2 | global, global | multiply global int to global int (G *= G int) | ||
0069 | 2 | global, global | multiply global float to global float (G *= G float) | ||
006A | 2 | local, local | multiply local int to local int (L *= L int) | unused in GTA III and Vice City | |
006B | 2 | local, local | multiply int float to int float (L *= L float) | unused in GTA III and Vice City | |
006C | 2 | local, float | multiply local to float (L *= F) | unused in GTA III, Vice City, and San Andreas | |
006D | 2 | global, float | multiply global to float (G *= F) | unused in GTA III and Vice City | |
006E | 2 | global, local | multiply global int to local int (G *= L int) | unused in GTA III and Vice City | |
006F | 2 | global, local | multiply global float to local float (G *= L float) | unused in GTA III and Vice City | |
0070 | 2 | global, global | divide global int by global int (G /= G int) | unused in San Andreas | |
0071 | 2 | global, global | divide global float by global float (G /= G float) | ||
0072 | 2 | local, local | divide local int by local int (L /= L int) | unused in GTA III and Vice City | |
0073 | 2 | local, local | divide local float by local float (L /= L float) | unused in GTA III and Vice City | |
0074 | 2 | local, global | divide local int by global int (L /= G int) | unused in GTA III and Vice City | |
0075 | 2 | local, global | divide local float by global float (L /= G float) | unused in GTA III and Vice City | |
0076 | 2 | global, local | divide global int by local int (G /= L int) | unused in GTA III, Vice City, and San Andreas | |
0077 | 2 | global, local | divide global float by local float (G /= L float) | unused in GTA III | |
0078 | 2 | unused in GTA III | |||
0079 | 2 | unused in GTA III and Vice City | |||
007A | 2 | unused in GTA III and Vice City | |||
007B | 2 | unused in GTA III and Vice City | |||
007C | 2 | unused in GTA III, Vice City, and San Andreas | |||
007D | 2 | unused in GTA III and Vice City | |||
007E | 2 | unused in GTA III and Vice City | |||
007F | 2 | unused in GTA III and Vice City | |||
0080 | 2 | unused in GTA III and Vice City | |||
0081 | 2 | unused in GTA III and Vice City | |||
0082 | 2 | unused in GTA III and Vice City | |||
0083 | 2 | unused in GTA III and Vice City | |||
0084 | 2 | global, global | set global integer equal to global integer | ||
0085 | 2 | local, local | set local integer equal to local integer | unused in GTA III | |
0086 | 2 | global, global | set global float equal to global float | ||
0087 | 2 | local, local | set local float equal to local float | unused in GTA III | |
0088 | 2 | global, local | set global float equal to local float | unused in GTA III | |
0089 | 2 | local, global | set local float equal to global float | unused in GTA III | |
008A | 2 | global, local | set global integer equal to local integer | unused in GTA III | |
008B | 2 | local, global | set local integer equal to global integer | unused in GTA III | |
008C | 2 | int, float | convert global float to global int | ||
008D | 2 | float, int | convert global int to global float | ||
008E | 2 | int, float | convert local float to global int | unused in GTA III and Vice City | |
008F | 2 | float, int | convert local int to global float | unused in GTA III and Vice City | |
0090 | 2 | int, float | convert global float to local int | unused in GTA III and Vice City | |
0091 | 2 | float, int | convert global int to local float | unused in GTA III and Vice City | |
0092 | 2 | int, float | convert local float to local int | unused in GTA III and Vice City | |
0093 | 2 | float, int | convert local int to local float | unused in GTA III and Vice City | |
0094 | 1 | int | absolute value of global int | unused in GTA III and Vice City | |
0095 | 1 | int | absolute value of local int | unused in GTA III and Vice City | |
0096 | 1 | float | absolute value of global float | unused in GTA III and Vice City | |
0097 | 1 | float | absolute value of local float | unused in GTA III and Vice City | |
0098 | 1 | float | generate random float in range 0 to 1 | unused in GTA III, Vice City, and San Andreas | |
0099 | 1 | int | generate random int in range 0 to 65535 | ||
009A | 6 | int, int, float, float, float, char handle | create char | parameters rearranged in SB | |
009B | 1 | char handle | delete char | ||
009C | 2 | char handle, int | set char to wander path | ||
009D | 0 | unused in GTA III and Vice City | |||
009E | 6 | char handle, float, float, float, float, int | set char path | unused in GTA III | |
009F | 1 | char handle | set char objective to -1 | ||
00A0 | 4 | char, var, var, var | get char coordinates | ||
00A1 | 4 | char, float, float, float | set char at coordinates | ||
00A2 | 1 | char handle | check char alive | ||
00A3 | 6 | char handle, float, float, float, float, int | |||
00A4 | 8 | char handle, float, float, float, float, float, float, int | |||
00A5 | 5 | int, float, float, float, car handle | create car | parameters rearranged in SB | |
00A6 | 1 | car handle | delete car | ||
00A7 | 4 | car handle, float, float, float | car drive to coordinate | ||
00A8 | 1 | car handle | set car to psycho driver | ||
00A9 | 1 | car handle | set car to normal driver | ||
00AA | 4 | car handle, var, var, var | get car coordiantes | ||
00AB | 4 | car handle, float, float, float | set car at coordinates | ||
00AC | 1 | car handle | check car is on land | ||
00AD | 2 | car handle, float | set car speed | ||
00AE | 2 | car handle, int | set car traffic behavior | ||
00AF | 2 | car handle, int | set car driver behavior | ||
00B0 | 6 | car handle, float, float, float, float, int | check car is in 2D area | ||
00B1 | 8 | car handle, float, float, float, float, float, float, int | check car is in 3D area | ||
00B2 | 0 | unsupported | ? | ||
00B3 | 0 | unsupported | ? | ||
00B4 | 0 | unsupported | ? | ||
00B5 | 0 | unsupported | ? | ||
00B6 | 0 | unsupported | ? | ||
00B7 | 0 | unsupported | ? | ||
00B8 | 0 | unsupported | ? | ||
00B9 | 0 | unsupported | ? | ||
00BA | 3 | string, int, int | print big text | ||
00BB | 3 | string, int, int | print low priority text | ||
00BC | 3 | string, int, int | print high priority text | ||
00BD | 3 | string, int, int | print medium priority text | ||
00BE | 0 | clear print texts | |||
00BF | 2 | var, var | get time of day | ||
00C0 | 2 | int, int | set time of day | ||
00C1 | 3 | int, int, var | get minutes to time of day | parameters rearranged in SB | |
00C2 | 4 | float, float, float, float | check is sphere on screen | ||
00C3 | 0 | enter debug mode | |||
00C4 | 0 | exit debug mode | |||
00C5 | 0 | true | |||
00C6 | 0 | false | |||
00C7 | 0 | ? | |||
00C8 | 0 | ? | |||
00C9 | 0 | ? | |||
00CA | 0 | ? | |||
00CB | 0 | ? | |||
00CC | 0 | ? | |||
00CD | 0 | ? | |||
00CE | 0 | ? | |||
00CF | 0 | ? | |||
00D0 | 0 | ? | |||
00D1 | 0 | ? | |||
00D2 | 0 | ? | |||
00D3 | 0 | ? | |||
00D4 | 0 | ? | |||
00D5 | 0 | ? | |||
00D6 | 1 | int | if | ||
00D7 | 1 | label | create thread | like 004F but only one parameter | |
00D8 | 0 | mission cleanup | |||
00D9 | 2 | char handle, var | get char's car | parameters rearranged in SB | |
00DA | 2 | player handle, var | get player's car | parameters rearranged in SB | |
00DB | 2 | char handle, car handle | check char is in car | ||
00DC | 2 | player handle, car handle | check player is in car | ||
00DD | 2 | char handle, int | check char is in car model | unused in GTA III | |
00DE | 2 | player handle, int | check player is in car model | ||
00DF | 1 | char handle | check char is in any car | ||
00E0 | 1 | player handle | check player is in any car | ||
00E1 | 2 | int, int | check key is pressing | ||
00E2 | 2 | int, int, var | get key is pressing | unused in GTA III, Vice City, and San Andreas | |
00E3 | 6 | player handle, float, float, float, float, int | check player is in 2D area | parameters rearranged in SB | |
00E4 | 6 | player handle, float, float, float, float, int | check player is in 2D area on foot | parameters rearranged in SB | |
00E5 | 6 | player handle, float, float, float, float, int | check player is in 2D area in car | parameters rearranged in SB | |
00E6 | 6 | player handle, float, float, float, float, int | check player is stopped in 2D area | unused in Vice City, parameters rearranged in SB | |
00E7 | 6 | player handle, float, float, float, float, int | parameters rearranged in SB | ||
00E8 | 6 | player handle, float, float, float, float, int | unused in Vice City, parameters rearranged in SB | ||
00E9 | 5 | player handle, char handle, float, float, int | parameters rearranged in SB | ||
00EA | 5 | player handle, char handle, float, float, int | parameters rearranged in SB | ||
00EB | 5 | player handle, char handle, float, float, int | parameters rearranged in SB | ||
00EC | 6 | char handle, float, float, float, float, int | parameters rearranged in SB | ||
00ED | 6 | char handle, float, float, float, float, int | parameters rearranged in SB | ||
00EE | 6 | char handle, float, float, float, float, int | parameters rearranged in SB | ||
00EF | 6 | char handle, float, float, float, float, int | unused in Vice City, parameters rearranged in SB | ||
00F0 | 6 | char handle, float, float, float, float, int | parameters rearranged in SB | ||
00F1 | 6 | char handle, float, float, float, float, int | unused in Vice City and San Andreas, parameters rearranged in SB | ||
00F2 | 5 | char handle, char handle, float, float, int | unused in GTA III | ||
00F3 | 5 | char handle, char handle, float, float, int | unused in GTA III | ||
00F4 | 5 | char handle, char handle, float, float, int | unused in GTA III and Vice City | ||
00F5 | 8 | player handle, float, float, float, float, float, float, int | parameters rearranged in SB | ||
00F6 | 8 | player handle, float, float, float, float, float, float, int | parameters rearranged in SB | ||
00F7 | 8 | player handle, float, float, float, float, float, float, int | parameters rearranged in SB | ||
00F8 | 8 | player handle, float, float, float, float, float, float, int | parameters rearranged in SB | ||
00F9 | 8 | player handle, float, float, float, float, float, float, int | parameters rearranged in SB | ||
00FA | 8 | player handle, float, float, float, float, float, float, int | parameters rearranged in SB | ||
00FB | 6 | player handle, char handle, float, float, float, int | parameters rearranged in SB | ||
00FC | 6 | player handle, char handle, float, float, float, int | parameters rearranged in SB | ||
00FD | 6 | player handle, char handle, float, float, float, int | parameters rearranged in SB | ||
00FE | 8 | char handle, float, float, float, float, float, float, int | parameters rearranged in SB | ||
00FF | 8 | char handle, float, float, float, float, float, float, int | parameters rearranged in SB | ||
0100 | 8 | char handle, float, float, float, float, float, float, int | unused in GTA III | ||
0101 | 8 | char handle, float, float, float, float, float, float, int | unused in GTA III | ||
0102 | 8 | char handle, float, float, float, float, float, float, int | unused in GTA III | ||
0103 | 8 | char handle, float, float, float, float, float, float, int | unused in Vice City | ||
0104 | 6 | char handle, char handle, float, float, float, float, int | unused in GTA III | ||
0105 | 6 | char handle, char handle, float, float, float, float, int | unused in GTA III and Vice City | ||
0106 | 6 | char handle, char handle, float, float, float, float, int | unused in GTA III and Vice City | ||
0107 | 5 | int, float, float, float, object handle | create object | parameters rearranged in SB | |
0108 | 1 | object handle | delete object | ||
0109 | 2 | player handle, int | add player money | ||
010A | 2 | player handle, int | check money is greater than value | ||
010B | 2 | player handle, var | get player money value | ||
010C | 5 | player handle, float, float, float, float | change player into rc buggy | ||
010D | 2 | player handle, int | set player wanted level | ||
010E | 2 | player handle, int | set player minimum wanted level | ||
010F | 2 | player handle, int | check player wanted level greater than value | ||
0110 | 1 | player handle | clear player wanted level | ||
0111 | 1 | int | set wasted busted check | ||
0112 | 0 | check player wasted or busted | only works in missions | ||
0113 | 3 | player handle, int, int | add ammo to player weapon | ||
0114 | 3 | char handle, int, int | add ammo to char weapon | ||
0115 | 0 | unsupported | ? | ||
0116 | 0 | unsupported | ? | ||
0117 | 1 | player handle | check player dead | ||
0118 | 1 | char handle | check char dead | ||
0119 | 1 | car handle | check car dead | ||
011A | 2 | char handle, int | |||
011B | 0 | unsupported | ? | ||
011C | 1 | char handle | |||
011D | 1 | ||||
011E | 0 | unsupported | ? | ||
011F | 0 | unsupported | ? | ||
0120 | 0 | unsupported | ? | ||
0121 | 1 | player handle | |||
0122 | 1 | player handle | check player pressing horn | ||
0123 | 2 | char handle, player handle | check char spotting player | ||
0124 | 0 | unsupported | ? | ||
0125 | 0 | unsupported | ? | ||
0126 | 1 | char handle | check actor is walking | ||
0127 | 0 | ? | |||
0128 | 0 | ? | |||
0129 | 4 | car handle, char handle, int, var | create char inside car | parameters rearranged in SB | |
012A | 4 | player handle, float, float, float | warp player from car to coord | ||
012B | 0 | ? | |||
012C | 0 | ? | |||
012D | 0 | ? | |||
012E | 0 | ? | |||
012F | 0 | ? | |||
0130 | 1 | player handle | check player is busted | ||
0131 | 0 | ? | |||
0132 | 0 | ? | |||
0133 | 0 | ? | |||
0134 | 0 | ? | |||
0135 | 2 | car handle, var | set car door status | parameters rearranged in SB | |
0136 | 0 | ? | |||
0137 | 2 | car handle, int | check car is model | ||
0138 | 0 | ? | |||
0139 | 0 | ? | |||
013A | 0 | ? | |||
013B | 0 | ? | |||
013C | 0 | ? | |||
013D | 0 | ? | |||
013E | 0 | ? | |||
013F | 0 | ? | |||
0140 | 0 | ? | |||
0141 | 0 | ? | |||
0142 | 0 | ? | |||
0143 | 0 | ? | |||
0144 | 0 | ? | |||
0145 | 0 | ? | |||
0146 | 0 | ? | |||
0147 | 0 | ? | |||
0148 | 0 | ? | |||
0149 | 1 | car handle | check car crushed by car crusher | ||
014A | 0 | ? | |||
014B | 13 | float, float, float, float, int, int, int, int, int, int, int, int, parked car handle | create parked car generator | parameters rearranged in SB | |
014C | 2 | parked car handle, int | switch car generator | ||
014D | 4 | string, int, int, int | text pager | ||
014E | 2 | int, int | set timer | ||
014F | 1 | int | stop timer |
External links
- GTAForums: Opcodes for Bartons Editor (GTA3 + VC)
- GTAForums: GTA:SA Opcodes
- GTAForums: MISSION CODING IV - GTA: Liberty City project
- Vice City Opcode Database - retrieved from archive.org
- San Andreas Opcode Database - retrieved from archive.org
- Unified Opcode Database - by PLPynton, hosted by ZAZ
- Latest Vice City opcodes - last update by spaceeinstein
- San Andreas Opcode Database - last update by Deji at GTAGaming.com