如何修复Aries的天气控制?

嘿。我刚刚在 itch.io 上购买了 Aries 出品的 Weather Control,但每次我尝试使用“余烬(Embers)”效果时,项目都会崩溃,屏幕上还会刷满我看不懂的错误信息。我在搜索修复方法时发现其他人也遇到过同样的问题,但那个人并没有说是否找到了解决方案,只说插件的代码里有些东西坏了。我真的非常生气,因为这花了 17 美元,我感觉我的钱完全白花了。我该怎么办?

另外,我还搞不懂如何移除已经激活的效果。其他效果都可以正常移除,唯独“余烬”不行。这让我非常沮丧,因为我正在制作的一个场景正好需要这个效果。

有人知道修复方法吗?

2 个赞

最了解该插件工作原理的人就是插件的设计者本人。你是否有专门联系过那个人?

他们唯一的联系方式似乎是在推特上,而且他们可能是一位相当知名的 RPGMaker 创作者,该插件对他们来说可能已经“太旧”而无法修复了。我猜我担心他们要么会无视我,要么让我干脆换成 RPGMaker MZ 并购买那个 VisuStella 插件……

我会看看能否重新下载推特并询问,但如果他们无视或拒绝,我不知道该怎么办。我只是希望这个插件能正常工作。真希望他们不要出售有缺陷的产品。

依我看,如果你给他们发消息,就会给他们施加压力,迫使他们修复产品。目前,人们正在抱怨他们产品中存在的缺陷,这将会影响他们未来的销量。

不幸的是,我认为因为崩溃问题留下差评的人只有我一个。不过我会试着联系一下。我本来打算早点联系的,但被一些非常棒但与此无关的新闻分散了注意力。

我查过他们的推特账号,他们已经多年没有活跃了。我试着给他们发了消息,但怀疑他们不会看到。

如果我在这里发布这个插件,会有人能帮忙审查代码并修复其中的问题吗?

我可以。不过从写作时间来看,我可能要到明天才能查看。

3 个赞

没关系!我可以等!非常感谢你的提议!我现在不在家,但我尽量想办法在这里附上插件。如果搞不定的话,我有 Discord,也许可以通过那里发给你?(如果你为了帮我修复而不得不购买的话,我会很过意不去的。所以还是直接发给你比较好。)

Aries003_WeatherControl102.zip (35.2 KB) 哎呀!原来我可以上传整个文件!给你!里面应该包含了插件和图像资源!具体来说,是“余烬”效果出了问题。希望你能找出代码中的问题!:smiley:

1 个赞

我想看看后续发展如何,因为我也买了那个插件,但在 Ember 效果上遇到了错误。:confused:

1 个赞

真抱歉你也遇到了这个问题!你是第二个向我反映此情况的人。希望 Gensun 能知道如何修复它。我尝试让 itch.io 给我退款,但至今没有收到回复。所以如果拿不回钱,我至少希望这个插件能真正正常工作。:’(

1 个赞

你弄清楚了吗?

有两件事可能会帮你解开这个死结。

首先是具体的错误文本。开始一次测试游玩,按 F8 打开控制台。最上面那行红色文字才是真正的故障原因,而它下面那行标有文件名和行号的地方就是故障发生的位置。这一行信息比整个崩溃屏幕要有价值得多。把它粘贴到这里,别人就能直接指出问题所在,而不是靠猜。

其次是一个你大约在一分钟内就能验证的直觉。余烬效果通常是依赖于已发布的图像资源,而不是引擎内置的天气系统。注意,那个 zip 文件被描述为包含图像资产。如果插件期望在类似 img/pictures 的路径下找到余烬图形,但该文件从未被复制过来,或者文件名哪怕只有一个字母的大小写不同,加载就会失败,而第一个尝试绘制它的帧就会报错。这就能解释为什么其他效果都正常,唯独这个效果失效。

所以,打开插件参数,记下余烬效果请求的确切文件名。然后去你的项目 img 文件夹中查找,逐字匹配,包括大小写。即使你认为自己已经复制了所有内容,也值得这样做,因为部署后的游戏在许多系统上是区分大小写的,而你的本地机器可能不区分,这就是令人头疼的地方。

如果控制台的那行信息指向的是插件的 js 文件和行号,那么就是代码错误,而不是缺少资源。知道这一点也很有用,因为它告诉查看代码的人从哪里开始着手。

1 个赞

抱歉,我完全不知道该怎么操作……我不擅长编程,也不懂这些。对于理解这些内容,我几乎可以说是文盲。

如果我发给你这个插件,你知道怎么修复吗?它确实附带了 PNG 图片之类的文件。

编辑:抱歉,我刚才看错你的回复了。我实在太累了。我会试着按 F8,然后把显示的内容粘贴到这里,但我实在搞不懂其他的东西。真不好意思。

你不需要理解其中的任何内容。只需截取红色文字的截图,让别人替你阅读即可。

在游戏运行时按下 F8 键。侧边栏会打开一个面板。截取该面板的截图,并将图片直接拖拽到这里的回复框中。这就是全部工作。无需打字,也无需理解。

另外值得说明的是,因为你一直在道歉。SC_Nikki 在帖子中也遇到了同样的效果失败。两台不同的机器上两个人出现相同的错误,这表明问题出在插件上,而不是你做了什么操作。你并没有安装错误。

这也进一步缩小了范围。如果每个买家下载时都缺少那个火焰图形,那么每个买家都会在那个特定效果上崩溃,而其他效果则正常工作。这与你俩看到的情况相符。红色文字无论哪种情况都能确认问题所在,因为缺失文件错误会明确指出它正在寻找哪个文件。

如果最终证实确实如此,那么修复方法只需将一个 PNG 文件放入正确的文件夹中,且无需任何费用。

1 个赞

这是游戏崩溃时弹出的内容,以及我从 f8 收到的错误信息。我完全看不懂这些是什么意思。每次我尝试使用“余烬(Embers)”效果时,这些弹窗/崩溃就会发生。我不确定“UpdateChildren”是什么,也不明白它和 Chrome 扩展程序怎么会跟这次崩溃有关???

顺便说一句,抱歉我又道歉了。这是一种下意识的习惯。这不仅仅是 SC_Nikki 遇到的问题,几年前 RPGMaker 论坛上也有另一个人遇到过类似的情况,但当时没人回复那个人,当他提出崩溃问题时。我不知道那个人最后是否找到了解决办法。我很惊讶除了我之外,没人尝试通知卖家。遗憾的是,制作这个插件的人已经从互联网上消失了。余烬效果在视觉上非常适合我游戏中需要的某个效果……

你知道这些奇怪的错误信息可能在说什么吗?

1 个赞

那张截图正是我们需要的。它直接指出了错误所在,再也不用猜来猜去了。

只有第一行才是关键。

Weather._updateDimmer (Aries003_WeatherControl.js:946)

下面列出的所有内容只是引擎依次调用该函数的过程。故障本身发生在第 946 行的天气插件内部。

现在说说你问到的那部分。那些 Chrome 扩展程序的行并非原因所在,也不是什么浏览器插件干扰了你的游戏。它们只是引擎的核心文件。那个看起来奇怪的地址只是它们在运行测试播放时加载的位置。你可以忽略所有提到 rpg_core、rpg_scenes 或 updateChildren 的行。它们只是信使,而非信息。唯一指向实际代码的行是顶部的这一行。

用通俗的话来说,这个错误的含义很简单。“无法读取 undefined 的属性 0”意味着插件请求列表中的第一项,但该列表根本不存在。调光例程在寻找属于“余烬”效果的设置,但什么也没找到。然后它试图从“无”中读取第一个值,游戏随即停止。

这与你描述的所有情况都吻合。其他效果都有各自的设置,所以都能正常运行。“余烬”没有任何设置,因此每次都会失败。任何尝试运行它的机器都会失败。不是你安装错了。SC_Nikki 也遇到了同样的障碍。那个从未得到回复的旧论坛帖子中的人也是如此。

这里有一个小步骤可以彻底解决这个问题。

打开你的项目文件夹,然后是 js,然后是 plugins。在记事本中打开 Aries003_WeatherControl.js。按 Ctrl 和 G 跳转到行号,并前往第 946 行。复制该行及其上方的五行,并将所有内容粘贴到此处的回复中。

这些行将显示哪个列表缺失以及它被归入哪个名称下。在这种构建方式的插件中,通常是一个调光值表,每种天气类型占一个条目。“余烬”条目要么完全缺失,要么其名称与效果传递的名称拼写不同。如果结果确实如此,那么修复方法就是在插件中添加短短一行代码,你就可以保留该效果了。

2 个赞

Aries003_WeatherControlEmbersFix.zip (413 字节)

我找到了这个 Bug 的原因。上面是一个超级简单的插件,应该能解决这个问题。

原因其实很简单:插件忘记将余烬屏幕色调颜色输入到内存中。基本上,“Cannot read property 0 of undefined”(无法读取未定义的属性 0)的意思是它试图从一个不存在的列表中读取数据。修复方法本质上只是更改一行代码。


Aries.P003_WCT.HeatTone   = eval(Aries.P003_WCT.Param["Embers Screen Tone Color"]);

你也可以将其作为脚本运行,这也能修复 Bug。这段代码创建了那个缺失的列表,并从插件参数中读取数据。

2 个赞

你太棒了!非常感谢!我这就下载看看能不能用!!:grinning_face_with_smiling_eyes::heart:

1 个赞