example
example

教程 新老插件兼容性问题插件启动后esx服务端无限刷-error-getsharedobject-解决方案

BIG桃

活跃的用户
论坛元老
高级用户
认证用户
黄金
0.00G
这种报错一般出现在新版esx端中
56b4c02df02ed12b5e930ca9eda356b86c4e5a42_2_690x388.jpeg
打开插件的client.lua 找到

ESX = nil

Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)



将其更改为ESX = exports["es_extended"]:getSharedObject()

同样打开server.lua

找到ESX = nil

TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)

更改为ESX = exports["es_extended"]:getSharedObject()



一般来说更改完这两个插件就可以正常启用了 如果还不行的话可以尝试在

__resource.lua/fxmanifest.lua

当中加入

shared_script '@es_extended/imports.lua'
 
第二种办法:
首先前往 es_extended - client - common.lua 文件, 找到下方代码
Lua:
AddEventHandler("esx:getSharedObject", function()
    local Invoke = GetInvokingResource()
    print(("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://documentation.esx-framework.org/tutorials/tutorials-esx/sharedevent for how to fix!"):format(Invoke))
end)
将其替换为:
Lua:
AddEventHandler('esx:getSharedObject', function(cb)
    cb(ESX)
end)
之后前往 es_extended - server - common.lua 文件, 同样找到下方代码
Lua:
AddEventHandler("esx:getSharedObject", function()
    local Invoke = GetInvokingResource()
    print(("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://documentation.esx-framework.org/tutorials/tutorials-esx/sharedevent for how to fix!"):format(Invoke))
end)
将其替换为:
Lua:
AddEventHandler('esx:getSharedObject', function(cb)
  cb(ESX)
end)
 
大佬, 是改某代码里的某一个位置,还是把这段代码都改成ESX = exports["es_extended"]:getSharedObject(),找到地方,但不知道怎么改了.
 

附件

  • 7a57ec40-2714-4c93-8053-1f78767e85e6.png
    7a57ec40-2714-4c93-8053-1f78767e85e6.png
    117 KB · 查看: 18
最后编辑:
大佬, 是改某代码里的某一个位置,还是把这段代码都改成ESX = exports["es_extended"]:getSharedObject(),找到地方,但不知道怎么改了.
我觉得我这个教学够详细了啊
 
大佬, 是改某代码里的某一个位置,还是把这段代码都改成ESX = exports["es_extended"]:getSharedObject(),找到地方,但不知道怎么改了.
ESX = nil

Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)全部改了
 
后退
顶部