SetWeaponProperty: Difference between revisions
No edit summary |
(Added OOP syntax to custom weapon syntax) |
||
Line 80: | Line 80: | ||
<section name="setWeaponProperty" class="client" show="true"> | <section name="setWeaponProperty" class="client" show="true"> | ||
==Syntax ( | ==Syntax (custom weapons)== | ||
<syntaxhighlight lang="lua">bool setWeaponProperty ( weapon theWeapon, string strProperty, value theValue )</syntaxhighlight> | <syntaxhighlight lang="lua">bool setWeaponProperty ( weapon theWeapon, string strProperty, value theValue )</syntaxhighlight> | ||
{{OOP||[[Element/Weapon|weapon]]:setProperty||getWeaponProperty}} | |||
==Required Arguments== | ==Required Arguments== | ||
* '''theWeapon:''' the weapon to change the property of. | * '''theWeapon:''' the weapon to change the property of. | ||
* '''strProperty:''' the property to edit | * '''strProperty:''' the property to edit: | ||
{{Custom Weapon Properties Writable}} | {{Custom Weapon Properties Writable}} | ||
* '''theValue:''' The value to set the property to. | * '''theValue:''' The value to set the property to. | ||
==Returns== | ==Returns== | ||
Returns true if the property was set. | Returns ''true'' if the property was set. | ||
==Requirements== | ==Requirements== | ||
Line 103: | Line 103: | ||
</section> | </section> | ||
==See | ==See also== | ||
{{Weapon functions}} | {{Weapon functions}} |
Revision as of 16:51, 23 December 2014
This function sets the weapon property of the specified weapons specified weapon type. See lower down the page for documentation related to weapon creation.
Syntax
bool setWeaponProperty ( int weaponID/string weaponName, string weaponSkill, string property, int/float theValue )
Required Arguments
- weaponID: The ID or name of the weapon you want to set a property of. Names can be:
- grenade
- teargas
- molotov
- colt 45
- silenced
- deagle
- shotgun
- sawed-off
- combat shotgun
- uzi
- mp5
- ak-47
- m4
- tec-9
- rifle
- sniper
- rocket launcher
- rocket launcher hs
- flamethrower
- minigun
- satchel
- bomb
- spraycan
- fire extinguisher
- camera
- weaponSkill: Either: "pro", "std" or "poor". The player must have this skill level set to have the effect.
- property: The property you want to set the value of:
- "weapon_range" - float
- "target_range" - float - Max targeting range
- "accuracy" - float
- "damage" - int - Note: Changing the standard M4 stat will change how much damage vehicle guns (e.g: Rustler) do.
- "maximum_clip_ammo" - int
- "move_speed" - float - How fast player can move with weapon
- "flags" - int - (specify a flag to toggle it on/off) See Weapon Flags
- "flag_aim_no_auto" - bool - Disable auto up/down for non-aimed firing
- "flag_aim_arm" - bool - Uses other arm for aiming
- "flag_aim_1st_person" - bool - Uses 1st person aim
- "flag_aim_free" - bool - Can only use free aiming
- "flag_move_and_aim" - bool - Can move and aim at same time
- "flag_move_and_shoot" - bool - Can move and fire at same time
- "flag_type_throw" - bool - Is a throwing weapon
- "flag_type_heavy" - bool - Can't jump
- "flag_type_constant" - bool - Fires every frame within loop (ie paint spray)
- "flag_type_dual" - bool - Can use 2x guns at same time
- "flag_anim_reload" - bool - Weapon has reload anims
- "flag_anim_crouch" - bool - Has crouching anims
- "flag_anim_reload_loop" - bool - Loop from end of reload to fire loop start
- "flag_anim_reload_long" - bool - Force a longer reload time
- "flag_shot_slows" - bool - Slows down (area effect)
- "flag_shot_rand_speed" - bool - Random speed (area effect)
- "flag_shot_anim_abrupt" - bool - Force the anim to finish player after aim/fire rather than blending out (area effect)
- "flag_shot_expands" - bool - Expands (area effect)
- "anim_loop_start" - float - Start of aimed firing animation loop
- "anim_loop_stop" - float - End of aimed firing animation loop (Reduce to increase firing rate)
- "anim_loop_bullet_fire" - float - Time in aimed firing animation when weapon should be fired (Must be between Start and End)
- "anim2_loop_start" - float - Start of non-aimed firing animation2 loop
- "anim2_loop_stop" - float - End of non-aimed firing animation2 loop (Reduce to increase crouch firing rate)
- "anim2_loop_bullet_fire" - float - Time in non-aimed firing animation2 when weapon should be fired (Must be between Start and End)
- "anim_breakout_time" - float - Time after which player can break out of attack and run off
- theValue: The value to set the property to.
Returns
On success:
bool: Returns true if the weapon property was successfully set
On failure:
bool: Returns false if the weapon property was unable to be set
Example
This example sets the weapon range of the M4 at poor skill level to 75
local rangeSet = setWeaponProperty(31, "poor", "weapon_range", 75) if (rangeSet) then outputChatBox("M4 range at poor skill is set now 75!") end
This example makes the silenced pistol dual wielded at pro skill level
setWeaponProperty(23, "pro", "flags", 0x000800) -- Warning - Depends on the current flag setting setWeaponProperty(23, "pro", "flags", 0x000002) -- Warning - Depends on the current flag setting setWeaponProperty(23, "pro", "maximum_clip_ammo", 34)
This examples doubles the range of the colt 45 hand gun
setWeaponProperty(22, "poor", "weapon_range", 70) setWeaponProperty(22, "std", "weapon_range", 70) setWeaponProperty(22, "pro", "weapon_range", 70)
This example makes the minigun able to fire all its ammo without the short reload time
setWeaponProperty("minigun", "pro", "maximum_clip_ammo", 1000)
This example turns off auto aim for all weapons
function setAutoAimForAllWeapons( bEnable ) weaponList = { "colt 45", "silenced", "deagle", "shotgun", "sawed-off", "combat shotgun", "uzi", "mp5", "ak-47", "m4", "tec-9", "rifle", "sniper", "minigun" } for _,weapon in ipairs( weaponList ) do for _,skill in ipairs( { "poor", "std", "pro" } ) do setWeaponPropertyFlag( weapon, skill, 0x0001, not bEnable ) end end end -- Set or clear an individual weapon flag bit function setWeaponPropertyFlag( weapon, skill, flagBit, bSet ) local bIsSet = bitAnd( getWeaponProperty(weapon, skill, "flags"), flagBit ) ~= 0 if bIsSet ~= bSet then setWeaponProperty(weapon, skill, "flags", flagBit) end end -- Turn off auto aim setAutoAimForAllWeapons( false )
Requirements
This template will be deleted.
Syntax (custom weapons)
bool setWeaponProperty ( weapon theWeapon, string strProperty, value theValue )
OOP Syntax Help! I don't understand this!
- Method: weapon:setProperty(...)
- Counterpart: getWeaponProperty
Required Arguments
- theWeapon: the weapon to change the property of.
- strProperty: the property to edit:
- "weapon_range" - float
- "target_range" - float
- "accuracy" - float
- "damage" - int
- theValue: The value to set the property to.
Returns
Returns true if the property was set.
Requirements
This template will be deleted.
Changelog
Version | Description |
---|
1.4.0-9.06339 | Added 'fire_rotation' property |
See also
- getWeaponProperty
- getPickupWeapon
- getOriginalWeaponProperty
- getSlotFromWeapon
- getWeaponIDFromName
- getWeaponNameFromID
- setWeaponAmmo
- setWeaponProperty