<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Azure</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Azure"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Azure"/>
	<updated>2026-04-22T20:29:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82273</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82273"/>
		<updated>2025-07-24T17:50:08Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Known Issues:'''&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with '''CreateObject''' or buildings created with '''createBuilding'''. It '''DOES NOT''' work with default map objects/buildings.&lt;br /&gt;
*'''If the LOD distance '''for a high LOD model''' is set to more than 325, the fade out effect of the model will not trigger and the model will just pop in/pop out of existence.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82272</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82272"/>
		<updated>2025-07-24T17:49:35Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Known Issues:'''&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with '''CreateObject''' or buildings created with '''createBuilding'''. It '''DOES NOT''' work with default map objects/buildings.&lt;br /&gt;
*'''Note:''' If the LOD distance '''for a high LOD model''' is set to more than 325, the fade out effect of the model will not trigger and the model will just pop in/pop out of existence.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82271</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82271"/>
		<updated>2025-07-24T17:41:01Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with '''CreateObject''' or buildings created with '''createBuilding'''. It '''DOES NOT''' work with default map objects/buildings.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the LOD distance '''for a high LOD model''' is set to more than 325, the fade out effect of the model will not trigger and the model will just pop in/pop out of existence.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82270</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82270"/>
		<updated>2025-07-24T17:39:20Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with '''CreateObject''' or buildings created with '''createBuilding'''. It '''DOES NOT''' work with default map objects/buildings.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the LOD distance is set to more than 325, the fade out effect of the model will not trigger and the model will just pop in/pop out of existence.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82269</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82269"/>
		<updated>2025-07-24T17:39:07Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with '''CreateObject''' or buildings created with '''createBuilding'''. It '''DOES NOT''' work with default map objects/buildings.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the LOD distance is set to more than 325, the fade out effect of the model will not trigger and the model will just pop in/pop out of existence)&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82268</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82268"/>
		<updated>2025-07-24T17:38:54Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with '''CreateObject''' or buildings created with '''createBuilding'''. It '''DOES NOT''' work with default map objects/buildings.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.9&lt;br /&gt;
'''Note:''' If the LOD distance is set to more than 325, the fade out effect of the model will not trigger and the model will just pop in/pop out of existence)&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82267</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82267"/>
		<updated>2025-07-24T17:36:18Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with '''CreateObject''' or buildings created with '''createBuilding'''. It '''DOES NOT''' work with default map objects/buildings.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82266</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82266"/>
		<updated>2025-07-24T17:35:43Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with '''CreateObject''' or buildings created with '''createBuilding'''. It '''DOES NOT''' work with default map objects.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82265</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82265"/>
		<updated>2025-07-24T17:33:33Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
*The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*'''This function only works with script-created objects''', just like objects created  with `CreateObject` or buildings created with `createBuilding`. It **DOES NOT** work with default map objects.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82264</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82264"/>
		<updated>2025-07-24T17:33:01Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
1. The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
2. '''This function only works with script-created objects''', just like objects created  with `CreateObject` or buildings created with `createBuilding`. It **DOES NOT** work with default map objects.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82263</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82263"/>
		<updated>2025-07-24T17:29:41Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
### This function only works with script-created objects, just like objects created  with `CreateObject` or buildings created with `createBuilding`. It **DOES NOT** work with default map objects.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82262</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82262"/>
		<updated>2025-07-24T17:29:29Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
This function only works with script-created objects, just like objects created  with `CreateObject` or buildings created with `createBuilding`. It **DOES NOT** work with default map objects.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82261</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82261"/>
		<updated>2025-07-24T17:28:13Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all script-created objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, root, false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82246</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82246"/>
		<updated>2025-07-20T15:23:58Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for all objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, getRootElement(), false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82245</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82245"/>
		<updated>2025-07-20T15:23:33Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all objects.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for currently created objects.&lt;br /&gt;
function setAllObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;, getRootElement(), false)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setAllObjectsLOD&amp;quot;, setAllObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetBufferSize&amp;diff=82243</id>
		<title>EngineStreamingSetBufferSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetBufferSize&amp;diff=82243"/>
		<updated>2025-07-19T14:31:14Z</updated>

		<summary type="html">&lt;p&gt;Azure: previousSize -&amp;gt; previousSizeMiB&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0160|1.6.0|21874|Set the streaming buffer size. The larger it is, the more models can be loaded in one go BUT increases the RAM  ['''not''' streaming memory!] usage. Can help with custom IMG loading speed by reducing pop-in.}}&lt;br /&gt;
{{Important Note|'''This function is meant for advanced users only, as it can lead to stability issues'''. Using a very high value might result in more crashes, while using a value too low might lead to frequent pop-in!}}&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineStreamingSetBufferSize( int sizeBytes )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[EngineStreaming]]:setBufferSize|bufferSize|engineStreamingGetBufferSize}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''sizeBytes ''': The streaming buffer size. Must be a positive non-zero number.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
True if there was enough memory to allocate the buffer, false otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example adds a command that can be used to change the streaming buffer size, and display the previous value.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;sbs&amp;quot;, function(_, sizeMiB)&lt;br /&gt;
    local previousSizeMiB = math.floor(engineStreamingGetBufferSize() / 1024 / 1024) -- Convert Bytes to MiB&lt;br /&gt;
    if tonumber(sizeMiB) then&lt;br /&gt;
        if engineStreamingSetBufferSize(tonumber(sizeMiB) * 1024 * 1024) then -- Convert MiB to Bytes&lt;br /&gt;
            outputChatBox(&amp;quot;The streaming buffer size has been changed from &amp;quot; .. previousSizeMiB .. &amp;quot; MiB to &amp;quot; .. sizeMiB .. &amp;quot; MiB&amp;quot;)&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox(&amp;quot;Not enough memory!&amp;quot;)&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        outputChatBox(&amp;quot;Please enter a numeric value!&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end, false, false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Engine functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetBufferSize&amp;diff=82242</id>
		<title>EngineStreamingSetBufferSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetBufferSize&amp;diff=82242"/>
		<updated>2025-07-19T14:30:36Z</updated>

		<summary type="html">&lt;p&gt;Azure: MB -&amp;gt; MiB (Megabytes to Mebibytes)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0160|1.6.0|21874|Set the streaming buffer size. The larger it is, the more models can be loaded in one go BUT increases the RAM  ['''not''' streaming memory!] usage. Can help with custom IMG loading speed by reducing pop-in.}}&lt;br /&gt;
{{Important Note|'''This function is meant for advanced users only, as it can lead to stability issues'''. Using a very high value might result in more crashes, while using a value too low might lead to frequent pop-in!}}&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineStreamingSetBufferSize( int sizeBytes )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[EngineStreaming]]:setBufferSize|bufferSize|engineStreamingGetBufferSize}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''sizeBytes ''': The streaming buffer size. Must be a positive non-zero number.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
True if there was enough memory to allocate the buffer, false otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example adds a command that can be used to change the streaming buffer size, and display the previous value.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;sbs&amp;quot;, function(_, sizeMiB)&lt;br /&gt;
    local previousSize = math.floor(engineStreamingGetBufferSize() / 1024 / 1024) -- Convert Bytes to MiB&lt;br /&gt;
    if tonumber(sizeMiB) then&lt;br /&gt;
        if engineStreamingSetBufferSize(tonumber(sizeMiB) * 1024 * 1024) then -- Convert MiB to Bytes&lt;br /&gt;
            outputChatBox(&amp;quot;The streaming buffer size has been changed from &amp;quot; .. previousSize .. &amp;quot; MiB to &amp;quot; .. sizeMiB .. &amp;quot; MiB&amp;quot;)&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox(&amp;quot;Not enough memory!&amp;quot;)&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        outputChatBox(&amp;quot;Please enter a numeric value!&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end, false, false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Engine functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetBufferSize&amp;diff=82241</id>
		<title>EngineStreamingSetBufferSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetBufferSize&amp;diff=82241"/>
		<updated>2025-07-19T14:29:11Z</updated>

		<summary type="html">&lt;p&gt;Azure: Fixed outputChatBox showing the comparison between the previous size and the new one&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0160|1.6.0|21874|Set the streaming buffer size. The larger it is, the more models can be loaded in one go BUT increases the RAM  ['''not''' streaming memory!] usage. Can help with custom IMG loading speed by reducing pop-in.}}&lt;br /&gt;
{{Important Note|'''This function is meant for advanced users only, as it can lead to stability issues'''. Using a very high value might result in more crashes, while using a value too low might lead to frequent pop-in!}}&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineStreamingSetBufferSize( int sizeBytes )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[EngineStreaming]]:setBufferSize|bufferSize|engineStreamingGetBufferSize}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''sizeBytes ''': The streaming buffer size. Must be a positive non-zero number.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
True if there was enough memory to allocate the buffer, false otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example adds a command that can be used to change the streaming buffer size, and display the previous value.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;sbs&amp;quot;, function(_, sizeMB)&lt;br /&gt;
    local previousSize = math.floor(engineStreamingGetBufferSize() / 1024 / 1024) -- Convert Bytes to MB&lt;br /&gt;
    if tonumber(sizeMB) then&lt;br /&gt;
        if engineStreamingSetBufferSize(tonumber(sizeMB) * 1024 * 1024) then -- Convert MB to Bytes&lt;br /&gt;
            outputChatBox(&amp;quot;The streaming buffer size has been changed from &amp;quot; .. previousSize .. &amp;quot; MB to &amp;quot; .. sizeMB .. &amp;quot; MB&amp;quot;)&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox(&amp;quot;Not enough memory!&amp;quot;)&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        outputChatBox(&amp;quot;Please enter a numeric value!&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end, false, false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Engine functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82240</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82240"/>
		<updated>2025-07-17T14:30:57Z</updated>

		<summary type="html">&lt;p&gt;Azure: 3000 -&amp;gt; 325&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all streamed-in objects to 325 units.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Server-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for currently created objects.&lt;br /&gt;
function setStreamedInObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setStreamedInObjectsLOD&amp;quot;, setStreamedInObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82239</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=82239"/>
		<updated>2025-07-17T14:30:10Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all streamed-in objects to 3000 units.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Server-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for currently created objects.&lt;br /&gt;
function setStreamedInObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 325 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setStreamedInObjectsLOD&amp;quot;, setStreamedInObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=LoadMapData&amp;diff=82238</id>
		<title>LoadMapData</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=LoadMapData&amp;diff=82238"/>
		<updated>2025-07-17T13:36:04Z</updated>

		<summary type="html">&lt;p&gt;Azure: destory -&amp;gt; destroy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function is intended to load data from a loaded XML file into the element tree. This could be used for loading an external map, or part of another map.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
element loadMapData ( xmlnode node, element parent )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''node:''' The node that you wish to load into the [[element tree]].&lt;br /&gt;
*'''parent:''' The node you wish to be the parent of the new map data.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns an [[element]] object that corresponds to the root of the new data added, i.e. an element that represents the ''node'' xmlnode passed to the function. Returns ''false'' if the arguments are invalid.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
'''Example 1:''' This example is a function that you could use to load an arbitary [https://forum.mtasa.com/topic/126081-map-files map file] into the [[element tree]].&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function loadMapFile(fileName)&lt;br /&gt;
	local xmlNode = getResourceConfig(fileName)&lt;br /&gt;
&lt;br /&gt;
	if (xmlNode) then -- check if the file was loaded ok&lt;br /&gt;
		loadMapData(xmlNode, root) -- load the loaded xml file into the element tree&lt;br /&gt;
		xmlUnloadFile(xmlNode) -- Unload the xml file&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example 2:''' This example will destroy the loaded map data after 30 seconds.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function loadMapFile(fileName)&lt;br /&gt;
	local xmlNode = getResourceConfig(fileName)&lt;br /&gt;
&lt;br /&gt;
	if (xmlNode) then -- check if the file was loaded ok&lt;br /&gt;
	    nodeElement = loadMapData(xmlNode, root) -- load the loaded xml file into the element tree&lt;br /&gt;
		xmlUnloadFile(xmlNode) -- Unload the xml file&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
setTimer(function() &lt;br /&gt;
    destroyElement(nodeElement)&lt;br /&gt;
end,30000,1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Map_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Element_data&amp;diff=82225</id>
		<title>Element data</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Element_data&amp;diff=82225"/>
		<updated>2025-07-11T05:30:33Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each [[element]] that is loaded is able to have [[element data]] values attached to it. These are values that can be accessed using a keyword string and directly correspond to the element's attributes in the map file, unless changed via scripting. Element data is a good (but expensive) way to store distributed information you want associated with an element, for example you could use it to associate a score with a player, or a team with a vehicle.&lt;br /&gt;
&lt;br /&gt;
Element data is synchronized by default between the server and the client (you can disable it via fourth argument in [[setElementData]]. Setting data from any of the two sides will force an update in the other, triggering the corresponding element data change events. This is very useful, as it provides a simple way to keep element properties synced without having to set special events to do it manually.  This also means that excessive use of element data to store variables that are not required by both server and client becomes a waste of bandwidth.&lt;br /&gt;
&lt;br /&gt;
Since not all data types can be packetized to be transferred, there are some restrictions. The types that cannot be stored as element data are ''non-element userdata'' (see [[MTA Classes]]), ''functions'' and ''threads''. Also, you may not send tables which contain one or more values of any of these types.&lt;br /&gt;
&lt;br /&gt;
{{Added feature/item|1.6.1|1.6.0|22790|Element data is not protected from client changes by default. You '''SHOULD''' enable [[Server_mtaserver.conf#elementdata_whitelisted|elementdata_whitelisted]] in '''mtaserver.conf''' to protect your server simple cheats. Use the '''clientChangesPolicy''' parameter in [[setElementData]] to allow some changes.}}&lt;br /&gt;
&lt;br /&gt;
==Relevant functions==&lt;br /&gt;
* [[setElementData]]: sets an element data value.&lt;br /&gt;
* [[getElementData]]: retrieves an element data value.&lt;br /&gt;
&lt;br /&gt;
==Relevant events==&lt;br /&gt;
* [[onElementDataChange]]: triggered on the server after element data is changed.&lt;br /&gt;
* [[onPlayerChangesProtectedData]]: triggered on the server after the client attempts to change protected element data.&lt;br /&gt;
* [[onClientElementDataChange]]: triggered on the client after element data is changed.&lt;br /&gt;
[[pt-br:Element_data]]&lt;br /&gt;
[[pl:Element data]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetFPSLimit&amp;diff=82191</id>
		<title>SetFPSLimit</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetFPSLimit&amp;diff=82191"/>
		<updated>2025-07-02T17:13:48Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets the maximum [http://en.wikipedia.org/wiki/Frame_rate FPS (Frames per second)] that players on the server can run their game at.  &lt;br /&gt;
{{Note|&lt;br /&gt;
* When set client side, the actual limit used is the lowest of both the server and client set values.&lt;br /&gt;
* Starting from version [[https://buildinfo.mtasa.com/?Revision=21313&amp;amp;Branch r21313]] and above '''fpsLimit''' range is '''25-32767'''. In older MTA releases it was '''25-100'''.&lt;br /&gt;
}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setFPSLimit ( int fpsLimit )         &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''fpsLimit:''' An integer value representing the maximum FPS. Refer to the note above for possible values. You can also pass '''0''' or '''false''', in which case the FPS limit will be the one set in the client settings (by default '''100 FPS''' and the client fps limit should also be manually changed via &amp;quot;'''fps_limit=0'''&amp;quot; in console or '''MTA San Andreas\MTA\config\coreconfig.xml''').&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if successful, or ''false'' if it was not possible to set the limit or an invalid value was passed.&lt;br /&gt;
&lt;br /&gt;
==Issues when increasing FPS==&lt;br /&gt;
Note: with &amp;quot;very high&amp;quot; FPS, any FPS limit over 74 is meant.&lt;br /&gt;
It is recommended to set a conservative FPS limit (between 40-60 and 74 highest) because high FPS can break some GTA internal calculations, causing various bugs. The higher the FPS the more of a problem these become:&lt;br /&gt;
&lt;br /&gt;
74 FPS is the breaking point that opens the door to various more severe GTA bugs related to FPS and physics.&lt;br /&gt;
&lt;br /&gt;
* Physics of vehicles is effected, both high and low FPSes may bring their own set of unfair advantages. Speaking about the consequences of high FPS in this context, up to 70 or 74 FPS is considered safe (as any differences in physics, if they do exist to begin with as they theoretically should, are so tiny that they are unmeasurable and thus wouldn't affect racing results in practise). Anything beyond 74 FPS may cause impactful discrepancies.&lt;br /&gt;
&lt;br /&gt;
* Pressing the horn button to turn on and off sirens gets really hard at very high FPS. For instance, at 100 FPS, you are more likely to hit the regular horn 3 times (inconsistent) before eventually triggering the siren, besides taking a similar amount of tries to turn off the siren.&lt;br /&gt;
* At very high FPS, climbing over certain objects will result in instant death. Example at: 2520.108, -1681.407, 19.406, 266 - [https://wiki.multitheftauto.com/wiki/SetFPSLimit#Fix_for_climbing_over_certain_objects you can use this Lua code to fix it.]&lt;br /&gt;
* The higher your FPS, the more of a penalty in satchel throwing distance (up to ~10% at very high FPS) will apply.&lt;br /&gt;
&lt;br /&gt;
For a full list of FPS-related GTA bugs (that are much less likely to impact gameplay in a meaningful way) and MTA developers' progress in tackling them, see the [https://github.com/multitheftauto/mtasa-blue/projects/14 Framerate issues tracker] github project.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example allows players to limit their own FPS using a command.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fpsFunction(commandName, fpsLimit)&lt;br /&gt;
	local newFPS = tonumber(fpsLimit)&lt;br /&gt;
&lt;br /&gt;
	if not newFPS then&lt;br /&gt;
		outputChatBox(&amp;quot;Syntax: /&amp;quot; .. commandName .. &amp;quot; [FPS] - to limit your own FPS.&amp;quot;)&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if newFPS &amp;lt; minFPS or newFPS &amp;gt; maxFPS then&lt;br /&gt;
		outputChatBox(&amp;quot;Please enter a value between &amp;quot; .. minFPS .. &amp;quot; and &amp;quot; .. maxFPS .. &amp;quot;.&amp;quot;)&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local currentLimit = getFPSLimit()&lt;br /&gt;
	local setNewFPS = (newFPS ~= currentLimit)&lt;br /&gt;
&lt;br /&gt;
	if (setNewFPS) then&lt;br /&gt;
		outputChatBox(&amp;quot;Your FPS have been limited to: &amp;quot; .. newFPS .. &amp;quot;.&amp;quot;)&lt;br /&gt;
		setFPSLimit(newFPS)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;fpslimit&amp;quot;, fpsFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fix for climbing over certain objects==&lt;br /&gt;
You can use this small code to fix one of high FPS issues, specifically the one which would instantly kill player climbing over some objects.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientPlayerDamage(attackerElement, damageType, bodyPart)&lt;br /&gt;
	local fallDamage = (damageType == 54)&lt;br /&gt;
&lt;br /&gt;
	if (not fallDamage) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local playerTask = getPedSimplestTask(localPlayer)&lt;br /&gt;
	local playerClimbing = (playerTask == &amp;quot;TASK_SIMPLE_CLIMB&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if (playerClimbing) then&lt;br /&gt;
		cancelEvent()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientPlayerDamage&amp;quot;, localPlayer, onClientPlayerDamage)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Server functions}}&lt;br /&gt;
&lt;br /&gt;
[[pl:setFPSLimit]]&lt;br /&gt;
[[ru:setFPSLimit]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetFPSLimit&amp;diff=82174</id>
		<title>SetFPSLimit</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetFPSLimit&amp;diff=82174"/>
		<updated>2025-06-27T01:06:44Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets the maximum [http://en.wikipedia.org/wiki/Frame_rate FPS (Frames per second)] that players on the server can run their game at.  &lt;br /&gt;
{{Note|&lt;br /&gt;
* When set client side, the actual limit used is the lowest of both the server and client set values.&lt;br /&gt;
* Starting from version [[https://buildinfo.mtasa.com/?Revision=21313&amp;amp;Branch r21313]] and above '''fpsLimit''' range is '''25-32767'''. In older MTA releases it was '''25-100'''.&lt;br /&gt;
}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setFPSLimit ( int fpsLimit )         &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''fpsLimit:''' An integer value representing the maximum FPS. Refer to the note above for possible values. You can also pass '''0''' or '''false''', in which case the FPS limit will be the one set in the client settings (by default '''100 FPS''' and the client fps limit should also be manually changed via &amp;quot;'''fps_limit=0'''&amp;quot; in console or '''MTA San Andreas\MTA\config\coreconfig.xml''').&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if successful, or ''false'' if it was not possible to set the limit or an invalid value was passed.&lt;br /&gt;
&lt;br /&gt;
==Issues when increasing FPS==&lt;br /&gt;
Note: with &amp;quot;very high&amp;quot; FPS, any FPS limit over 74 is meant.&lt;br /&gt;
It is recommended to set a conservative FPS limit (between 40-60 and 74 highest) because high FPS can break some GTA internal calculations, causing various bugs. The higher the FPS the more of a problem these become:&lt;br /&gt;
&lt;br /&gt;
74 FPS is the breaking point that opens the door to various more severe GTA bugs related to FPS and physics.&lt;br /&gt;
&lt;br /&gt;
* Physics of vehicles is effected, both high and low FPSes may bring their own set of unfair advantages. Speaking about the consequences of high FPS in this context, up to 70 or 74 FPS is considered safe (as any differences in physics, if they do exist to begin with as they theoretically should, are so tiny that they are unmeasurable and thus wouldn't affect racing results in practise). Anything beyond 74 FPS may cause impactful discrepancies.&lt;br /&gt;
&lt;br /&gt;
* Pressing the horn button to turn on and off sirens gets really hard at very high FPS. For instance, at 100 FPS, you are more likely to hit the regular horn 3 times (inconsistent) before eventually triggering the siren, besides taking a similar amount of tries to turn off the siren.&lt;br /&gt;
* At very high FPS, climbing over certain objects will result in instant death. Example at: 2520.108, -1681.407, 19.406, 266 - [https://wiki.multitheftauto.com/wiki/SetFPSLimit#Fix_for_climbing_over_certain_objects you can use this Lua code to fix it.]&lt;br /&gt;
* The higher your FPS, the more of a penalty in satchel throwing distance (up to ~10% at very high FPS) will apply.&lt;br /&gt;
&lt;br /&gt;
For a full list of FPS-related GTA bugs (that are much less likely to impact gameplay in a meaningful way) and MTA developers' progress in tackling them, see the [https://github.com/multitheftauto/mtasa-blue/projects/14 Framerate issues tracker] github project.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example allows players to limit their own FPS using a command.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fpsFunction(commandName, fpsLimit)&lt;br /&gt;
	local newFPS = tonumber(fpsLimit)&lt;br /&gt;
&lt;br /&gt;
	if not newFPS then&lt;br /&gt;
		outputChatBox(&amp;quot;Syntax: /&amp;quot; .. commandName .. &amp;quot; [FPS] - to limit your own FPS.&amp;quot;)&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if newFPS &amp;lt; minFPS or newFPS &amp;gt; maxFPS then&lt;br /&gt;
		outputChatBox(&amp;quot;Please enter a value between &amp;quot; .. minFPS .. &amp;quot; and &amp;quot; .. maxFPS .. &amp;quot;.&amp;quot;)&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local currentLimit = getFPSLimit()&lt;br /&gt;
	local setNewFPS = (newFPS ~= currentLimit)&lt;br /&gt;
&lt;br /&gt;
	if (setNewFPS) then&lt;br /&gt;
		outputChatBox(&amp;quot;Your FPS has been limited to: &amp;quot; .. newFPS .. &amp;quot;.&amp;quot;)&lt;br /&gt;
		setFPSLimit(newFPS)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;fpslimit&amp;quot;, fpsFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fix for climbing over certain objects==&lt;br /&gt;
You can use this small code to fix one of high FPS issues, specifically the one which would instantly kill player climbing over some objects.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientPlayerDamage(attackerElement, damageType, bodyPart)&lt;br /&gt;
	local fallDamage = (damageType == 54)&lt;br /&gt;
&lt;br /&gt;
	if (not fallDamage) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local playerTask = getPedSimplestTask(localPlayer)&lt;br /&gt;
	local playerClimbing = (playerTask == &amp;quot;TASK_SIMPLE_CLIMB&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if (playerClimbing) then&lt;br /&gt;
		cancelEvent()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientPlayerDamage&amp;quot;, localPlayer, onClientPlayerDamage)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Server functions}}&lt;br /&gt;
&lt;br /&gt;
[[pl:setFPSLimit]]&lt;br /&gt;
[[ru:setFPSLimit]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetFPSLimit&amp;diff=82173</id>
		<title>SetFPSLimit</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetFPSLimit&amp;diff=82173"/>
		<updated>2025-06-27T01:06:01Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets the maximum [http://en.wikipedia.org/wiki/Frame_rate FPS (Frames per second)] that players on the server can run their game at.  &lt;br /&gt;
{{Note|&lt;br /&gt;
* When set client side, the actual limit used is the lowest of both the server and client set values.&lt;br /&gt;
* Starting from version [[https://buildinfo.mtasa.com/?Revision=21313&amp;amp;Branch r21313]] and above '''fpsLimit''' range is '''25-32767'''. In older MTA releases it was '''25-100'''.&lt;br /&gt;
}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setFPSLimit ( int fpsLimit )         &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''fpsLimit:''' An integer value representing the maximum FPS. Refer to the note above for possible values. You can also pass '''0''' or '''false''', in which case the FPS limit will be the one set in the client settings (by default '''100 FPS''' and the client fps limit should also be manually changed via &amp;quot;'''fps_limit=0'''&amp;quot; in console or '''MTA San Andreas\MTA\config\coreconfig.xml''').&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if successful, or ''false'' if it was not possible to set the limit or an invalid value was passed.&lt;br /&gt;
&lt;br /&gt;
==Issues when increasing FPS==&lt;br /&gt;
Note: with &amp;quot;very high&amp;quot; FPS, any FPS limit over 74 is meant.&lt;br /&gt;
It is recommended to set a conservative FPS limit (between 40-60 and 74 highest) because high FPS can break some GTA internal calculations, causing various bugs. The higher the FPS the more of a problem these become:&lt;br /&gt;
&lt;br /&gt;
74 FPS is the breaking point that opens the door to various more severe GTA bugs related to FPS and physics.&lt;br /&gt;
&lt;br /&gt;
* Physics of vehicles is effected, both high and low FPSes may bring their own set of unfair advantages. Speaking about the consequences of high FPS in this context, up to 70 or 74 FPS is considered safe (as any differences in physics, if they do exist to begin with as they theoretically should, are so tiny that they are unmeasurable and thus wouldn't affect racing results in practise). Anything beyond 74 FPS may cause impactful discrepancies.&lt;br /&gt;
&lt;br /&gt;
* Pressing the horn button to turn on and off sirens gets really hard at very high FPS. For instance, at 100 FPS, you are more likely to hit the regular horn 3 times (inconsistent) before eventually triggering the siren, besides taking a similar amount of tries to turn off the siren.&lt;br /&gt;
* At very high FPS, climbing over certain objects will result in instant death. Example at: 2520.108, -1681.407, 19.406, 266 - [https://wiki.multitheftauto.com/wiki/SetFPSLimit#Fix_for_climbing_over_certain_objects you can use this Lua code to fix it.]&lt;br /&gt;
* The higher your FPS, the more of a penalty in satchel throwing distance (up to ~10% at very high FPS) will apply.&lt;br /&gt;
&lt;br /&gt;
For a full list of FPS-related GTA bugs (that are much less likely to impact gameplay in a meaningful way) and MTA developers' progress in tackling them, see the [https://github.com/multitheftauto/mtasa-blue/projects/14 Framerate issues tracker] github project.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example allows players to limit their own FPS using a command.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fpsFunction(commandName, fpsLimit)&lt;br /&gt;
	local newFPS = tonumber(fpsLimit)&lt;br /&gt;
&lt;br /&gt;
	if not newFPS then&lt;br /&gt;
		outputChatBox(&amp;quot;Syntax: /&amp;quot;..commandName..&amp;quot; [FPS] - to limit your own FPS.&amp;quot;)&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if newFPS &amp;lt; minFPS or newFPS &amp;gt; maxFPS then&lt;br /&gt;
		outputChatBox(&amp;quot;Please enter a value between &amp;quot; .. minFPS .. &amp;quot; and &amp;quot; .. maxFPS .. &amp;quot;.&amp;quot;)&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local currentLimit = getFPSLimit()&lt;br /&gt;
	local setNewFPS = (newFPS ~= currentLimit)&lt;br /&gt;
&lt;br /&gt;
	if (setNewFPS) then&lt;br /&gt;
		outputChatBox(&amp;quot;Your FPS has been limited to: &amp;quot;..newFPS..&amp;quot;.&amp;quot;)&lt;br /&gt;
		setFPSLimit(newFPS)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;fpslimit&amp;quot;, fpsFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fix for climbing over certain objects==&lt;br /&gt;
You can use this small code to fix one of high FPS issues, specifically the one which would instantly kill player climbing over some objects.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientPlayerDamage(attackerElement, damageType, bodyPart)&lt;br /&gt;
	local fallDamage = (damageType == 54)&lt;br /&gt;
&lt;br /&gt;
	if (not fallDamage) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local playerTask = getPedSimplestTask(localPlayer)&lt;br /&gt;
	local playerClimbing = (playerTask == &amp;quot;TASK_SIMPLE_CLIMB&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if (playerClimbing) then&lt;br /&gt;
		cancelEvent()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientPlayerDamage&amp;quot;, localPlayer, onClientPlayerDamage)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Server functions}}&lt;br /&gt;
&lt;br /&gt;
[[pl:setFPSLimit]]&lt;br /&gt;
[[ru:setFPSLimit]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetBufferSize&amp;diff=82172</id>
		<title>EngineStreamingSetBufferSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetBufferSize&amp;diff=82172"/>
		<updated>2025-06-27T00:48:00Z</updated>

		<summary type="html">&lt;p&gt;Azure: corrected outputChatbox -&amp;gt; outputChatBox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0160|1.6.0|21874|Set the streaming buffer size. The larger it is, the more models can be loaded in one go BUT increases the RAM  ['''not''' streaming memory!] usage. Can help with custom IMG loading speed by reducing pop-in.}}&lt;br /&gt;
{{Important Note|'''This function is meant for advanced users only, as it can lead to stability issues'''. Using a very high value might result in more crashes, while using a value too low might lead to frequent pop-in!}}&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineStreamingSetBufferSize( int sizeBytes )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[EngineStreaming]]:setBufferSize|bufferSize|engineStreamingGetBufferSize}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''sizeBytes ''': The streaming buffer size. Must be a positive non-zero number.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
True if there was enough memory to allocate the buffer, false otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example adds a command that can be used to change the streaming buffer size, and display the previous value.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;sbs&amp;quot;, function(_, sizeMB)&lt;br /&gt;
    if tonumber(sizeMB) then&lt;br /&gt;
        if engineStreamingSetBufferSize(tonumber(sizeMB) * 1024 * 1024) then -- Convert MB to Bytes&lt;br /&gt;
            outputChatBox(&amp;quot;The streaming buffer size has been changed from &amp;quot; .. math.floor(engineStreamingGetBufferSize() / 1024 / 1024) .. &amp;quot; MB to &amp;quot; .. sizeMB .. &amp;quot; MB&amp;quot;)&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox(&amp;quot;Not enough memory!&amp;quot;)&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        outputChatBox(&amp;quot;Please enter a numeric value!&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end, false, false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Engine functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetMemorySize&amp;diff=82171</id>
		<title>EngineStreamingSetMemorySize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineStreamingSetMemorySize&amp;diff=82171"/>
		<updated>2025-06-27T00:42:02Z</updated>

		<summary type="html">&lt;p&gt;Azure: Corrected outputChatbox -&amp;gt; outputChatBox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0160|1.6.0|21874|Sets the maximum amount of RAM [in bytes] that can be used for streaming}}&lt;br /&gt;
{{Tip|The `showmemstat` command can be used to see this value in real-time [You might have to scroll down using PgDown on your keyboard]}}&lt;br /&gt;
{{Tip|To restore to default value use [[engineStreamingRestoreMemorySize]]}}&lt;br /&gt;
{{Important Note|'''This function is meant for advanced users only, as it can lead to stability issues'''. Using a very high value might result in more crashes, while using a value too low might lead to frequent pop-in [and due to the way MTA works micro-stutter as well]}}&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
nil engineStreamingSetMemorySize( int sizeBytes )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[EngineStreaming]]:setMemorySize|memorySize|engineStreamingGetMemorySize}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''sizeBytes ''': The maximum amount of RAM [in bytes] that can be used for streaming. Must be a positive non-zero number.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example adds a command that can be used to change the streaming memory size, and display the previous value.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;ssms&amp;quot;, function(_, sizeMB)&lt;br /&gt;
    if tonumber(sizeMB) then&lt;br /&gt;
        outputChatBox(&amp;quot;The maximum streaming memory available has been changed from &amp;quot; .. math.floor(engineStreamingGetMemorySize() / 1024 / 1024) .. &amp;quot; MB to &amp;quot; .. sizeMB .. &amp;quot; MB&amp;quot;)      &lt;br /&gt;
        engineStreamingSetMemorySize(tonumber(sizeMB) * 1024 * 1024) -- Convert MB to Bytes&lt;br /&gt;
    else&lt;br /&gt;
        outputChatBox(&amp;quot;Please enter a numeric value!&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end, false, false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Engine functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Installing_and_Configuring_Nginx_as_an_External_Web_Server&amp;diff=82153</id>
		<title>Installing and Configuring Nginx as an External Web Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Installing_and_Configuring_Nginx_as_an_External_Web_Server&amp;diff=82153"/>
		<updated>2025-06-11T08:55:40Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Internal vs External==&lt;br /&gt;
The MTA:SA server comes with a built-in 'internal' HTTP server which clients use to automatically download resource files. It is only a basic HTTP server which does not support compression or multiple client connections. &lt;br /&gt;
By adding an external HTTP server such as '''nginx''' or '''lighttpd''', resource download speed can be increased and bandwidth usage (and player waiting time) decreased.&lt;br /&gt;
Note that the external HTTP server can be on the same machine as the MTA server.&lt;br /&gt;
&lt;br /&gt;
==nginx vs Apache==&lt;br /&gt;
We recommend nginx or lighttpd as they are better suited to handle the hundreds of file requests that MTA:SA clients will generate. Apache can be used, but will require settings tweaking and the mtaserver.conf setting &amp;lt;'''httpmaxconnectionsperclient'''&amp;gt; may have to be reduced to prevent timeouts.&lt;br /&gt;
&lt;br /&gt;
The following guide is for installing and configuring nginx solely for MTA:SA. It assumes:&lt;br /&gt;
* You are not already using nginx for other web sites on your server.&lt;br /&gt;
* MTA:SA server is installed on the same server.&lt;br /&gt;
* You are using Debian 7 (but should work on other distributions in a similar way.)&lt;br /&gt;
&lt;br /&gt;
==Installing nginx:==&lt;br /&gt;
Update system:&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
Install nginx:&lt;br /&gt;
 apt-get install nginx&lt;br /&gt;
&lt;br /&gt;
Ensure nginx is not running:&lt;br /&gt;
 /etc/init.d/nginx stop&lt;br /&gt;
&lt;br /&gt;
==Configuring nginx:==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Edit: /etc/nginx/sites-available/default====&lt;br /&gt;
Find the ''''root'''' line and change it to point to the '''''http-client-files''''' directory in your MTA:SA server install:&lt;br /&gt;
 root /PATH_TO_MTA_SERVER/mods/deathmatch/resource-cache/http-client-files;&lt;br /&gt;
Find the ''''listen'''' and change it to use an unused server port: (Remove # if present)&lt;br /&gt;
 listen 20080;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
====Edit: /etc/nginx/sites-enabled/mta-server1====&lt;br /&gt;
In the directory '''/etc/nginx/sites-enabled/''' create a file called '''mta-server1''' with the following content:&lt;br /&gt;
 server {&lt;br /&gt;
     listen 20080;&lt;br /&gt;
     root /PATH_TO_MTA_SERVER/mods/deathmatch/resource-cache/http-client-files;&lt;br /&gt;
     server_name localhost;&lt;br /&gt;
     access_log off;&lt;br /&gt;
     autoindex off;&lt;br /&gt;
 }&lt;br /&gt;
'''**Important**: Change PATH_TO_MTA_SERVER to the actual absolute path of your MTA:SA server install directory'''&lt;br /&gt;
====Edit: /etc/nginx/nginx.conf====&lt;br /&gt;
At the top of the file, add this line to increase the max number of files that can be opened:&lt;br /&gt;
 worker_rlimit_nofile 5000;&lt;br /&gt;
Find the ''''worker_connections'''' line and change it to this:&lt;br /&gt;
 worker_connections 5000;&lt;br /&gt;
Find the ''''gzip'''' settings and make sure gzip is on:&lt;br /&gt;
 gzip on;&lt;br /&gt;
and ''''gzip_types'''' is set for any file type:&lt;br /&gt;
 gzip_types *;&lt;br /&gt;
&lt;br /&gt;
==Testing nginx:==&lt;br /&gt;
Start nginx:&lt;br /&gt;
 /etc/init.d/nginx start&lt;br /&gt;
&lt;br /&gt;
=====Test #1=====&lt;br /&gt;
Open your internet browser, and try this address: '''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080/admin/conf/interiors.xml&amp;lt;/nowiki&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
If you see the file contents or are prompted to download a file - SUCCESS!&lt;br /&gt;
&lt;br /&gt;
'''Note''': If you are getting a 403 Forbidden response, nginx cannot access the files. Usually this means the user (www-data) is lacking ''execute'' permission on the server, mods, deathmatch, resource-cache, http-client-files folders.&lt;br /&gt;
&lt;br /&gt;
=====Test #2=====&lt;br /&gt;
To test the compression is working, go here: http://www.whatsmyip.org/http-compression-test/ and enter '''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080/admin/conf/interiors.xml&amp;lt;/nowiki&amp;gt;''' in the white box and press 'Test'.&amp;lt;br/&amp;gt;&lt;br /&gt;
If green tick - SUCCESS!&lt;br /&gt;
&lt;br /&gt;
==If using Pterodactyl Panel: Fixing 403 Forbidden Errors==&lt;br /&gt;
&lt;br /&gt;
'''Note''': If you are getting a ''403 Forbidden'' error and your MTA:SA server is hosted on Pterodactyl Panel, it is almost certainly caused by Pterodactyl's secure-by-default file permissions. This prevents the ''nginx'' user (''www-data'' on Debian/Ubuntu) from accessing the server files located in ''/var/lib/pterodactyl/''.&lt;br /&gt;
&lt;br /&gt;
Here is a complete solution to grant the necessary permissions safely.&lt;br /&gt;
&lt;br /&gt;
'''Step 1: Add Nginx User to Pterodactyl Group'''&amp;lt;br/&amp;gt;&lt;br /&gt;
First, add the ''www-data'' user to the ''pterodactyl'' group. This allows Nginx to inherit the group's read permissions on the server files.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo usermod -aG pterodactyl www-data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 2: Check Parent Directory Permissions'''&amp;lt;br/&amp;gt;&lt;br /&gt;
The 403 error often persists if Nginx lacks permission to ''enter'' the parent directories of your server files. You can check the permissions for the entire path with a single command.&lt;br /&gt;
* Run the ''namei'' command, replacing ''&amp;lt;your-server-UUID&amp;gt;'' with the actual UUID of your server instance found in ''/var/lib/pterodactyl/volumes/''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
namei -om /var/lib/pterodactyl/volumes/&amp;lt;your-server-UUID&amp;gt;/mods/deathmatch/resource-cache/http-client-files&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Look for '''drwx------''' in the output. This permission scheme is the source of the problem.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
f: /var/lib/pterodactyl/volumes/&amp;lt;your-server-UUID&amp;gt;/...&lt;br /&gt;
 drwxr-xr-x root        root        /&lt;br /&gt;
 drwxr-xr-x root        root        var&lt;br /&gt;
 drwxr-xr-x root        root        lib&lt;br /&gt;
 drwx------ root        root        pterodactyl  &amp;lt;-- PROBLEM HERE&lt;br /&gt;
 drwx------ root        root        volumes      &amp;lt;-- PROBLEM HERE&lt;br /&gt;
 drwxr-xr-x pterodactyl pterodactyl &amp;lt;your-server-UUID&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 3: Fix Parent Directory Permissions'''&amp;lt;br/&amp;gt;&lt;br /&gt;
To fix this, grant ''execute'' permission to ''others'' on the two directories identified above. This allows the Nginx user to pass through them without granting read access, maintaining security.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod o+x /var/lib/pterodactyl&lt;br /&gt;
sudo chmod o+x /var/lib/pterodactyl/volumes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 4: Restart Nginx'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Finally, restart Nginx to apply all the changes. It is also recommended to reboot the server to ensure the group membership changes for ''www-data'' are fully applied.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configure MTA:SA server:==&lt;br /&gt;
====Edit mtaserver.conf====&lt;br /&gt;
Set '''httpdownloadurl''' to be like this:&lt;br /&gt;
    &amp;lt;httpdownloadurl&amp;gt;'''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080&amp;lt;/nowiki&amp;gt;'''&amp;lt;/httpdownloadurl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And start MTA:SA server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Test it all works!==&lt;br /&gt;
Connect MTA:SA client and view nginx log files to confirm files are being downloaded: '''/var/log/nginx/access.log'''&lt;br /&gt;
&lt;br /&gt;
==Final thing==&lt;br /&gt;
To improve performance, and to avoid huge boring log files, edit '''/etc/nginx/sites-available/default''' and add this line under the '''listen''' one:&lt;br /&gt;
 access_log off;&lt;br /&gt;
and reload the nginx configuration:&lt;br /&gt;
 /etc/init.d/nginx reload&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Installing_and_Configuring_Nginx_as_an_External_Web_Server&amp;diff=82152</id>
		<title>Installing and Configuring Nginx as an External Web Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Installing_and_Configuring_Nginx_as_an_External_Web_Server&amp;diff=82152"/>
		<updated>2025-06-11T08:54:13Z</updated>

		<summary type="html">&lt;p&gt;Azure: /* Testing nginx: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Internal vs External==&lt;br /&gt;
The MTA:SA server comes with a built-in 'internal' HTTP server which clients use to automatically download resource files. It is only a basic HTTP server which does not support compression or multiple client connections. &lt;br /&gt;
By adding an external HTTP server such as '''nginx''' or '''lighttpd''', resource download speed can be increased and bandwidth usage (and player waiting time) decreased.&lt;br /&gt;
Note that the external HTTP server can be on the same machine as the MTA server.&lt;br /&gt;
&lt;br /&gt;
==nginx vs Apache==&lt;br /&gt;
We recommend nginx or lighttpd as they are better suited to handle the hundreds of file requests that MTA:SA clients will generate. Apache can be used, but will require settings tweaking and the mtaserver.conf setting &amp;lt;'''httpmaxconnectionsperclient'''&amp;gt; may have to be reduced to prevent timeouts.&lt;br /&gt;
&lt;br /&gt;
The following guide is for installing and configuring nginx solely for MTA:SA. It assumes:&lt;br /&gt;
* You are not already using nginx for other web sites on your server.&lt;br /&gt;
* MTA:SA server is installed on the same server.&lt;br /&gt;
* You are using Debian 7 (but should work on other distributions in a similar way.)&lt;br /&gt;
&lt;br /&gt;
==Installing nginx:==&lt;br /&gt;
Update system:&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
Install nginx:&lt;br /&gt;
 apt-get install nginx&lt;br /&gt;
&lt;br /&gt;
Ensure nginx is not running:&lt;br /&gt;
 /etc/init.d/nginx stop&lt;br /&gt;
&lt;br /&gt;
==Configuring nginx:==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Edit: /etc/nginx/sites-available/default====&lt;br /&gt;
Find the ''''root'''' line and change it to point to the '''''http-client-files''''' directory in your MTA:SA server install:&lt;br /&gt;
 root /PATH_TO_MTA_SERVER/mods/deathmatch/resource-cache/http-client-files;&lt;br /&gt;
Find the ''''listen'''' and change it to use an unused server port: (Remove # if present)&lt;br /&gt;
 listen 20080;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
====Edit: /etc/nginx/sites-enabled/mta-server1====&lt;br /&gt;
In the directory '''/etc/nginx/sites-enabled/''' create a file called '''mta-server1''' with the following content:&lt;br /&gt;
 server {&lt;br /&gt;
     listen 20080;&lt;br /&gt;
     root /PATH_TO_MTA_SERVER/mods/deathmatch/resource-cache/http-client-files;&lt;br /&gt;
     server_name localhost;&lt;br /&gt;
     access_log off;&lt;br /&gt;
     autoindex off;&lt;br /&gt;
 }&lt;br /&gt;
'''**Important**: Change PATH_TO_MTA_SERVER to the actual absolute path of your MTA:SA server install directory'''&lt;br /&gt;
====Edit: /etc/nginx/nginx.conf====&lt;br /&gt;
At the top of the file, add this line to increase the max number of files that can be opened:&lt;br /&gt;
 worker_rlimit_nofile 5000;&lt;br /&gt;
Find the ''''worker_connections'''' line and change it to this:&lt;br /&gt;
 worker_connections 5000;&lt;br /&gt;
Find the ''''gzip'''' settings and make sure gzip is on:&lt;br /&gt;
 gzip on;&lt;br /&gt;
and ''''gzip_types'''' is set for any file type:&lt;br /&gt;
 gzip_types *;&lt;br /&gt;
&lt;br /&gt;
==Testing nginx:==&lt;br /&gt;
Start nginx:&lt;br /&gt;
 /etc/init.d/nginx start&lt;br /&gt;
&lt;br /&gt;
=====Test #1=====&lt;br /&gt;
Open your internet browser, and try this address: '''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080/admin/conf/interiors.xml&amp;lt;/nowiki&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
If you see the file contents or are prompted to download a file - SUCCESS!&lt;br /&gt;
&lt;br /&gt;
'''Note''': If you are getting a 403 Forbidden response, nginx cannot access the files. Usually this means the user (www-data) is lacking ''execute'' permission on the server, mods, deathmatch, resource-cache, http-client-files folders.&lt;br /&gt;
&lt;br /&gt;
==If using Pterodactyl Panel: Fixing 403 Forbidden Errors==&lt;br /&gt;
&lt;br /&gt;
'''Note''': If you are getting a ''403 Forbidden'' error and your MTA:SA server is hosted on Pterodactyl Panel, it is almost certainly caused by Pterodactyl's secure-by-default file permissions. This prevents the ''nginx'' user (''www-data'' on Debian/Ubuntu) from accessing the server files located in ''/var/lib/pterodactyl/''.&lt;br /&gt;
&lt;br /&gt;
Here is a complete solution to grant the necessary permissions safely.&lt;br /&gt;
&lt;br /&gt;
'''Step 1: Add Nginx User to Pterodactyl Group'''&amp;lt;br/&amp;gt;&lt;br /&gt;
First, add the ''www-data'' user to the ''pterodactyl'' group. This allows Nginx to inherit the group's read permissions on the server files.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo usermod -aG pterodactyl www-data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 2: Check Parent Directory Permissions'''&amp;lt;br/&amp;gt;&lt;br /&gt;
The 403 error often persists if Nginx lacks permission to ''enter'' the parent directories of your server files. You can check the permissions for the entire path with a single command.&lt;br /&gt;
* Run the ''namei'' command, replacing ''&amp;lt;your-server-UUID&amp;gt;'' with the actual UUID of your server instance found in ''/var/lib/pterodactyl/volumes/''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
namei -om /var/lib/pterodactyl/volumes/&amp;lt;your-server-UUID&amp;gt;/mods/deathmatch/resource-cache/http-client-files&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Look for '''drwx------''' in the output. This permission scheme is the source of the problem.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
f: /var/lib/pterodactyl/volumes/&amp;lt;your-server-UUID&amp;gt;/...&lt;br /&gt;
 drwxr-xr-x root        root        /&lt;br /&gt;
 drwxr-xr-x root        root        var&lt;br /&gt;
 drwxr-xr-x root        root        lib&lt;br /&gt;
 drwx------ root        root        pterodactyl  &amp;lt;-- PROBLEM HERE&lt;br /&gt;
 drwx------ root        root        volumes      &amp;lt;-- PROBLEM HERE&lt;br /&gt;
 drwxr-xr-x pterodactyl pterodactyl &amp;lt;your-server-UUID&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 3: Fix Parent Directory Permissions'''&amp;lt;br/&amp;gt;&lt;br /&gt;
To fix this, grant ''execute'' permission to ''others'' on the two directories identified above. This allows the Nginx user to pass through them without granting read access, maintaining security.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod o+x /var/lib/pterodactyl&lt;br /&gt;
sudo chmod o+x /var/lib/pterodactyl/volumes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 4: Restart Nginx'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Finally, restart Nginx to apply all the changes. It is also recommended to reboot the server to ensure the group membership changes for ''www-data'' are fully applied.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Test #2=====&lt;br /&gt;
To test the compression is working, go here: http://www.whatsmyip.org/http-compression-test/ and enter '''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080/admin/conf/interiors.xml&amp;lt;/nowiki&amp;gt;''' in the white box and press 'Test'.&amp;lt;br/&amp;gt;&lt;br /&gt;
If green tick - SUCCESS!&lt;br /&gt;
&lt;br /&gt;
==Configure MTA:SA server:==&lt;br /&gt;
====Edit mtaserver.conf====&lt;br /&gt;
Set '''httpdownloadurl''' to be like this:&lt;br /&gt;
    &amp;lt;httpdownloadurl&amp;gt;'''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080&amp;lt;/nowiki&amp;gt;'''&amp;lt;/httpdownloadurl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And start MTA:SA server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Test it all works!==&lt;br /&gt;
Connect MTA:SA client and view nginx log files to confirm files are being downloaded: '''/var/log/nginx/access.log'''&lt;br /&gt;
&lt;br /&gt;
==Final thing==&lt;br /&gt;
To improve performance, and to avoid huge boring log files, edit '''/etc/nginx/sites-available/default''' and add this line under the '''listen''' one:&lt;br /&gt;
 access_log off;&lt;br /&gt;
and reload the nginx configuration:&lt;br /&gt;
 /etc/init.d/nginx reload&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Installing_and_Configuring_Nginx_as_an_External_Web_Server&amp;diff=82151</id>
		<title>Installing and Configuring Nginx as an External Web Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Installing_and_Configuring_Nginx_as_an_External_Web_Server&amp;diff=82151"/>
		<updated>2025-06-11T08:47:01Z</updated>

		<summary type="html">&lt;p&gt;Azure: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Internal vs External==&lt;br /&gt;
The MTA:SA server comes with a built-in 'internal' HTTP server which clients use to automatically download resource files. It is only a basic HTTP server which does not support compression or multiple client connections. &lt;br /&gt;
By adding an external HTTP server such as '''nginx''' or '''lighttpd''', resource download speed can be increased and bandwidth usage (and player waiting time) decreased.&lt;br /&gt;
Note that the external HTTP server can be on the same machine as the MTA server.&lt;br /&gt;
&lt;br /&gt;
==nginx vs Apache==&lt;br /&gt;
We recommend nginx or lighttpd as they are better suited to handle the hundreds of file requests that MTA:SA clients will generate. Apache can be used, but will require settings tweaking and the mtaserver.conf setting &amp;lt;'''httpmaxconnectionsperclient'''&amp;gt; may have to be reduced to prevent timeouts.&lt;br /&gt;
&lt;br /&gt;
The following guide is for installing and configuring nginx solely for MTA:SA. It assumes:&lt;br /&gt;
* You are not already using nginx for other web sites on your server.&lt;br /&gt;
* MTA:SA server is installed on the same server.&lt;br /&gt;
* You are using Debian 7 (but should work on other distributions in a similar way.)&lt;br /&gt;
&lt;br /&gt;
==Installing nginx:==&lt;br /&gt;
Update system:&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
Install nginx:&lt;br /&gt;
 apt-get install nginx&lt;br /&gt;
&lt;br /&gt;
Ensure nginx is not running:&lt;br /&gt;
 /etc/init.d/nginx stop&lt;br /&gt;
&lt;br /&gt;
==Configuring nginx:==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Edit: /etc/nginx/sites-available/default====&lt;br /&gt;
Find the ''''root'''' line and change it to point to the '''''http-client-files''''' directory in your MTA:SA server install:&lt;br /&gt;
 root /PATH_TO_MTA_SERVER/mods/deathmatch/resource-cache/http-client-files;&lt;br /&gt;
Find the ''''listen'''' and change it to use an unused server port: (Remove # if present)&lt;br /&gt;
 listen 20080;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
====Edit: /etc/nginx/sites-enabled/mta-server1====&lt;br /&gt;
In the directory '''/etc/nginx/sites-enabled/''' create a file called '''mta-server1''' with the following content:&lt;br /&gt;
 server {&lt;br /&gt;
     listen 20080;&lt;br /&gt;
     root /PATH_TO_MTA_SERVER/mods/deathmatch/resource-cache/http-client-files;&lt;br /&gt;
     server_name localhost;&lt;br /&gt;
     access_log off;&lt;br /&gt;
     autoindex off;&lt;br /&gt;
 }&lt;br /&gt;
'''**Important**: Change PATH_TO_MTA_SERVER to the actual absolute path of your MTA:SA server install directory'''&lt;br /&gt;
====Edit: /etc/nginx/nginx.conf====&lt;br /&gt;
At the top of the file, add this line to increase the max number of files that can be opened:&lt;br /&gt;
 worker_rlimit_nofile 5000;&lt;br /&gt;
Find the ''''worker_connections'''' line and change it to this:&lt;br /&gt;
 worker_connections 5000;&lt;br /&gt;
Find the ''''gzip'''' settings and make sure gzip is on:&lt;br /&gt;
 gzip on;&lt;br /&gt;
and ''''gzip_types'''' is set for any file type:&lt;br /&gt;
 gzip_types *;&lt;br /&gt;
&lt;br /&gt;
==Testing nginx:==&lt;br /&gt;
Start nginx:&lt;br /&gt;
 /etc/init.d/nginx start&lt;br /&gt;
&lt;br /&gt;
=====Test #1=====&lt;br /&gt;
Open your internet browser, and try this address: '''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080/admin/conf/interiors.xml&amp;lt;/nowiki&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
If you see the file contents or are prompted to download a file - SUCCESS!&lt;br /&gt;
&lt;br /&gt;
'''Note''': If you are getting a 403 Forbidden response, nginx cannot access the files. Usually this means the user (www-data) is lacking ''execute'' permission on the server, mods, deathmatch, resource-cache, http-client-files folders.&lt;br /&gt;
&lt;br /&gt;
=====Test #2=====&lt;br /&gt;
To test the compression is working, go here: http://www.whatsmyip.org/http-compression-test/ and enter '''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080/admin/conf/interiors.xml&amp;lt;/nowiki&amp;gt;''' in the white box and press 'Test'.&amp;lt;br/&amp;gt;&lt;br /&gt;
If green tick - SUCCESS!&lt;br /&gt;
&lt;br /&gt;
==Configure MTA:SA server:==&lt;br /&gt;
====Edit mtaserver.conf====&lt;br /&gt;
Set '''httpdownloadurl''' to be like this:&lt;br /&gt;
    &amp;lt;httpdownloadurl&amp;gt;'''&amp;lt;nowiki&amp;gt;http://YOUR_SERVER_IP:20080&amp;lt;/nowiki&amp;gt;'''&amp;lt;/httpdownloadurl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And start MTA:SA server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Test it all works!==&lt;br /&gt;
Connect MTA:SA client and view nginx log files to confirm files are being downloaded: '''/var/log/nginx/access.log'''&lt;br /&gt;
&lt;br /&gt;
==Final thing==&lt;br /&gt;
To improve performance, and to avoid huge boring log files, edit '''/etc/nginx/sites-available/default''' and add this line under the '''listen''' one:&lt;br /&gt;
 access_log off;&lt;br /&gt;
and reload the nginx configuration:&lt;br /&gt;
 /etc/init.d/nginx reload&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81949</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81949"/>
		<updated>2025-04-20T12:44:05Z</updated>

		<summary type="html">&lt;p&gt;Azure: Made previous example's annotations less verbose&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all streamed-in objects to 3000 units.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- WARNING: Can cause significant lag.&lt;br /&gt;
&lt;br /&gt;
-- Adjusts LOD for streamed-in objects.&lt;br /&gt;
function setStreamedInObjectsLOD()&lt;br /&gt;
&lt;br /&gt;
    -- Get all current objects.&lt;br /&gt;
    local objects = getElementsByType(&amp;quot;object&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    for _, theObject in ipairs(objects) do&lt;br /&gt;
&lt;br /&gt;
        local modelID = getElementModel(theObject)&lt;br /&gt;
        local lodLevel = 3000 -- Distance value&lt;br /&gt;
&lt;br /&gt;
        -- Set LOD for this model ID.&lt;br /&gt;
        -- The 'true' enables extended range.&lt;br /&gt;
        engineSetModelLODDistance(modelID, lodLevel, true)&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Command to run the function.&lt;br /&gt;
addCommandHandler(&amp;quot;setStreamedInObjectsLOD&amp;quot;, setStreamedInObjectsLOD)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81934</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81934"/>
		<updated>2025-04-12T02:24:36Z</updated>

		<summary type="html">&lt;p&gt;Azure: Corrected Z coordinate for Victim (again)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;San Andreas Interior ID list.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%; text-align:center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 0&lt;br /&gt;
|-&lt;br /&gt;
| '''Normal world''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 1''' || 224.6351 || 1289.012 || 1082.141 &lt;br /&gt;
|-&lt;br /&gt;
| '''The Wellcome Pump (Catalina?)''' || 681.65 || -452.86 || -25.62&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 1''' || 446.6941 || -9.7977 || 1000.7340&lt;br /&gt;
|-&lt;br /&gt;
| '''Caligulas Casino''' || 2235.2524 || 1708.5146 || 1010.6129&lt;br /&gt;
|-&lt;br /&gt;
| '''Denise's Place''' || 244.0892 || 304.8456 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Shamal cabin''' || 1.6127 || 34.7411 || 1199.0&lt;br /&gt;
|-&lt;br /&gt;
| '''Liberty City''' || -750.80 || 491.00 || 1371.70&lt;br /&gt;
|-&lt;br /&gt;
| '''Sweet's House''' || 2525.0420 || -1679.1150 || 1015.4990&lt;br /&gt;
|-&lt;br /&gt;
| '''Transfender''' || 621.7850 || -12.5417 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 4''' || 2216.5400 || -1076.2900 || 1050.4840&lt;br /&gt;
|-&lt;br /&gt;
| '''Trials(Hyman Memorial?) Stadium''' || -1401.13 || 106.110 || 1032.273&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 1''' || 1405.3120 || -8.2928 || 1000.9130&lt;br /&gt;
|-&lt;br /&gt;
| '''Doherty Garage''' || -2042.42 || 178.59 || 28.84    &lt;br /&gt;
|-&lt;br /&gt;
| '''Sindacco Abatoir''' || 963.6078 || 2108.3970 || 1011.0300&lt;br /&gt;
|-&lt;br /&gt;
| '''Sub Urban''' || 203.8173 || -46.5385 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Wu Zi Mu's Betting place''' || -2159.9260 || 641.4587 || 1052.3820&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ryder's House''' || 2464.2110 || -1697.9520 || 1013.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Angel Pine Trailer''' || 0.3440 || -0.5140 || 999.4284&lt;br /&gt;
|-&lt;br /&gt;
| '''The Pig Pen''' || 1213.4330 ||-6.6830 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Crack Palace''' || 1523.7510 || -46.0458 || 1002.1310&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Smoke's Crack Palace''' || 2543.6610 || -1303.9320 || 1025.0700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 2''' || 225.756 || 1240.000 || 1082.149&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 3''' || 447.470 || 1398.348 || 1084.305&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 4''' || 491.740 || 1400.541 || 1080.265&lt;br /&gt;
|-&lt;br /&gt;
| '''Katie's Place''' || 267.2290 || 304.7100 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Loco Low Co.''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
| '''Reece's Barbershop''' || 411.6259 || -21.4332 || 1001.8046&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 17''' || 2237.5900 || -1080.8699 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Jizzy's Pleasure Domes''' || -2636.7190 || 1402.9170 || 906.4609&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel''' || 940.6520 || -18.4860 || 1000.9300&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel 2''' || 967.5334 || -53.0245 || 1001.1250&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Apartment''' || 1527.38 || -11.02 || 1002.10 &lt;br /&gt;
|-&lt;br /&gt;
| '''Bike School''' || 1494.3350 || 1305.6510 || 1093.2890&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Spread Ranch''' || 1210.2570 || -29.2986 || 1000.8790&lt;br /&gt;
|-&lt;br /&gt;
| '''LV Tattoo Parlour''' || -204.4390 || -43.6520 || 1002.2990&lt;br /&gt;
|-&lt;br /&gt;
| '''LVPD HQ''' || 289.7703 || 171.7460 || 1007.1790&lt;br /&gt;
|-&lt;br /&gt;
| '''OG Loc's House''' || 516.8890 || -18.4120 || 1001.5650&lt;br /&gt;
|-&lt;br /&gt;
| '''Pro-Laps''' || 207.3560 || -138.0029 || 1003.3130&lt;br /&gt;
|-&lt;br /&gt;
| '''Las Venturas Planning Dep.''' || 374.6708 || 173.8050 || 1008.3893&lt;br /&gt;
|-&lt;br /&gt;
| '''Record Label Hallway''' || 1038.2190 || 6.9905 || 1001.2840&lt;br /&gt;
|-&lt;br /&gt;
| '''Driving School''' || -2027.9200 || -105.1830 || 1035.1720&lt;br /&gt;
|-&lt;br /&gt;
| '''Johnson House''' || 2496.0500 || -1693.9260 || 1014.7420&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 5''' || 234.733 || 1190.391 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Gay Gordo's Barbershop''' || 418.6530 || -82.6390 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Helena's Place''' || 292.4459 || 308.7790 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Inside Track Betting''' || 826.8863 || 5.5091 || 1004.4830&lt;br /&gt;
|-&lt;br /&gt;
| '''Sex Shop''' || -106.7268 || -19.6444 || 1000.7190&lt;br /&gt;
|-&lt;br /&gt;
| '''Wheel Arch Angels''' || 614.3889 || -124.0991 || 997.9950&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 1''' || -27.3769 || -27.6416 || 1003.5570&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 2''' || 285.8000 || -84.5470 || 1001.5390&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || -262.91 || 1454.966 || 1084.367&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || 221.4296 || 1142.423 || 1082.609&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || 261.1168 || 1286.519 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || 460.0 || -88.43 || 999.62 &lt;br /&gt;
|-&lt;br /&gt;
| '''Dirtbike Stadium''' || -1435.8690 || -662.2505 || 1052.4650&lt;br /&gt;
|-&lt;br /&gt;
| '''Michelle's Place''' || 302.6404 || 304.8048 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Madd Dogg's Mansion''' || 1262.1451416016 || -785.32977294922 || 1091.90625&lt;br /&gt;
|-&lt;br /&gt;
| '''Well Stacked Pizza Co.''' || 377.7758 || -126.2766 || 1001.4920&lt;br /&gt;
|-&lt;br /&gt;
| '''Victim''' || 221.3310 || -6.6169 || 1002.0078&lt;br /&gt;
|-&lt;br /&gt;
| '''Burning Desire House''' || 2351.1540 || -1180.5770 || 1027.9770&lt;br /&gt;
|-&lt;br /&gt;
| '''Barbara's Place''' || 322.1979 || 302.4979 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || 22.79996 || 1404.642 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || 228.9003 || 1114.477 || 1080.992&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 11''' || 140.5631 || 1369.051 || 1083.864&lt;br /&gt;
|-&lt;br /&gt;
| '''The Crack Den''' || 322.1117 || 1119.3270 || 1083.8830&lt;br /&gt;
|-&lt;br /&gt;
| '''Police Station (Barbara's)''' || 322.72 || 306.43 || 999.15&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 1''' || 448.7435 || -110.0457 || 1000.0772&lt;br /&gt;
|-&lt;br /&gt;
| '''Ganton Gym''' || 768.0793 || 5.8606 || 1000.7160&lt;br /&gt;
|-&lt;br /&gt;
| '''Vank Hoff Hotel ''' || 2232.8210 || -1110.0180 || 1050.8830&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 6&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 3''' || 297.4460 || -109.9680 || 1001.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 4''' || 317.2380 || -168.0520 || 999.5930&lt;br /&gt;
|-&lt;br /&gt;
| '''LSPD HQ ''' || 246.4510 || 65.5860 ||1003.6410&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 3''' || 2333.0330 || -1073.9600 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 5''' || 2194.2910 || -1204.0150 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 6''' || 2308.8710 || -1210.7170 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Cobra Marital Arts Gym''' || 774.0870 ||-47.9830 || 1000.5860&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 2''' || -26.7180 || -55.9860 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Millie's Bedroom''' || 344.5200 || 304.8210 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Fanny Batter's Brothel''' || 744.2710 || 1437.2530 || 1102.7030&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Shop''' || -2241.0700 || 128.5200 || 1035.4195&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 2''' || 443.9810 || -65.2190 || 1050.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || 234.319 || 1066.455 || 1084.208&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || -69.049 || 1354.056 || 1080.211&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 7&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 5 (2 Floors)''' || 315.3850 || -142.2420 || 999.6010&lt;br /&gt;
|-&lt;br /&gt;
| '''8-Track Stadium''' || -1417.8720 || -276.4260 || 1051.1910&lt;br /&gt;
|-&lt;br /&gt;
| '''Below the Belt Gym''' || 774.2430 || -76.0090 || 1000.6540&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 8&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 2''' || 2365.2383 || -1134.2969 || 1050.875&lt;br /&gt;
|-&lt;br /&gt;
| '''Colonel Fuhrberger's House''' || 2807.8990 || -1172.9210 || 1025.5700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 22''' || -42.490 || 1407.644 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 9&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Unknown safe house''' || 2253.1740 || -1139.0100 || 1050.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''Andromada Cargo hold''' || 315.48 || 984.13 || 1959.11&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 12''' || 85.32596 || 1323.585 || 1083.859&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || 260.3189 || 1239.663 || 1084.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Cluckin' Bell''' || 365.67 || -11.61 || 1002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 10&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Four Dragons Casino''' || 2009.4140 || 1017.8990 || 994.4680&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Battlefield''' || -975.5766 || 1061.1312 || 1345.6719&lt;br /&gt;
|-&lt;br /&gt;
| '''Burger Shot''' || 366.4220 || -73.4700 || 1001.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 14''' || 21.241 || 1342.153 || 1084.375 &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room(Four Dragons Maintenance)''' || 1891.3960 ||1018.1260 || 31.8820&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 1''' || 2262.83 || -1137.71 || 1050.63&lt;br /&gt;
|-&lt;br /&gt;
| '''Hashbury safe house''' || 2264.5231 || -1210.5229 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 3''' || 6.0780 || -28.6330 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Abandoned AC Tower''' || 419.6140 || 2536.6030 || 10.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''SFPD HQ''' || 246.4410 || 112.1640 || 1003.2190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 11&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''The Four Dragons Office''' || 2011.6030 || 1017.0230 || 39.0910&lt;br /&gt;
|-&lt;br /&gt;
| '''Los Santos safe house''' || 2282.9766 || -1140.2861 || 1050.8984&lt;br /&gt;
|-&lt;br /&gt;
| '''Ten Green Bottles Bar''' || 502.3310 || -70.6820 || 998.7570&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 12&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room''' || 444.6469 || 508.2390 || 1001.4194&lt;br /&gt;
|-&lt;br /&gt;
| '''The Casino''' || 1132.9450 || -8.6750 || 1000.6800&lt;br /&gt;
|-&lt;br /&gt;
| '''Macisla's Barbershop''' || 411.6410 || -51.8460 || 1001.8980&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 7''' || 2324.3848 || -1148.4805 || 1050.7101&lt;br /&gt;
|-&lt;br /&gt;
| '''Modern safe house''' || 2324.4990 || -1147.0710 || 1050.7100&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 13&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
|'''LS Atrium''' || 1724.33 || -1625.784 || 20.211&lt;br /&gt;
|-&lt;br /&gt;
|'''CJ's Garage''' || -2043.966 || 172.932 || 28.835&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 14&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Kickstart Stadium''' || -1464.5360 || 1557.6900 || 1052.5310&lt;br /&gt;
|-&lt;br /&gt;
| '''Didier Sachs''' || 204.1789 || -165.8740 || 1000.5230&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Front ext.)''' || -1827.1473 || 7.2074 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Baggage Claim/Ticket Sales)''' || -1855.5687 || 41.2631 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''San Fierro Chunk (cutscene place)''' || -2015.6600 || 148.2000 || 27.6875&lt;br /&gt;
|-&lt;br /&gt;
| '''Wardrobe''' || 255.7190 || -41.1370 || 1002.0230&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 15&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Binco''' || 207.5430 || -109.0040 || 1005.1330&lt;br /&gt;
|-&lt;br /&gt;
| '''Blood Bowl Stadium''' || -1394.20 || 987.62 || 1023.96&lt;br /&gt;
|-&lt;br /&gt;
| '''Jefferson Motel''' || 2217.6250 || -1150.6580 || 1025.7970&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || -285.711 || 1470.697 || 1084.375&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 18''' || 327.808 || 1479.74 || 1084.438&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 19''' || 375.572 || 1417.439 || 1081.328&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 20''' || 384.644 || 1471.479 || 1080.195&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 21''' || 295.467 || 1474.697 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 16&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 4''' || -25.3730 || -139.6540 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''LS Tattoo Parlour''' || -204.5580 || -25.6970 || 1002.2730&lt;br /&gt;
|-&lt;br /&gt;
| '''Sumoring? stadium''' || -1400 || 1250 ||  1040 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 17&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 5''' || -25.3930 || -185.9110 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Club''' || 493.4687 || -23.0080 || 1000.6796&lt;br /&gt;
|-&lt;br /&gt;
| '''Rusty Brown's - Ring Donuts''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''The Sherman's Dam Generator Hall''' || -942.1320 || 1849.1420 || 5.0050&lt;br /&gt;
|-&lt;br /&gt;
| '''Hemlock Tattoo''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 18&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Lil Probe Inn''' || -227.0280 || 1401.2290 || 27.7690&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 6''' || -30.9460 || -89.6090 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Atrium''' || 1726.1370 || -1645.2300 || 20.2260&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 2''' || 1296.6310 || 0.5920 || 1001.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Zip''' || 161.4620 || -91.3940 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Interior Functions==&lt;br /&gt;
*[[getElementInterior]]&lt;br /&gt;
*[[setElementInterior]]&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[hu:Interior IDs]]&lt;br /&gt;
[[de:Interior IDs]]&lt;br /&gt;
[[ru:interior IDs]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81933</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81933"/>
		<updated>2025-04-12T02:22:21Z</updated>

		<summary type="html">&lt;p&gt;Azure: Corrected Victim Z position&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;San Andreas Interior ID list.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%; text-align:center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 0&lt;br /&gt;
|-&lt;br /&gt;
| '''Normal world''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 1''' || 224.6351 || 1289.012 || 1082.141 &lt;br /&gt;
|-&lt;br /&gt;
| '''The Wellcome Pump (Catalina?)''' || 681.65 || -452.86 || -25.62&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 1''' || 446.6941 || -9.7977 || 1000.7340&lt;br /&gt;
|-&lt;br /&gt;
| '''Caligulas Casino''' || 2235.2524 || 1708.5146 || 1010.6129&lt;br /&gt;
|-&lt;br /&gt;
| '''Denise's Place''' || 244.0892 || 304.8456 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Shamal cabin''' || 1.6127 || 34.7411 || 1199.0&lt;br /&gt;
|-&lt;br /&gt;
| '''Liberty City''' || -750.80 || 491.00 || 1371.70&lt;br /&gt;
|-&lt;br /&gt;
| '''Sweet's House''' || 2525.0420 || -1679.1150 || 1015.4990&lt;br /&gt;
|-&lt;br /&gt;
| '''Transfender''' || 621.7850 || -12.5417 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 4''' || 2216.5400 || -1076.2900 || 1050.4840&lt;br /&gt;
|-&lt;br /&gt;
| '''Trials(Hyman Memorial?) Stadium''' || -1401.13 || 106.110 || 1032.273&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 1''' || 1405.3120 || -8.2928 || 1000.9130&lt;br /&gt;
|-&lt;br /&gt;
| '''Doherty Garage''' || -2042.42 || 178.59 || 28.84    &lt;br /&gt;
|-&lt;br /&gt;
| '''Sindacco Abatoir''' || 963.6078 || 2108.3970 || 1011.0300&lt;br /&gt;
|-&lt;br /&gt;
| '''Sub Urban''' || 203.8173 || -46.5385 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Wu Zi Mu's Betting place''' || -2159.9260 || 641.4587 || 1052.3820&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ryder's House''' || 2464.2110 || -1697.9520 || 1013.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Angel Pine Trailer''' || 0.3440 || -0.5140 || 999.4284&lt;br /&gt;
|-&lt;br /&gt;
| '''The Pig Pen''' || 1213.4330 ||-6.6830 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Crack Palace''' || 1523.7510 || -46.0458 || 1002.1310&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Smoke's Crack Palace''' || 2543.6610 || -1303.9320 || 1025.0700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 2''' || 225.756 || 1240.000 || 1082.149&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 3''' || 447.470 || 1398.348 || 1084.305&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 4''' || 491.740 || 1400.541 || 1080.265&lt;br /&gt;
|-&lt;br /&gt;
| '''Katie's Place''' || 267.2290 || 304.7100 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Loco Low Co.''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
| '''Reece's Barbershop''' || 411.6259 || -21.4332 || 1001.8046&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 17''' || 2237.5900 || -1080.8699 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Jizzy's Pleasure Domes''' || -2636.7190 || 1402.9170 || 906.4609&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel''' || 940.6520 || -18.4860 || 1000.9300&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel 2''' || 967.5334 || -53.0245 || 1001.1250&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Apartment''' || 1527.38 || -11.02 || 1002.10 &lt;br /&gt;
|-&lt;br /&gt;
| '''Bike School''' || 1494.3350 || 1305.6510 || 1093.2890&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Spread Ranch''' || 1210.2570 || -29.2986 || 1000.8790&lt;br /&gt;
|-&lt;br /&gt;
| '''LV Tattoo Parlour''' || -204.4390 || -43.6520 || 1002.2990&lt;br /&gt;
|-&lt;br /&gt;
| '''LVPD HQ''' || 289.7703 || 171.7460 || 1007.1790&lt;br /&gt;
|-&lt;br /&gt;
| '''OG Loc's House''' || 516.8890 || -18.4120 || 1001.5650&lt;br /&gt;
|-&lt;br /&gt;
| '''Pro-Laps''' || 207.3560 || -138.0029 || 1003.3130&lt;br /&gt;
|-&lt;br /&gt;
| '''Las Venturas Planning Dep.''' || 374.6708 || 173.8050 || 1008.3893&lt;br /&gt;
|-&lt;br /&gt;
| '''Record Label Hallway''' || 1038.2190 || 6.9905 || 1001.2840&lt;br /&gt;
|-&lt;br /&gt;
| '''Driving School''' || -2027.9200 || -105.1830 || 1035.1720&lt;br /&gt;
|-&lt;br /&gt;
| '''Johnson House''' || 2496.0500 || -1693.9260 || 1014.7420&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 5''' || 234.733 || 1190.391 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Gay Gordo's Barbershop''' || 418.6530 || -82.6390 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Helena's Place''' || 292.4459 || 308.7790 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Inside Track Betting''' || 826.8863 || 5.5091 || 1004.4830&lt;br /&gt;
|-&lt;br /&gt;
| '''Sex Shop''' || -106.7268 || -19.6444 || 1000.7190&lt;br /&gt;
|-&lt;br /&gt;
| '''Wheel Arch Angels''' || 614.3889 || -124.0991 || 997.9950&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 1''' || -27.3769 || -27.6416 || 1003.5570&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 2''' || 285.8000 || -84.5470 || 1001.5390&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || -262.91 || 1454.966 || 1084.367&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || 221.4296 || 1142.423 || 1082.609&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || 261.1168 || 1286.519 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || 460.0 || -88.43 || 999.62 &lt;br /&gt;
|-&lt;br /&gt;
| '''Dirtbike Stadium''' || -1435.8690 || -662.2505 || 1052.4650&lt;br /&gt;
|-&lt;br /&gt;
| '''Michelle's Place''' || 302.6404 || 304.8048 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Madd Dogg's Mansion''' || 1262.1451416016 || -785.32977294922 || 1091.90625&lt;br /&gt;
|-&lt;br /&gt;
| '''Well Stacked Pizza Co.''' || 377.7758 || -126.2766 || 1001.4920&lt;br /&gt;
|-&lt;br /&gt;
| '''Victim''' || 221.3310 || -6.6169 || 1001.8125&lt;br /&gt;
|-&lt;br /&gt;
| '''Burning Desire House''' || 2351.1540 || -1180.5770 || 1027.9770&lt;br /&gt;
|-&lt;br /&gt;
| '''Barbara's Place''' || 322.1979 || 302.4979 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || 22.79996 || 1404.642 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || 228.9003 || 1114.477 || 1080.992&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 11''' || 140.5631 || 1369.051 || 1083.864&lt;br /&gt;
|-&lt;br /&gt;
| '''The Crack Den''' || 322.1117 || 1119.3270 || 1083.8830&lt;br /&gt;
|-&lt;br /&gt;
| '''Police Station (Barbara's)''' || 322.72 || 306.43 || 999.15&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 1''' || 448.7435 || -110.0457 || 1000.0772&lt;br /&gt;
|-&lt;br /&gt;
| '''Ganton Gym''' || 768.0793 || 5.8606 || 1000.7160&lt;br /&gt;
|-&lt;br /&gt;
| '''Vank Hoff Hotel ''' || 2232.8210 || -1110.0180 || 1050.8830&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 6&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 3''' || 297.4460 || -109.9680 || 1001.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 4''' || 317.2380 || -168.0520 || 999.5930&lt;br /&gt;
|-&lt;br /&gt;
| '''LSPD HQ ''' || 246.4510 || 65.5860 ||1003.6410&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 3''' || 2333.0330 || -1073.9600 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 5''' || 2194.2910 || -1204.0150 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 6''' || 2308.8710 || -1210.7170 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Cobra Marital Arts Gym''' || 774.0870 ||-47.9830 || 1000.5860&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 2''' || -26.7180 || -55.9860 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Millie's Bedroom''' || 344.5200 || 304.8210 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Fanny Batter's Brothel''' || 744.2710 || 1437.2530 || 1102.7030&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Shop''' || -2241.0700 || 128.5200 || 1035.4195&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 2''' || 443.9810 || -65.2190 || 1050.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || 234.319 || 1066.455 || 1084.208&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || -69.049 || 1354.056 || 1080.211&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 7&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 5 (2 Floors)''' || 315.3850 || -142.2420 || 999.6010&lt;br /&gt;
|-&lt;br /&gt;
| '''8-Track Stadium''' || -1417.8720 || -276.4260 || 1051.1910&lt;br /&gt;
|-&lt;br /&gt;
| '''Below the Belt Gym''' || 774.2430 || -76.0090 || 1000.6540&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 8&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 2''' || 2365.2383 || -1134.2969 || 1050.875&lt;br /&gt;
|-&lt;br /&gt;
| '''Colonel Fuhrberger's House''' || 2807.8990 || -1172.9210 || 1025.5700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 22''' || -42.490 || 1407.644 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 9&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Unknown safe house''' || 2253.1740 || -1139.0100 || 1050.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''Andromada Cargo hold''' || 315.48 || 984.13 || 1959.11&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 12''' || 85.32596 || 1323.585 || 1083.859&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || 260.3189 || 1239.663 || 1084.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Cluckin' Bell''' || 365.67 || -11.61 || 1002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 10&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Four Dragons Casino''' || 2009.4140 || 1017.8990 || 994.4680&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Battlefield''' || -975.5766 || 1061.1312 || 1345.6719&lt;br /&gt;
|-&lt;br /&gt;
| '''Burger Shot''' || 366.4220 || -73.4700 || 1001.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 14''' || 21.241 || 1342.153 || 1084.375 &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room(Four Dragons Maintenance)''' || 1891.3960 ||1018.1260 || 31.8820&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 1''' || 2262.83 || -1137.71 || 1050.63&lt;br /&gt;
|-&lt;br /&gt;
| '''Hashbury safe house''' || 2264.5231 || -1210.5229 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 3''' || 6.0780 || -28.6330 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Abandoned AC Tower''' || 419.6140 || 2536.6030 || 10.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''SFPD HQ''' || 246.4410 || 112.1640 || 1003.2190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 11&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''The Four Dragons Office''' || 2011.6030 || 1017.0230 || 39.0910&lt;br /&gt;
|-&lt;br /&gt;
| '''Los Santos safe house''' || 2282.9766 || -1140.2861 || 1050.8984&lt;br /&gt;
|-&lt;br /&gt;
| '''Ten Green Bottles Bar''' || 502.3310 || -70.6820 || 998.7570&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 12&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room''' || 444.6469 || 508.2390 || 1001.4194&lt;br /&gt;
|-&lt;br /&gt;
| '''The Casino''' || 1132.9450 || -8.6750 || 1000.6800&lt;br /&gt;
|-&lt;br /&gt;
| '''Macisla's Barbershop''' || 411.6410 || -51.8460 || 1001.8980&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 7''' || 2324.3848 || -1148.4805 || 1050.7101&lt;br /&gt;
|-&lt;br /&gt;
| '''Modern safe house''' || 2324.4990 || -1147.0710 || 1050.7100&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 13&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
|'''LS Atrium''' || 1724.33 || -1625.784 || 20.211&lt;br /&gt;
|-&lt;br /&gt;
|'''CJ's Garage''' || -2043.966 || 172.932 || 28.835&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 14&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Kickstart Stadium''' || -1464.5360 || 1557.6900 || 1052.5310&lt;br /&gt;
|-&lt;br /&gt;
| '''Didier Sachs''' || 204.1789 || -165.8740 || 1000.5230&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Front ext.)''' || -1827.1473 || 7.2074 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Baggage Claim/Ticket Sales)''' || -1855.5687 || 41.2631 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''San Fierro Chunk (cutscene place)''' || -2015.6600 || 148.2000 || 27.6875&lt;br /&gt;
|-&lt;br /&gt;
| '''Wardrobe''' || 255.7190 || -41.1370 || 1002.0230&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 15&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Binco''' || 207.5430 || -109.0040 || 1005.1330&lt;br /&gt;
|-&lt;br /&gt;
| '''Blood Bowl Stadium''' || -1394.20 || 987.62 || 1023.96&lt;br /&gt;
|-&lt;br /&gt;
| '''Jefferson Motel''' || 2217.6250 || -1150.6580 || 1025.7970&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || -285.711 || 1470.697 || 1084.375&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 18''' || 327.808 || 1479.74 || 1084.438&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 19''' || 375.572 || 1417.439 || 1081.328&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 20''' || 384.644 || 1471.479 || 1080.195&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 21''' || 295.467 || 1474.697 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 16&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 4''' || -25.3730 || -139.6540 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''LS Tattoo Parlour''' || -204.5580 || -25.6970 || 1002.2730&lt;br /&gt;
|-&lt;br /&gt;
| '''Sumoring? stadium''' || -1400 || 1250 ||  1040 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 17&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 5''' || -25.3930 || -185.9110 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Club''' || 493.4687 || -23.0080 || 1000.6796&lt;br /&gt;
|-&lt;br /&gt;
| '''Rusty Brown's - Ring Donuts''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''The Sherman's Dam Generator Hall''' || -942.1320 || 1849.1420 || 5.0050&lt;br /&gt;
|-&lt;br /&gt;
| '''Hemlock Tattoo''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 18&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Lil Probe Inn''' || -227.0280 || 1401.2290 || 27.7690&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 6''' || -30.9460 || -89.6090 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Atrium''' || 1726.1370 || -1645.2300 || 20.2260&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 2''' || 1296.6310 || 0.5920 || 1001.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Zip''' || 161.4620 || -91.3940 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Interior Functions==&lt;br /&gt;
*[[getElementInterior]]&lt;br /&gt;
*[[setElementInterior]]&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[hu:Interior IDs]]&lt;br /&gt;
[[de:Interior IDs]]&lt;br /&gt;
[[ru:interior IDs]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81928</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81928"/>
		<updated>2025-04-11T16:10:35Z</updated>

		<summary type="html">&lt;p&gt;Azure: Added San Fierro Chunk (cutscene place)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;San Andreas Interior ID list.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%; text-align:center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 0&lt;br /&gt;
|-&lt;br /&gt;
| '''Normal world''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 1''' || 224.6351 || 1289.012 || 1082.141 &lt;br /&gt;
|-&lt;br /&gt;
| '''The Wellcome Pump (Catalina?)''' || 681.65 || -452.86 || -25.62&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 1''' || 446.6941 || -9.7977 || 1000.7340&lt;br /&gt;
|-&lt;br /&gt;
| '''Caligulas Casino''' || 2235.2524 || 1708.5146 || 1010.6129&lt;br /&gt;
|-&lt;br /&gt;
| '''Denise's Place''' || 244.0892 || 304.8456 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Shamal cabin''' || 1.6127 || 34.7411 || 1199.0&lt;br /&gt;
|-&lt;br /&gt;
| '''Liberty City''' || -750.80 || 491.00 || 1371.70&lt;br /&gt;
|-&lt;br /&gt;
| '''Sweet's House''' || 2525.0420 || -1679.1150 || 1015.4990&lt;br /&gt;
|-&lt;br /&gt;
| '''Transfender''' || 621.7850 || -12.5417 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 4''' || 2216.5400 || -1076.2900 || 1050.4840&lt;br /&gt;
|-&lt;br /&gt;
| '''Trials(Hyman Memorial?) Stadium''' || -1401.13 || 106.110 || 1032.273&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 1''' || 1405.3120 || -8.2928 || 1000.9130&lt;br /&gt;
|-&lt;br /&gt;
| '''Doherty Garage''' || -2042.42 || 178.59 || 28.84    &lt;br /&gt;
|-&lt;br /&gt;
| '''Sindacco Abatoir''' || 963.6078 || 2108.3970 || 1011.0300&lt;br /&gt;
|-&lt;br /&gt;
| '''Sub Urban''' || 203.8173 || -46.5385 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Wu Zi Mu's Betting place''' || -2159.9260 || 641.4587 || 1052.3820&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ryder's House''' || 2464.2110 || -1697.9520 || 1013.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Angel Pine Trailer''' || 0.3440 || -0.5140 || 999.4284&lt;br /&gt;
|-&lt;br /&gt;
| '''The Pig Pen''' || 1213.4330 ||-6.6830 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Crack Palace''' || 1523.7510 || -46.0458 || 1002.1310&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Smoke's Crack Palace''' || 2543.6610 || -1303.9320 || 1025.0700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 2''' || 225.756 || 1240.000 || 1082.149&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 3''' || 447.470 || 1398.348 || 1084.305&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 4''' || 491.740 || 1400.541 || 1080.265&lt;br /&gt;
|-&lt;br /&gt;
| '''Katie's Place''' || 267.2290 || 304.7100 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Loco Low Co.''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
| '''Reece's Barbershop''' || 411.6259 || -21.4332 || 1001.8046&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 17''' || 2237.5900 || -1080.8699 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Jizzy's Pleasure Domes''' || -2636.7190 || 1402.9170 || 906.4609&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel''' || 940.6520 || -18.4860 || 1000.9300&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel 2''' || 967.5334 || -53.0245 || 1001.1250&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Apartment''' || 1527.38 || -11.02 || 1002.10 &lt;br /&gt;
|-&lt;br /&gt;
| '''Bike School''' || 1494.3350 || 1305.6510 || 1093.2890&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Spread Ranch''' || 1210.2570 || -29.2986 || 1000.8790&lt;br /&gt;
|-&lt;br /&gt;
| '''LV Tattoo Parlour''' || -204.4390 || -43.6520 || 1002.2990&lt;br /&gt;
|-&lt;br /&gt;
| '''LVPD HQ''' || 289.7703 || 171.7460 || 1007.1790&lt;br /&gt;
|-&lt;br /&gt;
| '''OG Loc's House''' || 516.8890 || -18.4120 || 1001.5650&lt;br /&gt;
|-&lt;br /&gt;
| '''Pro-Laps''' || 207.3560 || -138.0029 || 1003.3130&lt;br /&gt;
|-&lt;br /&gt;
| '''Las Venturas Planning Dep.''' || 374.6708 || 173.8050 || 1008.3893&lt;br /&gt;
|-&lt;br /&gt;
| '''Record Label Hallway''' || 1038.2190 || 6.9905 || 1001.2840&lt;br /&gt;
|-&lt;br /&gt;
| '''Driving School''' || -2027.9200 || -105.1830 || 1035.1720&lt;br /&gt;
|-&lt;br /&gt;
| '''Johnson House''' || 2496.0500 || -1693.9260 || 1014.7420&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 5''' || 234.733 || 1190.391 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Gay Gordo's Barbershop''' || 418.6530 || -82.6390 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Helena's Place''' || 292.4459 || 308.7790 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Inside Track Betting''' || 826.8863 || 5.5091 || 1004.4830&lt;br /&gt;
|-&lt;br /&gt;
| '''Sex Shop''' || -106.7268 || -19.6444 || 1000.7190&lt;br /&gt;
|-&lt;br /&gt;
| '''Wheel Arch Angels''' || 614.3889 || -124.0991 || 997.9950&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 1''' || -27.3769 || -27.6416 || 1003.5570&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 2''' || 285.8000 || -84.5470 || 1001.5390&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || -262.91 || 1454.966 || 1084.367&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || 221.4296 || 1142.423 || 1082.609&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || 261.1168 || 1286.519 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || 460.0 || -88.43 || 999.62 &lt;br /&gt;
|-&lt;br /&gt;
| '''Dirtbike Stadium''' || -1435.8690 || -662.2505 || 1052.4650&lt;br /&gt;
|-&lt;br /&gt;
| '''Michelle's Place''' || 302.6404 || 304.8048 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Madd Dogg's Mansion''' || 1262.1451416016 || -785.32977294922 || 1091.90625&lt;br /&gt;
|-&lt;br /&gt;
| '''Well Stacked Pizza Co.''' || 377.7758 || -126.2766 || 1001.4920&lt;br /&gt;
|-&lt;br /&gt;
| '''Victim''' || 221.3310 || -6.6169 || 1005.1977&lt;br /&gt;
|-&lt;br /&gt;
| '''Burning Desire House''' || 2351.1540 || -1180.5770 || 1027.9770&lt;br /&gt;
|-&lt;br /&gt;
| '''Barbara's Place''' || 322.1979 || 302.4979 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || 22.79996 || 1404.642 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || 228.9003 || 1114.477 || 1080.992&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 11''' || 140.5631 || 1369.051 || 1083.864&lt;br /&gt;
|-&lt;br /&gt;
| '''The Crack Den''' || 322.1117 || 1119.3270 || 1083.8830&lt;br /&gt;
|-&lt;br /&gt;
| '''Police Station (Barbara's)''' || 322.72 || 306.43 || 999.15&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 1''' || 448.7435 || -110.0457 || 1000.0772&lt;br /&gt;
|-&lt;br /&gt;
| '''Ganton Gym''' || 768.0793 || 5.8606 || 1000.7160&lt;br /&gt;
|-&lt;br /&gt;
| '''Vank Hoff Hotel ''' || 2232.8210 || -1110.0180 || 1050.8830&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 6&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 3''' || 297.4460 || -109.9680 || 1001.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 4''' || 317.2380 || -168.0520 || 999.5930&lt;br /&gt;
|-&lt;br /&gt;
| '''LSPD HQ ''' || 246.4510 || 65.5860 ||1003.6410&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 3''' || 2333.0330 || -1073.9600 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 5''' || 2194.2910 || -1204.0150 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 6''' || 2308.8710 || -1210.7170 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Cobra Marital Arts Gym''' || 774.0870 ||-47.9830 || 1000.5860&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 2''' || -26.7180 || -55.9860 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Millie's Bedroom''' || 344.5200 || 304.8210 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Fanny Batter's Brothel''' || 744.2710 || 1437.2530 || 1102.7030&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Shop''' || -2241.0700 || 128.5200 || 1035.4195&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 2''' || 443.9810 || -65.2190 || 1050.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || 234.319 || 1066.455 || 1084.208&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || -69.049 || 1354.056 || 1080.211&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 7&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 5 (2 Floors)''' || 315.3850 || -142.2420 || 999.6010&lt;br /&gt;
|-&lt;br /&gt;
| '''8-Track Stadium''' || -1417.8720 || -276.4260 || 1051.1910&lt;br /&gt;
|-&lt;br /&gt;
| '''Below the Belt Gym''' || 774.2430 || -76.0090 || 1000.6540&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 8&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 2''' || 2365.2383 || -1134.2969 || 1050.875&lt;br /&gt;
|-&lt;br /&gt;
| '''Colonel Fuhrberger's House''' || 2807.8990 || -1172.9210 || 1025.5700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 22''' || -42.490 || 1407.644 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 9&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Unknown safe house''' || 2253.1740 || -1139.0100 || 1050.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''Andromada Cargo hold''' || 315.48 || 984.13 || 1959.11&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 12''' || 85.32596 || 1323.585 || 1083.859&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || 260.3189 || 1239.663 || 1084.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Cluckin' Bell''' || 365.67 || -11.61 || 1002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 10&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Four Dragons Casino''' || 2009.4140 || 1017.8990 || 994.4680&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Battlefield''' || -975.5766 || 1061.1312 || 1345.6719&lt;br /&gt;
|-&lt;br /&gt;
| '''Burger Shot''' || 366.4220 || -73.4700 || 1001.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 14''' || 21.241 || 1342.153 || 1084.375 &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room(Four Dragons Maintenance)''' || 1891.3960 ||1018.1260 || 31.8820&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 1''' || 2262.83 || -1137.71 || 1050.63&lt;br /&gt;
|-&lt;br /&gt;
| '''Hashbury safe house''' || 2264.5231 || -1210.5229 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 3''' || 6.0780 || -28.6330 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Abandoned AC Tower''' || 419.6140 || 2536.6030 || 10.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''SFPD HQ''' || 246.4410 || 112.1640 || 1003.2190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 11&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''The Four Dragons Office''' || 2011.6030 || 1017.0230 || 39.0910&lt;br /&gt;
|-&lt;br /&gt;
| '''Los Santos safe house''' || 2282.9766 || -1140.2861 || 1050.8984&lt;br /&gt;
|-&lt;br /&gt;
| '''Ten Green Bottles Bar''' || 502.3310 || -70.6820 || 998.7570&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 12&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room''' || 444.6469 || 508.2390 || 1001.4194&lt;br /&gt;
|-&lt;br /&gt;
| '''The Casino''' || 1132.9450 || -8.6750 || 1000.6800&lt;br /&gt;
|-&lt;br /&gt;
| '''Macisla's Barbershop''' || 411.6410 || -51.8460 || 1001.8980&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 7''' || 2324.3848 || -1148.4805 || 1050.7101&lt;br /&gt;
|-&lt;br /&gt;
| '''Modern safe house''' || 2324.4990 || -1147.0710 || 1050.7100&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 13&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
|'''LS Atrium''' || 1724.33 || -1625.784 || 20.211&lt;br /&gt;
|-&lt;br /&gt;
|'''CJ's Garage''' || -2043.966 || 172.932 || 28.835&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 14&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Kickstart Stadium''' || -1464.5360 || 1557.6900 || 1052.5310&lt;br /&gt;
|-&lt;br /&gt;
| '''Didier Sachs''' || 204.1789 || -165.8740 || 1000.5230&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Front ext.)''' || -1827.1473 || 7.2074 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Baggage Claim/Ticket Sales)''' || -1855.5687 || 41.2631 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''San Fierro Chunk (cutscene place)''' || -2015.6600 || 148.2000 || 27.6875&lt;br /&gt;
|-&lt;br /&gt;
| '''Wardrobe''' || 255.7190 || -41.1370 || 1002.0230&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 15&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Binco''' || 207.5430 || -109.0040 || 1005.1330&lt;br /&gt;
|-&lt;br /&gt;
| '''Blood Bowl Stadium''' || -1394.20 || 987.62 || 1023.96&lt;br /&gt;
|-&lt;br /&gt;
| '''Jefferson Motel''' || 2217.6250 || -1150.6580 || 1025.7970&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || -285.711 || 1470.697 || 1084.375&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 18''' || 327.808 || 1479.74 || 1084.438&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 19''' || 375.572 || 1417.439 || 1081.328&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 20''' || 384.644 || 1471.479 || 1080.195&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 21''' || 295.467 || 1474.697 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 16&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 4''' || -25.3730 || -139.6540 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''LS Tattoo Parlour''' || -204.5580 || -25.6970 || 1002.2730&lt;br /&gt;
|-&lt;br /&gt;
| '''Sumoring? stadium''' || -1400 || 1250 ||  1040 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 17&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 5''' || -25.3930 || -185.9110 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Club''' || 493.4687 || -23.0080 || 1000.6796&lt;br /&gt;
|-&lt;br /&gt;
| '''Rusty Brown's - Ring Donuts''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''The Sherman's Dam Generator Hall''' || -942.1320 || 1849.1420 || 5.0050&lt;br /&gt;
|-&lt;br /&gt;
| '''Hemlock Tattoo''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 18&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Lil Probe Inn''' || -227.0280 || 1401.2290 || 27.7690&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 6''' || -30.9460 || -89.6090 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Atrium''' || 1726.1370 || -1645.2300 || 20.2260&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 2''' || 1296.6310 || 0.5920 || 1001.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Zip''' || 161.4620 || -91.3940 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Interior Functions==&lt;br /&gt;
*[[getElementInterior]]&lt;br /&gt;
*[[setElementInterior]]&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[hu:Interior IDs]]&lt;br /&gt;
[[de:Interior IDs]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81927</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81927"/>
		<updated>2025-04-11T16:08:47Z</updated>

		<summary type="html">&lt;p&gt;Azure: Added Safe House 17&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;San Andreas Interior ID list.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%; text-align:center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 0&lt;br /&gt;
|-&lt;br /&gt;
| '''Normal world''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 1''' || 224.6351 || 1289.012 || 1082.141 &lt;br /&gt;
|-&lt;br /&gt;
| '''The Wellcome Pump (Catalina?)''' || 681.65 || -452.86 || -25.62&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 1''' || 446.6941 || -9.7977 || 1000.7340&lt;br /&gt;
|-&lt;br /&gt;
| '''Caligulas Casino''' || 2235.2524 || 1708.5146 || 1010.6129&lt;br /&gt;
|-&lt;br /&gt;
| '''Denise's Place''' || 244.0892 || 304.8456 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Shamal cabin''' || 1.6127 || 34.7411 || 1199.0&lt;br /&gt;
|-&lt;br /&gt;
| '''Liberty City''' || -750.80 || 491.00 || 1371.70&lt;br /&gt;
|-&lt;br /&gt;
| '''Sweet's House''' || 2525.0420 || -1679.1150 || 1015.4990&lt;br /&gt;
|-&lt;br /&gt;
| '''Transfender''' || 621.7850 || -12.5417 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 4''' || 2216.5400 || -1076.2900 || 1050.4840&lt;br /&gt;
|-&lt;br /&gt;
| '''Trials(Hyman Memorial?) Stadium''' || -1401.13 || 106.110 || 1032.273&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 1''' || 1405.3120 || -8.2928 || 1000.9130&lt;br /&gt;
|-&lt;br /&gt;
| '''Doherty Garage''' || -2042.42 || 178.59 || 28.84    &lt;br /&gt;
|-&lt;br /&gt;
| '''Sindacco Abatoir''' || 963.6078 || 2108.3970 || 1011.0300&lt;br /&gt;
|-&lt;br /&gt;
| '''Sub Urban''' || 203.8173 || -46.5385 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Wu Zi Mu's Betting place''' || -2159.9260 || 641.4587 || 1052.3820&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ryder's House''' || 2464.2110 || -1697.9520 || 1013.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Angel Pine Trailer''' || 0.3440 || -0.5140 || 999.4284&lt;br /&gt;
|-&lt;br /&gt;
| '''The Pig Pen''' || 1213.4330 ||-6.6830 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Crack Palace''' || 1523.7510 || -46.0458 || 1002.1310&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Smoke's Crack Palace''' || 2543.6610 || -1303.9320 || 1025.0700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 2''' || 225.756 || 1240.000 || 1082.149&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 3''' || 447.470 || 1398.348 || 1084.305&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 4''' || 491.740 || 1400.541 || 1080.265&lt;br /&gt;
|-&lt;br /&gt;
| '''Katie's Place''' || 267.2290 || 304.7100 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Loco Low Co.''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
| '''Reece's Barbershop''' || 411.6259 || -21.4332 || 1001.8046&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 17''' || 2237.5900 || -1080.8699 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Jizzy's Pleasure Domes''' || -2636.7190 || 1402.9170 || 906.4609&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel''' || 940.6520 || -18.4860 || 1000.9300&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel 2''' || 967.5334 || -53.0245 || 1001.1250&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Apartment''' || 1527.38 || -11.02 || 1002.10 &lt;br /&gt;
|-&lt;br /&gt;
| '''Bike School''' || 1494.3350 || 1305.6510 || 1093.2890&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Spread Ranch''' || 1210.2570 || -29.2986 || 1000.8790&lt;br /&gt;
|-&lt;br /&gt;
| '''LV Tattoo Parlour''' || -204.4390 || -43.6520 || 1002.2990&lt;br /&gt;
|-&lt;br /&gt;
| '''LVPD HQ''' || 289.7703 || 171.7460 || 1007.1790&lt;br /&gt;
|-&lt;br /&gt;
| '''OG Loc's House''' || 516.8890 || -18.4120 || 1001.5650&lt;br /&gt;
|-&lt;br /&gt;
| '''Pro-Laps''' || 207.3560 || -138.0029 || 1003.3130&lt;br /&gt;
|-&lt;br /&gt;
| '''Las Venturas Planning Dep.''' || 374.6708 || 173.8050 || 1008.3893&lt;br /&gt;
|-&lt;br /&gt;
| '''Record Label Hallway''' || 1038.2190 || 6.9905 || 1001.2840&lt;br /&gt;
|-&lt;br /&gt;
| '''Driving School''' || -2027.9200 || -105.1830 || 1035.1720&lt;br /&gt;
|-&lt;br /&gt;
| '''Johnson House''' || 2496.0500 || -1693.9260 || 1014.7420&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 5''' || 234.733 || 1190.391 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Gay Gordo's Barbershop''' || 418.6530 || -82.6390 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Helena's Place''' || 292.4459 || 308.7790 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Inside Track Betting''' || 826.8863 || 5.5091 || 1004.4830&lt;br /&gt;
|-&lt;br /&gt;
| '''Sex Shop''' || -106.7268 || -19.6444 || 1000.7190&lt;br /&gt;
|-&lt;br /&gt;
| '''Wheel Arch Angels''' || 614.3889 || -124.0991 || 997.9950&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 1''' || -27.3769 || -27.6416 || 1003.5570&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 2''' || 285.8000 || -84.5470 || 1001.5390&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || -262.91 || 1454.966 || 1084.367&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || 221.4296 || 1142.423 || 1082.609&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || 261.1168 || 1286.519 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || 460.0 || -88.43 || 999.62 &lt;br /&gt;
|-&lt;br /&gt;
| '''Dirtbike Stadium''' || -1435.8690 || -662.2505 || 1052.4650&lt;br /&gt;
|-&lt;br /&gt;
| '''Michelle's Place''' || 302.6404 || 304.8048 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Madd Dogg's Mansion''' || 1262.1451416016 || -785.32977294922 || 1091.90625&lt;br /&gt;
|-&lt;br /&gt;
| '''Well Stacked Pizza Co.''' || 377.7758 || -126.2766 || 1001.4920&lt;br /&gt;
|-&lt;br /&gt;
| '''Victim''' || 221.3310 || -6.6169 || 1005.1977&lt;br /&gt;
|-&lt;br /&gt;
| '''Burning Desire House''' || 2351.1540 || -1180.5770 || 1027.9770&lt;br /&gt;
|-&lt;br /&gt;
| '''Barbara's Place''' || 322.1979 || 302.4979 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || 22.79996 || 1404.642 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || 228.9003 || 1114.477 || 1080.992&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 11''' || 140.5631 || 1369.051 || 1083.864&lt;br /&gt;
|-&lt;br /&gt;
| '''The Crack Den''' || 322.1117 || 1119.3270 || 1083.8830&lt;br /&gt;
|-&lt;br /&gt;
| '''Police Station (Barbara's)''' || 322.72 || 306.43 || 999.15&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 1''' || 448.7435 || -110.0457 || 1000.0772&lt;br /&gt;
|-&lt;br /&gt;
| '''Ganton Gym''' || 768.0793 || 5.8606 || 1000.7160&lt;br /&gt;
|-&lt;br /&gt;
| '''Vank Hoff Hotel ''' || 2232.8210 || -1110.0180 || 1050.8830&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 6&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 3''' || 297.4460 || -109.9680 || 1001.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 4''' || 317.2380 || -168.0520 || 999.5930&lt;br /&gt;
|-&lt;br /&gt;
| '''LSPD HQ ''' || 246.4510 || 65.5860 ||1003.6410&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 3''' || 2333.0330 || -1073.9600 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 5''' || 2194.2910 || -1204.0150 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 6''' || 2308.8710 || -1210.7170 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Cobra Marital Arts Gym''' || 774.0870 ||-47.9830 || 1000.5860&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 2''' || -26.7180 || -55.9860 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Millie's Bedroom''' || 344.5200 || 304.8210 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Fanny Batter's Brothel''' || 744.2710 || 1437.2530 || 1102.7030&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Shop''' || -2241.0700 || 128.5200 || 1035.4195&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 2''' || 443.9810 || -65.2190 || 1050.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || 234.319 || 1066.455 || 1084.208&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || -69.049 || 1354.056 || 1080.211&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 7&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 5 (2 Floors)''' || 315.3850 || -142.2420 || 999.6010&lt;br /&gt;
|-&lt;br /&gt;
| '''8-Track Stadium''' || -1417.8720 || -276.4260 || 1051.1910&lt;br /&gt;
|-&lt;br /&gt;
| '''Below the Belt Gym''' || 774.2430 || -76.0090 || 1000.6540&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 8&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 2''' || 2365.2383 || -1134.2969 || 1050.875&lt;br /&gt;
|-&lt;br /&gt;
| '''Colonel Fuhrberger's House''' || 2807.8990 || -1172.9210 || 1025.5700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 22''' || -42.490 || 1407.644 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 9&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Unknown safe house''' || 2253.1740 || -1139.0100 || 1050.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''Andromada Cargo hold''' || 315.48 || 984.13 || 1959.11&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 12''' || 85.32596 || 1323.585 || 1083.859&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || 260.3189 || 1239.663 || 1084.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Cluckin' Bell''' || 365.67 || -11.61 || 1002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 10&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Four Dragons Casino''' || 2009.4140 || 1017.8990 || 994.4680&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Battlefield''' || -975.5766 || 1061.1312 || 1345.6719&lt;br /&gt;
|-&lt;br /&gt;
| '''Burger Shot''' || 366.4220 || -73.4700 || 1001.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 14''' || 21.241 || 1342.153 || 1084.375 &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room(Four Dragons Maintenance)''' || 1891.3960 ||1018.1260 || 31.8820&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 1''' || 2262.83 || -1137.71 || 1050.63&lt;br /&gt;
|-&lt;br /&gt;
| '''Hashbury safe house''' || 2264.5231 || -1210.5229 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 3''' || 6.0780 || -28.6330 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Abandoned AC Tower''' || 419.6140 || 2536.6030 || 10.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''SFPD HQ''' || 246.4410 || 112.1640 || 1003.2190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 11&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''The Four Dragons Office''' || 2011.6030 || 1017.0230 || 39.0910&lt;br /&gt;
|-&lt;br /&gt;
| '''Los Santos safe house''' || 2282.9766 || -1140.2861 || 1050.8984&lt;br /&gt;
|-&lt;br /&gt;
| '''Ten Green Bottles Bar''' || 502.3310 || -70.6820 || 998.7570&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 12&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room''' || 444.6469 || 508.2390 || 1001.4194&lt;br /&gt;
|-&lt;br /&gt;
| '''The Casino''' || 1132.9450 || -8.6750 || 1000.6800&lt;br /&gt;
|-&lt;br /&gt;
| '''Macisla's Barbershop''' || 411.6410 || -51.8460 || 1001.8980&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 7''' || 2324.3848 || -1148.4805 || 1050.7101&lt;br /&gt;
|-&lt;br /&gt;
| '''Modern safe house''' || 2324.4990 || -1147.0710 || 1050.7100&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 13&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
|'''LS Atrium''' || 1724.33 || -1625.784 || 20.211&lt;br /&gt;
|-&lt;br /&gt;
|'''CJ's Garage''' || -2043.966 || 172.932 || 28.835&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 14&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Kickstart Stadium''' || -1464.5360 || 1557.6900 || 1052.5310&lt;br /&gt;
|-&lt;br /&gt;
| '''Didier Sachs''' || 204.1789 || -165.8740 || 1000.5230&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Front ext.)''' || -1827.1473 || 7.2074 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Baggage Claim/Ticket Sales)''' || -1855.5687 || 41.2631 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Wardrobe''' || 255.7190 || -41.1370 || 1002.0230&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 15&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Binco''' || 207.5430 || -109.0040 || 1005.1330&lt;br /&gt;
|-&lt;br /&gt;
| '''Blood Bowl Stadium''' || -1394.20 || 987.62 || 1023.96&lt;br /&gt;
|-&lt;br /&gt;
| '''Jefferson Motel''' || 2217.6250 || -1150.6580 || 1025.7970&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || -285.711 || 1470.697 || 1084.375&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 18''' || 327.808 || 1479.74 || 1084.438&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 19''' || 375.572 || 1417.439 || 1081.328&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 20''' || 384.644 || 1471.479 || 1080.195&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 21''' || 295.467 || 1474.697 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 16&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 4''' || -25.3730 || -139.6540 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''LS Tattoo Parlour''' || -204.5580 || -25.6970 || 1002.2730&lt;br /&gt;
|-&lt;br /&gt;
| '''Sumoring? stadium''' || -1400 || 1250 ||  1040 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 17&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 5''' || -25.3930 || -185.9110 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Club''' || 493.4687 || -23.0080 || 1000.6796&lt;br /&gt;
|-&lt;br /&gt;
| '''Rusty Brown's - Ring Donuts''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''The Sherman's Dam Generator Hall''' || -942.1320 || 1849.1420 || 5.0050&lt;br /&gt;
|-&lt;br /&gt;
| '''Hemlock Tattoo''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 18&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Lil Probe Inn''' || -227.0280 || 1401.2290 || 27.7690&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 6''' || -30.9460 || -89.6090 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Atrium''' || 1726.1370 || -1645.2300 || 20.2260&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 2''' || 1296.6310 || 0.5920 || 1001.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Zip''' || 161.4620 || -91.3940 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Interior Functions==&lt;br /&gt;
*[[getElementInterior]]&lt;br /&gt;
*[[setElementInterior]]&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[hu:Interior IDs]]&lt;br /&gt;
[[de:Interior IDs]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81926</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81926"/>
		<updated>2025-04-11T16:07:27Z</updated>

		<summary type="html">&lt;p&gt;Azure: Arranged RC Zero's Shop in alphabetical order&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;San Andreas Interior ID list.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%; text-align:center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 0&lt;br /&gt;
|-&lt;br /&gt;
| '''Normal world''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 1''' || 224.6351 || 1289.012 || 1082.141 &lt;br /&gt;
|-&lt;br /&gt;
| '''The Wellcome Pump (Catalina?)''' || 681.65 || -452.86 || -25.62&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 1''' || 446.6941 || -9.7977 || 1000.7340&lt;br /&gt;
|-&lt;br /&gt;
| '''Caligulas Casino''' || 2235.2524 || 1708.5146 || 1010.6129&lt;br /&gt;
|-&lt;br /&gt;
| '''Denise's Place''' || 244.0892 || 304.8456 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Shamal cabin''' || 1.6127 || 34.7411 || 1199.0&lt;br /&gt;
|-&lt;br /&gt;
| '''Liberty City''' || -750.80 || 491.00 || 1371.70&lt;br /&gt;
|-&lt;br /&gt;
| '''Sweet's House''' || 2525.0420 || -1679.1150 || 1015.4990&lt;br /&gt;
|-&lt;br /&gt;
| '''Transfender''' || 621.7850 || -12.5417 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 4''' || 2216.5400 || -1076.2900 || 1050.4840&lt;br /&gt;
|-&lt;br /&gt;
| '''Trials(Hyman Memorial?) Stadium''' || -1401.13 || 106.110 || 1032.273&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 1''' || 1405.3120 || -8.2928 || 1000.9130&lt;br /&gt;
|-&lt;br /&gt;
| '''Doherty Garage''' || -2042.42 || 178.59 || 28.84    &lt;br /&gt;
|-&lt;br /&gt;
| '''Sindacco Abatoir''' || 963.6078 || 2108.3970 || 1011.0300&lt;br /&gt;
|-&lt;br /&gt;
| '''Sub Urban''' || 203.8173 || -46.5385 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Wu Zi Mu's Betting place''' || -2159.9260 || 641.4587 || 1052.3820&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ryder's House''' || 2464.2110 || -1697.9520 || 1013.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Angel Pine Trailer''' || 0.3440 || -0.5140 || 999.4284&lt;br /&gt;
|-&lt;br /&gt;
| '''The Pig Pen''' || 1213.4330 ||-6.6830 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Crack Palace''' || 1523.7510 || -46.0458 || 1002.1310&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Smoke's Crack Palace''' || 2543.6610 || -1303.9320 || 1025.0700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 2''' || 225.756 || 1240.000 || 1082.149&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 3''' || 447.470 || 1398.348 || 1084.305&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 4''' || 491.740 || 1400.541 || 1080.265&lt;br /&gt;
|-&lt;br /&gt;
| '''Katie's Place''' || 267.2290 || 304.7100 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Loco Low Co.''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
| '''Reece's Barbershop''' || 411.6259 || -21.4332 || 1001.8046&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Jizzy's Pleasure Domes''' || -2636.7190 || 1402.9170 || 906.4609&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel''' || 940.6520 || -18.4860 || 1000.9300&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel 2''' || 967.5334 || -53.0245 || 1001.1250&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Apartment''' || 1527.38 || -11.02 || 1002.10 &lt;br /&gt;
|-&lt;br /&gt;
| '''Bike School''' || 1494.3350 || 1305.6510 || 1093.2890&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Spread Ranch''' || 1210.2570 || -29.2986 || 1000.8790&lt;br /&gt;
|-&lt;br /&gt;
| '''LV Tattoo Parlour''' || -204.4390 || -43.6520 || 1002.2990&lt;br /&gt;
|-&lt;br /&gt;
| '''LVPD HQ''' || 289.7703 || 171.7460 || 1007.1790&lt;br /&gt;
|-&lt;br /&gt;
| '''OG Loc's House''' || 516.8890 || -18.4120 || 1001.5650&lt;br /&gt;
|-&lt;br /&gt;
| '''Pro-Laps''' || 207.3560 || -138.0029 || 1003.3130&lt;br /&gt;
|-&lt;br /&gt;
| '''Las Venturas Planning Dep.''' || 374.6708 || 173.8050 || 1008.3893&lt;br /&gt;
|-&lt;br /&gt;
| '''Record Label Hallway''' || 1038.2190 || 6.9905 || 1001.2840&lt;br /&gt;
|-&lt;br /&gt;
| '''Driving School''' || -2027.9200 || -105.1830 || 1035.1720&lt;br /&gt;
|-&lt;br /&gt;
| '''Johnson House''' || 2496.0500 || -1693.9260 || 1014.7420&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 5''' || 234.733 || 1190.391 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Gay Gordo's Barbershop''' || 418.6530 || -82.6390 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Helena's Place''' || 292.4459 || 308.7790 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Inside Track Betting''' || 826.8863 || 5.5091 || 1004.4830&lt;br /&gt;
|-&lt;br /&gt;
| '''Sex Shop''' || -106.7268 || -19.6444 || 1000.7190&lt;br /&gt;
|-&lt;br /&gt;
| '''Wheel Arch Angels''' || 614.3889 || -124.0991 || 997.9950&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 1''' || -27.3769 || -27.6416 || 1003.5570&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 2''' || 285.8000 || -84.5470 || 1001.5390&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || -262.91 || 1454.966 || 1084.367&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || 221.4296 || 1142.423 || 1082.609&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || 261.1168 || 1286.519 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || 460.0 || -88.43 || 999.62 &lt;br /&gt;
|-&lt;br /&gt;
| '''Dirtbike Stadium''' || -1435.8690 || -662.2505 || 1052.4650&lt;br /&gt;
|-&lt;br /&gt;
| '''Michelle's Place''' || 302.6404 || 304.8048 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Madd Dogg's Mansion''' || 1262.1451416016 || -785.32977294922 || 1091.90625&lt;br /&gt;
|-&lt;br /&gt;
| '''Well Stacked Pizza Co.''' || 377.7758 || -126.2766 || 1001.4920&lt;br /&gt;
|-&lt;br /&gt;
| '''Victim''' || 221.3310 || -6.6169 || 1005.1977&lt;br /&gt;
|-&lt;br /&gt;
| '''Burning Desire House''' || 2351.1540 || -1180.5770 || 1027.9770&lt;br /&gt;
|-&lt;br /&gt;
| '''Barbara's Place''' || 322.1979 || 302.4979 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || 22.79996 || 1404.642 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || 228.9003 || 1114.477 || 1080.992&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 11''' || 140.5631 || 1369.051 || 1083.864&lt;br /&gt;
|-&lt;br /&gt;
| '''The Crack Den''' || 322.1117 || 1119.3270 || 1083.8830&lt;br /&gt;
|-&lt;br /&gt;
| '''Police Station (Barbara's)''' || 322.72 || 306.43 || 999.15&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 1''' || 448.7435 || -110.0457 || 1000.0772&lt;br /&gt;
|-&lt;br /&gt;
| '''Ganton Gym''' || 768.0793 || 5.8606 || 1000.7160&lt;br /&gt;
|-&lt;br /&gt;
| '''Vank Hoff Hotel ''' || 2232.8210 || -1110.0180 || 1050.8830&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 6&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 3''' || 297.4460 || -109.9680 || 1001.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 4''' || 317.2380 || -168.0520 || 999.5930&lt;br /&gt;
|-&lt;br /&gt;
| '''LSPD HQ ''' || 246.4510 || 65.5860 ||1003.6410&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 3''' || 2333.0330 || -1073.9600 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 5''' || 2194.2910 || -1204.0150 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 6''' || 2308.8710 || -1210.7170 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Cobra Marital Arts Gym''' || 774.0870 ||-47.9830 || 1000.5860&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 2''' || -26.7180 || -55.9860 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Millie's Bedroom''' || 344.5200 || 304.8210 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Fanny Batter's Brothel''' || 744.2710 || 1437.2530 || 1102.7030&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Shop''' || -2241.0700 || 128.5200 || 1035.4195&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 2''' || 443.9810 || -65.2190 || 1050.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || 234.319 || 1066.455 || 1084.208&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || -69.049 || 1354.056 || 1080.211&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 7&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 5 (2 Floors)''' || 315.3850 || -142.2420 || 999.6010&lt;br /&gt;
|-&lt;br /&gt;
| '''8-Track Stadium''' || -1417.8720 || -276.4260 || 1051.1910&lt;br /&gt;
|-&lt;br /&gt;
| '''Below the Belt Gym''' || 774.2430 || -76.0090 || 1000.6540&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 8&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 2''' || 2365.2383 || -1134.2969 || 1050.875&lt;br /&gt;
|-&lt;br /&gt;
| '''Colonel Fuhrberger's House''' || 2807.8990 || -1172.9210 || 1025.5700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 22''' || -42.490 || 1407.644 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 9&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Unknown safe house''' || 2253.1740 || -1139.0100 || 1050.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''Andromada Cargo hold''' || 315.48 || 984.13 || 1959.11&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 12''' || 85.32596 || 1323.585 || 1083.859&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || 260.3189 || 1239.663 || 1084.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Cluckin' Bell''' || 365.67 || -11.61 || 1002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 10&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Four Dragons Casino''' || 2009.4140 || 1017.8990 || 994.4680&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Battlefield''' || -975.5766 || 1061.1312 || 1345.6719&lt;br /&gt;
|-&lt;br /&gt;
| '''Burger Shot''' || 366.4220 || -73.4700 || 1001.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 14''' || 21.241 || 1342.153 || 1084.375 &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room(Four Dragons Maintenance)''' || 1891.3960 ||1018.1260 || 31.8820&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 1''' || 2262.83 || -1137.71 || 1050.63&lt;br /&gt;
|-&lt;br /&gt;
| '''Hashbury safe house''' || 2264.5231 || -1210.5229 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 3''' || 6.0780 || -28.6330 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Abandoned AC Tower''' || 419.6140 || 2536.6030 || 10.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''SFPD HQ''' || 246.4410 || 112.1640 || 1003.2190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 11&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''The Four Dragons Office''' || 2011.6030 || 1017.0230 || 39.0910&lt;br /&gt;
|-&lt;br /&gt;
| '''Los Santos safe house''' || 2282.9766 || -1140.2861 || 1050.8984&lt;br /&gt;
|-&lt;br /&gt;
| '''Ten Green Bottles Bar''' || 502.3310 || -70.6820 || 998.7570&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 12&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room''' || 444.6469 || 508.2390 || 1001.4194&lt;br /&gt;
|-&lt;br /&gt;
| '''The Casino''' || 1132.9450 || -8.6750 || 1000.6800&lt;br /&gt;
|-&lt;br /&gt;
| '''Macisla's Barbershop''' || 411.6410 || -51.8460 || 1001.8980&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 7''' || 2324.3848 || -1148.4805 || 1050.7101&lt;br /&gt;
|-&lt;br /&gt;
| '''Modern safe house''' || 2324.4990 || -1147.0710 || 1050.7100&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 13&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
|'''LS Atrium''' || 1724.33 || -1625.784 || 20.211&lt;br /&gt;
|-&lt;br /&gt;
|'''CJ's Garage''' || -2043.966 || 172.932 || 28.835&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 14&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Kickstart Stadium''' || -1464.5360 || 1557.6900 || 1052.5310&lt;br /&gt;
|-&lt;br /&gt;
| '''Didier Sachs''' || 204.1789 || -165.8740 || 1000.5230&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Front ext.)''' || -1827.1473 || 7.2074 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Baggage Claim/Ticket Sales)''' || -1855.5687 || 41.2631 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Wardrobe''' || 255.7190 || -41.1370 || 1002.0230&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 15&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Binco''' || 207.5430 || -109.0040 || 1005.1330&lt;br /&gt;
|-&lt;br /&gt;
| '''Blood Bowl Stadium''' || -1394.20 || 987.62 || 1023.96&lt;br /&gt;
|-&lt;br /&gt;
| '''Jefferson Motel''' || 2217.6250 || -1150.6580 || 1025.7970&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || -285.711 || 1470.697 || 1084.375&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 18''' || 327.808 || 1479.74 || 1084.438&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 19''' || 375.572 || 1417.439 || 1081.328&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 20''' || 384.644 || 1471.479 || 1080.195&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 21''' || 295.467 || 1474.697 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 16&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 4''' || -25.3730 || -139.6540 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''LS Tattoo Parlour''' || -204.5580 || -25.6970 || 1002.2730&lt;br /&gt;
|-&lt;br /&gt;
| '''Sumoring? stadium''' || -1400 || 1250 ||  1040 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 17&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 5''' || -25.3930 || -185.9110 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Club''' || 493.4687 || -23.0080 || 1000.6796&lt;br /&gt;
|-&lt;br /&gt;
| '''Rusty Brown's - Ring Donuts''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''The Sherman's Dam Generator Hall''' || -942.1320 || 1849.1420 || 5.0050&lt;br /&gt;
|-&lt;br /&gt;
| '''Hemlock Tattoo''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 18&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Lil Probe Inn''' || -227.0280 || 1401.2290 || 27.7690&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 6''' || -30.9460 || -89.6090 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Atrium''' || 1726.1370 || -1645.2300 || 20.2260&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 2''' || 1296.6310 || 0.5920 || 1001.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Zip''' || 161.4620 || -91.3940 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Interior Functions==&lt;br /&gt;
*[[getElementInterior]]&lt;br /&gt;
*[[setElementInterior]]&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[hu:Interior IDs]]&lt;br /&gt;
[[de:Interior IDs]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81925</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81925"/>
		<updated>2025-04-11T16:06:17Z</updated>

		<summary type="html">&lt;p&gt;Azure: Added RC Zero's Shop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;San Andreas Interior ID list.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%; text-align:center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 0&lt;br /&gt;
|-&lt;br /&gt;
| '''Normal world''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 1''' || 224.6351 || 1289.012 || 1082.141 &lt;br /&gt;
|-&lt;br /&gt;
| '''The Wellcome Pump (Catalina?)''' || 681.65 || -452.86 || -25.62&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 1''' || 446.6941 || -9.7977 || 1000.7340&lt;br /&gt;
|-&lt;br /&gt;
| '''Caligulas Casino''' || 2235.2524 || 1708.5146 || 1010.6129&lt;br /&gt;
|-&lt;br /&gt;
| '''Denise's Place''' || 244.0892 || 304.8456 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Shamal cabin''' || 1.6127 || 34.7411 || 1199.0&lt;br /&gt;
|-&lt;br /&gt;
| '''Liberty City''' || -750.80 || 491.00 || 1371.70&lt;br /&gt;
|-&lt;br /&gt;
| '''Sweet's House''' || 2525.0420 || -1679.1150 || 1015.4990&lt;br /&gt;
|-&lt;br /&gt;
| '''Transfender''' || 621.7850 || -12.5417 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 4''' || 2216.5400 || -1076.2900 || 1050.4840&lt;br /&gt;
|-&lt;br /&gt;
| '''Trials(Hyman Memorial?) Stadium''' || -1401.13 || 106.110 || 1032.273&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 1''' || 1405.3120 || -8.2928 || 1000.9130&lt;br /&gt;
|-&lt;br /&gt;
| '''Doherty Garage''' || -2042.42 || 178.59 || 28.84    &lt;br /&gt;
|-&lt;br /&gt;
| '''Sindacco Abatoir''' || 963.6078 || 2108.3970 || 1011.0300&lt;br /&gt;
|-&lt;br /&gt;
| '''Sub Urban''' || 203.8173 || -46.5385 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Wu Zi Mu's Betting place''' || -2159.9260 || 641.4587 || 1052.3820&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ryder's House''' || 2464.2110 || -1697.9520 || 1013.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Angel Pine Trailer''' || 0.3440 || -0.5140 || 999.4284&lt;br /&gt;
|-&lt;br /&gt;
| '''The Pig Pen''' || 1213.4330 ||-6.6830 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Crack Palace''' || 1523.7510 || -46.0458 || 1002.1310&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Smoke's Crack Palace''' || 2543.6610 || -1303.9320 || 1025.0700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 2''' || 225.756 || 1240.000 || 1082.149&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 3''' || 447.470 || 1398.348 || 1084.305&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 4''' || 491.740 || 1400.541 || 1080.265&lt;br /&gt;
|-&lt;br /&gt;
| '''Katie's Place''' || 267.2290 || 304.7100 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Loco Low Co.''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
| '''Reece's Barbershop''' || 411.6259 || -21.4332 || 1001.8046&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Jizzy's Pleasure Domes''' || -2636.7190 || 1402.9170 || 906.4609&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel''' || 940.6520 || -18.4860 || 1000.9300&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel 2''' || 967.5334 || -53.0245 || 1001.1250&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Apartment''' || 1527.38 || -11.02 || 1002.10 &lt;br /&gt;
|-&lt;br /&gt;
| '''Bike School''' || 1494.3350 || 1305.6510 || 1093.2890&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Spread Ranch''' || 1210.2570 || -29.2986 || 1000.8790&lt;br /&gt;
|-&lt;br /&gt;
| '''LV Tattoo Parlour''' || -204.4390 || -43.6520 || 1002.2990&lt;br /&gt;
|-&lt;br /&gt;
| '''LVPD HQ''' || 289.7703 || 171.7460 || 1007.1790&lt;br /&gt;
|-&lt;br /&gt;
| '''OG Loc's House''' || 516.8890 || -18.4120 || 1001.5650&lt;br /&gt;
|-&lt;br /&gt;
| '''Pro-Laps''' || 207.3560 || -138.0029 || 1003.3130&lt;br /&gt;
|-&lt;br /&gt;
| '''Las Venturas Planning Dep.''' || 374.6708 || 173.8050 || 1008.3893&lt;br /&gt;
|-&lt;br /&gt;
| '''Record Label Hallway''' || 1038.2190 || 6.9905 || 1001.2840&lt;br /&gt;
|-&lt;br /&gt;
| '''Driving School''' || -2027.9200 || -105.1830 || 1035.1720&lt;br /&gt;
|-&lt;br /&gt;
| '''Johnson House''' || 2496.0500 || -1693.9260 || 1014.7420&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 5''' || 234.733 || 1190.391 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Gay Gordo's Barbershop''' || 418.6530 || -82.6390 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Helena's Place''' || 292.4459 || 308.7790 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Inside Track Betting''' || 826.8863 || 5.5091 || 1004.4830&lt;br /&gt;
|-&lt;br /&gt;
| '''Sex Shop''' || -106.7268 || -19.6444 || 1000.7190&lt;br /&gt;
|-&lt;br /&gt;
| '''Wheel Arch Angels''' || 614.3889 || -124.0991 || 997.9950&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 1''' || -27.3769 || -27.6416 || 1003.5570&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 2''' || 285.8000 || -84.5470 || 1001.5390&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || -262.91 || 1454.966 || 1084.367&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || 221.4296 || 1142.423 || 1082.609&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || 261.1168 || 1286.519 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || 460.0 || -88.43 || 999.62 &lt;br /&gt;
|-&lt;br /&gt;
| '''Dirtbike Stadium''' || -1435.8690 || -662.2505 || 1052.4650&lt;br /&gt;
|-&lt;br /&gt;
| '''Michelle's Place''' || 302.6404 || 304.8048 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Madd Dogg's Mansion''' || 1262.1451416016 || -785.32977294922 || 1091.90625&lt;br /&gt;
|-&lt;br /&gt;
| '''Well Stacked Pizza Co.''' || 377.7758 || -126.2766 || 1001.4920&lt;br /&gt;
|-&lt;br /&gt;
| '''Victim''' || 221.3310 || -6.6169 || 1005.1977&lt;br /&gt;
|-&lt;br /&gt;
| '''Burning Desire House''' || 2351.1540 || -1180.5770 || 1027.9770&lt;br /&gt;
|-&lt;br /&gt;
| '''Barbara's Place''' || 322.1979 || 302.4979 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || 22.79996 || 1404.642 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || 228.9003 || 1114.477 || 1080.992&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 11''' || 140.5631 || 1369.051 || 1083.864&lt;br /&gt;
|-&lt;br /&gt;
| '''The Crack Den''' || 322.1117 || 1119.3270 || 1083.8830&lt;br /&gt;
|-&lt;br /&gt;
| '''Police Station (Barbara's)''' || 322.72 || 306.43 || 999.15&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 1''' || 448.7435 || -110.0457 || 1000.0772&lt;br /&gt;
|-&lt;br /&gt;
| '''Ganton Gym''' || 768.0793 || 5.8606 || 1000.7160&lt;br /&gt;
|-&lt;br /&gt;
| '''Vank Hoff Hotel ''' || 2232.8210 || -1110.0180 || 1050.8830&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 6&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 3''' || 297.4460 || -109.9680 || 1001.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 4''' || 317.2380 || -168.0520 || 999.5930&lt;br /&gt;
|-&lt;br /&gt;
| '''LSPD HQ ''' || 246.4510 || 65.5860 ||1003.6410&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 3''' || 2333.0330 || -1073.9600 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 5''' || 2194.2910 || -1204.0150 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 6''' || 2308.8710 || -1210.7170 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Cobra Marital Arts Gym''' || 774.0870 ||-47.9830 || 1000.5860&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 2''' || -26.7180 || -55.9860 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Millie's Bedroom''' || 344.5200 || 304.8210 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Fanny Batter's Brothel''' || 744.2710 || 1437.2530 || 1102.7030&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 2''' || 443.9810 || -65.2190 || 1050.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || 234.319 || 1066.455 || 1084.208&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || -69.049 || 1354.056 || 1080.211&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Shop''' || -2241.0700 || 128.5200 || 1035.4195&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 7&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 5 (2 Floors)''' || 315.3850 || -142.2420 || 999.6010&lt;br /&gt;
|-&lt;br /&gt;
| '''8-Track Stadium''' || -1417.8720 || -276.4260 || 1051.1910&lt;br /&gt;
|-&lt;br /&gt;
| '''Below the Belt Gym''' || 774.2430 || -76.0090 || 1000.6540&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 8&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 2''' || 2365.2383 || -1134.2969 || 1050.875&lt;br /&gt;
|-&lt;br /&gt;
| '''Colonel Fuhrberger's House''' || 2807.8990 || -1172.9210 || 1025.5700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 22''' || -42.490 || 1407.644 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 9&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Unknown safe house''' || 2253.1740 || -1139.0100 || 1050.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''Andromada Cargo hold''' || 315.48 || 984.13 || 1959.11&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 12''' || 85.32596 || 1323.585 || 1083.859&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || 260.3189 || 1239.663 || 1084.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Cluckin' Bell''' || 365.67 || -11.61 || 1002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 10&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Four Dragons Casino''' || 2009.4140 || 1017.8990 || 994.4680&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Battlefield''' || -975.5766 || 1061.1312 || 1345.6719&lt;br /&gt;
|-&lt;br /&gt;
| '''Burger Shot''' || 366.4220 || -73.4700 || 1001.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 14''' || 21.241 || 1342.153 || 1084.375 &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room(Four Dragons Maintenance)''' || 1891.3960 ||1018.1260 || 31.8820&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 1''' || 2262.83 || -1137.71 || 1050.63&lt;br /&gt;
|-&lt;br /&gt;
| '''Hashbury safe house''' || 2264.5231 || -1210.5229 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 3''' || 6.0780 || -28.6330 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Abandoned AC Tower''' || 419.6140 || 2536.6030 || 10.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''SFPD HQ''' || 246.4410 || 112.1640 || 1003.2190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 11&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''The Four Dragons Office''' || 2011.6030 || 1017.0230 || 39.0910&lt;br /&gt;
|-&lt;br /&gt;
| '''Los Santos safe house''' || 2282.9766 || -1140.2861 || 1050.8984&lt;br /&gt;
|-&lt;br /&gt;
| '''Ten Green Bottles Bar''' || 502.3310 || -70.6820 || 998.7570&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 12&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room''' || 444.6469 || 508.2390 || 1001.4194&lt;br /&gt;
|-&lt;br /&gt;
| '''The Casino''' || 1132.9450 || -8.6750 || 1000.6800&lt;br /&gt;
|-&lt;br /&gt;
| '''Macisla's Barbershop''' || 411.6410 || -51.8460 || 1001.8980&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 7''' || 2324.3848 || -1148.4805 || 1050.7101&lt;br /&gt;
|-&lt;br /&gt;
| '''Modern safe house''' || 2324.4990 || -1147.0710 || 1050.7100&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 13&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
|'''LS Atrium''' || 1724.33 || -1625.784 || 20.211&lt;br /&gt;
|-&lt;br /&gt;
|'''CJ's Garage''' || -2043.966 || 172.932 || 28.835&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 14&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Kickstart Stadium''' || -1464.5360 || 1557.6900 || 1052.5310&lt;br /&gt;
|-&lt;br /&gt;
| '''Didier Sachs''' || 204.1789 || -165.8740 || 1000.5230&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Front ext.)''' || -1827.1473 || 7.2074 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Baggage Claim/Ticket Sales)''' || -1855.5687 || 41.2631 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Wardrobe''' || 255.7190 || -41.1370 || 1002.0230&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 15&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Binco''' || 207.5430 || -109.0040 || 1005.1330&lt;br /&gt;
|-&lt;br /&gt;
| '''Blood Bowl Stadium''' || -1394.20 || 987.62 || 1023.96&lt;br /&gt;
|-&lt;br /&gt;
| '''Jefferson Motel''' || 2217.6250 || -1150.6580 || 1025.7970&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || -285.711 || 1470.697 || 1084.375&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 18''' || 327.808 || 1479.74 || 1084.438&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 19''' || 375.572 || 1417.439 || 1081.328&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 20''' || 384.644 || 1471.479 || 1080.195&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 21''' || 295.467 || 1474.697 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 16&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 4''' || -25.3730 || -139.6540 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''LS Tattoo Parlour''' || -204.5580 || -25.6970 || 1002.2730&lt;br /&gt;
|-&lt;br /&gt;
| '''Sumoring? stadium''' || -1400 || 1250 ||  1040 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 17&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 5''' || -25.3930 || -185.9110 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Club''' || 493.4687 || -23.0080 || 1000.6796&lt;br /&gt;
|-&lt;br /&gt;
| '''Rusty Brown's - Ring Donuts''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''The Sherman's Dam Generator Hall''' || -942.1320 || 1849.1420 || 5.0050&lt;br /&gt;
|-&lt;br /&gt;
| '''Hemlock Tattoo''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 18&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Lil Probe Inn''' || -227.0280 || 1401.2290 || 27.7690&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 6''' || -30.9460 || -89.6090 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Atrium''' || 1726.1370 || -1645.2300 || 20.2260&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 2''' || 1296.6310 || 0.5920 || 1001.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Zip''' || 161.4620 || -91.3940 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Interior Functions==&lt;br /&gt;
*[[getElementInterior]]&lt;br /&gt;
*[[setElementInterior]]&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[hu:Interior IDs]]&lt;br /&gt;
[[de:Interior IDs]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81924</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=81924"/>
		<updated>2025-04-11T16:04:23Z</updated>

		<summary type="html">&lt;p&gt;Azure: Corrected Z coordinate for Angel Pine Trailer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;San Andreas Interior ID list.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%; text-align:center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 0&lt;br /&gt;
|-&lt;br /&gt;
| '''Normal world''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 1''' || 224.6351 || 1289.012 || 1082.141 &lt;br /&gt;
|-&lt;br /&gt;
| '''The Wellcome Pump (Catalina?)''' || 681.65 || -452.86 || -25.62&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 1''' || 446.6941 || -9.7977 || 1000.7340&lt;br /&gt;
|-&lt;br /&gt;
| '''Caligulas Casino''' || 2235.2524 || 1708.5146 || 1010.6129&lt;br /&gt;
|-&lt;br /&gt;
| '''Denise's Place''' || 244.0892 || 304.8456 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Shamal cabin''' || 1.6127 || 34.7411 || 1199.0&lt;br /&gt;
|-&lt;br /&gt;
| '''Liberty City''' || -750.80 || 491.00 || 1371.70&lt;br /&gt;
|-&lt;br /&gt;
| '''Sweet's House''' || 2525.0420 || -1679.1150 || 1015.4990&lt;br /&gt;
|-&lt;br /&gt;
| '''Transfender''' || 621.7850 || -12.5417 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 4''' || 2216.5400 || -1076.2900 || 1050.4840&lt;br /&gt;
|-&lt;br /&gt;
| '''Trials(Hyman Memorial?) Stadium''' || -1401.13 || 106.110 || 1032.273&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 1''' || 1405.3120 || -8.2928 || 1000.9130&lt;br /&gt;
|-&lt;br /&gt;
| '''Doherty Garage''' || -2042.42 || 178.59 || 28.84    &lt;br /&gt;
|-&lt;br /&gt;
| '''Sindacco Abatoir''' || 963.6078 || 2108.3970 || 1011.0300&lt;br /&gt;
|-&lt;br /&gt;
| '''Sub Urban''' || 203.8173 || -46.5385 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Wu Zi Mu's Betting place''' || -2159.9260 || 641.4587 || 1052.3820&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ryder's House''' || 2464.2110 || -1697.9520 || 1013.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Angel Pine Trailer''' || 0.3440 || -0.5140 || 999.4284&lt;br /&gt;
|-&lt;br /&gt;
| '''The Pig Pen''' || 1213.4330 ||-6.6830 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Crack Palace''' || 1523.7510 || -46.0458 || 1002.1310&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Smoke's Crack Palace''' || 2543.6610 || -1303.9320 || 1025.0700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 2''' || 225.756 || 1240.000 || 1082.149&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 3''' || 447.470 || 1398.348 || 1084.305&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 4''' || 491.740 || 1400.541 || 1080.265&lt;br /&gt;
|-&lt;br /&gt;
| '''Katie's Place''' || 267.2290 || 304.7100 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Loco Low Co.''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
| '''Reece's Barbershop''' || 411.6259 || -21.4332 || 1001.8046&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Jizzy's Pleasure Domes''' || -2636.7190 || 1402.9170 || 906.4609&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel''' || 940.6520 || -18.4860 || 1000.9300&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel 2''' || 967.5334 || -53.0245 || 1001.1250&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Apartment''' || 1527.38 || -11.02 || 1002.10 &lt;br /&gt;
|-&lt;br /&gt;
| '''Bike School''' || 1494.3350 || 1305.6510 || 1093.2890&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Spread Ranch''' || 1210.2570 || -29.2986 || 1000.8790&lt;br /&gt;
|-&lt;br /&gt;
| '''LV Tattoo Parlour''' || -204.4390 || -43.6520 || 1002.2990&lt;br /&gt;
|-&lt;br /&gt;
| '''LVPD HQ''' || 289.7703 || 171.7460 || 1007.1790&lt;br /&gt;
|-&lt;br /&gt;
| '''OG Loc's House''' || 516.8890 || -18.4120 || 1001.5650&lt;br /&gt;
|-&lt;br /&gt;
| '''Pro-Laps''' || 207.3560 || -138.0029 || 1003.3130&lt;br /&gt;
|-&lt;br /&gt;
| '''Las Venturas Planning Dep.''' || 374.6708 || 173.8050 || 1008.3893&lt;br /&gt;
|-&lt;br /&gt;
| '''Record Label Hallway''' || 1038.2190 || 6.9905 || 1001.2840&lt;br /&gt;
|-&lt;br /&gt;
| '''Driving School''' || -2027.9200 || -105.1830 || 1035.1720&lt;br /&gt;
|-&lt;br /&gt;
| '''Johnson House''' || 2496.0500 || -1693.9260 || 1014.7420&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 5''' || 234.733 || 1190.391 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Gay Gordo's Barbershop''' || 418.6530 || -82.6390 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Helena's Place''' || 292.4459 || 308.7790 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Inside Track Betting''' || 826.8863 || 5.5091 || 1004.4830&lt;br /&gt;
|-&lt;br /&gt;
| '''Sex Shop''' || -106.7268 || -19.6444 || 1000.7190&lt;br /&gt;
|-&lt;br /&gt;
| '''Wheel Arch Angels''' || 614.3889 || -124.0991 || 997.9950&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 1''' || -27.3769 || -27.6416 || 1003.5570&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 2''' || 285.8000 || -84.5470 || 1001.5390&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || -262.91 || 1454.966 || 1084.367&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || 221.4296 || 1142.423 || 1082.609&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || 261.1168 || 1286.519 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || 460.0 || -88.43 || 999.62 &lt;br /&gt;
|-&lt;br /&gt;
| '''Dirtbike Stadium''' || -1435.8690 || -662.2505 || 1052.4650&lt;br /&gt;
|-&lt;br /&gt;
| '''Michelle's Place''' || 302.6404 || 304.8048 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Madd Dogg's Mansion''' || 1262.1451416016 || -785.32977294922 || 1091.90625&lt;br /&gt;
|-&lt;br /&gt;
| '''Well Stacked Pizza Co.''' || 377.7758 || -126.2766 || 1001.4920&lt;br /&gt;
|-&lt;br /&gt;
| '''Victim''' || 221.3310 || -6.6169 || 1005.1977&lt;br /&gt;
|-&lt;br /&gt;
| '''Burning Desire House''' || 2351.1540 || -1180.5770 || 1027.9770&lt;br /&gt;
|-&lt;br /&gt;
| '''Barbara's Place''' || 322.1979 || 302.4979 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || 22.79996 || 1404.642 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || 228.9003 || 1114.477 || 1080.992&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 11''' || 140.5631 || 1369.051 || 1083.864&lt;br /&gt;
|-&lt;br /&gt;
| '''The Crack Den''' || 322.1117 || 1119.3270 || 1083.8830&lt;br /&gt;
|-&lt;br /&gt;
| '''Police Station (Barbara's)''' || 322.72 || 306.43 || 999.15&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 1''' || 448.7435 || -110.0457 || 1000.0772&lt;br /&gt;
|-&lt;br /&gt;
| '''Ganton Gym''' || 768.0793 || 5.8606 || 1000.7160&lt;br /&gt;
|-&lt;br /&gt;
| '''Vank Hoff Hotel ''' || 2232.8210 || -1110.0180 || 1050.8830&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 6&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 3''' || 297.4460 || -109.9680 || 1001.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 4''' || 317.2380 || -168.0520 || 999.5930&lt;br /&gt;
|-&lt;br /&gt;
| '''LSPD HQ ''' || 246.4510 || 65.5860 ||1003.6410&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 3''' || 2333.0330 || -1073.9600 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 5''' || 2194.2910 || -1204.0150 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 6''' || 2308.8710 || -1210.7170 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Cobra Marital Arts Gym''' || 774.0870 ||-47.9830 || 1000.5860&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 2''' || -26.7180 || -55.9860 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Millie's Bedroom''' || 344.5200 || 304.8210 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Fanny Batter's Brothel''' || 744.2710 || 1437.2530 || 1102.7030&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 2''' || 443.9810 || -65.2190 || 1050.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || 234.319 || 1066.455 || 1084.208&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || -69.049 || 1354.056 || 1080.211&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 7&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 5 (2 Floors)''' || 315.3850 || -142.2420 || 999.6010&lt;br /&gt;
|-&lt;br /&gt;
| '''8-Track Stadium''' || -1417.8720 || -276.4260 || 1051.1910&lt;br /&gt;
|-&lt;br /&gt;
| '''Below the Belt Gym''' || 774.2430 || -76.0090 || 1000.6540&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 8&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 2''' || 2365.2383 || -1134.2969 || 1050.875&lt;br /&gt;
|-&lt;br /&gt;
| '''Colonel Fuhrberger's House''' || 2807.8990 || -1172.9210 || 1025.5700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 22''' || -42.490 || 1407.644 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 9&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Unknown safe house''' || 2253.1740 || -1139.0100 || 1050.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''Andromada Cargo hold''' || 315.48 || 984.13 || 1959.11&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 12''' || 85.32596 || 1323.585 || 1083.859&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || 260.3189 || 1239.663 || 1084.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Cluckin' Bell''' || 365.67 || -11.61 || 1002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 10&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Four Dragons Casino''' || 2009.4140 || 1017.8990 || 994.4680&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Battlefield''' || -975.5766 || 1061.1312 || 1345.6719&lt;br /&gt;
|-&lt;br /&gt;
| '''Burger Shot''' || 366.4220 || -73.4700 || 1001.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 14''' || 21.241 || 1342.153 || 1084.375 &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room(Four Dragons Maintenance)''' || 1891.3960 ||1018.1260 || 31.8820&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 1''' || 2262.83 || -1137.71 || 1050.63&lt;br /&gt;
|-&lt;br /&gt;
| '''Hashbury safe house''' || 2264.5231 || -1210.5229 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 3''' || 6.0780 || -28.6330 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Abandoned AC Tower''' || 419.6140 || 2536.6030 || 10.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''SFPD HQ''' || 246.4410 || 112.1640 || 1003.2190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 11&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''The Four Dragons Office''' || 2011.6030 || 1017.0230 || 39.0910&lt;br /&gt;
|-&lt;br /&gt;
| '''Los Santos safe house''' || 2282.9766 || -1140.2861 || 1050.8984&lt;br /&gt;
|-&lt;br /&gt;
| '''Ten Green Bottles Bar''' || 502.3310 || -70.6820 || 998.7570&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 12&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room''' || 444.6469 || 508.2390 || 1001.4194&lt;br /&gt;
|-&lt;br /&gt;
| '''The Casino''' || 1132.9450 || -8.6750 || 1000.6800&lt;br /&gt;
|-&lt;br /&gt;
| '''Macisla's Barbershop''' || 411.6410 || -51.8460 || 1001.8980&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 7''' || 2324.3848 || -1148.4805 || 1050.7101&lt;br /&gt;
|-&lt;br /&gt;
| '''Modern safe house''' || 2324.4990 || -1147.0710 || 1050.7100&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 13&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
|'''LS Atrium''' || 1724.33 || -1625.784 || 20.211&lt;br /&gt;
|-&lt;br /&gt;
|'''CJ's Garage''' || -2043.966 || 172.932 || 28.835&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 14&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Kickstart Stadium''' || -1464.5360 || 1557.6900 || 1052.5310&lt;br /&gt;
|-&lt;br /&gt;
| '''Didier Sachs''' || 204.1789 || -165.8740 || 1000.5230&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Front ext.)''' || -1827.1473 || 7.2074 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Baggage Claim/Ticket Sales)''' || -1855.5687 || 41.2631 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Wardrobe''' || 255.7190 || -41.1370 || 1002.0230&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 15&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Binco''' || 207.5430 || -109.0040 || 1005.1330&lt;br /&gt;
|-&lt;br /&gt;
| '''Blood Bowl Stadium''' || -1394.20 || 987.62 || 1023.96&lt;br /&gt;
|-&lt;br /&gt;
| '''Jefferson Motel''' || 2217.6250 || -1150.6580 || 1025.7970&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || -285.711 || 1470.697 || 1084.375&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 18''' || 327.808 || 1479.74 || 1084.438&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 19''' || 375.572 || 1417.439 || 1081.328&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 20''' || 384.644 || 1471.479 || 1080.195&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 21''' || 295.467 || 1474.697 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 16&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 4''' || -25.3730 || -139.6540 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''LS Tattoo Parlour''' || -204.5580 || -25.6970 || 1002.2730&lt;br /&gt;
|-&lt;br /&gt;
| '''Sumoring? stadium''' || -1400 || 1250 ||  1040 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 17&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 5''' || -25.3930 || -185.9110 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Club''' || 493.4687 || -23.0080 || 1000.6796&lt;br /&gt;
|-&lt;br /&gt;
| '''Rusty Brown's - Ring Donuts''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''The Sherman's Dam Generator Hall''' || -942.1320 || 1849.1420 || 5.0050&lt;br /&gt;
|-&lt;br /&gt;
| '''Hemlock Tattoo''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 18&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Lil Probe Inn''' || -227.0280 || 1401.2290 || 27.7690&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 6''' || -30.9460 || -89.6090 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Atrium''' || 1726.1370 || -1645.2300 || 20.2260&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 2''' || 1296.6310 || 0.5920 || 1001.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Zip''' || 161.4620 || -91.3940 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Interior Functions==&lt;br /&gt;
*[[getElementInterior]]&lt;br /&gt;
*[[setElementInterior]]&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[hu:Interior IDs]]&lt;br /&gt;
[[de:Interior IDs]]&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81889</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81889"/>
		<updated>2025-03-31T07:35:05Z</updated>

		<summary type="html">&lt;p&gt;Azure: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all streamed-in objects to 3000 units.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- Can cause massive lag by maxing out draw distance of all objects&lt;br /&gt;
&lt;br /&gt;
function setStreamedInObjectsLOD() -- Function to set LOD for currently streamed-in objects&lt;br /&gt;
&lt;br /&gt;
    local objects = getElementsByType ( &amp;quot;object&amp;quot; ) -- Get objects when function is called&lt;br /&gt;
&lt;br /&gt;
    for theKey,theObject in ipairs(objects) do -- Use a generic &amp;quot;for&amp;quot; loop to iterate through each object&lt;br /&gt;
    &lt;br /&gt;
        local modelID = getElementModel(theObject) -- Get the model ID of the object element&lt;br /&gt;
        local lodLevel = 3000 -- Set the desired LOD distance (in this case, 3000)&lt;br /&gt;
&lt;br /&gt;
        local previousLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The previous LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. previousLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
        engineSetModelLODDistance ( modelID, lodLevel, true ) -- Set the LOD distance of the object model to 3000 and enable the extended LOD parameter&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; has been set to &amp;quot; .. lodLevel .. &amp;quot;.&amp;quot; ) -- Debug message that shows to which model ID the changes were applied&lt;br /&gt;
        -- Optional: You can also check the LOD distance of the object model to verify if it was applied correctly&lt;br /&gt;
&lt;br /&gt;
        local newLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The new LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. newLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Add the command that calls the function setStreamedInObjectsLOD()&lt;br /&gt;
addCommandHandler(&amp;quot;setStreamedInObjectsLOD&amp;quot;, setStreamedInObjectsLOD) -- Bind the function to a command for testing purposes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81888</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81888"/>
		<updated>2025-03-31T07:34:45Z</updated>

		<summary type="html">&lt;p&gt;Azure: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all streamed-in objects to 3000 units.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- Can cause massive lag by maxing out draw distance of all objects&lt;br /&gt;
&lt;br /&gt;
function setStreamedInObjectsLOD() -- Function to set LOD for currently streamed-in objects&lt;br /&gt;
&lt;br /&gt;
    local objects = getElementsByType ( &amp;quot;object&amp;quot; ) -- Get objects when function is called&lt;br /&gt;
&lt;br /&gt;
    for theKey,theObject in ipairs(objects) do -- Use a generic &amp;quot;for&amp;quot; loop to iterate through each object&lt;br /&gt;
    &lt;br /&gt;
        local modelID = getElementModel(theObject) -- Get the model ID of the object element&lt;br /&gt;
        local lodLevel = 3000 -- Set the desired LOD distance (in this case, 3000)&lt;br /&gt;
&lt;br /&gt;
        local previousLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The previous LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. previousLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
        engineSetModelLODDistance ( modelID, lodLevel, true ) -- Set the LOD distance of the object model to 3000 and enable the extended LOD parameter&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; has been set to &amp;quot; .. lodLevel .. &amp;quot;.&amp;quot; ) -- Debug message that shows to which model ID the changes were applied.&lt;br /&gt;
        -- Optional: You can also check the LOD distance of the object model to verify if it was applied correctly&lt;br /&gt;
&lt;br /&gt;
        local newLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The new LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. newLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Add the command that calls the function setStreamedInObjectsLOD()&lt;br /&gt;
addCommandHandler(&amp;quot;setStreamedInObjectsLOD&amp;quot;, setStreamedInObjectsLOD) -- Bind the function to a command for testing purposes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81887</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81887"/>
		<updated>2025-03-31T07:32:13Z</updated>

		<summary type="html">&lt;p&gt;Azure: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all streamed-in objects to 3000 units.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- Can cause massive lag by maxing out draw distance of all objects&lt;br /&gt;
&lt;br /&gt;
function setStreamedInObjectsLOD() -- Function to set LOD for currently streamed-in objects&lt;br /&gt;
&lt;br /&gt;
    local objects = getElementsByType ( &amp;quot;object&amp;quot; ) -- Get objects when function is called&lt;br /&gt;
&lt;br /&gt;
    for theKey,theObject in ipairs(objects) do -- Use a generic &amp;quot;for&amp;quot; loop to iterate through each object&lt;br /&gt;
    &lt;br /&gt;
        local modelID = getElementModel(theObject) -- Get the model ID of the object element&lt;br /&gt;
        local lodLevel = 3000 -- Set the desired LOD distance (in this case, 3000)&lt;br /&gt;
&lt;br /&gt;
        local previousLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The previous LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. previousLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
        engineSetModelLODDistance ( modelID, lodLevel, true ) -- Set the LOD distance of the object model to 3000 and enable the extended LOD parameter&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; has been set to &amp;quot; .. lodLevel .. &amp;quot;.&amp;quot; ) -- Debug message that shows to what model IDs the changes were applied&lt;br /&gt;
&lt;br /&gt;
        -- Optional: You can also check the LOD distance of the object model to verify if it was applied correctly&lt;br /&gt;
&lt;br /&gt;
        local newLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The new LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. newLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Add the command that calls the function setStreamedInObjectsLOD()&lt;br /&gt;
addCommandHandler(&amp;quot;setStreamedInObjectsLOD&amp;quot;, setStreamedInObjectsLOD) -- Bind the function to a command for testing purposes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81886</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81886"/>
		<updated>2025-03-31T07:31:43Z</updated>

		<summary type="html">&lt;p&gt;Azure: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will set the LOD distance of all streamed-in objects to 3000 units.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- Can cause massive lag by maxing out draw distance of all objects&lt;br /&gt;
&lt;br /&gt;
function setStreamedInObjectsLOD() -- Function to set LOD for currently streamed-in objects&lt;br /&gt;
&lt;br /&gt;
    local objects = getElementsByType ( &amp;quot;object&amp;quot; ) -- Get objects when function is called&lt;br /&gt;
&lt;br /&gt;
    for theKey,theObject in ipairs(objects) do -- Use a generic &amp;quot;for&amp;quot; loop to iterate through each object&lt;br /&gt;
    &lt;br /&gt;
        local modelID = getElementModel(theObject) -- Get the model ID of the object element&lt;br /&gt;
        local lodLevel = 3000 -- Set the desired LOD distance (in this case, 3000)&lt;br /&gt;
&lt;br /&gt;
        local previousLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The previous LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. previousLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
        engineSetModelLODDistance ( modelID, lodLevel, true ) -- Set the LOD distance of the object model to 3000 and enable the extended LOD parameter&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; has been set to &amp;quot; .. lodLevel .. &amp;quot;.&amp;quot; ) -- Debug message that shows to what model IDs the changes were applied&lt;br /&gt;
&lt;br /&gt;
        -- Optional: You can also check the LOD distance of the object model to verify if it was applied correctly&lt;br /&gt;
&lt;br /&gt;
        local newLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The new LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. newLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Add the command that calls the function setStreamedInObjectsLOD()&lt;br /&gt;
addCommandHandler(&amp;quot;setStreamedInObjectsLOD&amp;quot;, setStreamedInObjectsLOD) -- Bind the function to a command for testing purposes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81885</id>
		<title>EngineSetModelLODDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelLODDistance&amp;diff=81885"/>
		<updated>2025-03-31T07:29:30Z</updated>

		<summary type="html">&lt;p&gt;Azure: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function sets a custom LOD distance for any object / model ID. This is the distance at which objects of that model ID are switched to their LOD model, or (if there is no LOD model) become invisible.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The actual draw distance used is modified by the draw distance slider in the settings 'Video' tab of the MTA client.&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 0%, the engineSetModelLODDistance setting approximately matches the draw distance used.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''100''' units.''&lt;br /&gt;
&lt;br /&gt;
*When the 'Video' tab draw distance slider is 100%, the engineSetModelLODDistance setting is approximately doubled before use.&lt;br /&gt;
:''e.g. engineSetModelLODDistance(1337,100) will mean model 1337 will be visible up to a distance of '''200''' units.''&lt;br /&gt;
&lt;br /&gt;
However, there is a general draw distance limit of 325 units. So engineSetModelLODDistance(1337,400) will mean model 1337 will be visible up to a distance of 325 units no matter what the 'Video' tab says.&lt;br /&gt;
&lt;br /&gt;
Therefore, unless it's really important, engineSetModelLODDistance should not be set to anything greater than 170.&amp;lt;br&amp;gt;&lt;br /&gt;
170 will still give the maximum draw distance (of 325 units) on clients that have a 'Video' tab draw distance setting of 100%, and it will help reduce lag for players who chose a lower draw distance in their settings.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[object]]s''':&lt;br /&gt;
*The limit is 325 units, but the actual draw distance used is 5 times the setting value. Also, they ignore the 'Video' tab draw distance slider. So a setting of 200 will mean a low LOD element will always have a draw distance of '''1000''' units.&lt;br /&gt;
&lt;br /&gt;
'''Note for low LOD [[building]]s''':&lt;br /&gt;
*The distance must be set greater than 300 for a low LOD building in order to work correctly. Otherwise, the low LOD will always be visible. The actual draw distance is NOT 5 times the setting value.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineSetModelLODDistance ( int model, float distance [, bool extendedLod = false ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||Engine.setModelLODDistance}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''model:''' The model / object ID number you want to change the LOD distance of.&lt;br /&gt;
*'''distance:''' New LOD distance value in San Andreas units.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22676|&lt;br /&gt;
*'''extendedLod:''' Allows to set a greater distance than the current 325 units.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the function executed succesfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Client-side&lt;br /&gt;
-- Can cause massive lag by maxing out draw distance of all objects&lt;br /&gt;
&lt;br /&gt;
function setStreamedInObjectsLOD() -- Function to set LOD for currently streamed-in objects&lt;br /&gt;
&lt;br /&gt;
    local objects = getElementsByType ( &amp;quot;object&amp;quot; ) -- Get objects when function is called&lt;br /&gt;
&lt;br /&gt;
    for theKey,theObject in ipairs(objects) do -- Use a generic &amp;quot;for&amp;quot; loop to iterate through each object&lt;br /&gt;
    &lt;br /&gt;
        local modelID = getElementModel(theObject) -- Get the model ID of the object element&lt;br /&gt;
        local lodLevel = 3000 -- Set the desired LOD distance (in this case, 3000)&lt;br /&gt;
&lt;br /&gt;
        local previousLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The previous LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. previousLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
        engineSetModelLODDistance ( modelID, lodLevel, true ) -- Set the LOD distance of the object model to 3000 and enable the extended LOD parameter&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; has been set to &amp;quot; .. lodLevel .. &amp;quot;.&amp;quot; ) -- Debug message that shows to what model IDs the changes were applied&lt;br /&gt;
&lt;br /&gt;
        -- Optional: You can also check the LOD distance of the object model to verify if it was applied correctly&lt;br /&gt;
&lt;br /&gt;
        local newLODDistance = engineGetModelLODDistance( modelID ) -- Get the LOD distance of the object model&lt;br /&gt;
        -- outputChatBox ( &amp;quot;The new LOD distance of the #&amp;quot; .. theKey .. &amp;quot; object model with ID &amp;quot; .. modelID .. &amp;quot; is &amp;quot; .. newLODDistance .. &amp;quot;.&amp;quot; ) -- Debug message that shows the current LOD distance of the object model&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Add the command that calls the function setStreamedInObjectsLOD()&lt;br /&gt;
addCommandHandler(&amp;quot;setStreamedInObjectsLOD&amp;quot;, setStreamedInObjectsLOD) -- Bind the function to a command for testing purposes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will, besides replacing with custom map objects, also set the LOD distance accordingly, a necessary step (otherwise the object could seem to fail loading and only show up 1 feet away)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function replaceObjects()&lt;br /&gt;
&lt;br /&gt;
	local col1 = engineLoadCOL(&amp;quot;map1.col&amp;quot;)&lt;br /&gt;
	local col2 = engineLoadCOL(&amp;quot;map2.col&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local txd = engineLoadTXD(&amp;quot;map.txd&amp;quot;)&lt;br /&gt;
	engineImportTXD(txd, 2357)&lt;br /&gt;
	engineImportTXD(txd, 2290)&lt;br /&gt;
&lt;br /&gt;
	local dff1 = engineLoadDFF(&amp;quot;map1.dff&amp;quot;)&lt;br /&gt;
	local dff2 = engineLoadDFF(&amp;quot;map2.dff&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	engineReplaceCOL(col1, 2357)&lt;br /&gt;
	engineReplaceCOL(col2, 2290)&lt;br /&gt;
	engineReplaceModel(dff1, 2357)&lt;br /&gt;
	engineReplaceModel(dff2, 2290)&lt;br /&gt;
&lt;br /&gt;
	engineSetModelLODDistance(2357, 325)&lt;br /&gt;
	engineSetModelLODDistance(2290, 325)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use LOD's with buildings&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createMyPyramid()&lt;br /&gt;
    local pos = Vector3(0, 0, 3)&lt;br /&gt;
    local rot = Vector3(0, 0, 0)&lt;br /&gt;
    &lt;br /&gt;
    local modelHi = 8395  -- This model has a lot of polygons&lt;br /&gt;
    local modelLow = 8701 -- This model is optimized for drawing at a long distance&lt;br /&gt;
&lt;br /&gt;
    -- Always call this function if you don't like default draw distance&lt;br /&gt;
    -- or you allocated the model with using engineRequestModel&lt;br /&gt;
    engineSetModelLODDistance(modelHi, 100, true)&lt;br /&gt;
    engineSetModelLODDistance(modelLow, 500, true)&lt;br /&gt;
&lt;br /&gt;
    local lod = createBuilding(modelLow, pos, rot)&lt;br /&gt;
    local building = createBuilding(modelHi, pos, rot)&lt;br /&gt;
&lt;br /&gt;
    setLowLODElement(building,lod)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22676|Added extendedLod argument}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[getVehiclesLODDistance]]&lt;br /&gt;
* [[resetVehiclesLODDistance]]&lt;br /&gt;
* [[setVehiclesLODDistance]]&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>Azure</name></author>
	</entry>
</feed>