CreateWeapon: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(Replace with predefined variable.)
(20 intermediate revisions by 10 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__<!--{{Needs_Checking|"Some weapon types do not work."... needs investigating. Shotguns do not work because the pellet code was complex and its actually 8 very clustered pellets. All other bullet weapons should work and be synced. Exact weapons this works with needs documenting still.}}-->
{{Client function}}
{{Client function}}
Creates a custom weapon that can fire bullets not related to player held weapons.
Creates a [[Element/Weapon|custom weapon]] that can fire bullets. '''Do not confuse this with player held weapons'''.
{{Tip|Some weapons (such as the minigun) visually point to a slightly different direction to where they fire. To adjust this, use [[setWeaponProperty]] with 'fire_rotation'. See the example below.}}


==Syntax==
==Syntax==
<syntaxhighlight lang="lua">weapon createWeapon ( string theType, float x, float y, float z )</syntaxhighlight>
<syntaxhighlight lang="lua">weapon createWeapon ( string theType, float x, float y, float z )</syntaxhighlight>
{{OOP||[[Element/Weapon|Weapon]]}}


===Required Arguments===
===Required Arguments===
* '''theType:''' The weapon type such as M4.
* '''theType:''' The weapon type which can be:
{{Custom Weapon Types}}
 
* '''x:''' The x position to create the weapon.
* '''x:''' The x position to create the weapon.
* '''y:''' The y position to create the weapon.
* '''y:''' The y position to create the weapon.
Line 13: Line 17:


===Returns===
===Returns===
Returns a custom weapon element type and creates a simulated weapon at that position.
Returns a [[Element/Weapon|custom weapon]] element, which represents a weapon floating at that position.


==Requirements==
==Requirements==
{{Requirements|1.3.0-4555|1.3.0-4555|}}
{{Requirements|n/a|1.3.0-9.04555|}}
 
==Example==
This example adds a ''/createminigun'' command to create a weapon that is always firing.
<syntaxhighlight lang="lua">
function createMinigunWeapon()
    -- Create the weapon 1 meter above the player
    local x, y, z = getElementPosition(localPlayer)
    local weapon = createWeapon("minigun", x, y, z + 1)
    -- Give it some ammo and fire it
    setWeaponClipAmmo(weapon, 99999)
    setWeaponState(weapon, "firing")
 
    -- Optionally adjust for model rotation (this value will be different for other weapons)
    setWeaponProperty(weapon, "fire_rotation", 0, -30, 0)
end
addCommandHandler("createminigun", createMinigunWeapon)
</syntaxhighlight>


==See Also==
==See also==
{{Client weapon creation functions}}
{{Client weapon creation functions}}
[[ru:createWeapon]]
[[ru:createWeapon]]

Revision as of 05:17, 26 August 2021

Creates a custom weapon that can fire bullets. Do not confuse this with player held weapons.

[[{{{image}}}|link=|]] Tip: Some weapons (such as the minigun) visually point to a slightly different direction to where they fire. To adjust this, use setWeaponProperty with 'fire_rotation'. See the example below.

Syntax

weapon createWeapon ( string theType, float x, float y, float z )

OOP Syntax Help! I don't understand this!

Method: Weapon(...)


Required Arguments

  • theType: The weapon type which can be:
  • colt 45
  • silenced
  • deagle
  • uzi
  • mp5
  • ak-47
  • m4
  • tec-9
  • rifle
  • sniper
  • minigun

Other weapons can be used but they can't fire. Use createProjectile for projectile based weapons.

  • x: The x position to create the weapon.
  • y: The y position to create the weapon.
  • z: The z position to create the weapon.

Returns

Returns a custom weapon element, which represents a weapon floating at that position.

Requirements

This template will be deleted.

Example

This example adds a /createminigun command to create a weapon that is always firing.

function createMinigunWeapon()
    -- Create the weapon 1 meter above the player
    local x, y, z = getElementPosition(localPlayer)
    local weapon = createWeapon("minigun", x, y, z + 1)
    -- Give it some ammo and fire it
    setWeaponClipAmmo(weapon, 99999)
    setWeaponState(weapon, "firing")

    -- Optionally adjust for model rotation (this value will be different for other weapons)
    setWeaponProperty(weapon, "fire_rotation", 0, -30, 0)
end
addCommandHandler("createminigun", createMinigunWeapon)

See also