FiveM 删除世界中的车辆

框架:QBCore

我正在尝试制作一个脚本,它会获取车辆数据库,然后在菜单中列出它们,当有人点击某个特定的车辆菜单时,如果已经在地图上,就会将其删除,然后重新生成。

我已经尝试用它的牌照删除它,但是我得到了期望数字而不是字符串的错误,然后我尝试将其转换为数字(),但是它不会删除,然后我尝试了几天,但是就是无法解决。当我使用DeleteVehicle(GetVehiclePedIsIn(PlayerPedId(), true))时它可以工作,但是他们可能不在他们的车辆上,所以它只会删除一个随机的车辆。

代码 客户端

QBCore = exports['qb-core']:GetCoreObject()

RegisterCommand("sora", function(source)
    TriggerServerEvent("Sora:GetVehiclesList", source)
end)

RegisterNetEvent("sora:garageVehicleList")
AddEventHandler("sora:garageVehicleList", function(vehicle, k)
    local garageList = {
        {
            id = k,
            header = vehicle.vehicle,
            txt = vehicle.plate,
            params = {
                event = "sora:SpawnVehicle",
                args = vehicle,
                TriggerEvent("sora:SpawnVehicle", args, vehicle)
            },
        },
    }
    exports['zf_context']:openMenu(garageList)
end)

RegisterNetEvent("sora:SpawnVehicle")
AddEventHandler("sora:SpawnVehicle", function(args, vehicle, id)
    local src = source
    print("Args")
    print(args.vehicle)
    DeleteVehicle(args.vehicle) -- 返回期望数字而不是字符串
    local test = NetworkGetEntityFromNetworkId(args.vehicle)

    local test = GetVehiclePedIsIn(PlayerPedId(), true) --这一个会删除上一个人的车辆,但是我只想删除他们尝试生成的车辆
    DeleteVehicle(test)

end)

服务器

QBCore = exports['qb-core']:GetCoreObject()

RegisterServerEvent("Sora:GetVehiclesList")
AddEventHandler("Sora:GetVehiclesList", function()
    local src = source
    local pData = QBCore.Functions.GetPlayer(src)
    exports.oxmysql:fetch('SELECT * FROM player_vehicles WHERE citizenid = ?', {pData.PlayerData.citizenid}, function(result)
        for k, v in ipairs(result) do
            print(result)
            print(v.vehicle)
            if v.state == 0 then
                TriggerClientEvent("sora:garageVehicleList", src, v, k)
            end
        end
    end)
end)

原文链接 https://stackoverflow.com/questions/69487024

点赞