OnElementDestroy: Difference between revisions
Jump to navigation
Jump to search
(Correction to my example) |
mNo edit summary |
||
Line 28: | Line 28: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function getSourceResourceOfElementDestruction() | function getSourceResourceOfElementDestruction() | ||
-- Players aren't destroyed by any resource | |||
if (getElementType(source) == "player") then | |||
outputChatBox("Player "..getPlayerName(source).." destroyed") | |||
return true | |||
end | |||
local sourceResourceRoot = getElementParent(getElementParent(source)) -- Get the resource root element of the element | local sourceResourceRoot = getElementParent(getElementParent(source)) -- Get the resource root element of the element | ||
-- Now to get the resource from the resource root element | -- Now to get the resource from the resource root element |
Revision as of 16:05, 5 November 2013
This event is triggered when an element gets destroyed by destroyElement or when the creator resource is stopping. It is also triggered when a parent element of this element is destroyed.
Parameters
None
Source
The source of this event is the element that is being destroyed.
Example
This example sends a message to the vehicle occupants when it's being destroyed.
addEventHandler("onElementDestroy", getRootElement(), function () if getElementType(source) == "vehicle" then local nPassengers = getVehicleMaxPassengers(source) for i=0,nPassengers-1 do local occupant = getVehicleOccupant(source, i) if occupant then outputChatBox("The vehicle that you were in has been destroyed by the script", occupant) end end end end)
This example outputs a message every time an element is destroyed saying which resource created the element
function getSourceResourceOfElementDestruction() -- Players aren't destroyed by any resource if (getElementType(source) == "player") then outputChatBox("Player "..getPlayerName(source).." destroyed") return true end local sourceResourceRoot = getElementParent(getElementParent(source)) -- Get the resource root element of the element -- Now to get the resource from the resource root element local theResource = false for ind, res in pairs(getResources()) do -- Loop all resources if (getResourceRootElement(res) == sourceResourceRoot) then -- Compare each resources root element to what we've got theResource = res -- We've found the source break -- End the loop end end if (theResource) then -- Did we find it? local resourceName = getResourceName(theResource) -- Get the resources name outputChatBox(resourceName.." destroyed a "..getElementType(source)) -- Output the resource name along with element type end end addEventHandler("onElementDestroy", root, getSourceResourceOfElementDestruction) -- All elements
See Also
Element events
- onElementClicked
- onElementColShapeHit
- onElementColShapeLeave
- onElementDataChange
- onElementDestroy
- onElementDimensionChange
- onElementInteriorChange
- onElementModelChange
- onElementStartSync
- onElementStopSync
Event functions
- addEvent
- addEventHandler
- cancelEvent
- cancelLatentEvent
- getEventHandlers
- getLatentEventHandles
- getLatentEventStatus
- removeEventHandler
- triggerEvent
- wasEventCancelled