OnPlayerWeaponFire: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(→‎Parameters: note about hitElement limitation)
No edit summary
 
(5 intermediate revisions by 4 users not shown)
Line 4: Line 4:
This event is called when a player fires a weapon.  This does not trigger for projectiles, melee weapons, or camera.
This event is called when a player fires a weapon.  This does not trigger for projectiles, melee weapons, or camera.
}}
}}
{{Note|This event works only with weapons which have enabled bullet sync.}}
{{Note|This event works only with weapons which have enabled bullet sync. See [[Weapons]] for more information. }}
==Parameters==
==Parameters==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 11: Line 11:
*'''weapon''':  an [[int]] representing [[weapons|weapon]] used for making a shot.
*'''weapon''':  an [[int]] representing [[weapons|weapon]] used for making a shot.
*'''endX''', '''endY''', '''endZ''': [[float]] world coordinates representing an end point.
*'''endX''', '''endY''', '''endZ''': [[float]] world coordinates representing an end point.
*'''hitElement''': an [[element]] which was hit by a shot. Currently this can be only another [[player]].
*'''hitElement''': an [[element]] which was hit by a shot. Currently this can be only another [[player]]. '''Note: hitElement could be incorrect and should not be relied upon.'''
*'''startX''', '''startY''', '''startZ''': [[float]] world coordinates representing the start of the bullet. Note: This is not the gun muzzle.
*'''startX''', '''startY''', '''startZ''': [[float]] world coordinates representing the start of the bullet. '''Note: This is not the gun muzzle.'''


==Source==
==Source==
Line 18: Line 18:


==Example==
==Example==
This code outputs the information on debug screen when a player shoots.
This code creates explosions when the source players shoots.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler ("onPlayerWeaponFire", root,  
addEventHandler ("onPlayerWeaponFire", root,  
   function (weapon, endX, endY, endZ, hitElement, startX, startY, startZ)
   function (weapon, endX, endY, endZ, hitElement, startX, startY, startZ)
       iprint (getPlayerName(source).. " just shot a " .. getElementType (hitElement) .. " at X: ".. endX .. " Y: " .. endY .. " Z: " .. endZ .. " from X: " .. startX .. " Y: ".. startY .. " Z: " .. startZ .. " with a ".. getWeaponNameFromID (weapon))
       createExplosion(endX, endY, endZ, 2, source);
   end
   end
)
)

Latest revision as of 21:03, 17 November 2024

This event is called when a player fires a weapon. This does not trigger for projectiles, melee weapons, or camera.

[[{{{image}}}|link=|]] Note: This event works only with weapons which have enabled bullet sync. See Weapons for more information.

Parameters

int weapon, float endX, float endY, float endZ, element hitElement, float startX, float startY, float startZ
  • weapon: an int representing weapon used for making a shot.
  • endX, endY, endZ: float world coordinates representing an end point.
  • hitElement: an element which was hit by a shot. Currently this can be only another player. Note: hitElement could be incorrect and should not be relied upon.
  • startX, startY, startZ: float world coordinates representing the start of the bullet. Note: This is not the gun muzzle.

Source

The source of this event is the player who fired the weapon.

Example

This code creates explosions when the source players shoots.

addEventHandler ("onPlayerWeaponFire", root, 
   function (weapon, endX, endY, endZ, hitElement, startX, startY, startZ)
       createExplosion(endX, endY, endZ, 2, source);
   end
)

See Also

Player events


Event functions