saveSettings
Description
Triggered when property settings are saved. This occurs when players modify configuration options for their properties such as access permissions, appearance settings, or functional parameters.
Payload Structure
{
source = playerId, -- The player's server ID
player = playerData, -- Player data object from framework
propertyId = propertyId,-- Property identifier
settings = data -- {price: number, rentPrice: number, label: string, description: string, forSale: boolean, forRent: boolean, forMortgage: boolean, tags: table<string>, images: table<string>, allowedPoints: table<string>}
}
Parameters
source (number): The server ID of the player saving the settings
player (table): Complete player data object provided by the framework (ESX/QBCore)
propertyId (string/number): Unique identifier for the property whose settings are being saved
settings (table):
price
number
Selling price of the property
rentPrice
number
Rental price of the property
label
string
Short label or title for the property
description
string
Detailed description of the property
forSale
boolean
Indicates if the property is for sale
forRent
boolean
Indicates if the property is available for rent
forMortgage
boolean
Indicates if the property is available for mortgage
tags
table
List of tags associated with the property
images
table
List of image URLs for the property
allowedPoints
table
List of points or features allowed for the property
Usage Example
exports.nolag_properties:registerHook('saveSettings', function(params)
local source = params.source
local player = params.player
local propertyId = params.propertyId
local settings = params.settings
print(('Player %s is saving settings for property %s'):format(
source,
propertyId
))
-- Validate settings changes
if not validateSettings(settings) then
TriggerClientEvent('chat:addMessage', source, {
args = {'System', 'Invalid settings configuration'}
})
return false -- Cancel settings save
end
-- Check for restricted settings
if hasRestrictedSettings(settings) and not hasAdminPermission(source) then
TriggerClientEvent('chat:addMessage', source, {
args = {'System', 'You do not have permission to modify these settings'}
})
return false -- Cancel if restricted settings without permission
end
-- Log settings changes
logSettingsChange(source, settings, propertyId)
-- Trigger settings update notifications
notifyPropertyMembers(propertyId, 'settings_updated', settings)
return true -- Allow settings to be saved
end)
Common Setting Types
access: Player access permissions and key management
functionality: Feature toggles and behavioral settings
security: Security measures and protection settings
automation: Automated systems and scheduling
Return Values
true or nil: Allow the settings to be saved
false: Cancel the settings save operation
Last updated