【发布时间】: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