OnPlayerDamage: Difference between revisions
Jump to navigation
Jump to search
m (issue 6495 was fixed) |
Zangomangu (talk | contribs) (Removed fixed issues) |
||
(9 intermediate revisions by 7 users not shown) | |||
Line 3: | Line 3: | ||
This event is triggered when a player is damaged, in any way. | 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== | ==Parameters== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
player attacker, int | player attacker, int damage_causing, int bodypart, float loss | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*'''attacker''': | *'''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 [[Weapons|attacker weapon]], or some other [[Damage Types|types of damage]]. | ||
*'''bodypart''': | *'''bodypart''': an [[int]] representing the bodypart ID the player was hit on when he got damaged. | ||
{{BodyParts}} | {{BodyParts}} | ||
*'''loss''': | *'''loss''': a [[float]] representing the percentage of health the player lost. | ||
==Source== | ==Source== | ||
Line 24: | Line 24: | ||
This example causes an instant kill when a player is shot in the head, and announces it in the chatbox. | This example causes an instant kill when a player is shot in the head, and announces it in the chatbox. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function playerDamage_text ( attacker, weapon, bodypart, loss ) --when a player is damaged | function playerDamage_text ( attacker, weapon, bodypart, loss ) --when a player is damaged | ||
if ( bodypart == 9 ) then -- if the body part is 9 | 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!", | outputChatBox ( "Headshot!", attacker, 255, 170, 0 ) --output "Headshot" into the chatbox | ||
killPed ( source, attacker, weapon, bodypart ) -- and kill the player | killPed ( source, attacker, weapon, bodypart ) -- and kill the player | ||
end | end | ||
end | end | ||
addEventHandler ( "onPlayerDamage", | addEventHandler ( "onPlayerDamage", root, playerDamage_text ) --add an event handler for the onPlayerDamage event | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{See also/Server event|Player events}} | {{See also/Server event|Player events}} |
Latest revision as of 10:41, 30 January 2022
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
See Also
Player events
- onPlayerACInfo
- onPlayerBan
- onPlayerChangeNick
- onPlayerChat
- onPlayerClick
- onPlayerCommand
- onPlayerConnect
- onPlayerContact
- onPlayerDamage
- onPlayerJoin
- onPlayerLogin
- onPlayerLogout
- onPlayerMarkerHit
- onPlayerMarkerLeave
- onPlayerModInfo
- onPlayerMute
- onPlayerNetworkStatus
- onPlayerPickupHit
- onPlayerPickupLeave
- onPlayerPickupUse
- onPlayerPrivateMessage
- onPlayerQuit
- onPlayerScreenShot
- onPlayerSpawn
- onPlayerStealthKill
- onPlayerTarget
- onPlayerUnmute
- onPlayerVehicleEnter
- onPlayerVehicleExit
- onPlayerVoiceStart
- onPlayerVoiceStop
- onPlayerWasted
- onPlayerWeaponFire
- onPlayerWeaponSwitch
Event functions
- addEvent
- addEventHandler
- cancelEvent
- cancelLatentEvent
- getEventHandlers
- getLatentEventHandles
- getLatentEventStatus
- removeEventHandler
- triggerEvent
- wasEventCancelled