【问题标题】:Attempt to index global 'io' (a nil value)尝试索引全局 'io'(零值)
【发布时间】:2015-10-12 17:43:22
【问题描述】:

在我解释我的问题之前,我已经查看了堆栈溢出,并查看了有关此错误消息的无数问题。

我的任务是在我的网站上构建一个更新的统计信息页面,该页面使用来自 Garry's Mod 游戏服务器的实时统计信息进行自我更新。我编写了一个 lua 脚本(我将在下面包含),理论上应该将当前地图名称和连接到单独文本文件的玩家数量拉出。

这是我当前状态下的程序(我还没有添加用于更新的循环,尝试先以最简单的形式开始工作):

// Custom script to pull current server statistics and return to website
local current_map = game.GetMap()
local current_players = #player.GetAll()
map = io.open("../../../../map.txt", "w")
map.write(current_map)
map.close()
players = io.open("../../../../players.txt", "w")
players.write(current_players)
players.close()

当我启动服务器时,我在控制台中收到Line 4: attempt to index global 'io' (a nil value) 错误

在尝试了无数的事情并多次编辑代码之后,我仍然无法让这个理论上应该如此简单的工作,而且我不知道出了什么问题。

【问题讨论】:

  • 看起来 gmod 不包含 io 模块。你知道吗? gmod 有自己的io-type 模块吗?它甚至允许做io-type 的事情(直接从磁盘读取和写入)吗?
  • @EtanReisner 哇,我从未想过 Garry 的模组可能不包含该模块。这是服务器模块文件夹的图片 - 我看不到任何可能与 IO 相关的内容,除非你能告诉我其他情况? i.imgur.com/6Hr8EWO.png
  • io 模块是 lua 内置模块,但托管环境不需要加载它,如果他们不想加载它。您不会看到任何与之相关的文件。您必须查看 gmod 文档。
  • @pythagon 对于这样的事情,请参考相关文档。
  • gmod 包含io 模块是完全合理的。例如,您不希望“随机”脚本能够在整个硬盘驱动器上进行读写。

标签: lua io garrys-mod


【解决方案1】:

以后有这个问题的人;

在浏览了脚本 wiki 之后,我发现 Garry's Mod 有它自己的文件 IO 库。

可以在下面获得 wiki 上此页面的链接:

http://wiki.garrysmod.com/page/file/Write

【讨论】:

    猜你喜欢
    • 2013-06-07
    • 2020-03-08
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 2017-01-10
    • 2015-02-18
    相关资源
    最近更新 更多