GTA SA Modification Center > Structure



Char1 Bytes-0x80 - +0x7F
Byte1 Bytes+0x00 - +0xFF
Short2 Bytes-0x8000 - +0x7FFF
Word2 Bytes+0x0000 - +0xFFFF
Long4 Bytes-0x80000000 - +0x7FFFFFFF
DWord4 Bytes+0x00000000 - +0xFFFFFFFF
Float4 Bytes+/-3.4e38 - +/-1.4e-45


Start 0xB71F80
Size 0x28
Num 0x3C

+0x00 Word Exist Flag (20=None)
+0x02 Word Index used in SCM
+0x04 Float X Position
+0x08 Float Y Position
+0x0C Float Z Position
+0x10 DWord Attached to
+0x14 DWord Fired from
+0x18 DWord Disappear Time (from 0xB7CB84)
+0x1C Float Size
+0x20 Byte Some Flag
+0x21 Byte Unknown 60
+0x22 Word Unknown 0
+0x24 Float Unknown


Start 0xC170D0
Size 0x88
Num 0x0F

+0x04 Float RANGES
+0x08 Float ATTACK1 hit / 30.0
+0x0C Float ATTACK2 hit / 30.0
+0x10 Float ATTACK3 hit / 30.0
+0x14 Float AGROUND hit / 30.0
+0x18 Float AMOVING hit / 30.0
+0x1C Float ATTACK1 chain / 30.0
+0x20 Float ATTACK2 chain / 30.0
+0x24 Float ATTACK3 chain / 30.0
+0x28 Float AGROUND chain / 30.0
+0x2C Float AMOVING chain / 30.0
+0x30 Float ATTACK1 radius
+0x34 Float ATTACK2 radius
+0x38 Float ATTACK3 radius
+0x3C Float AGROUND radius
+0x40 Float AMOVING radius
+0x44 Float AGROUND groundLoop / 30.0
+0x48 Float ABLOCK hit / 30.0
+0x4C Float ABLOCK chain / 30.0
+0x50 Byte ATTACK1 hitlevel
+0x51 Byte ATTACK2 hitlevel
+0x52 Byte ATTACK3 hitlevel
+0x53 Byte AGROUND hitlevel
+0x54 Byte AMOVING hitlevel
+0x55 Byte ATTACK1 damage
+0x56 Byte ATTACK2 damage
+0x57 Byte ATTACK3 damage
+0x58 Byte AGROUND damage
+0x59 Byte AMOVING damage
+0x5A Byte Padding
+0x5B Byte Padding
+0x5C DWord ATTACK1 hit + 60
+0x60 DWord ATTACK2 hit + 60
+0x64 DWord ATTACK3 hit + 60
+0x68 DWord AGROUND hit + 60
+0x6C DWord AMOVING hit + 60
+0x70 DWord ATTACK1 altHit + 60
+0x74 DWord ATTACK2 altHit + 60
+0x78 DWord ATTACK3 altHit + 60
+0x7C DWord AGROUND altHit + 60
+0x80 DWord AMOVING altHit + 60
+0x84 DWord FLAGS
* Index of array = *(Byte*)(0xC8AB26 + WeaponID * 0x70) - 4;


Start 0xC3E058
Size 0x3C
Num 0x40

+0x00 Float X Position
+0x04 Float Y Position
+0x08 Float Z Position
+0x0C DWord Unknown
+0x10 DWord Ptr To Texture Struct (+0x10 Char[64] Name)
+0x14 Float Radius
+0x18 Float Unknown
+0x1C Float Far Clip
+0x20 Float Near Clip
+0x24 DWord 0
+0x28 Float 15.0
+0x2C Byte Color R
+0x2D Byte Color G
+0x2E Byte Color B
+0x2F Byte Color A
+0x30 Byte Fade (0=Hide/255=Show)
+0x31 Byte Some Flag (0/1)
+0x32 Byte Flare
+0x33 Byte Some Flag (0/1)
+0x34 DWord Some Flag
+0x38 DWord 0

Bullet Track

Start 0xC7C748
Size 0x2C
Num 0x10

+0x00 Float Trans Side X
+0x04 Float Trans Side Y
+0x08 Float Trans Side Z
+0x0C Float Yellow Side X
+0x10 Float Yellow Side Y
+0x14 Float Yellow Side Z
+0x18 Byte Exist Flag
+0x19 Byte Pad
+0x1A Byte Pad
+0x1B Byte Pad
+0x1C DWord Created Time (from 0xB7CB84)
+0x20 DWord Disappear Time (e.g. 750)
+0x24 Float Radius
+0x28 Byte Alpha
+0x29 Byte Pad
+0x2A Byte Pad
+0x2B Byte Pad

Racing Check Point

Start 0xC7F158
Size 0x38
Num 0x20

+0x00 Byte Type
+0x04 DWord Handle in SCM
+0x08 DWord Color (RGBA)
+0x10 Float X Pisition
+0x14 Float Y Pisition
+0x18 Float Z Pisition
+0x1C Float X Direction
+0x20 Float Y Direction
+0x24 Float Z Direction
+0x2C Float Size
* Start Address and some other are from


Start 0xC88740
Size 0x2C
Num 0x08

+0x00 DWord Weapon Type
+0x04 DWord Fired From
+0x08 Float Destroy Time
+0x0C Byte Exist Flag
+0x0D Byte3 Padding
+0x10 Float X Position
+0x14 Float Y Position
+0x18 Float Z Position
+0x1C Float X Velocity (Meters per Frame)
+0x20 Float Y Velocity (Meters per Frame)
+0x24 Float Z Velocity (Meters per Frame)
+0x28 Word Damage
+0x2A Word Padding
* Start Address and some other are from Sacky's post in


Start 0xC88950
Size 0x7C
Num 0x10

+0x00 DWord Explosion Type
+0x04 Float X Position
+0x08 Float X Position
+0x0C Float X Position
+0x10 Float Unknown
+0x14 Float Unknown 0.5
+0x18 DWord Unknown 0
+0x1C DWord Unknown 0
+0x20 Float Disappear Time (from 0xB7CB84)
+0x24 Float Unknown 1.0
+0x28 Byte Frames from Created
+0x29 Byte Unknown 1
+0x2A Byte Unknown 1
+0x2B Byte Unknown 0
+0x2C Float Created Time (from 0xB7CB84)
+0x30 DWord Unknown 0
+0x34 Float Visible Radius
+0x38 DWord Unknown 0
+0x3C DWord Time from Created
+0x40 - +0x78 Float Effect Coords


Start 0xC8AAB8
Size 0x70
Num 0x51

+0x00 DWord eFireType
+0x04 Float targetRange
+0x08 Float weaponRange
+0x0C Long modelId1
+0x10 Long modelId2
+0x14 DWord weaponslot
+0x18 DWord flags
+0x1C DWord AssocGroupId
+0x20 Word ammoClip
+0x22 Word damage
+0x24 Float fireOffset x
+0x28 Float fireOffset y
+0x2C Float fireOffset z
+0x30 DWord skillLevel
+0x34 DWord req stat level to get this weapon skill level
+0x38 Float accuracy
+0x3C Float move speed
+0x40 Float animLoop start / 30.0
+0x44 Float animLoop end / 30.0
+0x48 Float animLoop fire / 30.0
+0x4C Float animLoop2 start / 30.0
+0x50 Float animLoop2 end / 30.0
+0x54 Float animLoop2 fire / 30.0
+0x58 Float breakoutTime
+0x5C Float speed
+0x60 Float radius
+0x64 Float lifespan
+0x68 Float spread
+0x6C Byte AssocGroupId
+0x6D Byte Unknown 0
+0x6E Byte baseCombo
+0x6F Byte Unknown 1
Index 0 - 46 : Weapon 0 - 46 : Gangsta
Index 47 - 57 : Weapon 22 - 32 : Poor
Index 58 - 68 : Weapon 22 - 32 : Hitman
Index 69 : Weapon 22 : Cop