[LSR] Interiors.xml

===
:::info
:information_source: **Confused?** Check out the `#help` section in the discord!
[](https://discord.gg/ByMWbt9Q5e)
:::
:::warning
:dog: Check out my mod list custom made for LSR!
[](https://hackmd.io/@vices/ilsr)
:::
# Example Code:
*Courtesy of Peter Badoingy.*
Please remember to pay attention to the structure and formatting of XML items. I recommend going over the [XML's syntax](https://www.w3schools.com/xml/xml_syntax.asp) before asking for help in the discord.
``` xml
<ResidenceInterior>
<LocalID>274689</LocalID>
<InternalInteriorCoordinates>
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</InternalInteriorCoordinates>
<Name>Casino Penthouse</Name>
<IsTeleportEntry>true</IsTeleportEntry>
<DisabledInteriorCoords>
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</DisabledInteriorCoords>
<Doors />
<RequestIPLs>
<string>vw_casino_penthouse</string>
</RequestIPLs>
<RemoveIPLs />
<InteriorSets>
<string>set_pent_tint_shell</string>
<string>set_pent_media_bar_open</string>
<string>set_pent_bar_spa_open</string>
<string>set_pent_pattern_02</string>
<string>set_pent_bar_light_01</string>
<string>set_pent_clutter_03</string>
<string>set_pent_clutter_01</string>
<string>set_pent_bar_clutter</string>
<string>set_pent_bar_party_2</string>
</InteriorSets>
<InteriorEgressPosition>
<X>980.9922</X>
<Y>56.6253</Y>
<Z>116.1642</Z>
</InteriorEgressPosition>
<InteriorEgressHeading>63.19334</InteriorEgressHeading>
<NeedsActivation>false</NeedsActivation>
<NeedsSetDisabled>false</NeedsSetDisabled>
<IsRestricted>false</IsRestricted>
<IsCivilianReactableRestricted>false</IsCivilianReactableRestricted>
<IsWeaponRestricted>false</IsWeaponRestricted>
<IsTunnel>false</IsTunnel>
<MaxUpdateDistance>50</MaxUpdateDistance>
<InteractPoints>
<InteriorInteract xsi:type="ExitInteriorInteract">
<Name>CasinoPenthouseExit1</Name>
<Position>
<X>980.4712</X>
<Y>56.65733</Y>
<Z>116.1642</Z>
</Position>
<Heading>245.4591</Heading>
<InteractDistance>1</InteractDistance>
<CameraPosition>
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</CameraPosition>
<CameraDirection>
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</CameraDirection>
<CameraRotation>
<Pitch>0</Pitch>
<Roll>0</Roll>
<Yaw>0</Yaw>
</CameraRotation>
<ButtonPromptText>Exit</ButtonPromptText>
<AutoCamera>true</AutoCamera>
<UseNavmesh>true</UseNavmesh>
<WithWarp>false</WithWarp>
<ForceIsntantCamera>false</ForceIsntantCamera>
<IsAutoInteract>false</IsAutoInteract>
</InteriorInteract>
</InteractPoints>
<ClearPositions />
<VendorLocations />
</ResidenceInterior>
```
:::warning
:warning: **Warning**
The root element `<ResidenceInterior>` must be assigned to a `<Residence>` location.
:::
# LocalID
This is a unique id that will connect your interior to your location.
# Internal Interior Coordinates
This is used to get the internal interior ID. This is unecessary unless you are messing around with local ids.
# Name
Create a name for this interior. It doesn't really matter.
# DisabledInteriorCoords
Disables the interior located at these coords.
# Doors
Modify existing doors.
PLACEHOLDER
# RequestIPLs
:::info
:information_source: **References:**
1. [IPLs & Interior Sets](https://raw.githubusercontent.com/DurtyFree/gta-v-data-dumps/refs/heads/master/ipls.json)
2. Item placement files, known by the extension .ipl, are map files used to place objects into the GTA world.
:::
:::success
:card_index: **Example:** Clucking Bell Farms
```xml!
<RequestIPLs>
<string>CS1_02_cf_onmission1</string>
<string>CS1_02_cf_onmission2</string>
<string>CS1_02_cf_onmission3</string>
<string>CS1_02_cf_onmission4</string>
</RequestIPLs>
```
This makes Clucking Bell Farms accessible to the player.
:::
# RemoveIPLs
:::info
:information_source: **References:**
1. [IPLs & Interior Sets](https://raw.githubusercontent.com/DurtyFree/gta-v-data-dumps/refs/heads/master/ipls.json)
2. Item placement files, known by the extension .ipl, are map files used to place objects into the GTA world.
:::
:::success
:card_index: **Example:** O'Neil Ranch
```xml!
<RemoveIPLs>
<string>farm_burnt</string>
<string>farm_burnt_lod</string>
<string>farm_burnt_props</string>
<string>farmint_cap</string>
<string>farmint_cap_lod</string>
<string>des_farmhouse</string>
<string>des_farmhs_endimap</string>
<string>des_farmhs_end_occl</string>
</RemoveIPLs>
```
Now, O'Neil Ranch is no longer set ablaze and is restored back to its normal state.
:::
# InteriorSets
:::info
:information_source: **References:**
1. [IPLs & Interior Sets](https://raw.githubusercontent.com/DurtyFree/gta-v-data-dumps/refs/heads/master/ipls.json)
2. [Codewalker](https://www.gta5-mods.com/tools/codewalker-gtav-interactive-3d-map)
:::
There could be a better way to do this, but here is how I accessed pre-existing interiors.
1. Using Codewalker, teleport to the interior's location.
2. Go to **Selection** and change your mouse select mode to **MLO instance**.
3. Right click the MLO instance *(blue box)*.
4. Open **Project Window**, there should now be a **YMAP** tab, click it then select **Add to Project**. You should now have a new entity in your project explorer.
5. Select the entity, and open its **MLO instance**, now it should display its entity sets.
6. Select whatever you want, and just translate it over to your interior.
:::danger
:warning: **Warning:**
If the entity sets are just numbers, don’t worry—that’s why you have your IPLs list. Search the list for your interior.
Find its interior sets; each of them will provide data on how many entities they contain. They should align with the ones in Codewalker.
:::
:::success
:card_index: **Example:** 7611 Goma St
```xml!
<InteriorSets>
<string>swap_clean_apt</string>
<string>layer_debra_pic</string>
<string>layer_whiskey</string>
<string>swap_sofa_A</string>
<string>swap_mrJam_A</string>
</InteriorSets>
```
:::
###
# InteriorEgressPosition
Location where the player will spawn in the interior
# InteriorEgressHeading
The direction they face when spawning in
# NeedsActivation
# NeedsSetDisabled
# IsRestricted
# IsCivilianReactableRestricted
# IsWeaponRestricted
# IsTunnel
# MaxUpdateDistance
# InteractPoints
- StandardInteriorInteract
- ExitInteriorInteract
- AnimationInteract
- ToiletInteract
- SinkInteract
- TheftInteract
- MoneyTheftInteract
- ItemTheftInteract
- SalonInteract
# ClearPositions
Positions where area will be cleared of peds
# VendorLocations
Positions where vendors will spawn
###### tags: `LSR` `Guide` `GTA5`