Seed乱数
创建于:2025-05-25 更新于:2025-07-21 字数:0 字
温馨提示
本教程仅讲解模拟器乱数
所有方案均使用VBA-RR模拟器
软件下不了点这里→ 提取码HAKU
所需工具
- TAS专用VBA-RR模拟器或者本人汉化VBA-RR模拟器
- 对应Lua脚本
- RunAsDate
- FRLGRSEInitialSeedsFinder(backSeed.exe文件)
红宝石/蓝宝石
此方法只适用于红蓝宝石。
机制说明:有电池的红蓝宝石的Seed并非5A0
不可变,而是根据时钟的时间来判定Seed的,多个不同时间可能对应同一个Seed。
- 先按照VBA-RR模拟器的使用开启时钟功能。
- 先确定一个8位十六进制的目标Seed,例如
923B279F
。 - 打开FRLGRSEInitialSeedsFinder,先输入目标Seed按下
ENTER
,再输入需要生成的结果数比如10
按下ENTER
,便会生成对应数量的4位十六进制的Seed以及目标帧数,比如E630
。 - 在PokeFinder中打开
Gen 3 Tools-Seed to Time
,将刚才获得的任意一个4位十六进制Seed粘贴到16/32-Bit Seed
然后点击Find。 - 打开
RunAsDate
,点击浏览
选择模拟器.exe
文件,将时间/日期
设置为刚才生成的Time中的任意一个,然后点击运行。 - 你可以运行红蓝宝石Lua脚本来验证是否正确获得目标Seed。
火红/叶绿
此方法只适用于火红/叶绿。
机制说明:火红叶绿的Seed是通过RTC时钟生成(和绿宝石火红叶绿的表ID生成机制相似)。相当于每一帧里面有数十个Seed,通过脚本不断反复循环便可以找到目标Seed。
- 先确定一个8位十六进制的目标Seed,例如
923B279F
。 - 打开FRLGRSEInitialSeedsFinder,先输入目标Seed按下
ENTER
,再输入需要生成的结果数比如10
按下ENTER
,便会生成对应数量的4位十六进制的Seed以及目标帧数,比如E630
。并且会在exe所在文件夹下生成一个seeds.txt文件。 - 打开刚才生成的seeds.txt文件,复制所有内容。编辑火红叶绿Lua脚本,找到
local botTargetInitSeeds =
(如果是用记事本打开,可以使用快捷键Ctrl
+F
查找)。将刚才复制的所有4位十六进制Seed替换掉后面的Seed,不需要的Seed请删除!比如local botTargetInitSeeds = {0x6754, 0x91B1, 0x4034, 0xE03C, 0xE843, 0x64A2, 0xEA7C, 0xFC20, 0x3118, 0xB522}
。然后保存脚本。 - 到VBA模拟器上运行游戏,并运行火红叶绿Lua脚本,切换到
Initial Seed Bot
功能。先暂停游戏,再软复位游戏,然后按住游戏的SELECT按键并前进一帧,最后取消暂停。 - 脚本成功运行就会在游戏封面一直闪烁,直到刷到目标Seed自动暂停。此时取消暂停,脚本会显示一行
Found!
,下面会显示刷到的Seed。
绿宝石
此方法适用于红蓝绿宝石,也叫绘画乱数,游戏进度需要推进到水静市。
机制说明:通过查看水静市华丽大赛的绘画可以改变Seed,这个Seed生成由查看时的帧数来判定。例如:从打开游戏开始记为0帧,我在8000帧查看绘画,则Seed会改变为1F5E(即十进制8000+30转为十六进制),为什么还会有个30呢,因为按下A看画的过程大概有30帧。所以我们需要先将目标Seed转为十进制的帧数然后-30来击中目标。
- 先确定一个8位十六进制的目标Seed,例如
923B279F
。 - 打开FRLGRSEInitialSeedsFinder,先输入目标Seed按下
ENTER
,再输入需要生成的结果数比如10
按下ENTER
,便会生成对应数量的4位十六进制的Seed以及目标帧数,比如E630
。 - 来到水静市华丽大赛的右上角任意一副绘画面前等待。
- 运行绿宝石Lua脚本,切换功能来查看绘画Seed(左下角的Painting Timer)。
- 将你的目标Seed转为十进制,并-30再转为十六进制,比如
E630
的十进制是58928,-30转为十六进制就是E612
。等待Painting Timer=E612时查看绘画(也就是58898帧)。 - 若Initial Seed已变为
E630
,说明乱数成功。若失败,则自行微调帧数来查看绘画,击中对应目标Seed。
问题解决
- 运行Lua脚本报错了?
- 请对应模拟器的脚本。
- 第一次加载游戏,怎么打开游戏黑屏/白屏,无法存档?
- 确保游戏ROM没问题,检查
设置-模拟器-存档类型-Flash 128K
。 - 检查文件权限,是否是只读。
- 尝试删除
vba.ini
配置文件。
- 确保游戏ROM没问题,检查
- 怎么突然打不开模拟器了?存档之前可以存,现在不行了?
- 傻瓜解决法:删除
vba.ini
配置文件 - 折腾解决法:编辑
vba.ini
配置文件,修改或删除目录等字段,这里就不继续过多讲解了。
- 傻瓜解决法:删除
- 之前用MGBA存档,导到VBA就读不出来白屏了?
- 因为MGBA存档会默认保存RTC时钟, 导致文件占用空间变大,VBA无法读取。
- 在MGBA中
文件-游戏存档-转换保存游戏
将存档转换出来即可读取。