List of opcodes
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)) | not used 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) | not used in GTA III | |
000B | 2 | float, float | add local to float (L += F) | not used 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) | not used in GTA III | |
000F | 2 | float, float | subtract local to float (L -= F) | not used 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) | not used in GTA III and Vice City | |
0013 | 2 | float, float | multiply local to float (L *= F) | not used 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) | not used in GTA III and Vice City | |
0017 | 2 | float, float | divide local to float (L /= F) | not used 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) | not used in GTA III and Vice City | |
001E | 2 | int, int | check global int greater than local int (G > L int) | not used 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) | not used 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) | not used 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) | not used in GTA III and Vice City | |
0026 | 2 | float, float | check global float greater than local float (G > L float) | not used in GTA III and Vice City | |
0027 | 2 | float, float | check local float greater than global float (L > G float) | not used 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) | not used in Vice City | |
002C | 2 | int, int | check global int greater than or equal to global int (G >= G int) | not used in GTA III and Vice City | |
002D | 2 | int, int | check local int greater than or equal to local int (L >= L int) | not used in GTA III and Vice City | |
002E | 2 | int, int | check global int greater than or equal to local int (G >= L int) | not used in GTA III and Vice City | |
002F | 2 | int, int | check local int greater than or equal to local int (L >= G int) | not used in GTA III | |
0030 | 2 | global, float | check global greater than or equal to float | not used in GTA III | |
0031 | 2 | local, float | check local greater than or equal to float | not used in GTA III and Vice City | |
0032 | 2 | float, global | check float greater than or equal to global | not used in GTA III | |
0033 | 2 | float, local | check float greater than or equal to local | not used in GTA III and Vice City | |
0034 | 2 | global, global | check global float greater than or equal to global float | not used in GTA III and Vice City | |
0035 | 2 | local, local | check local float greater than or equal to local float | not used in GTA III and Vice City | |
0036 | 2 | global, local | check global float greater than or equal to local float | not used in GTA III and Vice City | |
0037 | 2 | local, global | check local float greater than or equal to global float | not used in GTA III and Vice City | |
0038 | 2 | global, integer | check global equal to integer | ||
0039 | 2 | local, integer | check local equal to integer | ||
003A | 2 | global, global | check global integer equal to global integer | ||
003B | 2 | local, local | check local integer equal to local integer | not used in GTA III and Vice City | |
003C | 2 | global, local | check global integer equal to local integer | not used in GTA III and Vice City | |
003D | 0 | unsupported | |||
003E | 0 | unsupported | |||
003F | 0 | unsupported | |||
0040 | 0 | unsupported | |||
0041 | 0 | unsupported | |||
0042 | 2 | global, float | check global equal to float | ||
0043 | 2 | local, float | check local equal to float | not used in GTA III | |
0044 | 2 | global, global | check global float equal to global float | not used in GTA III and Vice City | |
0045 | 2 | local, local | check local float equal to local float | not used in GTA III and Vice City | |
0046 | 2 | global, local | check global float equal to local float | not used 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 | not used 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 | integer, float, float, float, player handle | create player | parameters rearranged in Sanny Builder | |
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 Sanny Builder | |
0057 | 8 | player handle, float, float, float, float, float, float, int | check player is in 3D area | parameters rearranged in Sanny Builder | |
0058 | 2 | global, global | add global integer to global integer | ||
0059 | 2 | global, global | add global float to global float | ||
005A | 2 | local, local | add local integer to local integer | not used in GTA III and Vice City | |
005B | 2 | local, local | add local float to local float | not used in GTA III and Vice City | |
005C | 2 | local, global | add local integer to global integer | not used in GTA III and Vice City | |
005D | 2 | local, global | add local float to global float | not used in GTA III and Vice City | |
005E | 2 | global, local | add global integer to local integer | not used in GTA III and Vice City | |
005F | 2 | global, local | add global float to local float | not used in GTA III and Vice City | |
0060 | 2 | global, global | subtract global integer to global integer | ||
0061 | 2 | global, global | subtract global float to global float | ||
0062 | 2 | local, local | subtract local integer to local integer | not used in GTA III and Vice City | |
0063 | 2 | local, local | subtract local float to local float | not used in GTA III and Vice City | |
0064 | 2 | local, global | subtract local integer to global integer | not used in GTA III and Vice City | |
0065 | 2 | local, global | subtract local float to global float | not used in GTA III and Vice City | |
0066 | 2 | global, local | subtract global integer to local integer | not used in GTA III and Vice City | |
0067 | 2 | global, local | subtract global float to local float | not used in GTA III | |
0068 | 2 | global, global | multiply global integer to global integer | ||
0069 | 2 | global, global | multiply global float to global float | ||
006A | 2 | local, local | multiply local integer to local integer | not used in GTA III and Vice City | |
006B | 2 | local, local | multiply integer float to integer float | not used in GTA III and Vice City | |
006C | 2 | local, float | multiply local to float | not used in GTA III, Vice City, and San Andreas | |
006D | 2 | global, float | multiply global to float | not used in GTA III and Vice City | |
006E | 2 | global, local | multiply global integer to local integer | not used in GTA III and Vice City | |
006F | 2 | global, local | multiply global float to local float | not used in GTA III and Vice City | |
0070 | 2 | global, global | divide global integer by global integer | not used in San Andreas | |
0071 | 2 | global, global | divide global float by global float | ||
0072 | 2 | local, local | divide local integer by local integer | not used in GTA III and Vice City | |
0073 | 2 | local, local | divide local float by local float | not used in GTA III and Vice City | |
0074 | 2 | local, global | divide local integer by global integer | not used in GTA III and Vice City | |
0075 | 2 | local, global | divide local float by global float | not used in GTA III and Vice City | |
0076 | 2 | global, local | divide global integer by local integer | not used in GTA III, Vice City, and San Andreas | |
0077 | 2 | global, local | divide global float by local float | not used in GTA III | |
0078 | 2 | not used in GTA III | |||
0079 | 2 | not used in GTA III and Vice City | |||
007A | 2 | not used in GTA III and Vice City | |||
007B | 2 | not used in GTA III and Vice City | |||
007C | 2 | not used in GTA III, Vice City, and San Andreas | |||
007D | 2 | not used in GTA III and Vice City | |||
007E | 2 | not used in GTA III and Vice City | |||
007F | 2 | not used in GTA III and Vice City | |||
0080 | 2 | not used in GTA III and Vice City | |||
0081 | 2 | not used in GTA III and Vice City | |||
0082 | 2 | not used in GTA III and Vice City | |||
0083 | 2 | not used 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 | not used 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 | not used in GTA III | |
0088 | 2 | global, local | set global float equal to local float | not used in GTA III | |
0089 | 2 | local, global | set local float equal to global float | not used in GTA III | |
008A | 2 | global, local | set global integer equal to local integer | not used in GTA III | |
008B | 2 | local, global | set local integer equal to global integer | not used 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 | not used in GTA III and Vice City | |
008F | 2 | float, int | convert local int to global float | not used in GTA III and Vice City | |
0090 | 2 | int, float | convert global float to local int | not used in GTA III and Vice City | |
0091 | 2 | float, int | convert global int to local float | not used in GTA III and Vice City | |
0092 | 2 | int, float | convert local float to local int | not used in GTA III and Vice City | |
0093 | 2 | float, int | convert local int to local float | not used in GTA III and Vice City | |
0094 | 1 | int | absolute value of global int | not used in GTA III and Vice City | |
0095 | 1 | int | absolute value of local int | not used in GTA III and Vice City | |
0096 | 1 | float | absolute value of global float | not used in GTA III and Vice City | |
0097 | 1 | float | absolute value of local float | not used in GTA III and Vice City | |
0098 | 1 | float | generate random float in range 0 to 1 | not used 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 Sanny Builder | |
009B | 1 | char handle | delete char | ||
009C | 2 | char handle, int | set char to wander path | ||
009D | 0 | not used in GTA III and Vice City | |||
009E | 6 | char handle, float, float, float, float, int | set char path | not used in GTA III | |
009F | 1 | char handle | |||
00A0 | 4 | char, var, var, var | get char coordinates | ||
00A1 | 4 | char, float, float, float | set char at coordinates | ||
00A2 | 1 | char handle | |||
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 Sanny Builder | |
00A6 | 1 | car handle | delete car |
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