问题标签 [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.

0 投票
1 回答
103 浏览

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)

奥术爆炸应该是一个自我施放,我使用了与我找到的一个示例老板脚本相同的格式,其中克鲁尔对自己施放了一个增益。

0 投票
2 回答
214 浏览

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

0 投票
1 回答
13 浏览

azerothcore - Player:GetAccountId() 传递了一个表参数

我一直在尝试使用

其中第二行是直接从ElunaLua wiki复制的。执行时我收到错误

我怀疑“播放器”是一个全局参数,想知道它怎么可能是一张桌子以及如何使用这张桌子?

0 投票
1 回答
30 浏览

lua - RegisterCreatureEvent 在 Lua 脚本中指定多个生物

在“RegisterCreatureEvent(entry, event, function)”中,它将entry定义为“一个或多个Creatures的ID”。我该如何指定多个生物?

编辑:有人向我指出,生物是复数的,因为世界上可能有不止一个生物的副本。您不能在 RegisterCreatureEvent 中指定多个条目。

0 投票
0 回答
35 浏览

lua - Lua PerformIngameSpawn,世界服务器重启后生成的生物

我想生成 NPC 真相 LUA 脚本。我需要使用 PerformIngameSpawn 函数,因为脚本甚至在服务器上被调用并且没有玩家对象可以使用 SpawnCreature。问题就在这里,当我生成 npc 时,我需要重新启动整个世界服务器,以便 npc 出现,否则我看不到它是否开启了 gm 的数学。如果有人可以为这个问题提供建议会很好。

它是一个八卦项目,我想在玩家站立的地方生成 npc。发件人是NPC ID。当我SpawnCreature()在世界服务器重启后使用 npc 时消失