Configuration

0R Apartment Configurations

Custom Stash

If you use an inventory other than ox, qbcore,, you can integrate the Stash Opening function suitable for your own inventory into this function.

function Utils.Functions.CustomInventory.OpenInventory(type, id, options)
    type = type or "stash"
    local maxWeight = options.maxWeight
    local slots = options.slots
    -- #
end

function Utils.Functions.CustomInventory.RegisterStash(stashId, options)
    local maxWeight = Config.InteriorHotelRoom.stash.maxWeight
    local slots = Config.InteriorHotelRoom.stash.slots
    local coords = Config.InteriorHotelRoom.coords.stash
    -- #
end

Custom Wardrobe Setting

You can use your own clothing system by integrating it into this function. Below is an example. No settings are required for qb or esx default scripts.

-- Cloth menu event name for room wardrobe
Config.ClothMenuEventName         = nil

Config File

--[[ Configuration settings ]]
Config                            = {}
---Locale setting for language localization.
Config.Locale                     = "en"
---@type "esx_notify" | "qb_notify" | "custom_notify" -- System to be used
Config.NotifyType                 = "esx_notify"
---@type "ox_target" | "qb_target" | "custom" -- System to be used
Config.TargetType                 = "ox_target"
---@type "ox_textui" | "qb_textui" | "drawtext" -- System to be used
Config.TextUIType                 = "ox_textui"
---@type "ox_inventory" | "qb_inventory" | "qs_inventory" | "custom" -- System to be used
Config.InventoryType              = "ox_inventory"
---@type "qb_phone" | "stache_phone" | "lb_phone" | "ls_phone" | "qs_smartphone" | "custom" -- System to be used
Config.PhoneType                  = "qb_phone"
---@type EventName | nil -- Cloth menu event name for room wardrobe
Config.ClothMenuEventName         = nil
-- Can the rooms be entered without permission?
Config.UnauthorizedEntryIntoRooms = {
    --[[ Please Check client/utils:Utils.Functions.LockPickGame() ]]
    active = true,
    item = "lockpick",
}
--[[ The maximum number of rooms a player can get in an apartment ]]
Config.MaxRoomLimitPerPlayer = 1
--[[ Apartment Start]]
Config.ApartmentStarting = true

--[[ Apartment Configs ]]

--[[ Commands ]]
Config.Commands = {
    -- [[ To Open the tablet. ]]
    tabletCommand = "apartment", -- or nil
    --[[ Extend the rental in your current room. ]]
    extendRental = "extendrental",
}

--[[ Apartments ]]
Config.Apartments = {
    [1] = {
        label = "Shelly Apart",
        tint = 55,
        coords = { enter = vec4(278.6257, -1118.3618, 29.4197, 179.6273) },
        blip = {
            active = true,
            title = "Shelly Apart #1",
            sprite = 476,
            color = 2,
            scale = 0.8,
            coords = vec3(278.202209, -1124.268188, 29.380981)
        },
    },
}

--[[ Furniture ]]
Config.Furniture = {
    Enabled = true,
    RotationSpeed = 0.4,  -- Object Rotation Speed
    MovementSpeed = 0.01, -- Object Movement Speed
}

--[[
    If you have 0r-delivery you can open it.
    https://0resmon.tebex.io/package/6158265
]]
Config.HasDelivery = true
--[[
    If you have 0r-towtruck you can open it.
    https://0resmon.tebex.io/package/6098519
]]
Config.HasTowTruck = true

--[[ InteriorHotelRoom ]]
--[[ !!! Don"t change coords !!! ]]
Config.InteriorHotelCorridor = {
    ---@type "target" | "textui"
    interactionType = "textui",
    coords = {
        mainDoor = vec4(-425.4557, -831.4573, -169.4836, 163.6333),
        cameras = {
            [1] = vec4(-429.8342, -834.6968, -166.8, 287.3452),
            [2] = vec4(-416.0023, -804.9767, -162.5, 160.3329),
            [3] = vec4(-428.0974, -838.8970, -163.2, 336.4007),
            [4] = vec4(-416.0247, -805.0617, -154.2, 159.3935),
            [5] = vec4(-428.4543, -838.7031, -154.3, 307.3857),
            [6] = vec4(-416.0092, -804.9615, -153.7, 159.2749),
            [7] = vec4(-428.2982, -838.8560, -153.5, 334.6291),
        }
    }
}

--[[ InteriorHotelRoom ]]
--[[ !!! Don"t change coords !!! ]]
Config.InteriorHotelRoom = {
    stash = {
        maxWeight = 1000000,
        slots = 50,
    },
    coords = {
        door = vec3(-361.200012, -846.369202, -163.819092),
        enter = vec4(-361.239563, -844.298889, -164.8, 0.000000),
        stash = vec3(-365.235168, -842.452759, -163.819092),
        cloth = vec3(-364.720886, -839.973633, -163.819092),
        poly = {
            vec3(-359.854950, -846.698914, -163.819092),
            vec3(-359.854950, -838.496704, -163.819092),
            vec3(-367.619781, -838.496704, -163.819092),
            vec3(-367.619781, -846.698914, -163.819092)
        }
    }
}

--[[ !!! Don"t change coords !!! ]]
Config.Elevator = {
    coords = {
        stops = {
            [0] = vec3(-422.0714, -834.5255, -169.210),
            [1] = vec3(-422.0714, -834.5255, -164.39),
            [2] = vec3(-422.0714, -834.5255, -159.585),
            [3] = vec3(-422.0714, -834.5255, -155.67)
        }
    }
}

Config.CCTV = {
    Enabled = true,
    FOV = 80.0,
    MaxZoom = 30,
    MinZoom = 100,
    RotateSpeed = 0.3,
    Controls = {
        Left = 34,    -- lEFT Arrow
        Right = 35,   -- RIGHT Arrow
        ZoomIn = 96,  -- UP Arrow
        ZoomOut = 97, -- DOWN Arrow
        Exit = 194,   -- BACKSPACE
    }
}

--[[ If you have 0r-delivery you can open it. ]]
--[[ https://0resmon.tebex.io/package/6158265 ]]
Config.HasDelivery = true
--[[ If you have 0r-towtruck you can open it. ]]
--[[ https://0resmon.tebex.io/package/6098519 ]]
Config.HasTowTruck = true

--[[ Rooms ]]
--[[ !!! Don"t change coords !!! ]]
Config.Rooms = {
    [1] = {
        label = "St. Sharen, 1/1",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 1,
        coords = { door = vec4(-422.45, -827.43, -164.60, 70.85) },
    },
    [2] = {
        label = "St. Sharen, 1/2",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 2,
        coords = { door = vec4(-420.7456, -822.9159, -164.60, 70.85) },
    },
    [3] = {
        label = "St. Sharen, 1/3",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 3,
        coords = { door = vec4(-419.15, -818.5, -164.60, 70.85) },
    },
    [4] = {
        label = "St. Sharen, 1/4",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 4,
        coords = { door = vec4(-417.547, -813.785, -164.60, 70.85) },
    },
    [5] = {
        label = "St. Sharen, 1/5",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 5,
        coords = { door = vec4(-415.91, -809.42, -164.60, 70.85) },
    },
    [6] = {
        label = "St. Sharen, 1/6",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 6,
        coords = { door = vec4(-426.10, -828.10, -164.60, 252.300) },
    },
    [7] = {
        label = "St. Sharen, 1/7",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 7,
        coords = { door = vec4(-424.615, -823.74, -164.60, 252.300) },
    },
    [8] = {
        label = "St. Sharen, 1/8",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 8,
        coords = { door = vec4(-422.90, -819.217, -164.60, 252.300) },
    },
    [9] = {
        label = "St. Sharen, 1/9",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 9,
        coords = { door = vec4(-421.30, -814.90, -164.60, 252.300) },
    },
    [10] = {
        label = "St. Sharen, 1/10",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 10,
        coords = { door = vec4(-419.617, -810.34, -164.60, 252.300) },
    },
    [11] = {
        label = "St. Sharen, 1/11",
        price = 10000,
        daily_price = 500,
        floor = 1,
        room_id = 11,
        coords = { door = vec4(-417.982422, -805.978027, -164.60, 252.300) },
    },
    -- ...
}

--[[ Wall Colors ]]
Config.WallColors = {
    { id = 1,  color = "#DDDAD7" },
    { id = 2,  color = "#666666" },
    { id = 3,  color = "#1F1F1F" },
    { id = 4,  color = "#4B3185" },
    { id = 5,  color = "#FF6F00" },
    { id = 6,  color = "#FFDB28" },
    { id = 7,  color = "#2043B7" },
    { id = 8,  color = "#BF1F19" },
    { id = 9,  color = "#265816" },
    { id = 10, color = "#2C7AB7" },
    -- ...
}

--[[ Furniture Items ]]
Config.Furniture.Items = {
    ["sofas"] = {
        placeOnGround = true,
        label = "Sofas",
        items = {
            { model = "miss_rub_couch_01",           price = 300,  label = "Old couch" },
            { model = "prop_fib_3b_bench",           price = 700,  label = "Threesits couch" },
            { model = "prop_ld_farm_chair01",        price = 250,  label = "Old chair" },
            -- ...
        },
    },
    ["chairs"] = {
        placeOnGround = true,
        label = "Chairs",
        items = {
            { model = "v_res_d_highchair",            price = 700,  label = "High chair" },
            { model = "apa_mp_h_stn_chairstrip_03",   price = 500,  label = "Sitchair 4" },
            { model = "v_res_fa_chair01",             price = 700,  label = "Chairl" },
            -- ...
        },
    },
    -- ...
}

Last updated