Scripts/resources/[ps]/ps-realtor/server/server.lua

72 lines
2.4 KiB
Lua
Raw Permalink Normal View History

2024-12-29 20:28:24 +00:00
local QBCore = exports['qb-core']:GetCoreObject()
RegisterNetEvent('QBCore:Server:UpdateObject', function()
if source ~= '' then return false end
QBCore = exports['qb-core']:GetCoreObject()
end)
RegisterNetEvent("ps-realtor:server:updateProperty", function(type, property_id, data)
-- Job check
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local PlayerData = Player.PlayerData
if not PlayerData.job.name == Config.RealtorJobName then return false end
data.realtorSrc = src
-- Update property
TriggerEvent("ps-housing:server:updateProperty", type, property_id, data)
end)
RegisterNetEvent("ps-realtor:server:registerProperty", function(data)
-- Job check
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local PlayerData = Player.PlayerData
if not PlayerData.job.name == Config.RealtorJobName then return false end
data.realtorSrc = src
-- Register property
TriggerEvent("ps-housing:server:registerProperty", data)
end)
RegisterNetEvent("ps-realtor:server:addTenantToApartment", function(data)
-- Job check
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local PlayerData = Player.PlayerData
if not PlayerData.job.name == Config.RealtorJobName then return false end
data.realtorSrc = src
-- Add tenant
TriggerEvent("ps-housing:server:addTenantToApartment", data)
end)
lib.callback.register("ps-realtor:server:getNames", function (source, data)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local PlayerData = Player.PlayerData
if not PlayerData.job.name == Config.RealtorJobName then return false end
local names = {}
for i = 1, #data do
local target = QBCore.Functions.GetPlayerByCitizenId(data[i]) or QBCore.Functions.GetOfflinePlayerByCitizenId(data[i])
if target then
names[#names+1] = target.PlayerData.charinfo.firstname .. " " .. target.PlayerData.charinfo.lastname
else
names[#names+1] = "Unknown"
end
end
return names
end)
if Config.UseItem then
QBCore.Functions.CreateUseableItem(Config.ItemName, function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if Player.Functions.GetItemByName(item.name) ~= nil then
TriggerClientEvent("ps-realtor:client:toggleUI", src)
end
end)
end