欢迎光临散文网 会员登陆 & 注册

心灵终结3.3.6地图编辑器萌新教程第17篇:在内置ini中新建建筑与单位

2022-10-03 13:27 作者:不会游泳的企鹅24  | 我要投稿

    本篇应该是和ini相关的最后一篇,讲如何在战役制作中新建建筑与单位,就是说创造一个原本在游戏中没有的建筑与单位。

    为什么要新建建筑与单位?原因大致可以分为两种。第一种是因为剧情需要或者为了丰富游戏体验,用全新的模型、动画、武器等创造一个全新的建筑或单位,或者用已有的模型等“组装”出一个全新的建筑或单位;第二种是出于一些特殊的需求,需要在一张地图中同时出现两种或更多“长得一样”,但是属性有所差别的建筑或单位。我们这篇专栏只讨论相对简单的第二种。

    新建建筑与单位有两步:第一是在内置ini中新注册一个建筑或单位,第二是在内置ini中写关于此建筑或单位的各项属性。由于要在ini中写的内容比较多,所以推荐使用“记事本”打开地图文件,直接在里面编辑,方便复制粘贴。否则在地编中编辑ini需要一条一条地新建。

    注册新建筑或单位的方法:如果要新建步兵/载具/建筑/战机单位,就在内置ini中新建[InfantryTypes] / [VehicleTypes] / [BuildingTypes] / [AircraftTypes](注意:“战机”单位指的是像风暴之子、狐步舞者这样从机场里造出来的单位,像战鹰、猎狼犬这样从重工里造出的单位算“载具”),然后按照“序号=注册名”的格式在下面进行注册就可以了。注意,序号只需要和已有的单位注册序号不同就可以了,没有必要照着rulesmo.ini中的数字往下依次注册,比如心灵终结3.3.6的rulesmo.ini中[InfantryTypes]小节中最后一条是150=xxx,在内置地图ini中注册两个新的步兵单位时,没有必要非得在[InfantryTypes]小节中依次写151=xxx和152=xxx,实际上我并不推荐这样写,否则如果某一天3.3.7出来了,又新添了几个步兵单位,那么你在内置ini中的注册序号就和官方ini的序号重复了,可能会出现问题。你完全可以写成1314=xxx和114514=xxx.

    第二部是写各种具体的属性。注意这里和之前“修改某个单位的属性值”不同,这里我们创造了一个新的单位,虽然是以已有的单位(后面称之为“原型”)为基础,但这个单位在rulesmo.ini中是没有的,因此我们需要把它的每一条属性都写在内置ini中,而不是只写修改的内容。我们在rulesmo.ini中把这个新建单位的“原型”的ini找到,复制粘贴到内置ini中,在此基础上作修改就可以了。另外,如果“原型”的ini中没有Image=xxx这一条,就需要在新建单位的ini中写“Image=原型的注册名”,这样新建单位看起来就和原型一样了,否则新建单位是看不见的。当然,如果“原型”的ini中有Image这一条就不用管了。(英文单词image意思是“图像,形象”,ini中的是大写的i而不是小写的L,不要问我为什么要强调这个。。。)

    下面举一些我在自制战役《守护》当中用到的一些例子。

    例1:第9关“星辰大海(下)”中新建驱逐舰

    在第9关中,会有敌军的“航母编队”通过,航母编队由航空母舰、驱逐舰、巡洋舰等组成。为了保持队形,需要让编队中的所有单位有相同的速度。我选择以航空母舰和巡洋舰的速度Speed=4为准,此时就需要将驱逐舰的速度也改为4。然而我并不想因此而影响从船厂中正常造出的驱逐舰,因此选择新建一个驱逐舰,在内置ini里写:

    [VehicleTypes]

    6666 = DEST2

    [DEST2]

    复制rulesmo.ini中[DEST]小节下的所有内容,并将Speed的值改为4,TechLevel的值改为11(不能建造),然后添加:Image=DEST

    然后保存地图,用地图编辑器重新打开这张地图,就可以在盟军的“载具”栏和“特遣部队”的列表中看到新建的驱逐舰了(但只显示英文名)。

    作两点说明:第一,新建的单位可以在地编左边的单位栏和特遣部队的列表中显示,但不会在“所属方存在科技类型”这一类触发中“科技类型”的参数列表中显示;第二,在给新建单位写注册代码的时候,最好先在rulesmo.ini中查一下这个注册代码有没有被使用,比如要是把上面的驱逐舰换成潜艇,就不能命名为SUB2,因为SUB2已经被用了,是潜艇部署后的第二形态。

    顺带一提,在第11关“孤岛”中为了保持空中舰队的队形,也新建了一些单位并调整了移动速度,但是像小碟子、毒蜥这样的飞行类单位的速度是由JumpjetSpeed属性而不是Speed属性决定的。

    例2:第10关“归舟”中新建盟军防御建筑

    在第10关中,一个路口的盟军防御建筑被力场护盾保护了起来,当摧毁了三个防御指挥部之后,护盾就会消失,并且防御建筑会卖掉。我本来想学“天赐”那关里面的力场护盾的实现方法,但没学会……于是我就想新建光棱塔和闸门,改成无敌的。(没错,护盾就是个动画,一点儿用都没有,所以摧毁防御指挥部之后不仅要让护盾消失还要把建筑卖掉。)以光棱塔为例,在内置ini中写:

    [BuildingTypes]

    6666 = NewATESLA

    [NewATESLA]

    复制rulesmo.ini中所有光棱塔的内容。由于光棱塔[ATESLA]本身有Image属性,所以不需要再在新建的光棱塔ini中写这一条。只需要在NewATESLA中添加Immune=yes即可。

    例3:第10关“归舟”中新建沃尔科夫

    在第10关中,选择不同难度时“沃尔科夫”的数据是不同的。在简单难度下,只是对原来的沃尔科夫进行了一些数据上的修改(详见第14片专栏),因此只需要在内置ini里写出要改动的数据就可以了。但在简单难度下,想让沃尔科夫变得比简单难度稍弱一些,那么就需要新注册一个“沃尔科夫”。另外,我也想让新的沃尔科夫武器变弱一些,所以需要新建一个武器。

    以下是简单难度对原来的沃尔科夫的修改:

    [VOLKOV]

    Strength=2600 (血量,原来是600)

    SelfHealing.Rate=0.02 (自动回血间隔,越小回血越快)

    SelfHealing.Amoint=12 (自动回血量,越大回血越快)

    [VolkovBoltE] (简单难度精英主武器,由于本关沃尔科夫出场就是三星,所以不需要改普通等级的武器)
    ROF=15 (开火间隔,原来是30)
    Range=12 (射程,原来是8)
    Damage=180 (伤害,原来是60)    

    [VolkovBombE] (简单难度精英副武器)

    ROF=30 (原来是50)
    Range=12 (原来是8)
    Damage=250 (原来是150)

    以下是终结难度新建沃尔科夫及其武器的数值:

    [InfantryTypes]

    6666 = VolkovHard

    新建武器不需要像新建单位那样注册,只需要写上相应小节即可。

    [VolkovBoltHardE] (终结难度精英主武器)

    复制所有rulesmo.ini中[VolkovBoltE]中的内容,并将部分属性作以下修改:

    ROF = 22

    Damage = 140

    Range = 9

    [VolkovBombHardE] (终结难度精英副武器)

    复制所有rulesmo.ini中[VolkovBombE]中的内容,并将部分属性作以下修改:

    ROF = 40

    Damage = 180

    Range = 9

    [VolkovHard] (终结难度的沃尔科夫)

    复制所有rulesmo.ini中[VOLKOV]的内容,并将部分属性作以下修改:

    Strength=2000

    ElitePrimary = VolkovBoltHardE

    EliteSecondary = VolkovBombHardE    

    新添加以下属性:

    Image = VOLKOV

    SelfHealing.Amount = 8

    SelfHealing.Rate = 0.02

    这样在游戏中在终结难度下刷出VolkovHard的作战小队,在简单难度下刷出VOLKOV的作战小队,就可以实现难度分级。

    不过要说明一点:由于新建单位不会出现在某些触发的“科技类型”参数列表中,所以要想实现“沃尔科夫阵亡则任务失败”,不能将条件设为“所属方不存在科技类型沃尔科夫”,本关中的解决办法是给沃尔科夫一个单独的所属方(并且设置该所属方可以由玩家控制),采用“所属方被摧毁X个单位”作为失败条件。当然也可以将沃尔科夫作战小队设为关联对象,用“关联对象被摧毁”作为条件。



心灵终结3.3.6地图编辑器萌新教程第17篇:在内置ini中新建建筑与单位的评论 (共 条)

分享到微博请遵守国家法律