找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3186|回复: 7

【教程】地图加密

[复制链接]
发表于 2023-3-1 21:30:33 | 显示全部楼层 |阅读模式
观前提示:本加密方法一次至少加密一种地图类型(温和、雪地、城市等等),并不是针对单张地图的加密方法。在使用了本加密之后,其他未被加密的同地图类型地图都将无法使用(什么都没改的全空白地图还是能用的)。因此,本方法最适用于任务包加密,而不太适用于单独发布的遭遇战地图,对于mod,应该先权衡利弊。


加密原理:
地图地形也是存在“索引表”的,跟shp和vxl一样。游戏加载地形文件(temperatmd.ini等)时,会按照其顺序生成一个游戏内置的地形注册表。从TileSet0000开始一直到读取结束,每组地形下面都会有TilesInSet = xxx,定义了这种地形有多少种地形块(比如说“0019高架水泥桥头”就有十六种),每个地形块都会被注册进地形注册表内,地图文件里储存的,就是地形的注册号(在[IsoMapPack5]下,只不过被压缩了)。因此,只要打乱原有的地形注册表,就可以得到一个“地图密钥”,没有密钥的人无法打开使用此密钥的地图(地编倒是能打开,不过画风嘛……)。



地编强行读取加密的地图

制作地图密钥的方法:
1、打开对应的地形ini,搜索“TilesInSet = 0”,以下是其中一个结果:
  1. [TileSet0011]
  2. SetName = Civilian Buildings
  3. FileName = blank
  4. TilesInSet = 0
  5. ;LastTilesInSet = 8
  6. ;FileName = Civ
  7. AllowToPlace=no
  8. AllowBurrowing=false
复制代码


可以看到,他的名字同时也是blank,说明这是一种空白的地形,官方并没有使用他。每种地形里都有很多这样的空白地形。

2、将“TilesInSet = 0”修改成“TilesInSet = xx”,xx可以是1~99之间任意的一个数字,修改过之后,就相当于在原有的地形注册表中插入了很多个空白地形,他们会把后面的地形序号都挤下去。

3、把这个地形ini放到游戏目录里,地编读取的游戏目录里也要放。

4、启动地编,新建一张图,随便画一画,保存,得到的就是一张被加密的地图了。

将未加密地图转换为加密地图的方法:
1、额外准备一份地编,该地编读取的游戏目录里用的是未经修改的地形ini(下面称呼这个地编为“未加密地编”,而前面的那个则是“加密地编”)。

2、两个地编同时启动,同时打开未加密地图。此时加密地编会提示:这张图似乎坏掉了,您想要修复它吗?,点“否”,此时你会看到一张跟前面那个图差不多的瞎眼地图。

3、在未加密地编里选择 编辑-复制整张地图,然后在加密地编里选择 编辑-居中粘贴,你会看到地形被完好无损的复制过去了。(猜测是地编内的编码跟游戏不一样,可能是为了支持跨地形复制)。然后保存,就得到了一张加密地图!

后记:由于地图类型一共就那么多种,所以很难像shp那样,单纯通过庞大的数量就极大的提升查找到对应色盘的难度。所以建议在mix里丢进去几十上百个假的地形ini用来混淆,或者,什么时候可以支持每张图都自定义地形ini啊()

下面是一个加密demo:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2023-3-1 23:24:59 | 显示全部楼层
这不得抢前排火前留名?
回复

使用道具 举报

发表于 2023-3-1 23:44:48 来自手机 | 显示全部楼层
学到了,大佬太强了
回复

使用道具 举报

发表于 2023-3-4 11:27:58 | 显示全部楼层
太强了
回复

使用道具 举报

发表于 2023-3-4 16:12:34 | 显示全部楼层
神中神!!!
回复

使用道具 举报

发表于 2023-3-6 16:07:26 | 显示全部楼层
厉害了的说
回复

使用道具 举报

发表于 2023-3-8 20:33:59 | 显示全部楼层
大佬太强了
回复

使用道具 举报

发表于 2023-3-9 09:32:13 | 显示全部楼层
这样才能更稳定的推进红警2发展
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛

GMT+8, 2025-2-15 01:38 , Processed in 0.053026 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表