OnPlayerWasted: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
(21 intermediate revisions by 16 users not shown)
Line 4: Line 4:


==Parameters==
==Parameters==
<syntaxhighlight lang="lua">
{{New feature/item|3|1.0||<syntaxhighlight lang="lua">
int totalAmmo, element killer, int killerWeapon, int bodypart [, bool stealth ]
int totalAmmo, element killer, int killerWeapon, int bodypart, bool stealth
</syntaxhighlight>  
</syntaxhighlight>}}
 
{{Deprecated_feature|3|1.0|<syntaxhighlight lang="lua">
int totalAmmo, element killer, int killerWeapon, int bodypart
</syntaxhighlight>}}


*'''totalAmmo''': an integer representing the total ammo the victim had when he died.
*'''totalAmmo''': an [[int]] representing the total ammo the victim had when they died.
*'''killer''': an [[element]] representing the player or vehicle who was the killer. If there was no killer this is ''false''.
*'''killer''': an [[element]] representing the [[player]] or [[vehicle]] who was the killer. If there was no killer this is ''false''.
*'''killerWeapon''': an integer representing the [[weapon]] the killer used to kill the player.
*'''killerWeapon''': an [[int]] representing the [[Weapons|killer weapon]] or the [[Damage Types|damage type]].
*'''bodypart''': an integer representing the bodypart ID the victim was hit on when he died.
*'''bodypart''': an [[int]] representing the bodypart ID the victim was hit on when they died.
{{BodyParts}}
{{BodyParts}}
*'''stealth''': boolean value representing whether or not this was a stealth kill ('''From DP3''')
*'''stealth''': a [[boolean]] value representing whether or not this was a stealth kill.


==Source==
==Source==
Line 30: Line 34:
if ( getElementType ( attacker ) == "player" ) then
if ( getElementType ( attacker ) == "player" ) then
-- put the attacker, victim and weapon info in the string
-- put the attacker, victim and weapon info in the string
tempString = getClientName ( attacker ).." killed "..getClientName ( source ).." ("..getWeaponNameFromID ( weapon )..")"
tempString = getPlayerName ( attacker ).." killed "..getPlayerName ( source ).." ("..getWeaponNameFromID ( weapon )..")"
-- else, if it was a vehicle,
-- else, if it was a vehicle,
elseif ( getElementType ( attacker ) == "vehicle" ) then
elseif ( getElementType ( attacker ) == "vehicle" ) then
-- we'll get the name from the attacker vehicle's driver
-- we'll get the name from the attacker vehicle's driver
local tempString = getClientName ( getVehicleController ( attacker ) ).." killed "..getClientName ( source ).." ("..getWeaponNameFromID ( weapon )..")"
tempString = getPlayerName ( getVehicleController ( attacker ) ).." killed "..getPlayerName ( source ).." ("..getWeaponNameFromID ( weapon )..")"
end
end
-- if the victim was shot in the head, append a special message
-- if the victim was shot in the head, append a special message
Line 48: Line 52:
else
else
-- output a death message without attacker info
-- output a death message without attacker info
outputChatBox ( getClientName ( source ).." died. ("..getWeaponNameFromID ( weapon )..") ("..getBodyPartName ( bodypart )..")" )
outputChatBox ( getPlayerName ( source ).." died. ("..getWeaponNameFromID ( weapon )..") ("..getBodyPartName ( bodypart )..")" )
end
end
end
end
Line 58: Line 62:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler( "onPlayerWasted", getRootElement( ),
addEventHandler( "onPlayerWasted", getRootElement( ),
function( )
function()
setTimer( spawnPlayer, 2000, 1, source, 0, 0, 3 ) )
setTimer( spawnPlayer, 2000, 1, source, 0, 0, 3 )
end
end
)
)

Revision as of 03:03, 27 September 2018

This event is triggered when a player is killed or dies.

Parameters

int totalAmmo, element killer, int killerWeapon, int bodypart, bool stealth
  • totalAmmo: an int representing the total ammo the victim had when they died.
  • killer: an element representing the player or vehicle who was the killer. If there was no killer this is false.
  • killerWeapon: an int representing the killer weapon or the damage type.
  • bodypart: an int representing the bodypart ID the victim was hit on when they died.
  • 3: Torso
  • 4: Ass
  • 5: Left Arm
  • 6: Right Arm
  • 7: Left Leg
  • 8: Right Leg
  • 9: Head
  • stealth: a boolean value representing whether or not this was a stealth kill.

Source

The source of this event is the player that died or got killed.

Example

This example prints the killer and bodypart to the chat when a player dies.

-- register player_Wasted as a handler for onPlayerWasted
function player_Wasted ( ammo, attacker, weapon, bodypart )
	-- if there was an attacker
	if ( attacker ) then
		-- we declare our variable outside the following checks
		local tempString
		-- if the element that killed him was a player,
		if ( getElementType ( attacker ) == "player" ) then
			-- put the attacker, victim and weapon info in the string
			tempString = getPlayerName ( attacker ).." killed "..getPlayerName ( source ).." ("..getWeaponNameFromID ( weapon )..")"
		-- else, if it was a vehicle,
		elseif ( getElementType ( attacker ) == "vehicle" ) then
			-- we'll get the name from the attacker vehicle's driver
			tempString = getPlayerName ( getVehicleController ( attacker ) ).." killed "..getPlayerName ( source ).." ("..getWeaponNameFromID ( weapon )..")"
		end
		-- if the victim was shot in the head, append a special message
		if ( bodypart == 9 ) then
			tempString = tempString.." (HEADSHOT!)"
		-- else, just append the bodypart name
		else
			tempString = tempString.." ("..getBodyPartName ( bodypart )..")"
		end
		-- display the message
		outputChatBox ( tempString )
	-- if there was no attacker,
	else
		-- output a death message without attacker info
		outputChatBox ( getPlayerName ( source ).." died. ("..getWeaponNameFromID ( weapon )..") ("..getBodyPartName ( bodypart )..")" )
	end
end
addEventHandler ( "onPlayerWasted", getRootElement(), player_Wasted )


And another example, this will spawn you in the middle of GTA SA world (x=0, y=0, z=3) after 2 seconds of your death

addEventHandler( "onPlayerWasted", getRootElement( ),
	function()
		setTimer( spawnPlayer, 2000, 1, source, 0, 0, 3 )
	end
)

See Also

Player events


Event functions