worldobject:RegisterEvent 在索引 worldobject 时出错



当我尝试使用现场显示的示例来制作世界对象注册事件时,我在 worldobject 上收到一个错误,这意味着它是一个 nil 值,如下所示:

lua_scripts/test.lua:5:尝试索引全局"WorldObject"(零值(

尝试了几个不同的例子,结果相同,所以自然而然地,我希望这可能是我的一些疏忽。

测试示例:

local function YourFunction(eventid, delay, repeats, worldobject)
      worldobject:SendUnitSay("My name is " .. worldobject:GetName(), 255)
end
worldobject:RegisterEvent(YourFunction, 10000, 5)
local function Timed(eventid, delay, repeats, worldobject)
    print(worldobject:GetName())
end
worldobject:RegisterEvent(Timed, 1000, 5)

两者都返回开头所述的错误。

您必须指定哪个 worldobject 应该具有脚本。

这是一个生物的例子:

local npcID = 100;
local YourNPC = {};
function YourNPC.YourFunction(eventid, delay, repeats, creature)
      creature:SendUnitSay("My name is " .. creature:GetName(), 255)
end
function YourNPC.OnSpawn(event, creature)
    creature:RegisterEvent(YourNPC.YourFunction, 10000, 5)
end
RegisterCreatureEvent(npcID, YourNPC.OnSpawn, 5)

在生物生成时,该生物会说 5 次"我的名字是",延迟 10 秒。它只适用于生物"100",所以不要忘记更改ID。

官方埃露娜文档:http://www.elunaengine.com/WorldObject/RegisterEvent.html

相关内容

  • 没有找到相关文章

最新更新