I figured it would be a good idea to gather everyone's knowledge on WeaponInfo.xml in one place. I will start with what I know and what is obvious.
weapon type="" - Determines weapon name. You can create up to 25 additional weapons by using the unassigned names UNUSED0 and/or EPISODIC_1 - EPISODIC_24 (Thanks man2104

).
Explained in more detail here:
http://www.gtaforums.com/index.php?showtop...st&p=1058751902.
data slot="" - Slot to carry weapon in.
firetype="" - Bullet characteristics to use...is also defined under "PROJECTILE TYPE="
damagetype="" - Determines type of impact damage...is also defined under "EXPLOSION TYPE=".
group="" - Determines what effect to create from weaponFx.dat file.
targetrange="" - Distance auto-aim can be used and target's health appears in reticule.
weaponrange="" - Defines how far the weapon shoots. Distances are also determined by the projectile's velocity, mass, etc defined under "PROJECTILE TYPE=".
clipsize="" - Ammo per clip.
ammomax="" - Max ammo allowed for weapon.
timebetweenshots="" - Time in milliseconds between each shot. Must be used in conjunction with <rate firerate="" blindfirerate=""/> multiplier.
damage base="" - Damage dealt by bullets. Projectile and explosion damage is defined in explosionFx.dat.
networkplayermod="" - Modifier for the weapon's damage in multiplayer.
networkpedmod="" - Same as above but for peds in multiplayer.
physics force="" - For guns, 'physics force' defines the impact force, but for projectiles (ie, grenade, molotov, rocket), 'physics force' changes the force with which Niko "throws" the projectile (ie, the speed of the projectile). Can also be defined under "PROJECTILE TYPE=".
reload time="" - Reload time in milliseconds.
fasttime="" - Time it takes to aim in milliseconds.
crouchtime="" - Time it takes to crouch in milliseconds.
<aiming accuracy="" - Aiming accuracy.
offset x="" y="" z="" - Determines where the weapon is placed/held.
crouchedoffset x="" y="" z="" - Determines the where weapon is placed/held when crouched.
reticule standing="" ducked="" scale="" - Reticule size while standing and crouched and target scale (zoom).
pickup regentime="" - Time in milliseconds it takes pickups to respawn.
ammoonstreet="" - Ammo given on weapon pickup.
rumble duration="" - Controller rumble time in milliseconds.
intensity="" - Controller rumble strength.
Known flags:<flag>GUN</flag> - Identifies the weapon as a firearm
<flag>MELEE_CLUB</flag> - Used for victims behavior when hit
<flag>MELEE_BLADE</flag> - Used for victims behavior when hit
<flag>2HANDED</flag> - Weapon is held with both hands
<flag>THROWN</flag> - Weapon is thrown (affected by gravity)
<flag>TREAT_AS_2HANDED_IN_COVER</flag> - Weapon is held in both hands while in cover
<flag>FIRST_PERSON</flag> - First person aim with no crosshair
<flag>HEAVY</flag> - Forces heavy weapon anims to be used
<flag>CREATE_VISIBLE_ORDNANCE</flag> - Shows projectile before it is fired.
<flag>HIGHER_BREAK_FORCE</flag> -
<flag>EXPLOSION_BASED_ON_IMPACT</flag> - Determines when weapon explodes based on explodeimpactthreshold="" explodeimpactwithvehiclethreshold="" data defined under <projectile>
<flag>ADD_SMOKE_ON_EXPLOSION</flag> - Adds smoke effect on impact.
<flag>SILENCED</flag> - Silences the projectile/thrown weapon while in flight.
<flag>INSTANT_KILL_IN_MP</flag> - Instant kill on impact in a MP game
<flag>ARMOUR_PENETRATING</flag> - Bypasses body armor hit check.
<flag>KEEP_CAMERA_BEHIND</flag> -
<flag>CAN_AIM</flag> - Allows weapon to be auto-aimed
<flag>CAN_FREE_AIM</flag> - Allows weapon to free aim
<flag>ANIM_RELOAD</flag><flag>ANIM_CROUCH_FIRE</flag>projectile type="" - Defines the projectile type. "NONE" makes a copy of the item held in your hand.
typetocreate type="" - Defines projectile type. Used in special cases such as creating a rocket.
fusetime="" - Time in milliseconds it takes for projectile to explode after it is fired/thrown.
explosion type="" - Defines the effect to use from explosionFx.dat
vehiclevelocity="" - ?
assets model="" - Weapon model to use.
anim group="" - Weapon animation to use.
<rate firerate="" blindfirerate=""/> - Rate of fire/animation speed for a weapon. Must be defined under anim group. For an example and formula check out
this post.meleegroup1="" - Weapon melee animation to use.
<effects>muzzle fx="" - Muzzle flash effect to use.
shell fx="" - Ejected shell effect to use.
trail fx="" - Projectile trail effect to use.
Please help correct me if any of this is wrong, if you have have something to add, or if the descriptions need more defining. Flags still need descriptions if anyone wants to start there.
http://www.megaupload.com/?d=TF2RL8VA - Unaltered WeaponInfo.xml (for those that forget to make backups)
This post has been edited by resignator on Friday, May 7 2010, 16:13