WasEventCancelled: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 17: Line 17:
This example implements a custom event ''onFlagPickup'' that would be triggered if an ''onMarkerHit'' event was triggered on a marker whose parent was a ''flag'' element. If the event isn't canceled then an element data value is set on the player.
This example implements a custom event ''onFlagPickup'' that would be triggered if an ''onMarkerHit'' event was triggered on a marker whose parent was a ''flag'' element. If the event isn't canceled then an element data value is set on the player.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEvent ( "onFlagPickup", "thePlayer" )
addEvent ( "onFlagPickup" )


function flagHitcheck ( thePlayer )
function flagHitcheck ( thePlayer )

Revision as of 20:37, 22 January 2012

This function checks whether or not the currently active event has been canceled. This is mainly useful for custom events created by scripts.

Events can be cancelled using cancelEvent, this indicates that the resource that triggered the event should do whatever it can to reverse any changes made by whatever caused the event. See triggerEvent for a more detailed explanation of this.

Syntax

bool wasEventCancelled ( )   

Returns

Returns true if the event was canceled, false if it wasn't or doesn't exist.

Example

This example implements a custom event onFlagPickup that would be triggered if an onMarkerHit event was triggered on a marker whose parent was a flag element. If the event isn't canceled then an element data value is set on the player.

addEvent ( "onFlagPickup" )

function flagHitcheck ( thePlayer )
    parentElement = getElementParent ( source ) -- get the parent of the marker
    if ( getElementType ( parentElement ) == "flag" ) then -- if it was a flag element then
        triggerEvent ( "onFlagPickup", source, thePlayer ) -- trigger our onFlagPickup event
        
        if ( not wasEventCancelled() ) then -- if the handler for the event didn't cancel it then
            setElementData ( thePlayer, "hasFlag", true ) -- set that the player picked up the flag
        end
    end
end
addEventHandler ( "onMarkerHit", getRootElement(), flagHitCheck )

See Also