【发布时间】:2017-12-26 14:20:10
【问题描述】:
我想尝试一些东西并参与一个项目,当用户在游戏中使用ESO API 彼此靠近时,将在各自的 Discord/Teamspeak 频道中移动。
为此,我想到了检查播放器的移动或区域变化,然后运行包含的 powershell 脚本或一个小的 .jar 或 .exe 文件或类似的东西。我为通用 lua 找到了 this question 并尝试了 os.execute 和 io.popen 使用我的命令,每次都遇到 os 和 io 是 nil 的错误。
这是我第一次使用 lua,所以我不确定我是否遗漏了 import 语句或类似的东西,并尝试了 require "os",游戏中出现了另一个错误:
函数期望而不是 nil
这让我假设 require 在 ESO API 的 lua 子集(?)中不起作用。
是否有我遗漏的东西,或者没有选项可以根据游戏中的动作/事件进行操作系统访问?
我确实理解这样做可能会做坏事,我认为这是不允许使用这两种常用方法的主要原因。这可以确认吗?
最后我在 API 的 wiki 页面上找到了this bit。我当前的计划(基于之前的经验)是让脚本或程序监视包含已保存变量的文件夹,查找新文件,从中读取变量值并删除它们,以便在下一次更改时重新创建它们游戏内变量并再次触发脚本。我认为这是我能得到的最接近的还是有其他更清洁的建议?
【问题讨论】:
-
该错误消息并非来自 Lua 核心。
-
我知道这一点。但是 lua 是我能找到的最接近的标签,还有另一个问题具有相同的标签,所以我决定也使用它们
-
我不是在抱怨标签,只是想缩小调试范围。
-
如有必要我可以粘贴代码:)
-
如果 os、io 和 require 为 nil,则有人不希望您离开他们为您提供的脚本环境。这很常见。除非您碰巧通过 ESO 源代码来构建自己的版本,否则恐怕您将不得不忍受它