脚本错误:@essentialmode/server/main.lua:126:尝试调用一个空值(全局‘registerUser’)

我在我的 FiveM 服务器中遇到了问题。 所以,我有 essentialmode 脚本。

当一个新用户进入服务器时,会出现以下情况:

[script:essentialmode] > fn (@essentialmode/server/main.lua:126)

我的 main.lua 配置从 111 行开始:

RegisterServerEvent('es:firstJoinProper')
AddEventHandler('es:firstJoinProper', function()
    local Source = source
    Citizen.CreateThread(function()
        local id
        for k,v in ipairs(GetPlayerIdentifiers(Source))do
            if string.sub(v, 1, string.len(settings.defaultSettings.identifierUsed .. ":")) == (settings.defaultSettings.identifierUsed .. ":") then
                id = v
                break
            end
        end

        if not id then
            DropPlayer(Source, "未找到 SteamID,请尝试打开 Steam 并重新连接。")
        else
            registerUser(identifier, Source)
            justJoined[Source] = true

        end

        return
    end)
end)

有什么解决这个问题的想法吗?

点赞
用户2858170
用户2858170

我不了解FiveM,但是快速搜索得到了以下信息:

https://github.com/rudzboy/fivem-essentialmode/search?q=server_script

其中包含以下内容:

-- Server
server_script 'server/classes/player.lua'
server_script 'server/classes/groups.lua'
server_script 'server/player/login.lua'
server_script 'server/main.lua'
server_script 'server/util.lua'

和这个:

https://docs.fivem.net/docs/scripting-reference/resource-manifest/resource-manifest/

你很可能没有执行login.lua,它定义了registerUser,然后在main.lua中调用它。

你需要一个资源清单来按正确的顺序执行这些文件,就像以上示例和文档中所提供的那样。

2022-01-11 14:18:23