šŸ [PAID] [Standalone][ESX][QBCore] Apartments system | House system | UI | Burevestnik

A script by Burevestnik

No reviews yet.
šŸ [PAID] [Standalone][ESX][QBCore] Apartments system | House system | UI | Burevestnik main image

Full Description

apartsystembur

:shopping_cart: BUY IT HERE.

I welcome you CFX community!

Today I present you the apartment system! This system provides accessibility for frameworks: ESX, QBCore, Standalone, as well as custom ones that you can easily connect using our bridge file. The resource provides huge editing capabilities using a configuration file and unique functionality. I’m sure you and your players will love it!

Apartments are purchasable residential spaces in MLO that you can call home. Each apartment is a functional living area that can be used as a place to spend time with friends, as well as to store personal belongings.

You can acquire housing directly near the entrance to the apartments you need. Apartments offer customization options, allowing you to fully personalize them to your taste. Thanks to the development of unique technical solutions, the apartments are completely seamless, and the furniture in each apartment operates using unique algorithms, enabling players to interact with the gaming world smoothly and without errors.

Demonstration of the system:

šŸŽ„ Preview Video


Screenshots
















Example of a configuration file:

Configuration files
--/* 
-- ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–‘ā–ˆā–ˆā•—ā–‘ā–‘ā–‘ā–ˆā–ˆā•—ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–‘ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–ˆā–ˆā•—ā–‘ā–‘ā–‘ā–ˆā–ˆā•—ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–‘ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–ˆā–ˆā–ˆā•—ā–‘ā–‘ā–ˆā–ˆā•—ā–ˆā–ˆā•—ā–ˆā–ˆā•—ā–‘ā–‘ā–ˆā–ˆā•—
-- ā–ˆā–ˆā•”ā•ā•ā–ˆā–ˆā•—ā–ˆā–ˆā•‘ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–ˆā–ˆā•”ā•ā•ā–ˆā–ˆā•—ā–ˆā–ˆā•”ā•ā•ā•ā•ā•ā–ˆā–ˆā•‘ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–ˆā–ˆā•”ā•ā•ā•ā•ā•ā–ˆā–ˆā•”ā•ā•ā•ā•ā•ā•šā•ā•ā–ˆā–ˆā•”ā•ā•ā•ā–ˆā–ˆā–ˆā–ˆā•—ā–‘ā–ˆā–ˆā•‘ā–ˆā–ˆā•‘ā–ˆā–ˆā•‘ā–‘ā–ˆā–ˆā•”ā•
-- ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•¦ā•ā–ˆā–ˆā•‘ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•”ā•ā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–‘ā–‘ā•šā–ˆā–ˆā•—ā–‘ā–ˆā–ˆā•”ā•ā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–‘ā–‘ā•šā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–‘ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–‘ā–‘ā–‘ā–ˆā–ˆā•”ā–ˆā–ˆā•—ā–ˆā–ˆā•‘ā–ˆā–ˆā•‘ā–ˆā–ˆā–ˆā–ˆā–ˆā•ā•ā–‘
-- ā–ˆā–ˆā•”ā•ā•ā–ˆā–ˆā•—ā–ˆā–ˆā•‘ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–ˆā–ˆā•”ā•ā•ā–ˆā–ˆā•—ā–ˆā–ˆā•”ā•ā•ā•ā–‘ā–‘ā–‘ā•šā–ˆā–ˆā–ˆā–ˆā•”ā•ā–‘ā–ˆā–ˆā•”ā•ā•ā•ā–‘ā–‘ā–‘ā•šā•ā•ā•ā–ˆā–ˆā•—ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā•šā–ˆā–ˆā–ˆā–ˆā•‘ā–ˆā–ˆā•‘ā–ˆā–ˆā•”ā•ā–ˆā–ˆā•—ā–‘
-- ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•¦ā•ā•šā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•”ā•ā–ˆā–ˆā•‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–‘ā–‘ā•šā–ˆā–ˆā•”ā•ā–‘ā–‘ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•—ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā•”ā•ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–‘ā–‘ā–‘ā–ˆā–ˆā•‘ā–‘ā•šā–ˆā–ˆā–ˆā•‘ā–ˆā–ˆā•‘ā–ˆā–ˆā•‘ā–‘ā•šā–ˆā–ˆā•—
-- ā•šā•ā•ā•ā•ā•ā•ā–‘ā–‘ā•šā•ā•ā•ā•ā•ā•ā–‘ā•šā•ā•ā–‘ā–‘ā•šā•ā•ā•šā•ā•ā•ā•ā•ā•ā•ā–‘ā–‘ā–‘ā•šā•ā•ā–‘ā–‘ā–‘ā•šā•ā•ā•ā•ā•ā•ā•ā•šā•ā•ā•ā•ā•ā•ā–‘ā–‘ā–‘ā–‘ā•šā•ā•ā–‘ā–‘ā–‘ā•šā•ā•ā–‘ā–‘ā•šā•ā•ā•ā•šā•ā•ā•šā•ā•ā–‘ā–‘ā•šā•ā•*/

Config = {}

--Debug mode
Config.debug = false

Config.myFramework = 'esx' --Defining the framework like esx/qb/standalone.

Config.useInventory = true --Do you want to use a inventory system?
Config.myInventory = 'ox_inventory' --Inventory definition like ox_inventory/qb-inventory. (Custom ones can be added to the Config.storageSetup and bridge file).

Config.useWardrobe = false --Do you want to use a wardrobe system?
Config.myWardrobe = 'esx_skin' --Wardrobe definition like esx_skin/qb-clothing/fivem-appearance/illenium-appearance. (Custom ones can be added to the Config.wardrobeSetup).

Config.useNotifications = true --Do you want to use a notification system?
Config.myNotifications = 'ox_lib' --Notification definition like ox_lib/custom. (Custom ones can be added to the bridge file).

--Interaction distance
Config.interactionDistance = 2.0

--Delay in loading objects
Config.delayLoadingObjects = 5000 --We recommend leaving 5000 thousand = 5 seconds, if you have problems with loading, then increase the delay.

--Photo Tool (Photo tool is a feature built into the resource that allows you to take screenshots of objects in the game world).
Config.usePhotoTool = true --Do you want to use a photo tool?
Config.usePhotoToolCommandNameOpenMenu = true
Config.photoToolCommandNameOpenMenu = 'bur_apt_pt' --Example: /bur_apt_pt v_med_bin -Where first arg its a model name
Config.photoToolObjectSpawnZone = vector3(-1266.8073, -3013.2310, -48.4902)
Config.photoToolExitButton = 200 -- ESC - You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
Config.photoToolScrollUpButton = 241 -- SCROLL_UP - You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
Config.photoToolScrollDownButton = 242 -- SCROLL_DOWN - You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
Config.photoToolCamOptionsRotationSpeed = 0.15 --Zoom rotation speed
Config.photoToolCamOptionsZoomClampMin = 0.25 --Minimum zoom value
Config.photoToolCamOptionsZoomClampMax = 3.0 --Maximum zoom value
Config.photoToolCamOptionsStartingZoom = 3.0 --The starting value of the zoom
Config.photoToolCamOptionsZoomStep = 0.05 --Zoom step

--Do you want to use animation to open doors?
Config.useAnimDoorControl = true
Config.animDoorControlDict = "missheistfbisetup1" --Anim dictionary
Config.animDoorControlName = "unlock_loop_janitor" --Anim name
Config.animDoorControlTime = 3000 --Anim time in ms

--Do you want to use animation to knock on doors?
Config.useAnimDoorKnock = true
Config.animDoorKnockDict = "timetable@jimmy@doorknock@" --Anim dictionary
Config.animDoorKnockName = "knockdoor_idle" --Anim name
Config.animDoorKnockTime = 2000 --Anim time in ms

--The ability to embed your own exports to hide the hud
Config.useHudOffOnEvents = true
Config.hudOnEvent = function()
    DisplayRadar(true)
   -- exports.Burevestnik_hud:Burevestnik_hud_on() -- Uncomment if you use Burevestnik_HUD system (https://burevestnik.tebex.io/package/5371893)
end
Config.hudOffEvent = function()
   DisplayRadar(false)
   --exports.Burevestnik_hud:Burevestnik_hud_off() -- Uncomment if you use Burevestnik_HUD system (https://burevestnik.tebex.io/package/5371893)
end

--Do you want to use a minigame to break into apartments?
Config.useLockpickMiniGame = false
Config.lockpickMiniGame = function()
    --you can trigger your mini game by simply returning its client export
    -- return exports.Burevestnik_lockpick_minigame:Burevestnik_lockpick_minigame_start() --Uncomment if you use Burevestnik_lockpick (https://forum.cfx.re/t/paid-standalone-esx-qbcore-uncharted-lockpick-minigame-ui-burevestnik/4831660)
    --return exports.Burevestnik_lockpick_minigame:Burevestnik_lockpick_minigame_start() --Uncomment if you use Burevestnik_lockpick_minigame (https://forum.cfx.re/t/free-standalone-lockpick-minigame-ui-burevestnik/5206065)
    return true
end

--Setting up the storage. If you are not using ox_inventory or qb-inventory, insert your events here
Config.storageSetup = function(id)
    if Config.myInventory == 'ox_inventory' then 
        if exports.ox_inventory:openInventory('stash', id) == false then
            TriggerServerEvent('ox:loadStashes', id)
            exports.ox_inventory:openInventory('stash', id)
        end
    end
    if Config.myInventory == 'qb-inventory' then 
		TriggerServerEvent('inventory:server:OpenInventory', {
			stash = 'stash',
			name = Config.Apartments[id].Name,
			maxweight = 100000,
			slots = 50
		})
		TriggerEvent('inventory:client:SetCurrentStash', Config.Apartments[id].Name)
    end
end

--Setting up the wardrobe. If you are not using esx_skin or qb-clothing or fivem-appearance or illenium-appearance, insert your events here
Config.wardrobeSetup = function()
    if Config.myWardrobe == "esx_skin" then
        TriggerEvent("esx_skin:openSaveableMenu")
    end
    if Config.myWardrobe == "qb-clothing" then
      TriggerEvent("qb-clothing:client:openOutfitMenu")
    end
    if Config.myWardrobe == "fivem-appearance" then
      exports["fivem-appearance"]:startPlayerCustomization()
    end
    if Config.myWardrobe == "illenium-appearance" then
      TriggerEvent("illenium-appearance:client:openOutfitMenu")
    end
end

--Categories of furniture selection
Config.categories = {"Sofas","Chairs","Beds","General","Details","Storage","Electronics","Lighting","Tables","Plants","Kitchen","Bathroom","Medical","Wall decoration"}

--the percentage of apartment sales from the original price
Config.sellPercentage = 10
--the percentage of furniture sales from the original price
Config.sellFurniturePercentage = 10

--If true, allow access to the inventory to everyone if the door is open. If false, only the owner has access to the inventory
Config.apartmentsInventoryAccess = false

--Notify the police when an apartment is broken into? (You need to set your own police system event)
Config.policeAlarm = false
Config.policeAlarmEvent = function(apartmentsData)
    if Config.policeAlarm then 
        local apartmentsCoordinates = Config.Apartments[apartmentsData].Coordinates
        local apartmentsName = Config.Apartments[apartmentsData].Name
        print(apartmentsCoordinates .. " | " .. apartmentsName) -- insert your police call server event here
    end
end

--Do you want to use the job for break apartments
Config.UseJobsForBreak = true
Config.usePoliceJobs = true
Config.useGangsJobs = true

--Job for a break
Config.policeJobs = {"police", "unemployed"}
Config.gangsJobs = {"gang1", "unemployed"}

Config.UseItemForBreak = true
--A necessary item to break into an apartment
Config.itemForBreak = 'lockpick'

--Reserved buttons by the system for furniture control
Config.furnitureKey = {
    44, -- Q
    38, -- E
    201, -- ENTER
    73 -- X
}

--It is better not to change these parameters
Config.UseFocus = true --Use focus.
Config.MenuOpenCommandFocus = "furniture_menu_f" --The command for focus.
Config.UseKeybindFocus = true --Do you want to use the focus with the key ?
Config.KeybindFocus = {"X", 88} --The focus opening key. It will work if Config.UseKeybindFocus = true (X)

Config.ApartmentsBlips = {
    {
        useBlip = true, --The ability to use blip on the map for this ped.
		blipID = 476, --Blip ID.
		blipScale = 0.7, --Blip scale.
		blipColor = 3, --Blip color.
		blipText = "Hawick Apartments", --Blip text.
        blipCoords = vector3(391.4375, -68.5687, 68.2221),
    },
    {
        useBlip = true, --The ability to use blip on the map for this ped.
		blipID = 476, --Blip ID.
		blipScale = 0.7, --Blip scale.
		blipColor = 3, --Blip color.
		blipText = "Vespucci Apartments", --Blip text.
        blipCoords = vector3(370.1238, -1025.5337, 29.3345),
    },
    {
        useBlip = true, --The ability to use blip on the map for this ped.
		blipID = 476, --Blip ID.
		blipScale = 0.7, --Blip scale.
		blipColor = 3, --Blip color.
		blipText = "La Puerta Apartments", --Blip text.
        blipCoords = vector3(-228.9851, -846.0348, 30.6828),
    }
}

Config.Apartments = {
	...
}

Config.Translation = {
	['menu1'] = 'Door control',
	['menu2'] = 'Open apartment menu',
	['menu3'] = 'Break into the apartment',
	['menu4'] = 'Knock on the door',
    ['menu5'] = 'Manage apartments',
    ['menu6'] = 'Sell furniture',
    ['menu7'] = 'Open the storage',
    ['menu8'] = 'Open the wardrobe',
	['menuIcon1'] = 'fa-solid fa-key',
	['menuIcon2'] = 'fa-solid fa-house',
	['menuIcon3'] = 'fa-solid fa-screwdriver',
	['menuIcon4'] = 'fa-solid fa-hand-back-fist',
    ['menuIcon5'] = 'fa-solid fa-people-roof',
    ['menuIcon6'] = 'fa-solid fa-dollar-sign',
    ['menuIcon7'] = 'fa-solid fa-suitcase-rolling',
    ['menuIcon8'] = 'fa-solid fa-shirt',
    ['positionSettingsControl1'] = 172,  -- You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
    ['positionSettingsControl2'] = 173,  -- You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
    ['positionSettingsControl3'] = 205,  -- You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
    ['positionSettingsControl4'] = 206,  -- You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
    ['positionSettingsControl5'] = 252,  -- You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
    ['positionSettingsControl6'] = 176,  -- You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
    ['positionSettingsControl7'] = 329,  -- You can find more keys here: https://docs.fivem.net/docs/game-references/controls/
	['translationText1'] = 'Apartment: ',
    ['translationText2'] = 'Owner:',
    ['translationText3'] = 'Rooms:',
    ['translationText4'] = 'Price:',
    ['translationText5'] = '$',
    ['translationText6'] = 'Buy',
    ['translationText7'] = 'Sell apartments',
    ['translationText8'] = 'Sale price:',
    ['translationText9'] = 'Buy furniture',
    ['translationText10'] = 'Up',
    ['translationText11'] = 'Down',
    ['translationText12'] = 'Rotate left',
    ['translationText13'] = 'Rotate right ',
    ['translationText14'] = 'Exit/Focus',
    ['translationText15'] = 'Place',
    ['translationText16'] = 'Move',
    ['translationText17'] = 'Apartments',
    ['translationText18'] = 'Furniture has been sold',
    ['translationText19'] = 'You are not in the accommodation area',
    ['translationText20'] = 'You dont have enough funds',
    ['translationText21'] = 'You have successfully purchased an apartment',
	['translationText22'] = 'You have successfully sold the apartment',
	['translationText23'] = 'You have gone outside the apartment',
	['translationText24'] = 'Furniture',
    ['translationText25'] = 'You are not in the furniture placement area',
    ['translationText26'] = 'You do not have permission to remove furniture',
    ['translationText27'] = 'You dont have enough money to buy furniture',
    ['translationText28'] = 'You have successfully bought furniture',
    ['translationText29'] = 'Sell furniture',
    ['translationText30'] = 'You are not in the furniture sales area',
    ['translationText31'] = 'Storage',
    ['translationText32'] = 'Goverment',
    ['translationText33'] = 'Alarm system: ',
}

Optimization (The script consumes):

0.00 ms in a quiet state.

0.02 ms in an active state.

What does this system include:

  • This system works on ESX, QBCore, as well as STANDALONE!
  • The ability to connect a custom framework!
  • Beautiful user interface!
  • 3 different MLO apartments!
  • Full possibility of translating the resource into different languages!
  • Completely seamless apartments!
  • The possibility of placing furniture!
  • A convenient bridge file!
  • 72 available apartments!
  • The ability to install a custom inventory system (ox_inventory and qb-inventory is installed by default)!
  • The ability to turn on the wardrobe (esx_skin, qb-clothing, fivem-appearance, illenium-appearance are installed by default)!
  • Support for the :ox: Ox Target!
  • The possibility of enabling home burglary by the police or other jobs!
  • The ability to set police alarms!
  • Photo tool!
  • Incredibly customizable configuration file!
  • You can completely change the user interface at will!
  • Exports are available!
  • Of course support, I’m ready to help you!

TOP SALES

qs3 hudsystem-min bpLogo

You may also be interested in my other resources:

My other resources

022115-ezgif.com-video-to-gif-converter 022116-ezgif.com-video-to-gif-converter clotheshopbur

wj_bur wcj garageSystem

mg mg mg

mg mg crate

Anomaly zones img animsystem bpLogo

hudsystem-min OrangeSystem barsystem

storev2 qs3 dialSystem

speedcam_img lockpick train

LicensePlate pop 6q6g5y

as mg ars

fuelsystem mwpLG8T - Imgur e5f6ad277b5836eb5fa4db2b8207c3e46beb8362

imgonline-com-ua-Resize-czg8px7HwUHn My project (1) My project (5)

My project kaws My project (6)

a bgk bg

bg st11

Code accessible Escrow: No - Available only: config, ui, bridge, furnitureList
Subscription based No
Lines (approximately) 10000+
Requirements ox_target, ox_lib, oxmysql
Support Yes