GetWeaponFlags: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Added an example section and added this function to "Needs Example" template.)
(Remove obsolete Requirements section)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Client function}}
{{Client function}}
{{Needs_Example}}
This function gets the flags of a [[Element/Weapon|custom weapon]].
Gets the flags of the custom weapon (used to determine what to hit)


==Syntax==
==Syntax==
<syntaxhighlight lang="lua">value getWeaponFlags ( weapon theWeapon, string theFlag )</syntaxhighlight>
<syntaxhighlight lang="lua">bool getWeaponFlags ( weapon theWeapon, string theFlag )</syntaxhighlight>
{{OOP||[[Element/Weapon|weapon]]:getFlags||setWeaponFlags}}


===Required Arguments===
===Required Arguments===
* '''theWeapon:''' The weapon to set the flag of.
* '''theWeapon:''' the weapon to get the flag of.
* '''theFlag:''' The weapon flag to get:
* '''theFlag:''' the weapon flag to get:
** bool disable_model disable the weapon model of the weapon
** '''disable_model''': makes the weapon and muzzle effect invisible or not.
** flags edit the processLineOfSight flags used to find the hit position
** '''flags''': returns the flags used to get where the gun shoots at. These flags are (by order):
** bool checkBuildings
*** '''checkBuildings''': allows the shoot to be blocked by GTA's internally placed buildings, i.e. the world map.
** bool checkCarTires
*** '''checkCarTires''': allows the shoot to be blocked by [[vehicle]] tires.
** bool checkDummies
*** '''checkDummies''': allows the shoot to be blocked by GTA's internal dummies. These are not used in the current MTA version so this argument can be set to ''false''.
** bool checkObjects
*** '''checkObjects''': allows the shoot to be blocked by [[object|objects]].
** bool checkPeds
*** '''checkPeds''': allows the shoot to be blocked by [[ped|peds]] and [[player|players]].
** bool checkVehicles
*** '''checkVehicles''': allows the shoot to be blocked by [[vehicle|vehicles]].
** bool checkSeeThroughStuff
*** '''checkSeeThroughStuff''': allows the shoot to be blocked by translucent game objects, e.g. glass.
** bool checkShootThroughStuff
*** '''checkShootThroughStuff''': allows the shoot to be blocked by things that can be shot through.
** bool instant_reload reload the weapon instantly rather than doing a reload
** '''instant_reload''': if enabled, the weapon reloads instantly rather than waiting the reload time until shooting again.
** bool shoot_if_out_of_range shoot the target position if out of weapon range
** '''shoot_if_out_of_range''': if enabled, the weapon still fires its target beyond the weapon range distance.
** bool shoot_if_blocked shoot the target position if blocked
** '''shoot_if_blocked''': if enabled, the weapon still fires its target even if it's blocked by something.


===Returns===
===Returns===
Returns the ''value(s)'' on success (flags have 8 values), ''false'' otherwise.
Returns the ''true'' or ''false'' on success (''flags'' flag returns 8 values) if the flag is enabled or not. Returns ''false'' if the weapon element isn't valid or an error occured.


==Example==
==Example==
<syntaxhighlight lang="lua">--TODO</syntaxhighlight>
This example checks whether the instant_reload flag is enabled or disabled.
<syntaxhighlight lang="lua">
local weapon = createWeapon("silenced", 0, 0, 10) -- Create the weapon
if weapon then -- if the weapon exist then
  setWeaponFlags(weapon, "instant_reload", true) -- enable instant_reload
  local flag = (getWeaponFlags (weapon,"instant_reload") and "instant_reload enabled") or "instant_reload disabled"
  outputChatBox (flag)
end
</syntaxhighlight>


==Requirements==
==See also==
{{Requirements|n/a|1.3.0-9.04555|}}
 
==See Also==
{{Client weapon creation functions}}
{{Client weapon creation functions}}

Latest revision as of 17:06, 7 November 2024

This function gets the flags of a custom weapon.

Syntax

bool getWeaponFlags ( weapon theWeapon, string theFlag )

OOP Syntax Help! I don't understand this!

Method: weapon:getFlags(...)
Counterpart: setWeaponFlags


Required Arguments

  • theWeapon: the weapon to get the flag of.
  • theFlag: the weapon flag to get:
    • disable_model: makes the weapon and muzzle effect invisible or not.
    • flags: returns the flags used to get where the gun shoots at. These flags are (by order):
      • checkBuildings: allows the shoot to be blocked by GTA's internally placed buildings, i.e. the world map.
      • checkCarTires: allows the shoot to be blocked by vehicle tires.
      • checkDummies: allows the shoot to be blocked by GTA's internal dummies. These are not used in the current MTA version so this argument can be set to false.
      • checkObjects: allows the shoot to be blocked by objects.
      • checkPeds: allows the shoot to be blocked by peds and players.
      • checkVehicles: allows the shoot to be blocked by vehicles.
      • checkSeeThroughStuff: allows the shoot to be blocked by translucent game objects, e.g. glass.
      • checkShootThroughStuff: allows the shoot to be blocked by things that can be shot through.
    • instant_reload: if enabled, the weapon reloads instantly rather than waiting the reload time until shooting again.
    • shoot_if_out_of_range: if enabled, the weapon still fires its target beyond the weapon range distance.
    • shoot_if_blocked: if enabled, the weapon still fires its target even if it's blocked by something.

Returns

Returns the true or false on success (flags flag returns 8 values) if the flag is enabled or not. Returns false if the weapon element isn't valid or an error occured.

Example

This example checks whether the instant_reload flag is enabled or disabled.

local weapon = createWeapon("silenced", 0, 0, 10) -- Create the weapon
if weapon then -- if the weapon exist then
   setWeaponFlags(weapon, "instant_reload", true) -- enable instant_reload
   local flag = (getWeaponFlags (weapon,"instant_reload") and "instant_reload enabled") or "instant_reload disabled"
   outputChatBox (flag)
end

See also