“Elder Scrolls Online” 插件:引入os/io或其他文件系统访问

我想尝试一些事情,为使用者创建一个项目,当他们在游戏中靠近时,可以在相应的Discord/Teamspeak频道中移动,使用ESO API。为此,我想检查玩家的运动或区域变化,然后运行一个包含的PowerShell脚本或一个小的.jar或.exe文件等来实现。我在这个问题中找到通用Lua,并尝试使用os.executeio.popen来运行我的命令,每次都面临“os”以及“io”是“nil”的错误。

这是我第一次使用Lua,所以我不确定我是否遗漏了导入声明或类似的东西,并尝试了require"os",在游戏中呈现给我另一个错误:

function expected instead of nil

这让我想到,在ESO API的Lua子集?中,要求不起作用。

我是否遗漏了什么,或者是否有根据游戏中的操作/事件基于os访问的选项?

我理解出现的问题的潜力,我认为这是为什么通常的方式都无法使用的主要原因。这是可以确认的吗?

最后,我在API的维基页面上找到了这个片段。根据以前的经验,我的当前计划是监视包含保存的变量的文件夹,寻找新文件,从中读取变量值并将其删除,以便它们在下一个游戏变量的更改时重新创建并再次触发脚本。我认为这是我可以得到的最接近的方法,或者是否有其他更干净的建议?

点赞
用户6707985
用户6707985

该错误消息并不来自Lua核心。[注释](https://stackoverflow.com/questions/45222275/elder-scrolls-online-addon-os-io-or-other-filesystem-access?noredirect=1#comment77411162_45222275)

这是正确的,这意味着一些限制来自API本身。

如果os,io和require为零,那么有人不希望您离开他们所提供的脚本环境。这很常见。除非您刚好找到ESO源代码并构建自己的版本,否则您将不得不接受它。[注释](https://stackoverflow.com/questions/45222275/elder-scrolls-online-addon-os-io-or-other-filesystem-access?noredirect=1#comment77412404_45222275)

这确认了我的假设。所以我想唯一连接到文件系统的方法是问题中描述的最后一个链接的方法。

编辑:我在官方Elderscrollsonline论坛中找到了一个条目(令人惊讶的是我之前没有找到),在此处第一条评论也指出:

我从未尝试过,但我猜它们被故意删除了。

只是想把这个放在这里。

2017-07-20 19:27:50