GetEventHandlers: Difference between revisions
Jump to navigation
Jump to search
(Created page with "__NOTOC__ {{Server client function}} {{New feature/item|4.0132|1.3.1|4973| This function gets the attached functions to the event attached to element. }} ==Syntax== <syntaxhighlight lang="lua"> ...") |
(→Example: typo) |
||
(30 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Server client function}} | {{Server client function}} | ||
{{New feature/item| | {{New feature/item|3.0140|1.4|4973| | ||
This function gets the attached functions | This function gets the attached functions from the event and attached element from current lua script. | ||
}} | }} | ||
Line 9: | Line 9: | ||
table getEventHandlers ( string eventName, element attachedTo ) | table getEventHandlers ( string eventName, element attachedTo ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Required Arguments=== | ===Required Arguments=== | ||
Line 16: | Line 15: | ||
===Returns=== | ===Returns=== | ||
Returns table with attached functions, false | Returns table with attached functions, empty table otherwise. | ||
===Example=== | |||
<section name="Server" class="server" show="true"> | |||
<syntaxhighlight lang="lua"> | |||
function isEventHandlerAdded( sEventName, pElementAttachedTo, func ) | |||
if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then | |||
local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo ) | |||
if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then | |||
for i, v in ipairs( aAttachedFunctions ) do | |||
if v == func then | |||
return true | |||
end | |||
end | |||
end | |||
end | |||
return false | |||
end | |||
function onPlayerWasted() | |||
outputChatBox( getPlayerName( source ) .. ' died.' ) | |||
end | |||
addEventHandler( 'onPlayerWasted', root, onPlayerWasted ) | |||
addCommandHandler( 'removeOnPlayerWastedEvent', function() | |||
if isEventHandlerAdded( 'onPlayerWasted', root, onPlayerWasted ) then | |||
outputChatBox( 'onPlayerWasted succesfully removed!' ) | |||
removeEventHandler( 'onPlayerWasted', root, onPlayerWasted ) | |||
end | |||
end) | |||
</syntaxhighlight> | |||
</section> | |||
<section name="Clientside example" class="client" show="true"> | |||
This example removes all onClientMarkerHit event in current script. | |||
<syntaxhighlight lang="lua"> | |||
local events = getEventHandlers ( "onClientMarkerHit", resourceRoot ) | |||
for i,v in ipairs(events) do | |||
removeEventHandler ( "onClientMarkerHit", resourceRoot, v) | |||
end | |||
end | |||
</syntaxhighlight> | |||
</section> | |||
==See also== | |||
{{Event functions}} | {{Event functions}} | ||
Latest revision as of 13:47, 17 August 2024
This function gets the attached functions from the event and attached element from current lua script.
Syntax
table getEventHandlers ( string eventName, element attachedTo )
Required Arguments
- eventName: The name of the event. For example ( "onPlayerWasted" ).
- attachedTo: The element attached to.
Returns
Returns table with attached functions, empty table otherwise.
Example
Click to collapse [-]
Serverfunction isEventHandlerAdded( sEventName, pElementAttachedTo, func ) if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo ) if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then for i, v in ipairs( aAttachedFunctions ) do if v == func then return true end end end end return false end function onPlayerWasted() outputChatBox( getPlayerName( source ) .. ' died.' ) end addEventHandler( 'onPlayerWasted', root, onPlayerWasted ) addCommandHandler( 'removeOnPlayerWastedEvent', function() if isEventHandlerAdded( 'onPlayerWasted', root, onPlayerWasted ) then outputChatBox( 'onPlayerWasted succesfully removed!' ) removeEventHandler( 'onPlayerWasted', root, onPlayerWasted ) end end)
Click to collapse [-]
Clientside exampleThis example removes all onClientMarkerHit event in current script.
local events = getEventHandlers ( "onClientMarkerHit", resourceRoot ) for i,v in ipairs(events) do removeEventHandler ( "onClientMarkerHit", resourceRoot, v) end end
See also
- addEvent
- addEventHandler
- cancelEvent
- cancelLatentEvent
- getEventHandlers
- getLatentEventHandles
- getLatentEventStatus
- removeEventHandler
- triggerEvent
- wasEventCancelled