GiveWeapon: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(rephrase required args a bit)
 
(30 intermediate revisions by 18 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
giveWeapon gives a specified weapon to a certain player. There is an optional argument to specify ammunition. For example, a melee weapon doesn't need an ammo argument.
{{Server function}}
giveWeapon gives a specified weapon to a certain player or ped. There is an optional argument to specify ammunition. For example, a melee weapon doesn't need an ammo argument.
{{Note|
*When setting ammo for [[Weapon|weapons in slot]] 0,1,10,11 or 12, the ammo max is 1
*When setting ammo for [[Weapon|weapons in slot]] 3,4,5, the ammo is added
*When setting ammo for [[Weapon|weapons in slot]] 2,6,7,8,9 and the slot weapon is changing, the ammo is replaced
}}


==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">giveWeapon ( player, weapon, [ammo=30] )</syntaxhighlight>  
<syntaxhighlight lang="lua">bool giveWeapon ( ped thePlayer, int weapon [, int ammo=30, bool setAsCurrent=false ] )</syntaxhighlight>  


===Required Arguments===  
===Required Arguments===  
*'''Player:''' A player object referencing the specified player
*'''thePlayer:''' A [[player]] or [[ped]] object referencing the specified player (or [[ped]])
*'''Weapon:''' A whole number integer that refers to a Weapon ID
*'''weapon:''' A whole number integer that refers to a [[Weapon]] ID.


===Optional Arguments===  
===Optional Arguments===  
{{OptionalArg}}  
{{OptionalArg}}  
*'''Ammo:''' A whole number integer serving as the ammo amount for the given weapon
*'''ammo:''' A whole number integer serving as the ammo amount for the given weapon.  For weapons that do not require ammo, such as melee, this should be at least 1.
*'''setAsCurrent:''' A boolean value determining whether or not the weapon will be set as the players current.
 
===Returns===
Returns ''true'' if weapon was successfully acquired, ''false'' otherwise.


==Example==  
==Example==  
Explain what the example does here
'''Example 1:''' This example gives a player an M4 with 200 ammo whenever they spawn.
<syntaxhighlight lang="lua">addEventHandler ( "onSpawnpointUse", root, "onSpawnpointUse" )
<syntaxhighlight lang="lua">
function onSpawnpointUse ( player )
function giveWeaponsOnSpawn ( theSpawnpont, theTeam )
giveWeapon ( player, 31, 200 ) -- Gives the M4 weapon + 200 ammo to any player that uses a spawnpoint
    giveWeapon ( source, 31, 200 ) -- Gives the M4 weapon with 200 ammo
end</syntaxhighlight>
end
addEventHandler ( "onPlayerSpawn", root, giveWeaponsOnSpawn ) -- attach the event handler
</syntaxhighlight>
 
 
'''Example 2:''' This example adds a "give" command in console which allows giving of any weapon by entering "give <id> <amount>".
<syntaxhighlight lang="lua">
function consoleGive ( thePlayer, commandName, weaponID, ammo )
local status = giveWeapon ( thePlayer, weaponID, ammo, true )   -- attempt to give the weapon, forcing it as selected weapon
if ( not status ) then                                          -- if it was unsuccessful
outputConsole ( "Failed to give weapon.", thePlayer )  -- tell the player
end
end
addCommandHandler ( "give", consoleGive )
</syntaxhighlight>
 
 
'''Example 3:''' This example creates a ped in certain coordinates. You can give him a weapon with "give <weaponID> <amount>" command in console.
<syntaxhighlight lang="lua">
ped = createPed( 19, -1634.5775, 1203.85, 7.1796 )
 
addCommandHandler( "give",
  function ( player, command, id, amount )
    if not tonumber ( id ) then return end
 
    if not tonumber ( amount ) then
        amount = 9001
    end
 
    giveWeapon( ped, id, amount, true )
  end
)
</syntaxhighlight>
 
==See Also==
{{Weapon functions}}
[[ru:giveWeapon]]
[[pl:giveWeapon]]
[[pt-br:giveWeapon]]

Latest revision as of 22:57, 4 December 2021

giveWeapon gives a specified weapon to a certain player or ped. There is an optional argument to specify ammunition. For example, a melee weapon doesn't need an ammo argument.

[[{{{image}}}|link=|]] Note:
  • When setting ammo for weapons in slot 0,1,10,11 or 12, the ammo max is 1
  • When setting ammo for weapons in slot 3,4,5, the ammo is added
  • When setting ammo for weapons in slot 2,6,7,8,9 and the slot weapon is changing, the ammo is replaced

Syntax

bool giveWeapon ( ped thePlayer, int weapon [, int ammo=30, bool setAsCurrent=false ] )

Required Arguments

  • thePlayer: A player or ped object referencing the specified player (or ped)
  • weapon: A whole number integer that refers to a Weapon ID.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • ammo: A whole number integer serving as the ammo amount for the given weapon. For weapons that do not require ammo, such as melee, this should be at least 1.
  • setAsCurrent: A boolean value determining whether or not the weapon will be set as the players current.

Returns

Returns true if weapon was successfully acquired, false otherwise.

Example

Example 1: This example gives a player an M4 with 200 ammo whenever they spawn.

function giveWeaponsOnSpawn ( theSpawnpont, theTeam )
    giveWeapon ( source, 31, 200 ) -- Gives the M4 weapon with 200 ammo
end
addEventHandler ( "onPlayerSpawn", root, giveWeaponsOnSpawn ) -- attach the event handler


Example 2: This example adds a "give" command in console which allows giving of any weapon by entering "give <id> <amount>".

function consoleGive ( thePlayer, commandName, weaponID, ammo )
	local status = giveWeapon ( thePlayer, weaponID, ammo, true )   -- attempt to give the weapon, forcing it as selected weapon
	if ( not status ) then                                          -- if it was unsuccessful
		outputConsole ( "Failed to give weapon.", thePlayer )   -- tell the player
	end
end
addCommandHandler ( "give", consoleGive )


Example 3: This example creates a ped in certain coordinates. You can give him a weapon with "give <weaponID> <amount>" command in console.

ped = createPed( 19, -1634.5775, 1203.85, 7.1796 )

addCommandHandler( "give",
  function ( player, command, id, amount )
    if not tonumber ( id ) then return end

    if not tonumber ( amount ) then
        amount = 9001
    end

    giveWeapon( ped, id, amount, true )
  end
)

See Also