SetElementStreamable

From Multi Theft Auto: Wiki
Revision as of 13:14, 31 December 2014 by AlexTMjugador (talk | contribs) (Added OOP syntax introduced in r6987, tidied up all the notes and improved the example)
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 true if the element was streamed in successfully right now, false if it could not be streamed in for some reason, for example limit reached, or invalid element.

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