红警任务吧 关注:2,650贴子:32,390

【搬运】红警任务简明制作教程(新手进阶篇)

只看楼主收藏回复

还是前言:有的朋友反映上个教程内容太过常识。本来的嘛,标题就是菜鸟入门,一个连触发都不明白的新人会直接看懂一些深层内容吗?这篇是新手进阶篇,里面可能有入门的朋友感兴趣的东西。如果这个也满足不了你。。。。。你还装什么新人啊,该干什么干什么去!
口胡结束,搬运开始!



1楼2012-03-26 06:47回复
    前言
    本篇适合那些学习过入门篇的读者和具有一定地图制作基础的朋友们参考,通过此篇的学习可以使你的地图制作水平更加完善,任务的制作更加得心应手,学习完本篇的内容之后将可以独立的完成一个完整的单人任务地图的制作。建议如果没有任何制作经验和基础的玩家请不要参看本篇,可以先去参看本人的入门篇教程。
    内容简介
    本篇将就入门篇中尚未提到的编辑菜单中的触发编辑器、标签编辑器、脚本、特遣部队、作战小队等内容加以详细介绍,同时包括局部变量、单元标记、路径点的详细用法讲解。
    触发编辑器
    触发编辑器是FA2地图编辑器中功能最强大的编辑工具,本篇将介绍的其它工具均与此工具有关联,可以这么说,如果没有了触发编辑器,本篇所要介绍的其它内容就几乎全部失去了意义。因此,要想制作好单人任务,触发编辑器的使用就必须学好。
    要学习使用触发编辑器,首先有必要了解什么是触发。触发实际上就是制作者给电脑下达的一系列指令,使得电脑根据某些特定的条件完成特定的动作。有过编程经验,学习过BASIC、C语言等的玩家可以发现,触发编辑器的作用和功能实际类似于if条件句,也就是当满足一定的条件之后执行if后面的指令。反映到触发上就是当发生某事件时则触发该事件对应的动作。形象的说就是“如果条件被满足,则会发生一些事情,反之条件不满足,就不发生任何事情。”这就是触发。

    这个就是触发编辑器的主面板。顾名思义,触发编辑器就是编辑触发、制作触发的工具。每一个完整的触发包括三个部分:触发的名称(Trigger options)、触发的条件(也叫事件,Events)、满足了条件之后所发生的事情(也叫行为,Actions)。有的时候名称也被称为标签,这点在后面介绍的其它工具的使用也一样(与标签编辑器中的“标签”含义不同)。
    下面详细介绍各项目的作用:
    最上面那个下拉列表是触发的选择窗口,也就是这张地图中的所有触发都可以在这里找到。直接打开下拉列表可以选择所需要的触发。如果需要建立和编辑触发直接在上面有对应的四个按钮。
    然后下面是触发编辑的主界面,有三个选项卡,分别是标签(名称),事件和行为。
    首先建立一个触发,然后选择标签选项卡,在下面的名称文本框中输入触发的名字。请注意,名字虽然只是注释内容,与触发的功能毫无关系,触发少的时候固然可以随意命名,但是当触发建立了很多以后想要找到并编辑需要的触发却不是一件容易的事。这个时候起一个明白好认名字就非常重要了。比如游戏胜利时的触发起名为“win”或者“胜利”,失败时的触发写作“lose”或者“失败”,这样当触发很多的时候打开下拉列表一眼就能认出游戏胜利与失败所对应的触发是那些,也方便日后测试和检查。
    之后选择事件选项卡,界面会有所改变

    点击下面的新建事件,左侧的下拉框会出现“Event 0”,而下面的事件类型会出现许多选项,这些就是编辑器所能使用的各种触发的条件。

    当你选择了其中的一个事件之后,在其下面会出现对此事件功能的解释。某些事件还需要设置参数,在更下面框中会显示对应的内容。
    比如你选择了“1 进入事件”之后下面的参数框里就会出现内容

    


    2楼2012-03-26 06:53
    回复
      2025-05-30 07:28:10
      广告
      所属方后面所指的“0 美”就是该事件的参数,指的是当美国的部队进入到该事件关联的区域或对象时,这个事件的条件就被满足了。由于进入事件有参数指定,所以当苏联部队进入该事件关联的区域或对象时,事件是不会被触发的。因为只满足了事件(进入事件),但是没有满足事件参数的要求,事件还是不能被触发,条件还是没有全部满足。只有同时满足了事件本身和事件所对应的参数时,事件才能真正被触发,后面的行为语句才能被执行,这点请特别注意。
      一个触发的事件可以同时建立多个,但要注意当有多个事件存在的时候,只有全部的事件条件都被满足的时候才算整个的事件被触发。(“0 无事件”,这个事件的条件是永远不能被满足的,所以一定不要使用,否则这个触发就没有意义了)第一个建立的事件叫做“Event 0”,第二个事件叫做“Event 1”,依此类推。
      然后是行为选项卡
      所属方后面所指的“0 美”就是该事件的参数,指的是当美国的部队进入到该事件关联的区域或对象时,这个事件的条件就被满足了。由于进入事件有参数指定,所以当苏联部队进入该事件关联的区域或对象时,事件是不会被触发的。因为只满足了事件(进入事件),但是没有满足事件参数的要求,事件还是不能被触发,条件还是没有全部满足。只有同时满足了事件本身和事件所对应的参数时,事件才能真正被触发,后面的行为语句才能被执行,这点请特别注意。
      一个触发的事件可以同时建立多个,但要注意当有多个事件存在的时候,只有全部的事件条件都被满足的时候才算整个的事件被触发。(“0 无事件”,这个事件的条件是永远不能被满足的,所以一定不要使用,否则这个触发就没有意义了)第一个建立的事件叫做“Event 0”,第二个事件叫做“Event 1”,依此类推。
      然后是行为选项卡

      与触发的界面类似,打开行为类型同样会出现许多的选项,这些就是编辑器所能使用的全部行为。行为就是当前面的事件的条件被满足时所要执行的动作。同样行为也可以建立多个,某些行为也具有参数。只有当一个行为本身和其参数都设置好的时候该行为才能被完整的执行。
      下面来看下事件和行为是怎么联系起来的:
      首先新建一个触发,命名为“reveal”

      然后建立一个事件“13 流逝时间”,参数设为20

      然后新建一个行为,选择“16 显示全部地图”

      保存这个地图并执行,你会发现游戏一开始地图是全黑的,稍待片刻之后地图会全亮。这就是事件与行为的关联。事件是“流逝时间”,参数是20,就是说当游戏时间经过20个单位的时候这个事件的条件就被满足,事件就触发了,事件触发的同时就会执行后面的行为。行为是“显示全部地图”,所以当游戏经过了20个时间单位的时候行为就被触发,地图就会全部显示出来。这就是事件与行为的关联,它们和事件的标签(名称)共同组成了一个完整的触发,缺少其中任何一个要素都不能组成完整的触发。所以标签、事件、行为被称为“触发三要素”。
      由于事件和行为的选项很多,选项达到数十个甚至上百个,在此就不能一一介绍了。其作用和功能及用法本篇中仅选择其中比较常用比较重要的介绍,并着重介绍其使用技巧及注意事项。其余内容请参考其它文章的说明。
      再来看一下触发编辑器的其它选项

      名称的下面有几个选项,其中
      所属参战方:指的是这个触发是属于哪个参战方的,可以不必特别设置,不过在某些触发行为上这却是一个必要的参数(例如“36 全部更改归属”)。在触发设置了这些行为的时候要特别注意,以免出现不可预料的错误。
      右面的类型分0和2两个参数,指的是该触发是一次性触发还是重复性触发。0表示该触发的行为执行过一次后将失效(仅当该触发只有一个标签的时候或没有被其它触发强制触发的时候,详细情况以后说明),而重复触发则是指该触发会反复根据条件多次触发,直到被禁止或游戏结束。
      关联触发:这里可以设置其它的触发,作为该触发的关联触发。关联触发的意思是,两个触发之间相互关联,在判断其中一个触发的事件条件的同时也会判断另一个触发的条件,其中哪个条件被满足就会相应的触发哪个触发的行为。这与两个单独的触发是不同的。详细将会在后面说明。
      下面还有4个选项,禁止、简单、中等、困难,如果把禁止勾选上,那么游戏开始的时候这个触发即使满足了事件的条件也不会被执行,需要由其它的触发行为“53 允许目标触发”进行激活,激活后的触发可以根据条件被执行。
      简单、中等、困难指的是在什么样的游戏难度下该触发有效,默认是三种难度都可以,如果勾去其中若干对号,在某些难度下这个触发会无效。如果三个都勾去,那么将永远不会被触发。这个选项可以调整游戏的难度。
      以上是触发编辑器的详细介绍,其它工具的说明及与触发编辑器的关联用法将在后面的教程中介绍。
      


      3楼2012-03-26 06:53
      收起回复
        特遣部队、脚本与作战小队
        这三者是紧密联系的,特遣部队就是一组单位的**,脚本是单位所要执行的动作指令,单位的**加上动作指令就组成了作战小队。即 特遣部队+脚本=作战小队。编辑好的作战小队可以在触发行为中被调用。通常作战小队被用作一小队援军,或者一组作战单位等等。可以使用“4 建立小队”“7 援军(小队)”“80 援军(作战小队)【在路径点】”“107 超时空传送援军”等触发行为调用作战小队。
        下面介绍下作战小队的建立过程
        1.建立特遣部队
        首先建立特遣部队,打开编辑面板

        点击上面的添加按钮,可建立一个新的特遣部队。同触发编辑器类似,这个下拉框中包含了这张地图全部的特遣部队,可以在这里选择查看。然后在下面的名称里添上该特遣部队的标签(前面已说过名称也叫标签,即注释性文字),小组是将多个特遣部队分类,可以不必去管它。然后点下面的添加,就可以编辑你所要设置的单位了,可以在更下面设置单位的数量和种类,如果一种不够可以再次点击添加按钮。这样特遣部队就设置完成了。

        如上图所示建立了一个特遣部队,该部队包括2个美国大兵,3个动员兵和一个盟军工程师。
        2.建立脚本
        然后就该设置特遣部队的动作了,即脚本。同样先新建一个脚本

        同样上面的下拉框中包含了本地图全部的脚本,在下面的名称中输入脚本的标签,然后点击下面的添加按钮可以新建一个动作。同样动作可以建立多个,会按照序号依次执行。选择想要设置的动作序号,在下面的行为类型选择需要的动作,并且在某些需要参数的动作填好参数(有参数的动作一定要设置参数,不然可能该动作没有效果)。这样即可设置好一系列动作,这一系列动作的**就成为一个脚本。
        由于脚本中的行为类型选项很多,故在此不能一一说明,仅挑几个常用的说明,其余请参考其它文献。
        Attack:主动攻击敌方某些目标。参数选项1为任意攻击敌方目标,其余参数可根据其英文注释理解。如果没有可以攻击的目标,则关联的特遣部队会原地待命,并执行下一个动作。
        Attack Waypoint:强制攻击指定路径点。参数设置为需要攻击的路径点。
        Move to waypoint:移动到路径点。参数设置为要移动到的路径点。
        Patrol to waypoint:巡逻到路径点。与移动到路径点不同的是,在移动的过程中如果发现敌军会主动攻击。
        Deploy:使能够部署的单位进行部署。如美国大兵会坐下,基地车会展开成为主基地。
        Unload:使搭载了单位的运输工具释放出单位。参数有4个选项,意义分别是:
        0:保持运输工具和搭载单位共同执行后面的动作。
        1:保持运输工具执行后面的动作,而搭载单位原地待命。
        2:运输工具原地待命,搭载单位执行后面动作。
        3:运输工具和搭载单位都原地待命。
        Do this:根据所选参数作出特定的动作。参数选项有很多,同样只说几个常用的:
        0-sleep:睡眠状态,一动不动,被攻击也没反应,象一个木桩。
        5-Guard:原地防守。遇到敌人会主动攻击,但不会追击。如果自身受到攻击会主动追击。
        11-Area Guard:区域防守。对进入视野范围内的敌人会主动攻击,当目标脱离其警戒范围时会回到原地。
        15-Hunt:会自动搜索敌军并攻击,直到目标被消灭或自身被心灵控制及被毁。
        “Do this”中的参数指令与双击地图上绘制的单位出现的单位选项中的命令功能类似。
        3.建立作战小队
        有了建立好的特遣部队和脚本,就可以建立作战小队了。使用作战小队就可以将两者联系起来组成完整的“单位+动作”。
        新建一个作战小队

        同样最上面的下拉框可以查看和编辑地图中全部的作战小队,下面的名称填上作战小队的标签,中间的脚本和特遣部队就填上你设置好的脚本和特遣部队。这样作战小队就设置好了。说一下其它选项的作用:
        经验等级:指的是特遣部队的等级,1为新兵,2为一星,3为3星精英部队。
        参战方:指该作战小队属于那个国家。
        路径点:指小队出现时的初始路径点,通常只有用行为“7 援军(小队)”时才会用到,如果用了“80 援军(作战小队)【在路径点】”,行为参数中会有初始路径点的设置,这里就不起作用了。
        脚本和特遣部队下面有个标签,这个是与标签编辑器有关的选项,将在标签编辑器的介绍中说明。
        最下面有许多选项,指的是小队出现的效果。只说几个常用的:
        空降部队:勾选此项后,小队将以飞机空降的形式出现在初始路径点。
        完整小队:勾选此项后,如果特遣部队中有运输单位,则其它单位会被装进这个运输单位中,而且没有容量限制。此项是默认勾选的,设置有运输单位的作战小队时要注意此项,以免发生不期望的效果。
        其它的项目用处不大,可不必设置。
        调用建立好的作战小队
        制作好的作战小队要使用触发编辑器中的行为4,7,80,107适时进行调用,否则作战小队将失去意义。下面举一个调用作战小队的例子:
        首先按照下列顺序依次建立特遣部队、脚本和作战小队



        


        4楼2012-03-26 07:02
        回复
          然后建立如下触发




          之后在地图上绘制一个路径点0

          保存并运行地图,会看到2个美大兵、3个动员兵和一个盟军工程师从路径点98出现,然后移动到路径点0。这个过程就实现了作战小队的作用。

          


          5楼2012-03-26 07:05
          回复
            路径点、单元标记与标签编辑器的应用
            路径点
            在中篇作战小队的应用上已经提到过一些关于路径点的用法。路径点实际就是定位于地图中的某一坐标点,通过在地图上标记若干路径点,便于触发和脚本识别一些需要发生某些事情的特定位置。

            路径点通常用于脚本动作和触发行为中的参数。比如Move to waypoint(移动到路径点)其参数就需要用到路径点。也可用于触发行为中,例如行为“80 援军(作战小队)【在路径点】”其参数路径点即为作战小队出现的初始位置。亦可直接用于某些触发行为中,如“17 显示路径点周围区域”,此行为中可直接设置某一路径点为中心,这样行为就会将以此路径点为中心一定半径范围的区域显示出来。
            路径点的应用还有很多,总之只要是触发和脚本需要在地图上的某一位置做一些事情,就需要路径点去标记位置。也就是说路径点是为实现触发和脚本的某些功能而出现的。
            单元标记
            单元标记也叫做地标,同路径点的作用类似,也是用来标记地图上某些需要发生一些事情的特定点的,只不过它的功能相对路径点更单一,它是专门为触发中的事件服务的,最典型的就是触发事件中的“1 进入事件”。当在地图上建立一个单元标记的时候会弹出一个窗口,这是让你选择与之关联的触发标签。地标如果没有与之关联的触发标签是不起作用的。说到触发标签就不能不提到标签编辑器,后面将对单元标记和标签编辑器的联系进行说明。

            总之单元标记与路径点的相同之处在于两者都是用于标记地图上某些特定的坐标点,不同之处在于路径点是为触发行为和脚本服务的,有时也可用于触发事件,而单元标记是专为触发事件服务的。
            标签编辑器
            在触发编辑器的下面有一个标签编辑器,很多人认为这个编辑器貌似没多大用,因为触发需要标签进行标识,而当建立一个触发的同时系统就会自动为这个触发建立一个标签,在需要关联的时候只要直接选择这个标签就行了。其实标签编辑器还有其它工具做不到的特殊功能。
            首先声明这里所提到的标签跟前面不同,不再指名称一类的注释性文字,而特指标签编辑器中与触发关联的“标签”(触发标签)。标签的名称将直接称之为标签名称(即标签的注释性文字)。
            打开标签编辑器,看到以下内容

            上面的“标签”下拉框即可查看全部触发标签,在这里选择和新建触发标签,而下面的“名称”则是标签名称(标签的名字,即注释性内容)。再下面的“重复”是指该标签所关联的触发是一次性的还是重复性的,“触发”则是指该标签对应的触发。
            触发标签实际上就是一个触发的标识。在单元标记上选择与之关联的触发标签,则该单元标记就与这个标签所对应的触发产生了关联,也就是说这个单元标记只对这个对应的触发起作用,或者说这个单元标记与这个触发进行了绑定。如果在地图上绘制的单位或建筑选项里的“关联标记”一项选择与之对应的触发标签,则这个对象就会与标签中所指定的触发产生关联。当对象和触发产生关联的时候,触发中的一些特定的事件就可以起作用了(如“1 进入事件”“48 被任何事物摧毁”)。所以标签是联系触发和其它对象的纽带,标签的存在保证了触发可以更好的为其它对象服务。
            【触发】<——>【标签】<——>【其它对象】
            单元标记中的触发标签

            


            6楼2012-03-26 07:10
            回复
              关联对象中的触发标签

              作战小队中的触发标签

              标签的特殊应用
              标签的不唯一性与独立性
              一个触发默认有一个标签与之关联,这在触发建立时系统就自动为你建立好的。如果一个触发没有标签与之对应,则该触发将不能与上述对象和工具进行关联。一个触发允许具有多个标签,而每个标签只能对应一个触发。同一触发的不同标签之间是相互独立的,将其中任何一个标签与其它对象关联都可以使该触发与那个对象进行关联。
              多标签多次启动触发
              当一个一次性触发需要启动多次而非反复启动时,尤其需要在不同的地点启动多次时,按照通常的做法就要在不同的地点复制这个触发并使之与其对应地点的对象进行关联,比如要触发三次就要做三个同样的触发与各自对应地点的对象进行关联,这样一个一个做起来很麻烦,而且会使触发列表看起来更复杂。其实如果利用标签的上述特性完全可以用一个触发代替。只需给这个触发多建立几个标签,然后把新建的标签都命名为“这个触发的名字+标签的序号”,在每个不同的地点关联其中一个标签即可,这样由于标签的各自独立性,当其中一个标签被启动而使触发被启动时,并不会使其它地点也出现触发被启动的连锁反应,也就是当触发本体和对应它的多个标签的重复性都设为0时,每个标签都能够让触发启动一次,触发将不再是绝对的一次性触发了,不过每个标签使用过一次将失效,也就是一个一次性触发拥有几个标签,这个触发就能被启动几次。由于触发默认只有一个标签,其余的要自己建立,这就是说为什么通常一个一次性触发在没有特殊情况下只能被启动一次了。
              多标签对应同一触发



              


              7楼2012-03-26 07:10
              回复
                个人心得:
                教程只是本工具书,就如同字典一样,只是教会你如何利用地图编辑器的各项功能而已,真正的任务制作过程中会遇到各种各样的问题,这时候一些专项介绍的教程会适合你的需要.
                私以为做任务最难的是画出一张令自己和玩家都满意的地图,触发脚本什么的真的没什么.具体可参考冰天雪地处女作 尤里任务噩梦重温.
                多玩任务,多用编辑器打开一些精品任务自己研究,搞懂那些任务效果是怎么实现的,结合自己的制作看看有什么可以借鉴的地方.
                试着修改一些任务的细节,看看能不能达到自己想要的效果.
                最后,自己的任务一定要反复测试,反复测试,反复测试.即使是很经典的任务也会有哪怕很低级的BUG,比如烽烟四起盟军第3关.作出的任务至少要自己满意了才可以,这是一种态度.


                10楼2012-03-26 07:26
                回复
                  2025-05-30 07:22:10
                  广告
                  对于楼主的冒昧,本人对此表示道歉,希望楼主谅解,谢谢.这些教程的确对我很有帮助,有一个问下,在特遣部队中,可以在多功能中放一堆单位,像解放太湾第四关和中美战争那样的,实际应用中会弄混,请楼主赐教,谢谢.


                  IP属地:甘肃11楼2012-03-30 19:25
                  回复
                    赐教谈不上,本人也只是略知一二。作战小队选项卡里有一个“完整小队”的选项,当队伍中有装载单位时自动将其他单位装载进去并且忽略容量的。如果不想那样的话把完整小队前面的勾去掉就完了


                    来自掌上百度12楼2012-03-30 21:13
                    回复
                      貌似说得是解放太湾第三关吧。作者是用了触发和脚本结合把兵装到船里的,其实完全没有必要,而且十分复杂。用完整小队就可以实现


                      来自掌上百度13楼2012-03-30 21:25
                      回复
                        好东西啊,收藏了


                        14楼2012-07-08 11:52
                        回复
                          求解放台湾通关存档,tyssyzxx@126.com


                          来自Android客户端15楼2015-02-17 14:26
                          收起回复
                            从入门到进阶都看完了...也复制了张地图,悬崖不再是立方体了.....请问还有吗...


                            16楼2015-07-13 12:06
                            回复
                              2025-05-30 07:16:10
                              广告
                              那么关于节点的进阶呢,如何让ai建立指定建筑


                              IP属地:四川来自Android客户端17楼2016-08-01 16:36
                              回复