Configuration
This section includes all configurable files for the selected script. Most settings are configured automatically, but each config.lua file contains a header comment explaining the purpose and usage of every configuration type. Be sure to read the header of each file carefully to fully understand how to customize and adapt the system for QBCORE, ESX, or standalone environments, ensuring seamless integration with your server.
qs-motels-creator/shared/config.lua
--[[
The functions you can modify are all inside the editable folders. Like client/editable/main.lua or server/editable/main.lua
Motel sets requirements it self. So if you want to make custom settings, setConfigAuto must be false.
Motels are in the server/motels.lua
Webhooks are in the server/editable/main.lua
You might want to read the documentation: https://docs.quasar-store.com/assets-and-guides/motels-creator/installation
]]
Keys = { ['ESC'] = 322, ['F1'] = 288, ['F2'] = 289, ['F3'] = 170, ['F5'] = 166, ['F6'] = 167, ['F7'] = 168, ['F8'] = 169, ['F9'] = 56, ['F10'] = 57, ['~'] = 243, ['1'] = 157, ['2'] = 158, ['3'] = 160, ['4'] = 164, ['5'] = 165, ['6'] = 159, ['7'] = 161, ['8'] = 162, ['9'] = 163, ['-'] = 84, ['='] = 83, ['BACKSPACE'] = 177, ['TAB'] = 37, ['Q'] = 44, ['W'] = 32, ['E'] = 38, ['R'] = 45, ['T'] = 245, ['Y'] = 246, ['U'] = 303, ['P'] = 199, ['['] = 39, [']'] = 40, ['ENTER'] = 18, ['CAPS'] = 137, ['A'] = 34, ['S'] = 8, ['D'] = 9, ['F'] = 23, ['G'] = 47, ['H'] = 74, ['K'] = 311, ['L'] = 182, ['LEFTSHIFT'] = 21, ['Z'] = 20, ['X'] = 73, ['C'] = 26, ['V'] = 0, ['B'] = 29, ['N'] = 249, ['M'] = 244, [','] = 82, ['.'] = 81, ['LEFTCTRL'] = 36, ['LEFTALT'] = 19, ['SPACE'] = 22, ['RIGHTCTRL'] = 70, ['HOME'] = 213, ['PAGEUP'] = 10, ['PAGEDOWN'] = 11, ['DELETE'] = 178, ['LEFT'] = 174, ['RIGHT'] = 175, ['TOP'] = 27, ['DOWN'] = 173 }
Config = {}
-- Enable debug mode for development and troubleshooting
-- When enabled, the script will print additional information to the console
Config.debug = true
-- Enable zone debug mode to visualize interaction zones
-- Useful for positioning and testing interaction areas
Config.zoneDebug = false
-- Automatically configure the script based on your server setup
-- If set to false, you must manually configure all requirements below
Config.setConfigAuto = true
-- Automatically configure SQL settings
-- If set to false, you must manually configure database settings
Config.setConfigSql = true
-- Framework and inventory system requirements
-- Only modify these if setConfigAuto is set to false
Config.requirements = {
-- Framework type: 'esx' or 'qbcore'
framework = 'esx',
-- Inventory system: "disc", "qb", "ox", "standalone", "qs", "origen"
inventory = 'standalone',
-- Enable metadata system for keys (requires ox_inventory, qb-inventory, qs-inventory or origen_inventory)
metasystem = false,
-- Wardrobe system: "qb-clothing", "codem-appearance", "ak47_clothing", "fivem-appearance", "illenium-appearance", "raid_clothes", "rcore_clothing", "sleek-clothestore", "esx_skin", "qs-appearance"
gardrobe = 'esx',
}
-- Delete all items in the room when the room is removed
-- Only works with standalone and qs-inventory
Config.deleteItemsWhenRemoveRoom = true
-- Lock the room when it is removed from the system
Config.lockRoomWhenRemoveRoom = true
-- Enable personal stashes for players
-- Note: Not compatible with standalone inventory
Config.personalStashes = false
-- Teleport position when admin deletes a motel and player is in their room
Config.teleport = vec3(-139.82, -893.87, 29.34)
-- Alpha transparency for motel creator interface (0-255)
Config.creatorAlpha = 100
-- Allow motel admins to access all rooms
Config.accessAllRooms = true
-- Available languages:
-- 'en' = English
-- 'tr' = Türkçe
-- 'es' = Español
-- 'de' = Deutsch
-- 'ar' = العربية
-- 'cn' = 中文
-- 'ro' = Română
-- 'lt' = Lietuvių
-- 'fr' = Français
-- 'pt' = Português
-- 'it' = Italiano
-- 'ru' = Русский
-- 'jp' = 日本語
-- 'ko' = 한국어
Config.language = 'en'
-- Meta item name for the key system (if metasystem is enabled)
Config.metaitem = 'motelkey'
-- Allow players to purchase motels directly
-- If false, motels must be given via admin command
Config.generalPurchasable = true
-- Amount of items created when using metasystem
Config.createItemAmount = 1
-- Enable target system support (ox_target, qtarget, qb-target)
Config.target = false
-- Length of the target interaction zone
Config.targetLength = 3.0
-- Width of the target interaction zone
Config.targetWidth = 3.0
-- Use custom 3D text instead of drawtext3d (Not stable, use at your own risk)
Config.customText3d = false
-- Block new motel rentals if player has outstanding bills
Config.existBillThenBlock = true
-- Bill payment center configuration
Config.bill = {
-- Enable bill payment system
-- If false, players must pay full price when renting
active = true,
-- Position of the bill payment center
pos = vec3(-545.17, -203.66, 38.22),
-- Blip settings for bill payment center
blip = {
-- Enable blip on map
active = true,
-- Blip display name
name = 'Bill Payment Center',
-- Blip size (0.0 - 1.0)
scale = 0.6,
-- Blip color (see: https://docs.fivem.net/docs/game-references/blips/)
color = 1,
-- Blip sprite/type (see: https://docs.fivem.net/docs/game-references/blips/)
sprite = 476,
},
}
-- Radius to search for nearby players
Config.nearbyPlayersRadius = 20.0
-- Allow motel owners/employees to rent rooms to themselves
Config.nearbySeeSelf = true
-- Radius to search for nearby motels
Config.nearbyMotelRadius = 100.0
-- Enable room sharing with friends
-- Players can share their motel keys with others
Config.roomSharing = true
-- Command name for sharing motel keys
Config.roomSharingCommand = 'shareMotelKey'
-- Maximum number of people who can share a room
Config.roomSharingMaximum = 3
-- Enable automatic saving of motel data
-- Recommended to keep enabled for data safety
Config.autoSave = true
-- Auto save interval in milliseconds (10 minutes = 10 * 60000)
Config.autoSaveTime = 10 * 60000
-- Command name for manual save
-- Set to false to disable the command
Config.saveCommand = 'motel-save'
-- Maximum inventory slots for motel storage (ESX inventory only)
Config.inventoryLimit = 100
-- Distance for door markers to appear
Config.doorMarkerDistance = 25.0
-- Raid system configuration for police
-- Export name: motels:raid
Config.raid = {
-- Command name for raiding motels
-- Set to false to disable the command
command = 'raid',
-- Required item for raiding (set to false to remove requirement)
item = 'police_stormram',
-- Jobs allowed to raid motels
-- Set to false to allow all players
jobs = {
'police'
},
-- Enable minigame for raiding (requires ps-ui)
-- Configure minigame in client/editable/main.lua
minigame = false
}
-- Motel storage configuration
Config.stashSettings = {
-- Number of storage slots
slots = 80,
-- Maximum weight capacity
maxweight = 1000000,
}
-- Marker configuration for interactions
-- See: https://docs.fivem.net/docs/game-references/markers/
Config.marker = {
-- Marker type (see FiveM documentation)
type = 2,
-- Show markers on doors
doors = true,
-- Show markers on stashes
stashes = true,
-- Show markers on wardrobes
gardrobes = true
}
-- Employee management system
Config.employee = {
-- Enable employee system
active = true,
-- Automatic salary payment interval in milliseconds (20 minutes = 20 * 60000)
-- Set to false to disable automatic payments
autoSalary = 20 * 60000,
-- Only pay salaries to employees who are currently in-game
justPayInGame = false,
-- Payment method: 'bank' or 'cash'
salaryMethod = 'bank',
}
-- Financial management for motel storage
Config.storage = {
-- Deposit rent payments into motel storage
takeRent = true,
-- Pay employee salaries from motel storage
takeSalary = true,
-- Allow motel storage to go negative for salary payments
-- If false, no salary payment when insufficient funds
obligatorySalary = false,
}
-- Administrator configuration
Config.adminSettings = {
-- Command name for setting motel owners
-- Set to false to disable the command
command = 'setmotelowner',
-- Permission levels allowed to use admin commands
permissions = {
'admin',
'superadmin',
'god'
},
}
-- Motel creator system configuration
Config.creatorSettings = {
-- Jobs allowed to use creator commands
-- Leave empty {} to disable job restrictions
jobs = {
'realestate'
},
-- Command name for creating motels
-- Set to false to disable the command
createCommand = 'createmotel',
-- Command name for editing motels
-- Set to false to disable the command
editCommand = 'editmotel',
-- Command name for deleting motels
-- Set to false to disable the command
deleteCommand = 'deletemotel',
}
-- Custom room configurations for large motels
-- Useful for motels with many rooms
-- Note: If using qb or qs-inventory, update info.motel > info.key_label
Config.customMotelRooms = {
-- Example configuration:
-- ['motelName'] = {
-- [1] = 102, -- Set room 1 to room number 102
-- [2] = 204, -- Set room 2 to room number 204
-- }
}
-- Motel shell models for different tiers
-- Examples for different motel quality levels
Config.Shells = {
-- Example configuration:
-- [1] = { -- Tier 1 (Basic)
-- model = 'modernhotel_shell'
-- },
-- [2] = { -- Tier 2 (Premium)
-- model = 'shell_trevor'
-- }
}
-- Minimum Z-offset for motel positioning
Config.MinZOffset = 30
-- Interior Prop List (IPL) data for custom interiors
-- Used for loading custom apartment interiors
Config.IplData = {
{
-- Executive Apartment 1
export = function()
return exports['bob74_ipl']:GetExecApartment1Object()
end,
exitCoords = vec3(-787.44, 315.81, 217.64),
iplCoords = vec3(-787.78050000, 334.92320000, 215.83840000)
},
{
-- Executive Apartment 2
export = function()
return exports['bob74_ipl']:GetExecApartment2Object()
end,
exitCoords = vec3(-773.62, 342.06, 196.69),
iplCoords = vec3(-773.22580000, 322.82520000, 194.88620000)
},
{
-- Executive Apartment 3
export = function()
return exports['bob74_ipl']:GetExecApartment3Object()
end,
exitCoords = vec3(-787.38, 315.76, 187.91),
iplCoords = vec3(-787.78050000, 334.92320000, 186.11340000)
},
{
-- Finance Office 1
export = function()
return exports['bob74_ipl']:GetFinanceOffice1Object()
end,
exitCoords = vec3(-141.99, -617.78, 168.82),
iplCoords = vec3(-141.1987, -620.913, 168.8205)
},
}
CameraOptions = {
lookSpeedX = 500.0,
lookSpeedY = 500.0,
moveSpeed = 10.0,
climbSpeed = 10.0,
rotateSpeed = 50.0,
}
_T = Langs[Config.language]
if not _T then
_T = Langs['en']
print('^1Invalid language. Setted to default language. [en]^0')
end
for k in pairs(Langs['en']) do
if not _T[k] then
_T = Langs['en']
print('^1Missing locale for ' .. k .. ' in ' .. Config.language .. ' language. Setted to default language. [en]^0')
break
end
end