OnMarkerHit: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Add important note regarding weird behavior) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
{{Server event}} | {{Server event}} | ||
This event is triggered when an element enters a marker created using [[createMarker]]. | This event is triggered when an element enters a marker created using [[createMarker]]. | ||
{{Important Note|The event is not triggered when only the dimension changes of the player. So, if you use the `matchingDimension` when teleporting players into existing markers you should always first set their dimension/interior and only then the position}} | |||
==Parameters== | ==Parameters== | ||
Line 19: | Line 20: | ||
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --> | <!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
local playerMarker = createMarker(0, 0, 2, "cylinder", 5, 10, 244, 23, 200, root) | |||
local | function handlePlayerMarker(hitElement) | ||
local elementType = getElementType(hitElement) | |||
outputChatBox("Element ("..elementType..") has entered marker.") | |||
end | end | ||
addEventHandler( "onMarkerHit", | addEventHandler("onMarkerHit", playerMarker, handlePlayerMarker) | ||
</syntaxhighlight> | |||
==Issues== | ==Issues== | ||
{{Issues| | {{Issues| | ||
{{Issue| | {{Issue|551|If a marker was attached to another element, onMarkerHit won't be triggered}} | ||
{{Issue|519|onMarkerHit not always triggered in interiors}} | |||
{{Issue|923|Server side markers with size < 1.5 don't trigger event}} | |||
}} | }} | ||
{{See also/Server event|Marker events}} | {{See also/Server event|Marker events}} |
Latest revision as of 20:40, 20 September 2023
This event is triggered when an element enters a marker created using createMarker.
Important Note: The event is not triggered when only the dimension changes of the player. So, if you use the `matchingDimension` when teleporting players into existing markers you should always first set their dimension/interior and only then the position |
Parameters
element hitElement, bool matchingDimension
- hitElement: the element that hit the marker.
- matchingDimension: a boolean representing whether the element is in the same dimension as the marker.
Source
The source of this event is the marker that got hit by the element.
Example
This example will output a message what type of element has entered a marker.
local playerMarker = createMarker(0, 0, 2, "cylinder", 5, 10, 244, 23, 200, root) function handlePlayerMarker(hitElement) local elementType = getElementType(hitElement) outputChatBox("Element ("..elementType..") has entered marker.") end addEventHandler("onMarkerHit", playerMarker, handlePlayerMarker)
Issues
Issue ID | Description |
---|---|
#551 | If a marker was attached to another element, onMarkerHit won't be triggered |
#519 | onMarkerHit not always triggered in interiors |
#923 | Server side markers with size < 1.5 don't trigger event |
See Also
Marker events
Event functions
- addEvent
- addEventHandler
- cancelEvent
- cancelLatentEvent
- getEventHandlers
- getLatentEventHandles
- getLatentEventStatus
- removeEventHandler
- triggerEvent
- wasEventCancelled