地图模组制作

0 点赞
Super Motherload
转载

学习如何修改现有地图。 你可以随意添加【Unobtainium】,移除不可破坏的方块,查看秘密(未使用)物品,创建自己的谜题。 剧透警告! 本指南可能会破坏你的游戏体验,因为部分方块属于秘密内容或根本不会在游戏中出现。修改地图可用于轻松获取金钱,因此这和作弊没什么区别。 特此警告…… ____________________________________________________ 所需条件 你需要熟悉十六进制数字并了解什么是二进制文件。 需要一个十六进制编辑器来修改地图文件(我使用的是HxD,效果还不错)。 找到地图文件 我们不想从头创建地图文件,所以先打开一个现有的文件。通常情况下,地图文件存储在%AppData% XGen Studios, Inc Super Motherload savedata目录下。你所有的存档都有各自的文件夹,名为worldXX,其中XX是一个数字,该数字不一定与游戏中显示的数字一致。找到特定游戏存档文件夹的最简单方法是: 1. 运行游戏 2. 保存(例如通过加油) 3. 关闭游戏 4. 查看文件夹的修改日期,打开最新的那个 当你打开worldXX文件夹时,会发现两个文件:map和progress。 顾名思义,map文件包含地图数据,progress文件包含任务进度。我们需要编辑map文件,用十六进制编辑器打开它。 确保不要编辑正在游玩的地图(即编辑时游戏处于运行状态),反之亦然。地图文件结构 地图文件是二进制文件,以48字节长的头部开头,其后是实际的地图数据。地图本质上是一个矩形的瓦片网格。 一组2字节数据描述一个瓦片。第一个字节表示瓦片的前景(矿石、物品等),第二个字节表示背景(泥土颜色)。瓦片按从左到右、从上到下的顺序排列。 我们将游戏中可见的横向排列称为行。 一行包含36个可见瓦片,在每行的开头和结尾各有一个不显示在游戏中的瓦片(它们始终具有相同的代码,这使得查找行的开头变得容易)。 第一行(最顶部)也不显示。最后几行(最底部)同样不显示。摘要 #字节数(十进制) 每个对象 48 标题 2 图块(前景、背景) 76 行(38个图块,仅使用36个) 示例 以下数字为十六进制。2位数字代表1字节。由于1个图块长2字节,因此用4位数字表示。前2位数字描述前景,后2位数字描述背景。 FD 00 01 00 10 00 57 00 10 02 ... FD 00

开始 空白,红土,红宝石,红土,灰色... 结束 你可以将红宝石的背景设为灰色。只需将其最后两位数字改为02(这是灰色背景的代码)。就是这样——你所要做的就是更改某些图块的代码。 编辑时确保覆盖数据。不要在文件中插入或删除字节。尤其是删除操作非常关键,因为《超级钻探机》无法加载过短的文件。较长的文件似乎没问题。我认为最深的行将被丢弃,不过我从未飞到过过长地图的底部。 你无法编辑前哨站的位置。它们似乎是硬编码的。 编辑提示 逐字节编辑地图可能很麻烦。这里有一些技巧可以让操作更轻松: 你想要编辑某一行并需要找到它。为什么不计算它的偏移量呢?设h为所需线条的高度(注意负号,如果你在地下的话!)。以下数字均为十进制。 偏移量=22848-四舍五入(h/12.5)*76。计算出的偏移量就是高度为h的线条的起始标记。跳过这2个字节即可编辑该线条的第一个(左侧)方块。 为了更好地查看,可尝试以下选项(如果你的编辑器支持的话):将2个字节组成一组。这样更容易识别方块。 在开头添加28(十进制)个字节,并将行长度设置为76(十进制)个字节。现在编辑器中的一行就是地图上的一行。在将地图加载到游戏中之前,别忘了删除添加的字节!注意,你必须在上面的公式中加上28。 你不必完全退出游戏来编辑地图。只需进入主菜单。 在窗口模式下游玩时,在游戏和编辑器之间切换会更轻松。 FG代码1(官方 tiles) 这些是所有普通 tiles 的代码。它们出现在每个官方生成的地图中,不属于任何秘密内容。 十六进制 ASCII 图像 名称 备注 01

空 这就是你钻穿某物时得到的东西。02

边缘空地(Edge) 和空地类似,但带有边缘,就像前哨站的地面一样。 这只是视觉效果。你不能在这里着陆! 10

泥土 查看背景代码获取颜色。11

边缘泥土(Edge) 类似泥土,但带有边缘,就像前哨站的地面。19

岩石 1A

金属板 1B

熔融金属板 1C

岩浆 1D

屏障 23#

燃油 24美元

修复 26&

TNT 27英尺

C4 28(

竖井炸弹 29)

T炸弹 50P

铁元素 51Q

青铜币(Bronzium) 52R

银矿(Silverium) 53秒

金元素 54吨

白金 55U

爆炸元素(Explodium) 56V

绿宝石 57W

红宝石 58倍

钻石 59Y

天河石 5AZ

电子元素 5B

【不可得元素】其是否被锁定(周围有方框)取决于进度文件。我认为不可能只锁定一个方块。

变异头骨 65e

臂骨

肋骨 67克

髋骨 68小时

腿骨 69i

锤子 是否处于锁定状态(周围有方框)取决于进度文件。 我认为无法只锁定单个方块。

废弃金属(镰刀) 其是否处于锁定状态(周围有方框)取决于进度文件。我认为无法只锁定单个方块。

信标(人造卫星):其是否锁定(周围有方框)取决于进度文件。我认为无法只锁定一个方块。FD

标记(非实际方块) 此代码用于标记一行的开始和结束。但解析器似乎会忽略这些标记。你可以覆盖它们,且在加载文件(加载正常)后不会察觉到变化。 如果在一行中间使用此代码,会出现一个难看的灰色方块,该方块无法进入。 FF

空白(天空/ Boss房间):此方块的特性与(01)空白方块类似,但仅出现在天空区域和Boss房间中。若在其他位置使用此方块,会生成一个难看的灰色方块,但该方块仍可通行。 背景代码:方块的背景决定了其颜色以及挖掘所需的钻头等级。背景

颜色 红色 棕色 灰色 黑色 十六进制代码 00 01 02 03 前景代码2(秘密和未使用的方块) 这些是我能找到的所有秘密和未使用方块的代码。 我猜测开发者曾计划将它们整合到游戏中,但后来放弃了。不过我不介意它们在不久的将来通过更新加入游戏。 * 这些方块在我玩过的任何官方地图中都没有出现过。它们有来自实际升级的图标,但无法被破坏(无论是挖掘还是爆炸都不行)。当你在它们附近挖掘时,它们通常会变成灰色方块(这只影响图形)。 ** 这些方块的行为与*类似,但具有在游戏其他部分都未出现过的符号。 十六进制 ASCII 图像 名称 备注 FE

隐形屏障 这种方块在每张官方地图中都能找到。它是天空中秘密商店的地板。无法被破坏(无论是挖掘还是爆炸都不行)。 当放置在天空中时,它是完全隐形的。在地下时,方块本身是隐形的,但当它的相邻方块为空时,那些方块会有波浪形的泥土边缘;当相邻方块不为空时,则会有平直的边缘。在这两种情况下,你都能看出隐形方块藏在哪里。 25%

超级加速:放置后即可收集该强化道具。你的载具会开始闪烁,但未观察到其他进一步变化。

弹跳外壳(Bouncy Hull)

散热器 * 6En

磁力(Magnet)

无限传送 西姆克鲁姆(一个可解锁的飞行员)实际上拥有无限传送能力。但这并非一项升级,且图标也不相同。70p

侧方传送

十字准星 72r

岩浆金钱 * 73秒

空气炸弹 74吨

铲 75单位

船体再生

无限货舱/缠绕装置 看起来像是某种缠绕器。它也可能是双货舱升级的旧版本。77w

燃油箱+ (可能是燃油箱升级的旧版本) 78x

炼金术 * 79y

Broken Box 7Az

岩石钻机

金属钻头

? ** 7D}

石油提取器 无法购买,可从修理先生处获得。7E~

X炸弹 7F

燃油转换器 80

船体转换器 * 81

力场 82

警告标志 83

降落伞 84

智能炸弹 编辑其他文件 或许我会发布更多关于编辑进度或角色文件的指南。 但这需要一些时间,因为解码这些文件很麻烦(例如:我必须反复游玩任务,才能获取解码进度文件所需的所有信息)。 关于角色文件,我目前了解到:它们存储在%AppData% XGen Studios, Inc Super Motherload savedata common中,普通模式和硬核模式各有独立文件。 启动《超级钻地小子》时会加载角色文件,若要编辑必须完全退出游戏。 角色是否解锁的状态保存在角色文件中(这意味着某些角色可能只能在一种模式下解锁)。 无法恢复已死亡的角色。角色死亡后,所有数值会立即被默认值覆盖。你唯一能做的就是备份角色文件。 每个角色在文件中都有独立区块,长度为112字节(十进制)=70字节(十六进制)。 金钱存储在偏移量38(十六进制)、A8(十六进制)等处。 此处的字节序似乎有些特殊(可能是16位小端序)。 船体等级存储在偏移量31(十六进制)、A1(十六进制)等处。 取值范围为0到6。虽然可以设置更大的值,但不一定更好(注意可能出现的溢出问题!)。 熔炼炉等级存储在偏移量34(十六进制)、A4(十六进制)等处。