So I did a little search at Tutorials-section, and didn't find any tutorial for San Andreas for file
weapon.dat.
So let's begin, shall we?
A: IdentifierUsed to easily identify weapon, can be present multiple times for some weapons as they require multiple entries because of weapon skill levels.
B: Fire TypeDefines if the weapon will have regular/instant hit bullets or sniper bullets, or if they are projectiles or area-effect weapons, for example grenade is projectile and flamethrower has area-effect.
C: Target Range[(b]
Range in meters where you can lock-on when aiming or where you will see the health of pedestarian. Higher values will result longer lock-on range.
[b]D: RangeRange in meters how far bullets hit. Higher values will result longer-travelling bullets.
E: Weapon IDGeneral ID of weapon, used to find matching data from other files.
F: Secondary Weapon IDID for secondary weapon used by primary weapon. Great example is Satchel Charge, where the bomb is primary weapon and detonator is secondary.
G: Weapon GroupWeapon group of weapon. On regular San Andreas, 0 is for fists/brass knuckles, 1 for melee and so on. There are total of 13 different groups to be used, from 0 to 12.
H: MagazineSize of magazine.
I: Weapon DamageDamage which weapon does on hit. Also increases recoil. Does not affect projectiles.
J, K, L: FLOAT_FIRE_SET [x,y,z]Unknown, probably used to calculate position of muzzle flash when there isn't one supplied with model of the weapon.
M: Skill LevelDefines skill level of current configuration-line. 0 is for poor skill level, 1 for gangster and 2 for hitman.
O: Skill NeededAmount of skill needed to acquire next skill level. Usually varies between 0 and 1000.
P: AccuracyDefines accuracy of weapon, really high values can make weapon fully accurate even at full automatic fire.
Q: Movement SpeedMovement speed while aiming/firing weapon. 1.0 is for regular walk-speed, and lower values will make player walk slower.
R: Animation Loop [Standing] [Beginning, End, Firing]
Used to calculate correct animations while firing and also affects rate of fire. For fast rate of fire, low values should be used. NOTE: Usually "End"-value should be higher than "Beginning" or "Firing", otherwise bugs may occur. And too low values will make shooting a weapon impossible.
[b]S: Animation Loop [Crouching] [Beginning, End, Firing]
Same as "Section R", but used when crouching with the weapon.
[b]T: BreakOutTimeUnknown.
U: HEX-FlagsUsed to define special characters of weapon. HEX-flags are written in reverse, so first HEX-flag is actually the last number. To use multiple HEX-flags, you only need to know values of each HEX-flag you want to add (written in weapon.dat) and then add them together. If the values is higher than 9, then alphabetics are used. 10 equals A, 11 for B and so on.
Suggestions, improvements, comments? All welcome!