OnExplosion: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(More clear explanation of source behaviour)
Line 12: Line 12:
{{Explosions}}
{{Explosions}}
==Source==
==Source==
The [[event system#Event source|source]] of this event is the [[player]] who notified server about explosion, or [[root]] if explosion was created without specifying creator in [[createExplosion]].
The [[event system#Event source|source]] of this event is the [[player]] who notified server about explosion, or [[root]] if explosion was created server-side along without specifying creator in [[createExplosion]].


===Canceling===
===Canceling===
If this event is [[Event system #Canceling|canceled]], the explosion will not occur.  
If this event is [[Event system #Canceling|canceled]], the explosion will not occur.


==Example==
==Example==

Revision as of 14:57, 31 October 2023

BETA: NEW FEATURE (BUILD: 1.6.0 r21914)
This event is triggered every time an explosion is created either by server-side createExplosion, or when reported by player.

Parameters

float x, float y, float z, int theType
  • x: X coordinate of where the explosion was created
  • y: Y coordinate of where the explosion was created
  • z: Z coordinate of where the explosion was created
  • theType: the type of explosion created, values are:
    • 0: Grenade
    • 1: Molotov
    • 2: Rocket
    • 3: Rocket Weak
    • 4: Car
    • 5: Car Quick
    • 6: Boat
    • 7: Heli
    • 8: Mine
    • 9: Object
    • 10: Tank Grenade
    • 11: Small
    • 12: Tiny

Source

The source of this event is the player who notified server about explosion, or root if explosion was created server-side along without specifying creator in createExplosion.

Canceling

If this event is canceled, the explosion will not occur.

Example

This example outputs information about occuring explosion.

local debugMsgLevel = 4
local debugMsgR = 255
local debugMsgG = 127
local debugMsgB = 0
local explosionTypes = {
	[0] = "Grenade",
	[1] = "Molotov",
	[2] = "Rocket",
	[3] = "Rocket Weak",
	[4] = "Car",
	[5] = "Car Quick",
	[6] = "Boat",
	[7] = "Heli",
	[8] = "Mine",
	[9] = "Object",
	[10] = "Tank Grenade",
	[11] = "Small",
	[12] = "Tiny",
}

function onExplosion(explosionX, explosionY, explosionZ, explosionType)
	local explosionPos = (explosionX..", "..explosionY..", "..explosionZ)
	local explosionTypeName = explosionTypes[explosionType]
	local explosionSource = inspect(source)
	local debugMsg = (explosionTypeName.." explosion has occured at "..explosionPos.." (source: "..explosionSource..")")

	outputDebugString(debugMsg, debugMsgLevel, debugMsgR, debugMsgG, debugMsgB)
end
addEventHandler("onExplosion", root, onExplosion)

See Also

Server events


Event functions