【问题标题】:Elder Scrolls Online addon os/io or other filesystem accessElder Scrolls Online 插件 os/io 或其他文件系统访问
【发布时间】:2017-12-26 14:20:10
【问题描述】:

我想尝试一些东西并参与一个项目,当用户在游戏中使用ESO API 彼此靠近时,将在各自的 Discord/Teamspeak 频道中移动。
为此,我想到了检查播放器的移动或区域变化,然后运行包含的 powershell 脚本或一个小的 .jar 或 .exe 文件或类似的东西。我为通用 lua 找到了 this question 并尝试了 os.executeio.popen 使用我的命令,每次都遇到 osionil 的错误。
这是我第一次使用 lua,所以我不确定我是否遗漏了 import 语句或类似的东西,并尝试了 require "os",游戏中出现了另一个错误:

函数期望而不是 nil

这让我假设 require 在 ESO API 的 lua 子集(?)中不起作用。
是否有我遗漏的东西,或者没有选项可以根据游戏中的动作/事件进行操作系统访问?

我确实理解这样做可能会做坏事,我认为这是不允许使用这两种常用方法的主要原因。这可以确认吗?

最后我在 API 的 wiki 页面上找到了this bit。我当前的计划(基于之前的经验)是让脚本或程序监视包含已保存变量的文件夹,查找新文件,从中读取变量值并删除它们,以便在下一次更改时重新创建它们游戏内变量并再次触发脚本。我认为这是我能得到的最接近的还是有其他更清洁的建议?

【问题讨论】:

  • 该错误消息并非来自 Lua 核心。
  • 我知道这一点。但是 lua 是我能找到的最接近的标签,还有另一个问题具有相同的标签,所以我决定也使用它们
  • 我不是在抱怨标签,只是想缩小调试范围。
  • 如有必要我可以粘贴代码:)
  • 如果 os、io 和 require 为 nil,则有人不希望您离开他们为您提供的脚本环境。这很常见。除非您碰巧通过 ESO 源代码来构建自己的版本,否则恐怕您将不得不忍受它

标签: lua add-on


【解决方案1】:

社区回答引用 cmets:

该错误消息并非来自 Lua 核心。 comment

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

如果 os、io 和 require 为 nil,则有人不希望您离开他们为您提供的脚本环境。这很常见。除非您碰巧通过 ESO 源代码来构建自己的版本,否则恐怕您将不得不忍受它。 comment

这确实证实了我的假设。所以我想与文件系统建立任何连接的唯一方法是问题中描述的方式,并提供了最后一个链接。

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

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

只是想我也把这个放在这里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多