好的,这里是一个用于ESX框架的免费取车车库的示例代码。
-- 用于存储取车点的配置
Config = {}
-- 取车点1
Config.Garages = {
Garage1 = {
-- 取车点的坐标
Pos = {
x = 100.0,
y = -100.0,
z = 20.0
},
-- 如果要设置多个取车点,可以继续在下面添加
},
}
-- 在这里添加更多的取车点,只需要按照相同的格式进行添加
-- 事件处理函数,用于接收玩家请求取车的事件
RegisterServerEvent('esx_okokgarage:takeOutVehicle')
AddEventHandler('esx_okokgarage:takeOutVehicle', function(selectedGarage, vehicleProps)
local _source = source
local xPlayer = ESX.GetPlayerFromId(_source)
local garage = Config.Garages[selectedGarage]
-- 检查玩家是否有足够的权限取车
if xPlayer.getMoney() >= 0 then
-- 如果玩家有足够的权限,就生成车辆并将其保存到数据库
MySQL.Async.execute('INSERT INTO owned_vehicles (owner, plate, vehicle) VALUES (@owner, @plate, @vehicle)', {
['@owner'] = xPlayer.identifier,
['@plate'] = vehicleProps.plate,
['@vehicle'] = json.encode(vehicleProps)
}, function(rowsChanged)
-- 返回给客户端,让玩家知道车辆已经成功生成
TriggerClientEvent('esx:showNotification', _source, '你花费了0美元取出了车辆')
end)
else
-- 如果玩家没有足够的权限,就向玩家显示错误信息
TriggerClientEvent('esx:showNotification', _source, '你没有足够的钱来取车!')
end
end)
-- 代码放在服务器的脚本文件server.lua中
请注意,这只是一个基本示例,实际情况中可能还需要根据具体需求进行一些修改和调整。 |