OnClientVehicleDamage: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
Line 26: Line 26:
==Example==  
==Example==  
This example makes every SWAT tank immune from all weapon attacks.
This example makes every SWAT tank immune from all weapon attacks.
<syntaxhighlight lang="lua">
<section name="Client" class="client" show="true"><syntaxhighlight lang="lua">
function handleVehicleDamage(attacker, weapon, loss, x, y, z, tyre)
function handleVehicleDamage(attacker, weapon, loss, x, y, z, tyre)
     if (weapon and getElementModel(source) == 601) then
     if (weapon and getElementModel(source) == 601) then
Line 34: Line 34:
end
end
addEventHandler("onClientVehicleDamage", root, handleVehicleDamage)
addEventHandler("onClientVehicleDamage", root, handleVehicleDamage)
</syntaxhighlight>
</syntaxhighlight></section>


This example allows the Rhino to take damage from bullets even though they're bullet proof, this example doesn't work with explosions though.
This example allows the Rhino to take damage from bullets even though they're bullet proof, this example doesn't work with explosions though.
<syntaxhighlight lang="lua">
<section name="Client" class="client" show="true"><syntaxhighlight lang="lua">
-- Only let these weapons damage a Rhino
-- Only let these weapons damage a Rhino
local weaponsToDamageRhino = {
local weaponsToDamageRhino = {
Line 55: Line 55:
end
end
addEventHandler("onClientVehicleDamage", root, handleRhinoDamage)
addEventHandler("onClientVehicleDamage", root, handleRhinoDamage)
</syntaxhighlight>
</syntaxhighlight></section>


This example will prevent your vehicle from taking damage by being lit on fire.
This example will makes all vehicle Fireproof.
<section name="Client" class="client" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function preventFireDamage_Handler(theAttacker, theWeapon)
function fireproofvehicle(theAttacker, theWeapon)
if(theWeapon == 37) then
if(theWeapon == 37) then
cancelEvent()
cancelEvent()
end
end
end
end
addEventHandler("onClientVehicleDamage", getRootElement(), preventFireDamage_Handler)
addEventHandler("onClientVehicleDamage", getRootElement(), fireproofvehicle)
</syntaxhighlight>
</syntaxhighlight>
</section>


==See Also==
==See Also==

Revision as of 17:51, 11 April 2015

This event is triggered when a vehicle is damaged.

[[{{{image}}}|link=|]] Note: This event is only triggered for vehicles that are streamed in

Parameters

element theAttacker, int theWeapon, float loss, float damagePosX, float damagePosY, float damagePosZ, int tyreID
  • theAttacker: An element if there was an attacker.
  • theWeapon: An integer specifying the weapon ID if a weapon was used.
  • loss: A float representing the amount of damage taken.
  • damagePosX: A float representing the X co-ordinate of where the damage took place.
  • damagePosY: A float representing the Y co-ordinate of where the damage took place.
  • damagePosZ: A float representing the Z co-ordinate of where the damage took place.
  • tyreID: A number representing the tyre which took damage, if there is one.

Source

The source of this event is the vehicle that got damaged.

Cancel effect

If this event is canceled, the vehicle health won't be reduced. Physical damage to the vehicle will remain.

Example

This example makes every SWAT tank immune from all weapon attacks.

Click to collapse [-]
Client
function handleVehicleDamage(attacker, weapon, loss, x, y, z, tyre)
    if (weapon and getElementModel(source) == 601) then
        -- A weapon was used and the vehicle model ID is that of the SWAT tank so cancel the damage.
        cancelEvent()
    end
end
addEventHandler("onClientVehicleDamage", root, handleVehicleDamage)

This example allows the Rhino to take damage from bullets even though they're bullet proof, this example doesn't work with explosions though.

Click to collapse [-]
Client
-- Only let these weapons damage a Rhino
local weaponsToDamageRhino = {
	[38] = true, -- minigun
	[33] = true, -- country rifle
	[34] = true, -- sniper rifle
	[30] = true, -- AK-47
	[31] = true, -- M4
}

function handleRhinoDamage(attacker, weapon, loss, x, y, z, tyre)
	if (weapon and getElementModel(source) == 432 and loss > 0) then
		if (weaponsToDamageRhino[weapon]) then
			setElementHealth(source, getElementHealth(source) - loss)
		end
	end
end
addEventHandler("onClientVehicleDamage", root, handleRhinoDamage)

This example will makes all vehicle Fireproof.

Click to collapse [-]
Client
function fireproofvehicle(theAttacker, theWeapon)
	if(theWeapon == 37) then
		cancelEvent()
	end
end
addEventHandler("onClientVehicleDamage", getRootElement(), fireproofvehicle)

See Also

Client vehicle events


Client event functions