Lua 中的数组节点

我有一个问题,我正在尝试使用我的 lua 脚本解决这个问题。我正在编写一个分支叙述系统,该系统使用 lua 来即时修改字符串。目前,我正在使用嵌套系统,该系统考虑了每个决策。这个系统的低效性在于多行代码被重复,而我却可以引用我正在制作的节点。

这是基本代码结构

return
{
objectName = "",
npcDialog = "",
speech = "",
options =
{},
actions =
{
    {
        objectName = "",
        npcDialog = "",
        speech = "",
        options =
        {},
        actions =
        {}
    }
}

}

如您所见,操作数组是嵌套的,并且导致无法有效管理的沉重代码。

相反,我正在尝试实现更接近这样的东西

local dialog1 = {
objectName = "",
npcDialog = "",
speech = "",
options =
{
    "选择我",
    "不选择我"
},
actions =
{
   dialog2,
   dialog1
}

}

local dialog2 = {
objectName = "",
npcDialog = "",
speech = "",
options =
{
    "你真傻",
    "你为什么这样做"
},
actions =
{
    function () end,
    function () end
}

}

但是,我对 lua 编码还很陌生,当我尝试做到这一点时,它会出现错误,我不知道如何进行调试。

有人有建议吗?

这是一个可视化的对话布局,根据玩家的选择分支。 [对话布局][1] [1]: https://i.stack.imgur.com/qZwel.png

原文链接 https://stackoverflow.com/questions/69061059

点赞