SetElementStreamable

From Multi Theft Auto: Wiki
Revision as of 15:57, 13 August 2015 by Sbx320 (talk | contribs) (Fixed documentation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This function can be used to disable streaming for an element. This will make sure the element is not virtualized (streamed out from GTA) when the player moves far away from it. This function only works in elements with a physical representation in the world (entities), such as players, peds, vehicles and objects.

[[{{{image}}}|link=|]] Tip: Always use this function with caution. Not doing so can cause the following problems:
  • There is a limit of elements that can be streamed in safely for every GTA entity type. If you bypass said limit by using this function, the client can experience problems of disappearing objects and unstability when trying to stream in new elements of that type.
  • In general, if you disable too many elements (of the same type or not) to stream out, GTA will always try to render them, so it can cause a noticeable FPS drop.

Syntax

bool setElementStreamable ( element theElement, bool streamable ) 

OOP Syntax Help! I don't understand this!

Method: element:setStreamable(...)
Variable: .streamable
Counterpart: isElementStreamable

Required Arguments

  • theElement: The element you wish to set the streaming of
  • streamable: true if this element should stream in/out like normal, false if it should always be streamed in.

Returns

Returns whether the element could be set to be streamable.

Example

This example creates an object at the center of the map which will always be streamed in when the resource which contains it starts.

local function testNonStreamableObjects()
    local object = createObject ( 1097, 0, 0, 5 )
    setElementStreamable ( object, false ) -- Make the object always be streamed in
end
addEventHandler ( "onClientResourceStart", resourceRoot, testNonStreamableObjects )

See Also