我想将车辆变量从客户端发送到服务器回调,在那里,我将验证具有steam id的人是否拥有他试图打开的车辆,如果他拥有,那么所有的他拥有的车牌将被保存在一个数组中,并发送回客户端。
如何将参数从客户端传递到服务器回调?
#客户端
function openmenuvehicle() local playerPed = PlayerPedId() local coords = GetEntityCoords(playerPed) local vehicle = nil if IsPedInAnyVehicle(playerPed, false) then vehicle = GetVehiclePedIsIn(playerPed, false) else vehicle = getVehicleInDirection(3.0) if not DoesEntityExist(vehicle) then vehicle = GetClosestVehicle(coords, 3.0, 0, 70) end end if DoesEntityExist(vehicle) then local lockStatus = GetVehicleDoorLockStatus(vehicle) if lockStatus == 0 or lockStatus == 1 then local trunkpos = GetWorldPositionOfEntityBone(vehicle, GetEntityBoneIndexByName(vehicle, "boot")) local distanceToTrunk = GetDistanceBetweenCoords(coords, trunkpos, 1) if distanceToTrunk <= 1.25 or (trunkpos.x + trunkpos.y + trunkpos.z) == 0.0 then ESX.TriggerServerCallback('esx_inventoryhud_trunk:getOwner', function(isOwner) print(isOwner) if isOwner then TriggerEvent( "mythic_progbar:client:progress", { name = "Open_Trunk", duration = Config.OpenTime, label = 'ABRINDO MALA', useWhileDead = false, canCancel = true, controlDisables = { disableMovement = true, disableCarMovement = true, disableMouse = false, disableCombat = true } }, function(status) if not status then currentVehicle = vehicle SetVehicleDoorOpen(vehicle, 5, false, false) local class = GetVehicleClass(vehicle) OpenCoffreInventoryMenu(GetVehicleNumberPlateText(vehicle), Config.VehicleLimit[class]) end end ) end end) else exports['okokNotify']:Alert("", "Aproxima-te da mala", 3000, 'error') end else exports['okokNotify']:Alert("", "Mala trancada", 3000, 'error') end else exports['okokNotify']:Alert("", "Sem veículos por perto", 3000, 'error') end end
#服务器端
ESX.RegisterServerCallback("esx_inventoryhud_trunk:getOwner", function(source, cb, plate) local id = GetPlayerIdentifiers(source)[1] MySQL.Async.fetchAll("SELECT plate FROM owned_vehicles WHERE owner = @owner", {['@owner'] = id}, function(data) if data[1].owner == id then return cb(true) else return cb(false) end end) end)
您所需要做的就是向客户端的回调添加一个附加参数。如果您像我下面那样定义上面的板,那么“,板”就可以了。
对于服务器端,您只需 cb(data)。