OnClientWeaponFire: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(New)
mNo edit summary
 
(13 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Client event}}
__NOTOC__  
__NOTOC__  
This event triggers when a [[Element/Weapon|custom weapon]] fires a shot.
{{Note|This event is '''ONLY''' for custom weapons that were created with [[createWeapon]], for regular weapons use [[onClientPlayerWeaponFire]].}}
{{Note|This event is only triggered for custom weapons that are streamed in}}
==Parameters==
<syntaxhighlight lang="lua">
element hitElement, float posX,  float posY, float posZ, float normalX, float normalY, float normalZ, int materialType, float lighting, int pieceHit
</syntaxhighlight>
*'''hitElement:''' the element that was hit
*'''posX:''' the position it will hit
*'''posY:''' the position it will hit
*'''posZ:''' the position it will hit
*'''normalX:''' the normal it hit ( see processLineOfSight )
*'''normalY:''' the normal it hit ( see processLineOfSight )
*'''normalZ:''' the normal it hit ( see processLineOfSight )
*'''materialType:''' the material type it hit ( see processLineOfSight )
*'''lighting:''' the lighting of the entity it hit ( see processLineOfSight )
*'''pieceHit:''' the piece of the entity it hit ( see processLineOfSight )


Weapon creation event.
==Source==
 
The [[event system#Event source|source]] of this event is the weapon that was fired.
Called post firing so properties can be changed per shot
 
Source is the weapon that fired
 
Can be cancelled with cancelEvent to prevent the shot.


==Syntax==  
==Cancel Effect==
<syntaxhighlight lang="lua">
If this event was [[Event system#Canceling|canceled]], then the weapon will not fire.
onClientWeaponFire ( entity hitEntity, posX, posY, posZ, normalX, normalY, normalZ, int materialType, int lighting, int pieceHit )
- hitEntity the entity it will hit
- posX the position it will hit
- posY the position it will hit
- posZ the position it will hit
- normalX the normal it hit ( see processLineOfSight )
- normalY the normal it hit ( see processLineOfSight )
- normalZ the normal it hit ( see processLineOfSight )
- materialType the material type it hit ( see processLineOfSight )
- lighting the lighting of the entity it hit ( see processLineOfSight )
- pieceHit the piece of the entity it hit ( see processLineOfSight )
</syntaxhighlight>


==Example==  
==Example==  
This example calls server events, when an object was hit, or the player shot at something with a special gun.
This example prevents player damage from custom weapons.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
</syntaxhighlight>
function noDamageToPlayersFromCustomWeapons(target)
    if target == localPlayer then
        cancelEvent() -- If the weapon hit the player, cancel the shot
    end
end
addEventHandler("onClientWeaponFire", root, noDamageToPlayersFromCustomWeapons)</syntaxhighlight>


==See Also==
==See Also==
{{Event_functions}}
===Client event functions===
{{Client_event_functions}}
 
[[hu:onClientWeaponFire]]

Latest revision as of 17:30, 12 April 2019

This event triggers when a custom weapon fires a shot.

[[{{{image}}}|link=|]] Note: This event is ONLY for custom weapons that were created with createWeapon, for regular weapons use onClientPlayerWeaponFire.
[[{{{image}}}|link=|]] Note: This event is only triggered for custom weapons that are streamed in

Parameters

element hitElement, float posX,  float posY, float posZ, float normalX, float normalY, float normalZ, int materialType, float lighting, int pieceHit
  • hitElement: the element that was hit
  • posX: the position it will hit
  • posY: the position it will hit
  • posZ: the position it will hit
  • normalX: the normal it hit ( see processLineOfSight )
  • normalY: the normal it hit ( see processLineOfSight )
  • normalZ: the normal it hit ( see processLineOfSight )
  • materialType: the material type it hit ( see processLineOfSight )
  • lighting: the lighting of the entity it hit ( see processLineOfSight )
  • pieceHit: the piece of the entity it hit ( see processLineOfSight )

Source

The source of this event is the weapon that was fired.

Cancel Effect

If this event was canceled, then the weapon will not fire.

Example

This example prevents player damage from custom weapons.

function noDamageToPlayersFromCustomWeapons(target)
    if target == localPlayer then
        cancelEvent() -- If the weapon hit the player, cancel the shot
    end
end
addEventHandler("onClientWeaponFire", root, noDamageToPlayersFromCustomWeapons)

See Also

Client event functions