问题标签 [eluna-lua-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azerothcore - Eluna 脚本中 RegisterEvent 的错误参数
我在我的 LUA boss 脚本中遇到问题,第 11 行,
creature.RegisterEvent(Arcanist_Doan.Arcane_Explosion, {3000, 7000}, 0)
在运行时引发错误。这是它给我的错误。
lua_scripts/Boss_ArcanistDoan.lua:11: bad argument #1 to 'RegisterEvent' (bad argument : Creature expected, got function)
奥术爆炸应该是一个自我施放,我使用了与我找到的一个示例老板脚本相同的格式,其中克鲁尔对自己施放了一个增益。
docker-compose - 为 azerothcore docker build 设置 lua_scripts 目录
我正在运行一个 AzerothCore 服务器,用于通过 LAN 进行个人访问。根据官方网站上提供的设置,我的服务器在 docker 上运行。我还设法通过AzerothCore GitHub 上提供的模块附加了 Eluna lua 工程。
我可以看到 Eluna 已成功地与 worldserver 一起编译,因为我在调用以下命令后收到此消息docker-compose up
:
ac-worldserver_1 | [Eluna]: Executed 0 Lua scripts in 0 ms
我通过客户端登录并正常播放也没有问题。
现在,我遇到的问题是我似乎无法找到放置 lua 脚本的位置,以便服务器使用它们。挖掘配置文件,我在以下位置找到了这个参数azerothcore-wotlk/modules/mod-eluna-lua-engine/conf/mod_LuaEngine.conf.dist
:
这个常量被加载到主LuaEngine.cpp
文件中,所以我确信这是寻找的正确位置。lua_scripts
但是,整个存储库中没有目录,包括附加的模块。我尝试将它(和一个基本hello_world.lua
脚本)放在多个子目录中,但无济于事。考虑到由于使用 docker 可能会在存储库之外找到它,我运行sudo find / | grep lua_scripts
并在这个非常难以访问的位置找到了该文件夹的副本:
显然,这只能通过 访问sudo
,我不能轻易地将这个位置用于开发目的。
作为最后的手段,我尝试将Eluna.ScriptPath
常量更改为存储库中的绝对路径,但这也不成功。没有加载脚本,登录时没有 hello world。有人知道我可能会在哪里查看或放置目录吗?
作为参考,hello_world.lua
:
lua - RegisterCreatureEvent 在 Lua 脚本中指定多个生物
在“RegisterCreatureEvent(entry, event, function)”中,它将entry定义为“一个或多个Creatures的ID”。我该如何指定多个生物?
编辑:有人向我指出,生物是复数的,因为世界上可能有不止一个生物的副本。您不能在 RegisterCreatureEvent 中指定多个条目。
lua - Lua PerformIngameSpawn,世界服务器重启后生成的生物
我想生成 NPC 真相 LUA 脚本。我需要使用 PerformIngameSpawn 函数,因为脚本甚至在服务器上被调用并且没有玩家对象可以使用 SpawnCreature。问题就在这里,当我生成 npc 时,我需要重新启动整个世界服务器,以便 npc 出现,否则我看不到它是否开启了 gm 的数学。如果有人可以为这个问题提供建议会很好。
它是一个八卦项目,我想在玩家站立的地方生成 npc。发件人是NPC ID。当我SpawnCreature()
在世界服务器重启后使用 npc 时消失