mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-29 01:08:54 +00:00
Add files
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937'
|
||||
|
||||
description 'ESX RealestateAgentJob'
|
||||
|
||||
server_scripts {
|
||||
'@mysql-async/lib/MySQL.lua',
|
||||
'config.lua',
|
||||
'server/main.lua'
|
||||
}
|
||||
|
||||
client_scripts {
|
||||
'config.lua',
|
||||
'client/main.lua'
|
||||
}
|
||||
+499
File diff suppressed because one or more lines are too long
+36
@@ -0,0 +1,36 @@
|
||||
Config = {}
|
||||
Config.DrawDistance = 100.0
|
||||
Config.MarkerColor = {r = 120, g = 120, b = 240}
|
||||
|
||||
Config.Zones = {
|
||||
|
||||
OfficeEnter = {
|
||||
Pos = {x = -199.151, y = -575.000, z = 39.489},
|
||||
Size = {x = 1.5, y = 1.5, z = 1.0},
|
||||
Type = 1
|
||||
},
|
||||
|
||||
OfficeExit = {
|
||||
Pos = {x = -141.226, y = -614.166, z = 167.820},
|
||||
Size = {x = 1.5, y = 1.5, z = 1.0},
|
||||
Type = 1
|
||||
},
|
||||
|
||||
OfficeInside = {
|
||||
Pos = {x = -140.969, y = -616.785, z = 167.820},
|
||||
Size = {x = 1.5, y = 1.5, z = 1.0},
|
||||
Type = -1
|
||||
},
|
||||
|
||||
OfficeOutside = {
|
||||
Pos = {x = -202.238, y = -578.193, z = 39.500},
|
||||
Size = {x = 1.5, y = 1.5, z = 1.0},
|
||||
Type = -1
|
||||
},
|
||||
|
||||
OfficeActions = {
|
||||
Pos = {x = -124.786, y = -641.486, z = 167.820},
|
||||
Size = {x = 1.5, y = 1.5, z = 1.0},
|
||||
Type = -1
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
USE `gta5_gamemode_essential`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_realestateagent','Agent Immobilier',1)
|
||||
;
|
||||
|
||||
INSERT INTO `jobs` (name, label) VALUES
|
||||
('realestateagent','Agent immobilier')
|
||||
;
|
||||
|
||||
INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
|
||||
('realestateagent',0,'location','Location',10,'{}','{}'),
|
||||
('realestateagent',1,'vendeur','Vendeur',25,'{}','{}'),
|
||||
('realestateagent',2,'gestion','Gestion',40,'{}','{}'),
|
||||
('realestateagent',3,'boss','Patron',0,'{}','{}')
|
||||
;
|
||||
@@ -0,0 +1,95 @@
|
||||
ESX = nil
|
||||
|
||||
TriggerEvent('esx:getSharedObject', function(obj)
|
||||
ESX = obj
|
||||
end)
|
||||
|
||||
RegisterServerEvent('esx_realestateagentjob:revoke')
|
||||
AddEventHandler('esx_realestateagentjob:revoke', function(property, owner)
|
||||
TriggerEvent('esx_property:removeOwnedPropertyIdentifier', property, owner)
|
||||
end)
|
||||
|
||||
AddEventHandler('esx_phone:ready', function()
|
||||
|
||||
TriggerEvent('esx_phone:registerCallback', function(source, phoneNumber, message, anon)
|
||||
|
||||
local xPlayer = ESX.GetPlayerFromId(source)
|
||||
local xPlayers = ESX.GetPlayers()
|
||||
local job = 'Client immobilier'
|
||||
|
||||
if phoneNumber == "realestateagent" then
|
||||
|
||||
for k, v in pairs(xPlayers) do
|
||||
if v.job.name == 'realestateagent' then
|
||||
TriggerClientEvent('esx_phone:onMessage', v.source, xPlayer.get('phoneNumber'), message, xPlayer.get('coords'), anon, job)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end)
|
||||
|
||||
end)
|
||||
|
||||
RegisterServerEvent('esx_realestateagentjob:sell')
|
||||
AddEventHandler('esx_realestateagentjob:sell', function(target, property, price)
|
||||
|
||||
local xPlayer = ESX.GetPlayerFromId(target)
|
||||
|
||||
TriggerEvent('esx_addonaccount:getSharedAccount', 'society_realestateagent', function(account)
|
||||
account.addMoney(price)
|
||||
end)
|
||||
|
||||
TriggerEvent('esx_property:setPropertyOwned', property, price, false, xPlayer.identifier)
|
||||
end)
|
||||
|
||||
RegisterServerEvent('esx_realestateagentjob:rent')
|
||||
AddEventHandler('esx_realestateagentjob:rent', function(target, property, price)
|
||||
|
||||
local xPlayer = ESX.GetPlayerFromId(target)
|
||||
|
||||
TriggerEvent('esx_property:setPropertyOwned', property, price, true, xPlayer.identifier)
|
||||
end)
|
||||
|
||||
TriggerEvent('esx_phone:registerCallback', function(source, phoneNumber, message, anon)
|
||||
|
||||
local xPlayer = ESX.GetPlayerFromId(source)
|
||||
local xPlayers = ESX.GetPlayers()
|
||||
|
||||
if phoneNumber == 'realestateagent' then
|
||||
for k, v in pairs(xPlayers) do
|
||||
if v.job.name == 'realestateagent' then
|
||||
TriggerClientEvent('esx_phone:onMessage', v.source, xPlayer.get('phoneNumber'), message, xPlayer.get('coords'), anon, 'player')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end)
|
||||
|
||||
ESX.RegisterServerCallback('esx_realestateagentjob:getCustomers', function(source, cb)
|
||||
|
||||
TriggerEvent('esx_ownedproperty:getOwnedProperties', function(properties)
|
||||
|
||||
local xPlayers = ESX.GetPlayers()
|
||||
local customers = {}
|
||||
|
||||
for i=1, #properties, 1 do
|
||||
for k,v in pairs(xPlayers) do
|
||||
if v.identifier == properties[i].owner then
|
||||
table.insert(customers, {
|
||||
name = v.name,
|
||||
propertyOwner = properties[i].owner,
|
||||
propertyRented = properties[i].rented,
|
||||
propertyId = properties[i].id,
|
||||
propertyPrice = properties[i].price,
|
||||
propertyName = properties[i].name
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
cb(customers)
|
||||
|
||||
end)
|
||||
|
||||
end)
|
||||
Reference in New Issue
Block a user