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

报错:尝试索引nil值(global 'ESX'),求解决办法!

问题分析与解决

报错原因

  1. ESX未正确加载或依赖缺失:全局变量ESX为nil,说明tb_fuel脚本未成功关联ESX框架,要么是脚本的资源配置里没声明对ESX的依赖,要么是ESX资源本身未正常启动。
  2. 函数调用逻辑错误:就算ESX正常加载,当前getplayer函数的写法也有问题——ESX.GetPlayerFromId是需要传入玩家ID(source)的函数,但代码里只引用了函数本身,既没执行调用,也没传参数。

解决步骤

1. 配置ESX依赖

打开tb_fuel资源目录下的fxmanifest.lua(老版本可能是__resource.lua),添加ESX的依赖声明,确保ESX在tb_fuel之前加载:

dependency 'es_extended'

-- 针对ESX Legacy版本,还需添加必要的脚本引用
server_scripts {
    '@es_extended/locale.lua',
    '@es_extended/server/functions.lua',
    -- 其他服务器脚本...
}

2. 修正getplayer函数

把第117行的代码改成正确写法,调用ESX.GetPlayerFromId时传入source参数,同时用局部变量避免全局污染:

function getplayer(source)
    local xPlayer = ESX.GetPlayerFromId(source)
    return xPlayer
end

3. 重启资源

修改完成后,在FiveM控制台执行命令重启tb_fuel资源(若修改了fxmanifest.lua,建议重启整个服务器):

stop tb_fuel
start tb_fuel

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:12:34