【教程】09红色警戒2地图编辑器FinalAlert2进阶基础教程 - 进阶基础 - 手改地图

终于到了进阶阶段的教程部分,在本阶段内,除基础部内容为全局讲解,其他进阶内容将完全采用案例式教学,以便于学习者可以直观的学习如何制作。
学习本阶段前,请确保已经基本掌握入门阶段的大部分知识,并且可以基本独立使用地图编辑器的基本功能。
在进行进阶学习前,首先要通过基本部内容对一些基础能力进行概括,第一个需要提到的就是手改地图的能力,手改地图即不借助FA2编辑器直接使用编码工具对地图进行编改。
首先要引入的是一个新软件:

没错,就是Notepad++,可以简称为n++

Notepad++是一个简洁直观的文本编辑器,Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
反正一句话,Notepad++功能比 Windows 中的 Notepad(记事本)高到不知道哪里去了。
请你们不要再用Low到外婆家的记事本继续写代码了好吗!!!!
快换N++吧,这玩意免费还有官汉版本。百度一下你就可以拥有。
本章节中相关信息全部使用N++进行讲解。

使用N++可以直接以文本模式打开地图,我们以《天鹅绒·纪:诸神的黄昏》中的战役关卡Godsend 2为例:

打开后会是以下的状态,在使用文本模式修改Ra2地图时,要注意格式,首先是文本首段和尾段不可以进行删改,除此之外的字段可以在整个文本内随意增添修改。



除了严禁删改的部分,其他文本的大部分内容基本都可以修改
这里要引入关于FA2编码格式的一些概念和名词

【小节】
小节指地图数据内某一个成段的代码,这可以是一个小队,也可以是一个数据类型(比如Basic),或者一个大分类(如路径点序列小节),还可以是一个单位的数据(地图内置ini)
我们以Basic小节为例:

[Basic]小节
在这一小节内是我们编写的地图的基本参数,等同于FA2内的Basic编辑器,但是不同的是,在这里我们可以编写FA2内不可视的一部分数据,比如图中的:
Theme=(theme* 这个字段代表在这张地图一开始进入时播放的第一个音乐(定义于thememd*.ini)
LoadingTheme=(theme* 这个字段则代表在地图载入过程中,玩家可以听到的音乐(有些Mod似乎禁用了这一代码在多人游戏的效果)
小节在FA2地图的编码格式,基本严格按照RA2的标准编码格式,即:
[Name*] -----------------小节名称
FieldsA=yes ------------数据字段
FieldsB=null ------------数据字段
.......
每个小节之间有明确格式区分,要注意小节的排版和全角半角符号区分,FA2的编码格式一律为英文标点,禁止使用中文标点作为代码数据
在FA2编码格式下一样可以通过英文符号“;”进行代码注释,但是在FA2地图的编码格式下,注释不会N++被换色高亮显示,换色注释只有在ini格式下才可以被显示,因此建议不要在FA2内进行过多的注释,避免符号切换错误导致代码错误引发游戏问题。

【字段】
在每个小节下,每一条完整的代码,也被称为“字段”,一个字段应该由完整的类型和赋值组成。
例如:
Range=12
Projectile=CannonAbrams
Verses=40%,40%,60%,75%,65%,50%,75%,80%,70%,70%,100%
Insignificant=yes
在“=”左侧代表了该代码的代码类型,而“=”的右侧则是关于该代码的赋值,赋值决定该代码的具体效果,或决定该代码是否启用,或决定该代码引用的其他代码字段类型。
在同一小节内,如出现重复的字段类型,将优先读取小节内顺序靠后的字段,在同一张地图内出现重复小节类型,一样是优先读取顺序靠后的小节内的重复字段。
例:
[A]
UIName=XLB
Strength=666
Strength=233
DeathWeapon=GameCrash
[A]
UIName=ChaleB
Strength=233
Strength=666
Primary=GameCrash
最终结果是
[A]
UIName=ChaleB
Strength=666
Primary=GameCrash
(以上举例由Uranusian提供)

手动修改和绘制地图一般仅用于:
1.添加地图内新单位和建筑/修改Rules里已有单位和建筑(比FA2内置的INI编辑器要方便很多)
2.在FA2打开有问题的地图秒报错的情况下进行手动回档/手动清除故障
3.批量化处理数据
4.没有红色警戒2游戏本体的情况下编写地图(用于网吧,学校等临时场所,需要紧急改图的情况下,可以直接通过代码手动写图,而不去寻找FA2和游戏本体)
比如画地形和写原始触发这些东西,在FA2可以快捷完成的工作,就不要拿来手写了。
Esther:你用代码写完一个村的时间,我都用FA2做完三个城了!

在基础解释里,只对手写地图进行初步的介绍,而具体如何手写地图内容,以及编写地图内置ini,则会在后续内容中结合具体案例进行教学。