You should avoid triggering events on the root element unless you really need to. Doing this triggers the event on every element in the element tree, which is potentially very CPU intensive. Use as specific (i.e. low down the tree) element as you can.
bool triggerEvent ( string eventName, element baseElement, [ var argument1, ... ] )
- eventName: The name of the event you wish to trigger
- baseElement: The element you wish to trigger the event on. See event system for information on how this works.
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- argument1: The first argument that the event handler expects should be added after the baseElement variable.
- NOTE: This function can have more than one of these arguments specified, once for each argument the event handler is expecting.
- Returns nil if the arguments are invalid or the event could not be found.
- Returns true if the event was triggered successfully, and was not cancelled using cancelEvent.
- Returns false if the event was triggered successfully, and was successfully cancelled using cancelEvent.
If you define a new custom event as follows:
-- Get the root map element rootElement = getRootElement () -- Add a new event called onSpecialEvent addEvent ( "onSpecialEvent", "text" ) -- Define our handler function function specialEventHandler ( text ) outputChatBox ( text ) end -- Add the event handler addEventHandler ( "onSpecialEvent", rootElement, specialEventHandler )
You can then trigger this event later on using:
triggerEvent ( "onSpecialEvent", rootElement, "test" )