You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FiveM ESX传送Lua脚本pairs参数错误(Config.zones为nil)修复求助

错误原因

你遇到的报错为Lua典型的遍历对象不存在问题,对应Python中遍历None对象触发的TypeError: 'NoneType' object is not iterable错误,核心原因是代码执行到第60行时Config.zones为nil,未被正确定义或提前加载。

分步修复方案
  • 步骤1:确认配置文件加载顺序
    打开脚本根目录的fxmanifest.lua(旧版为__resource.lua),检查配置文件的加载顺序,必须保证存放Config变量的文件(通常为config.lua)早于cl_teleprot.lua加载,示例配置如下:
    client_scripts {
        'config.lua', -- 配置文件要放在前面先加载
        'client/cl_teleprot.lua'
    }
    
  • 步骤2:补全缺失的配置定义
    如果你还没有编写配置内容,直接在config.lua中添加如下结构的配置,根据你的实际需求修改坐标、样式参数即可:
    Config = {}
    -- 传送触发区域配置
    Config.zones = {
        MethEnter = {
            x = 1391.26, y = 3607.54, z = 38.94,
            w = 1.5, h = 1.0,
            t = 27,
            visible = true,
            color = {r=255, g=0, b=0}
        },
        MethExit = {
            x = 1009.3, y = -3200.2, z = -38.2,
            w = 1.5, h = 1.0,
            t = 27,
            visible = true,
            color = {r=0, g=255, b=0}
        },
        -- 按需补全WeedEnter、WeedExit、MoneyWashEnter、MoneyWashExit、CokeEnter、CokeExit的配置即可
    }
    -- 传送目标点配置
    Config.point = {
        MethEnter = {x = 1009.3, y = -3200.2, z = -38.2},
        MethExit = {x = 1391.26, y = 3607.54, z = 38.94},
        -- 和上方Config.zones的key一一对应补全即可
    }
    
  • 步骤3:添加代码容错逻辑
    为了避免配置缺失时直接触发脚本崩溃,修改第60行附近的代码,增加配置存在性判断:
    local coords = GetEntityCoords(PlayerPedId())
    local isInMarker = false
    local currentZone = nil
    
    -- 新增判断:只有Config.zones是有效表时才执行遍历
    if Config and Config.zones and type(Config.zones) == 'table' then
        for zone, data in pairs(Config.zones) do
            -- 原有循环内的逻辑全部保留,不需要修改
            local dist = #(coords - vector3(data.x, data.y, data.z));
            -- ... 剩余原有代码 ...
        end
    end
    
  • 步骤4:验证修复效果
    重启对应脚本资源,确认无报错后,进入游戏测试传送点是否正常工作即可。

内容的提问来源于stack exchange,提问作者Thompson Owen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:36:03