OnPlayerDamage: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
m (Enhanced argument readability)
Line 9: Line 9:
==Parameters==
==Parameters==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
player attacker, int attackerweapon, int bodypart, float loss
player attacker, int damage_causing, int bodypart, float loss
</syntaxhighlight>  
</syntaxhighlight>  


*'''attacker''': a [[player]] element representing the player who was the attacker.  If there was no attacker this returns false.
*'''attacker''': a [[player]] element representing the player who was the attacker.  If there was no attacker this returns false.
*'''attackerweapon''': an [[int]] representing the [[Weapons|attacker weapon]] or the [[Damage Types|damage type]].
*'''damage_causing''': an [[int]] representing the cause of damage, either a [[Weapons|attacker weapon]], or some other [[Damage Types|types of damage]].
*'''bodypart''': an [[int]] representing the bodypart ID the player was hit on when he got damaged.
*'''bodypart''': an [[int]] representing the bodypart ID the player was hit on when he got damaged.
{{BodyParts}}
{{BodyParts}}

Revision as of 04:12, 13 June 2020

This event is triggered when a player is damaged, in any way.

  • This event is not triggered when attacked by a team member if friendly fire is enabled.
  • Canceling this event has no effect. Cancel the client-side event onClientPlayerDamage instead.
  • onPlayerDamage doesn't trigger if the damage kills the player, onPlayerWasted is called instead.

Parameters

player attacker, int damage_causing, int bodypart, float loss
  • attacker: a player element representing the player who was the attacker. If there was no attacker this returns false.
  • damage_causing: an int representing the cause of damage, either a attacker weapon, or some other types of damage.
  • bodypart: an int representing the bodypart ID the player was hit on when he got damaged.
  • 3: Torso
  • 4: Ass
  • 5: Left Arm
  • 6: Right Arm
  • 7: Left Leg
  • 8: Right Leg
  • 9: Head
  • loss: a float representing the percentage of health the player lost.

Source

The source of this event is the player who was damaged.

Example

This example causes an instant kill when a player is shot in the head, and announces it in the chatbox.

function playerDamage_text ( attacker, weapon, bodypart, loss ) --when a player is damaged
	if ( bodypart == 9 and attacker and attacker ~= source ) then -- if the body part is 9 (head) and there is an attacker and it wasn't self damage
            outputChatBox ( "Headshot!", attacker, 255, 170, 0 ) --output "Headshot" into the chatbox
	    killPed ( source, attacker, weapon, bodypart ) -- and kill the player
	end
end
addEventHandler ( "onPlayerDamage", root, playerDamage_text ) --add an event handler for the onPlayerDamage event

Issues

Issue ID Description
#6495 [Fixed in 1.3.3-5411] onPlayerDamage has wrong parameters if source on vehicle
#8082 (Fixed in r9762) Custom weapons & objects don't fully work with ped damage events

See Also

Player events


Event functions