Interiors

Interior layouts, furniture, props, and security systems for different property types in the house robbery system.

Interior Structure

Each interior is defined by an ID and contains coordinates, furniture, props, and security systems:

[1] = {
    tier = 'easy',
    coords = { ... },
    furniture = { ... },
    props = { ... },
    lasers = { ... },
    securityObject = { ... }
}
tierrequiredstring
Difficulty level of the interior. Available options:
  • 'easy' - Low-security properties with minimal defenses
  • 'medium' - Moderate security with more valuable items
  • 'hard' - High-security properties with advanced systems
  • 'extreme' - Maximum security with premium rewards

Coordinate Configuration

The coords section defines spawn points and special locations within the interior:

coords = {
    owner = { 
        vec4(259.11, -995.70, -99.01, 175.04),
        vec4(261.16, -996.53, -98.57, 102.13),
        vec4(262.63, -1003.78, -98.27, 88.31)
    },
    
    pet = { 
        vec4(259.47, -1003.90, -99.01, 314.56),
        vec4(261.72, -994.87, -99.01, 187.34),
        vec4(254.33, -1001.13, -98.93, 280.99) 
    },
    
    door = vec4(266.16, -1007.57, -101.01, 11.03),
    safe = vec4(261.11, -999.59, -100.01, 350.69),
}
coords.ownerrequiredtable
Array of spawn points for property owners (NPCs). Each entry is a vec4(x, y, z, heading) coordinate. Recommended 2-3 spawn points for variety.
coords.petrequiredtable
Array of spawn points for guard pets. Each entry is a vec4(x, y, z, heading) coordinate. Should match or be fewer than owner spawn points.
coords.doorrequiredvec4
Main entry point coordinate as vec4(x, y, z, heading). This is where players break into the property.
coords.safevec4
Safe location coordinate as vec4(x, y, z, heading). Optional - only include if the interior has a safe to crack.

Furniture Configuration

Furniture represents searchable containers that players can interact with:

furniture = {
    { type = 'cabin', coords = vec4(266.24, -999.41, -98.88, 89.63) },
    { type = 'kitchen', coords = vec4(259.80, -1004.40, -99.09, 354.84) },
    { type = 'chest', coords = vec4(261.31, -1002.05, -99.29, 174.74) },
    { type = 'livingroom', coords = vec4(338.21, -998.12, -99.20, 109.37) },
}
furniture[].typerequiredstring
Type of furniture container. Available types:
  • 'cabin' - Cabinets and storage units (grouped as "Search Cabinets")
  • 'kitchen' - Kitchen appliances and counters (grouped as "Search Kitchen")
  • 'chest' - Storage chests and boxes (grouped as "Search Storage")
  • 'livingroom' - Living room furniture (grouped as "Search Living Room")
furniture[].coordsrequiredvec4
Position and rotation of the furniture as vec4(x, y, z, heading). Must be precisely placed to avoid clipping.

Props Configuration

Props are physical items that can be stolen from the property:

props = {
    {
        reward = 'peak_tv',
        model = 'prop_tv_03',
        coords = vec4(256.73, -995.44, -98.86, 0.00),
        label = 'Smart TV'
    },
    {
        reward = 'peak_toaster',
        model = 'prop_toaster_02',
        coords = vec4(266.66, -995.32, -99.03, 0.00),
        label = 'Toaster'
    }
}
props[].rewardrequiredstring
Item name that will be added to player's inventory when the prop is stolen. Must match a valid inventory item.
props[].modelrequiredstring
3D model hash or name used to spawn the prop in the world. Must be a valid GTA model.
props[].coordsrequiredvec4
Position and rotation of the prop as vec4(x, y, z, heading). Should be placed realistically within the interior.
props[].labelrequiredstring
Human-readable display name shown in the UI and interaction prompts.

Security Systems

Laser Configuration

Laser security grids that players must avoid or disable:

lasers = {
    {
        startPosition = vec3(266.10, -1001.57, -97.90),
        endPosition = vec3(264.12, -1001.57, -97.90)
    },
    {
        startPosition = vec3(266.10, -1001.57, -99.30),
        endPosition = vec3(264.12, -1001.57, -99.30)
    }
}
lasers[].startPositionrequiredvec3
Starting point of the laser beam as vec3(x, y, z). One end of the security laser.
lasers[].endPositionrequiredvec3
Ending point of the laser beam as vec3(x, y, z). Creates a straight laser line between start and end points.

Security Control Panel

Central security system that can be disabled:

securityObject = {
    model = 'm23_1_prop_m31_controlpanel_02a',
    coords = vec4(265.05, -1003.85, -98.84, 181.11)
}
securityObject.modelrequiredstring
3D model for the security control panel. Must be a valid GTA prop model.
securityObject.coordsrequiredvec4
Position and rotation of the control panel as vec4(x, y, z, heading). Should be accessible to players.

Complete Configuration Example

return {
    -- Low End Property

    interiors = {
        [1] = {
            tier = 'easy',

            coords = {
                owner = { 
                    vec4(259.11, -995.70, -99.01, 175.04),
                    vec4(261.16, -996.53, -98.57, 102.13),
                    vec4(262.63, -1003.78, -98.27, 88.31)
                },

                pet = { 
                    vec4(259.47, -1003.90, -99.01, 314.56),
                    vec4(261.72, -994.87, -99.01, 187.34),
                    vec4(254.33, -1001.13, -98.93, 280.99) 
                },

                door = vec4(266.16, -1007.57, -101.01, 11.03),
                safe = vec4(261.11, -999.59, -100.01, 350.69),
            },

            furniture = {
                { type = 'cabin', coords = vec4(266.24, -999.41, -98.88, 89.63) },
                { type = 'cabin', coords = vec4(264.10, -994.86, -97.25, 180.81) },
                { type = 'kitchen', coords = vec4(259.80, -1004.40, -99.09, 354.84) },
                { type = 'chest', coords = vec4(261.31, -1002.05, -99.29, 174.74) },
                { type = 'cabin', coords = vec4(255.70, -999.83, -98.63, 180.69) },
            },

            props = {
                {
                    reward = 'peak_tv',
                    model = 'prop_tv_03',
                    coords = vec4(256.73, -995.44, -98.86, 0.00),
                    label = 'Smart TV'
                },
                {
                    reward = 'peak_bong',
                    model = 'prop_bong_01',
                    coords = vec4(258.92, -996.42, -99.56, 0.00),
                    label = 'Bong'
                },
                {
                    reward = 'peak_toaster',
                    model = 'prop_toaster_02',
                    coords = vec4(266.66, -995.32, -99.03, 0.00),
                    label = 'Toaster'
                },
                {
                    reward = 'peak_console',
                    model = 'prop_console_01',
                    coords = vec4(263.29, -1001.86, -99.31, 355.0),
                    label = 'Console'
                },
                {
                    reward = 'peak_tv',
                    model = 'prop_tv_flat_03',
                    coords = vec4(262.68, -1001.85, -99.29, 0.0),
                    label = 'Smart TV'
                },
                {
                    reward = 'peak_radio',
                    model = 'prop_boombox_01',
                    coords = vec4(263.35, -994.69, -98.81, 19.99),
                    label = 'Radio'
                },
            },

            lasers = {
                {
                    startPosition = vec3(266.10, -1001.57, -97.90),
                    endPosition = vec3(264.12, -1001.57, -97.90)
                },
                {
                    startPosition = vec3(266.10, -1001.57, -99.30),
                    endPosition = vec3(264.12, -1001.57, -99.30)
                },
            },

            securityObject = {
                model = 'm23_1_prop_m31_controlpanel_02a',
                coords = vec4(265.05, -1003.85, -98.84, 181.11)
            },
        },

        -- Garage

        [2] = {
            tier = 'easy',

            coords = {
                owner = { 
                    vec4(171.09, -1001.23, -98.99, 114.57),
                    vec4(178.60, -1005.85, -98.99, 141.59),
                },

                pet = { 
                    vec4(178.80, -1002.56, -98.99, 10.34),
                    vec4(176.75, -1001.49, -98.99, 347.98),
                },

                door = vec4(172.90, -1008.38, -99.00, 354.61),
                safe = vec4(181.01, -1000.76, -99.99, 274.12),
            },

            furniture = {
                { type = 'cabin', coords = vec4(177.77, -1002.18, -100.01, 270.00) },
                { type = 'cabin', coords = vec4(168.57, -1005.61, -100.01, 90.0) },
                { type = 'cabin', coords = vec4(168.57, -1002.8, -100.01, 90.0) },
                { type = 'cabin', coords = vec4(177.42, -999.78, -98.99, 6.54) },
            },

            props = {
                {
                    reward = 'peak_laptop',
                    model = 'prop_laptop_01a',
                    coords = vec4(172.93, -999.42, -98.98, 0.0),
                    label = 'Laptop'
                },
            },

            lasers = {
                {
                    startPosition = vec3(266.10, -1001.57, -97.90),
                    endPosition = vec3(264.12, -1001.57, -97.90)
                },
                {
                    startPosition = vec3(266.10, -1001.57, -99.30),
                    endPosition = vec3(264.12, -1001.57, -99.30)
                },
            },

            securityObject = {
                model = 'm23_1_prop_m31_controlpanel_02a',
                coords = vec4(179.95, -1002.48, -98.99, 270.0)
            },
        },

        -- Medium End Property

        [3] = {
            tier = 'medium',

            coords = {
                owner = { 
                    vec4(342.93, -996.19, -98.74, 170.85),
                    vec4(341.51, -1003.16, -99.20, 246.50),
                    vec4(349.39, -996.09, -98.54, 279.92)
                },

                pet = { 
                    vec4(340.81, -997.57, -99.20, 95.19),
                    vec4(350.72, -994.73, -99.35, 318.36),
                    vec4(346.60, -1003.91, -99.20, 188.03) 
                },

                door = vec4(346.55, -1013.21, -99.20, 0.03),
                safe = vec4(349.82, -1007.64, -100.20, 270.73),
            },

            furniture = {
                { type = 'cabin', coords = vec4(345.66, -1001.74, -100.20, 0.00) },
                { type = 'cabin', coords = vec4(351.39, -999.21, -99.20, 178.89) },
                { type = 'cabin', coords = vec4(350.06, -992.89, -100.20, 0.00) },
                { type = 'cabin', coords = vec4(351.28, -992.90, -100.19, 0.00) },
                { type = 'cabin', coords = vec4(348.66, -994.86, -100.22, 0.00) },
                { type = 'cabin', coords = vec4(340.96, -1003.64, -99.20, 176.06) },
                { type = 'kitchen', coords = vec4(344.11, -1002.65, -99.20, 268.78) },
                { type = 'kitchen', coords = vec4(342.32, -1003.24, -99.20, 167.86) },
                { type = 'chest', coords = vec4(352.57, -998.79, -100.20, 87.99) },
                { type = 'livingroom', coords = vec4(338.21, -998.12, -99.20, 109.37) },
                { type = 'livingroom', coords = vec4(338.14, -995.08, -99.20, 69.93) },
            },

            props = {
                {
                    reward = 'peak_tv',
                    model = 'prop_tv_flat_01',
                    coords = vec4(337.28, -996.67, -99.03, 0.00),
                    label = 'SmartTV'
                },
                {
                    reward = 'peak_coffe_machine',
                    model = 'prop_coffee_mac_02',
                    coords = vec4(342.76, -1004.03, -98.98, 179.99),
                    label = 'Coffee Machine'
                },
                {
                    reward = 'peak_microwave',
                    model = 'prop_micro_01',
                    coords = vec4(344.85, -1002.05, -99.16, 274.99),
                    label = 'Microwave'
                },
                {
                    reward = 'peak_radio',
                    model = 'prop_tapeplayer_01',
                    coords = vec4(341.55, -1001.06, -99.05, 70.00),
                    label = 'Radio'
                },
                {
                    reward = 'peak_toaster',
                    model = 'prop_toaster_01',
                    coords = vec4(341.75, -1004.02, -99.10, 67.49),
                    label = 'Toaster'
                },
            },
            
            lasers = {
                {
                    startPosition = vec3(348.55, -1000.01, -98.94),
                    endPosition = vec3(345.77, -1002.73, -96.47)
                },
                {
                    startPosition = vec3(349.08, -1000.34, -96.15),
                    endPosition = vec3(353.07, -992.34, -99.22)
                },
                {
                    startPosition = vec3(345.98, -997.46, -95.99),
                    endPosition = vec3(341.97, -1000.34, -98.93)
                },
            },

            securityObject = {
                model = 'm23_1_prop_m31_controlpanel_02a',
                coords = vec4(348.43, -1010.35, -99.03, 268.80)
            },
        },


        -- High End Property

        [4] = {
            tier = 'hard',

            coords = {
                owner = { 
                    vec4(-1473.45, -533.08, 55.99, 296.93), 
                    vec4(-1472.08, -532.61, 51.46, 18.65), 
                    vec4(-1462.19, -532.07, 50.72, 228.56) 
                },

                pet = { 
                    vec4(-1475.01, -532.41, 55.54, 221.4), 
                    vec4(-1466.52, -537.02, 50.73, 318.51), 
                    vec4(-1466.89, -536.43, 50.73, 28.96) 
                },

                door = vec4(-1453.93, -517.64, 56.93, 124.79),
                safe = vec4(-1463.93, -535.40, 49.72, 220.28),
            },

            furniture = {
                { type = 'cabin', coords = vec4(-1458.21, -537.61, 55.34, 318.18) },
                { type = 'cabin', coords = vec4(-1469.42, -545.99, 54.82, 288.42) },
                { type = 'kitchen', coords = vec4(-1459.81, -533.76, 54.53, 333.51) },
                { type = 'chest', coords = vec4(-1471.76, -532.12, 54.53, 126.17) },
                { type = 'cabin', coords = vec4(-1469.74, -534.03, 50.72, 210.84) },
            },

            props = {
                {
                    reward = 'peak_bong',
                    model = 'prop_bong_01',
                    coords = vec4(-1471.12, -528.64, 54.95, 00.00),
                    label = 'Bong'
                },
                {
                    reward = 'peak_pcspeaker',
                    model = 'prop_mp3_dock',
                    coords = vec4(-1468.35, -545.37, 55.48, 00.00),
                    label = 'PC Speaker'
                },
                {
                    reward = 'peak_mixer',
                    model = 'v_res_tre_mixer',
                    coords = vec4(-1459.68, -532.81, 55.73, 00.00),
                    label = 'Mixer'
                },
                {
                    reward = 'peak_scales',
                    model = 'v_res_m_kscales',
                    coords = vec4(-30.10, -587.04, 88.72, 00.00),
                    label = 'Scales'
                },
            },
            
            lasers = {
                {
                    startPosition = vec3(-1460.60, -518.67, 57.84),
                    endPosition = vec3(-1454.66, -526.75, 59.423)
                },
                {
                    startPosition = vec3(-1469.92, -537.38, 59.29),
                    endPosition = vec3(-1466.92, -528.06, 55.88)
                },
                {
                    startPosition = vec3(-1457.97, -527.05, 53.61),
                    endPosition = vec3(-1468.31, -526.11, 50.91)
                },
            },

            securityObject = {
                model = 'm23_1_prop_m31_controlpanel_02a',
                coords = vec4(-1458.2734, -519.0128, 56.9290, 312.6317)
            },
        },

        -- Extreme End Property

        [5] = {
            tier = 'extreme',

            coords = {
                owner = { 
                    vec4(374.34, 407.12, 145.53, 336.72), 
                    vec4(374.54, 424.48, 142.1, 169.35), 
                    vec4(372.5, 405.74, 142.11, 216.12)
                },

                pet = { 
                    vec4(372.81, 407.23, 145.53, 59.63), 
                    vec4(371.56, 409.51, 142.1, 214.7), 
                    vec4(377.59, 422.42, 141.01, 270.96) 
                },
      
                door = vec4(373.63, 423.74, 145.91, 221.63),
                safe = vec4(376.03, 408.67, 141.12, 262.40),
            },

            furniture = {
                { type = 'cabin', coords = vec4(369.38, 408.3, 145.5, 73.22) },
                { type = 'cabin', coords = vec4(369.17, 407.92, 142.1, 117.82) },
                { type = 'kitchen', coords = vec4(377.79, 417.39, 145.9, 209.77) },
                { type = 'chest', coords = vec4(377.27, 407.49, 142.13, 240.72) },
                { type = 'cabin', coords = vec4(373.57, 425.73, 142.1, 20.03) },
            },

            props = {
                {
                    reward = 'peak_bong',
                    model = 'prop_bong_01',
                    coords = vec4(373.00, 406.14, 144.97, 00.00),
                    label = 'Bong'
                },
                {
                    reward = 'peak_pcspeaker',
                    model = 'prop_mp3_dock',
                    coords = vec4(368.78, 409.06, 145.52, 00.00),
                    label = 'PC Speaker'
                },
                {
                    reward = 'peak_mixer',
                    model = 'v_res_tre_mixer',
                    coords = vec4(380.47, 419.93, 146.07, 00.00),
                    label = 'Mixer'
                },
                {
                    reward = 'peak_scales',
                    model = 'v_res_m_kscales',
                    coords = vec4(377.82, 420.56, 145.86, 00.00),
                    label = 'Scales'
                },
                {
                    reward = 'peak_toaster',
                    model = 'prop_toaster_01',
                    coords = vec4(379.82, 420.22, 146.00, 00.00),
                    label = 'Toaster'
                },
            },
            
            lasers = {
                {
                    startPosition = vec3(370.14, 415.93, 145.24),
                    endPosition = vec3(372.65, 411.53, 141.99)
                },
                {
                    startPosition = vec3(372.62, 424.26, 146.02),
                    endPosition = vec3(374.36, 420.94, 148.54)
                },
            },

            securityObject = {
                model = 'm23_1_prop_m31_controlpanel_02a',
                coords = vec4(374.38, 421.67, 145.89, 257.93)
            },
        },
    }
}