世界征服者4吧 关注:72,903贴子:2,160,189

【mod】btl全教程:自制关卡【初级】

取消只看楼主收藏回复

【mod】btl全教程:自制关卡【初级】


IP属地:河北来自Android客户端1楼2020-04-30 22:00回复
    上一期贴子的地址p/6632282260
    本贴将简单地重做战役,截取征服地图(像世三那样)并由此重做关卡
    作为【初级】教程,本贴中的战役地图很小(13*10)但是麻雀虽小,五脏俱全


    IP属地:河北来自Android客户端4楼2020-04-30 22:03
    回复
      好了进入正题
      首先,我们找到了战役主题【1942.5哈尔科夫战役】
      并找到了战役图,接下来会在btl里对之进行模仿




      IP属地:河北来自Android客户端5楼2020-04-30 22:06
      回复
        虽然是模仿,但是在原版并没有这种地图
        从技术上来讲,这个战役肯定是重做的
        先说地图,事实上一场战役能涉及到的地方是很有限的,比如在上面这个例子里,就只有【这两个表情】这么大一块儿
        即使是在大型世界地图里,这两个表情估计也占不了多少格子,为了让战役不至于太小,必须多截取一点儿


        IP属地:河北来自Android客户端6楼2020-04-30 22:12
        回复
          下面截取地图
          操作步骤:
          1.用编辑器打开一个征服
          在【bin】页,打开这个征服对应的world.bin(图1)
          2.查看征服,并在bin页的工具栏里找到图二
          输入截取地图的左上点和右下点坐标,截取地图
          地图长宽,截取XY等会自动生成..
          3.效果如图3,截取范围内建筑与兵种保留(但归属丢失),行为事件等全部消失




          IP属地:河北来自Android客户端7楼2020-04-30 22:25
          回复
            截取地图ok
            图一:重新配置战役军团
            图二:查看地图→地形,这种地图的地形数据不在btl而在bin,所以也不能逐个地块修改
            图三:查看地图→建筑,所有省区与归属消失,建筑与单位位置不变




            IP属地:河北来自Android客户端9楼2020-04-30 22:29
            回复
              复制粘贴+逐个修改,把原版多余的建筑去掉,做出战役里的城市【图1】
              【生成省区】可以立刻给全地图添加省区数据,每次增减城市以后点一下就行了【图2】
              生成省区后战役预览如图3




              IP属地:河北来自Android客户端10楼2020-04-30 22:35
              回复
                关于具体操作请移步上一个贴子
                虽然这是初级的教程,但是编辑器的基本操作我不想再重复了


                IP属地:河北来自Android客户端11楼2020-04-30 22:37
                回复
                  复制粘贴+逐个修改,做出战役里的单位
                  图1:还没改单位,都是原来截取剩下的
                  图2:复制不存在的单位(空地),点粘贴时起删除效果
                  对于粘贴,ctrl可以多选
                  图3:做好了我方部队
                  图4:做好了敌方部队
                  注意我们用复制粘贴来制作新的单位,红圈,ai,行为和事件这些重要数据要调整好





                  IP属地:河北来自Android客户端12楼2020-04-30 22:45
                  回复
                    关于行为
                    本图中所有敌军都有ai=3,但是这并不意味着他们不动
                    图1:查看地块→行为 可以查看场上单位的行为id
                    图2:行为
                    两条行为分别对应战役里两路进攻哈尔科夫的部队
                    具体意义:行为1=1回合ai变为1,并且向2550进攻,2550是我方红圈
                    行为2和1几乎一样..,很容易猜出来吧



                    IP属地:河北来自Android客户端13楼2020-04-30 22:48
                    回复
                      关于事件
                      战役可以没有行为,但是基本上不能没有事件
                      首先准备好对话和文本文件,一共就两句话
                      对话101对应文本1901,102对应1902
                      为了方便,这里用stringtable_en举例子



                      IP属地:河北来自Android客户端14楼2020-04-30 23:06
                      收起回复
                        图1,3:在想要的地方加上触发事件的id,在【查看地块→事件】里可以看到触发关系
                        为了做出包围的效果,在苏军进攻部队的后面做了个城市,占领城市就触发对话
                        图2:事件详细数据
                        事件2:开局对话(101)
                        事件1:建筑触发,效果为让第3个军团(右下的苏联蹲坑军队)ai变为1,并带有对话102
                        事件3:由事件1伴生触发,效果为让第二个军团士气下降




                        IP属地:河北来自Android客户端15楼2020-04-30 23:16
                        回复
                          不出问题的话,战役初稿就做好了,如图所示
                          你会发现兵种的朝向都是错的,但是这是很容易解决的
                          截取地图对历史战役的还原能力是很受限制的,原因很简单...地图这么小,兵和城市都放不开
                          ..........
                          于是e社在欧六里学聪明了:在欧六里(战役皆为截取地图)你会看到达达尼尔海峡之战在英吉利海峡,塞尔维亚战争在美国海岸...
                          既然截取地图的地理细节有限,那就随便找个地方截取吧


                          IP属地:河北来自Android客户端16楼2020-04-30 23:22
                          回复
                            图1:第二回合,中路几个敌兵停止蹲坑并进攻哈尔科夫vp,其他敌军继续蹲坑
                            图二:第三回合,铁木辛哥出击vp



                            IP属地:河北来自Android客户端17楼2020-04-30 23:23
                            回复
                              图1:占领城市触发了对话,这里的对话文字写错了但是对游戏影响不大,后面马利诺夫斯基会来支援
                              图2:伴生事件,铁木辛哥士气下降,马利诺夫斯基已经冲过来了



                              IP属地:河北来自Android客户端18楼2020-04-30 23:24
                              回复