onClientElementStreamIn | Multi Theft Auto: Wiki Skip to content

onClientElementStreamIn

Client-side
Server-side
Shared

This event is triggered whenever a physical element is streamed in. This is triggered for all elements that are streamable, such as players, peds, vehicles, objects and markers. When this event is triggered, that element is guaranteed to be physically created as a GTA object.

This event also triggers for a remote player that dies in front of local player, even if they respawn far away.. the moment they do so, this event will be triggered, and if you'd measure distance between local and said remote player (that spawned far away) during this event, it would output the distance at which they died in front of local player, e.g 2 metres. This is bug-prone behavior and likely incorrect, to be fixed in the future, but for now be aware. The 'low distance' aspect of this (which could worsen your results) is caused by the split second that their ped elements may 'flash' past its wasted location during the respawning process. For now you can work around these side effect (both, or the distance aspect.. results may vary based on randomness) by adding an isPedDead check inside the event, checking source (said remote player), as this delays the onClientElementIn until after full respawn has taken place. The below script example incorporates this workaround

Parameters

This event does not pass any parameters to the handler function.

Source

element: The source of this event is the element that streamed in.

Code Examples

client

This example shows you how to tell player that another player was streamed in and the distance between them and said player

function onClientElementStreamIn()
local validElement = isElement(source)
if (not validElement) then
return false
end
local elementType = getElementType(source)
local playerType = (elementType == "player")
if (not playerType) then
return false
end
local pedDead = isPedDead(source)
if (pedDead) then
return false
end
local localX, localY, localZ = getElementPosition(localPlayer)
local playerX, playerY, playerZ = getElementPosition(source)
local distanceBetweenPlayers = getDistanceBetweenPoints3D(localX, localY, localZ, playerX, playerY, playerZ)
outputChatBox("A player has just streamed in. Distance to the player: "..distanceBetweenPlayers)
end
addEventHandler("onClientElementStreamIn", root, onClientElementStreamIn)

See Also

Element Functions