尝试索引字段“”(空值)(一个空变量)。

我试图运行 SethBling 做的这个脚本,但是它给了我这个错误:

LuaInterface.LuaScriptException: DP1.state

LuaInterface.LuaScriptException: [string "main"]:337: attempt to index field 'neurons' (a nil value)

这是代码

点赞
用户3026323
用户3026323

一位 flamanis 在 YouTube 上发表了这条评论。我按照说明操作,并使其正常工作。

如何让它起作用!所有操作均在 BizHawk 模拟器所在的文件夹中进行。

除此以外,还有一部分:在 BizHawk 上从未打开 lua 控制台之前, (如果你已经打开,请参考 底部的重置说明)进入你想要学习的关卡,在关卡开始时,点击文件。向下滑动并打开保存状态的菜单,在底部选择“创建命名状态”,然后最后将其命名为 DP1,但将其放在所有斜杠和其他东西之后,只需删除它自动命名的 gamestate.whatever 术语即可。然后,将该文件从 SNES/State 文件夹移动到你的 lua 文件所在的位置,或者反过来。然后将 lua 文件加载到控制台中,瞬间完成。

如果你已经尝试运行 lua 文件并出现错误:你需要删除你的保存或者轻微编辑 lua 文件。如果您想要进行删除存档的方法,请进入 SNES 文件夹,然后进入 SaveRAM 文件夹,删除游戏的保存文件。这不会删除模拟器,只会删除存档。

如果你想编辑 lua 文件,那么在顶部,最顶部的行上,(如果你想要创建一个新的行,只要确保它在其他文本之前)加上这个:pool = nil 这样就可以重新设定数据,使它可以再次运行。然而,你仍然需要保存状态。开始运行后,你可能想再次编辑文件并删除该行,否则每次打开它时它都会重新开始。

2015-06-15 02:54:23
用户5011941
用户5011941

将 savestate 和 lua 脚本移动到模拟器的主文件夹中(即 EmuHawk.exe 所在的文件夹)。

2015-06-15 15:24:53
用户4119537
用户4119537

好的,我说我会给出更好的答案,并且有时人们只是随机谷歌搜索他们的解决方案。

因此,Bizhawk模拟器有一种运行Lua脚本的方法,这很好。

所以Seth的程序假定关于游戏如何设置以及用户(也就是您)事先做了什么方面有一些事情。

你需要做的主要事情是事先创建所谓的保存状态。这是游戏中的一个点,您可以立即重新加载到,以便该程序重新启动级别,使每次“运行”基本上完全相同。这与正常游戏有所不同,在正常游戏中,您需要“加载”游戏,因为SMB周围的游戏不像现在的游戏那么“随机”。因此,保存游戏并加载它应该每次都带来完全相同的结果。

您应该在级别的开头创建保存状态。要创建此著名的保存状态,您需要单击屏幕顶部的文件按钮以打开下拉菜单,然后选择保存状态并创建一个新的。这应该创建一个保存状态,然后您可以加载以返回游戏中的那个确切时刻。

为了让程序能够加载您的保存状态进行运行,您可以做以下两件事之一:

1:将实际的保存状态文件名重命名为DP1.savestate

2:修改Lua文件并将DP1.savestate部分更改为您的保存状态的名称

然后,您只需要将它们移动到同一个文件夹中,您就应该金立。

如果您在创建保存状态之前尝试运行目录或类似的错误并出现“尝试索引字段' neurons'(一个空值)”。 (已经过了一段时间,它可能停在第一次运行上,因为它找不到保存状态,因此这可能只发生在第二次及更高的运行上)

这意味着它本质上创建了它的“大脑”,但它完全为空。那很糟糕。有两种方法可以解决这个问题,它们非常简单明了。

1:您需要删除实际的游戏保存,也称为SaveRAM。需要删除的文件可以在您运行的任何控制台的文件夹中找到,在Seth的视频中,他正在使用SNES,因此这是您要进入的文件夹。在该文件夹中,然后是SaveRAM文件夹,您可以选择只删除该文件夹,或者进入该文件夹并删除您正在运行的游戏的一个。

2:您需要编辑Lua文件以重置自己,这只需要在顶部放置文本pool = nil。这将在任何其他事情发生之前删除“大脑”,从而使程序创建一个新的“大脑”。公平警告:这不仅是一次性效果,如果您此时重新启动程序,您将失去整个进度。您需要做的是在它开始运行后停止它并再次编辑文件,然后删除您刚刚添加的行。这将使它不再每次程序启动时都删除它的“大脑”,因此您应该能够自由运行游戏。

我希望仍然有人观看Seth的视频并希望让它自己运行,祝您好运,并愉快的游戏。

2017-04-15 19:20:51
用户8867722
用户8867722

如果这无法解决你的问题,请试试以下方法:

请参照JaRetroYT在reddit的建议,如果你正在使用的BizHawk版本超过2.0,请进入菜单,选择配置,然后按照以下步骤进行操作:自定义 > 高级 > Lua Core > Lua+LuaINterface。这就是我无法加载的原因。

2018-01-04 15:28:11
用户6775555
用户6775555

如果你使用的是BizHawk 2.0以上的版本,请进入菜单,然后依次点击配置、自定义、高级、Lua核心、Lua+Lua接口。这就是为什么我不能加载的原因。

2018-04-03 23:16:24