电脑技术学习

红警任务地图制作教程

dn001

新手常犯的错误:
一、在删除某个Trigger,Team,Taskforce,Script时只删了其中的一个部分,而不是删除其整体。
二、由于新建的Script并非默认的当前Script,很容易编辑了其他的Script,自己还以为在编辑新Script。
三、在写Trigger时把House选项弄错了。
四、不知道使用不同的环境同一事物有不同的效果。

如何让援兵坐在运兵船中进入地图
以下是本人的做法。
第一步:设定两个路径点,一个是运兵船出来的地点,ID为66,放在地图边界外面;另一个是士兵下船的地点,ID为67。(也可以设为其他的ID)
第二步:创建一个Taskforce,叫做GIinTransport,由五个大兵和一艘运兵船组成。
第三步:写Script。取名为ReinforceGI,设四个Action,第一个是Move to Waypoint,参数是67。第二个是Unload,参数为1(保留交通工具,丢掉其他部队,也就是说只有交通工具会执行接下来的步骤)。第三个是Move to Waypoint,参数是66。第四个是Self Destruct。
第四步:设置Team。也取名为ReinforceGI, Waypoint项设为66,Script和Taskforce就是前面提到的。对话框下面的选项仅保留一个Full(这样部队就会在运兵船中)。
第五步:写Trigger。Event是13 Elapsed Time...;Action是4 Reinforcement Team...,参数是ReinforceGI。

如何让士兵坐进IFV
要点就是把士兵和IFV编为一队,注意Team的Full选项不能打勾。然后让他们从一个地点移动至另一个地点,再执行load onto transport。(注意:该方法不能用于运兵船和直升机,否则会产生奇怪的结果)

如何让士兵占领建筑
在RA中,直接在建筑物上设一个waypoint,然后在script中让士兵攻击此waypoint即可。
在YR中复杂一些。打开ini编辑器,找到要用的script, 新建一个action值,参数分别为64,0,士兵就会占领最近的建筑物。也可以用记事本打开地图文件直接编辑。但是,这个参数有极大的不稳定性。在改完之后,不要再回Script Editor去编辑该Script,否则,由于FA本身不支持该参数,会将64,0改成其他值,后果变得不可预料。

如何让工程师进入建筑
就是让他Attack Enemy Buidings。注意,这只对AI有效。玩家的工程师好像没那么聪明,他只会走进去走出来,而不会占领。真是奇怪。

如何让电脑的部队从重工和兵营中出来
首先,需要一个触发事件来启动。比如:Production begins...Auto base building... Autocreate

Begins.., 或者预设的自动建造触发事件(包含了前面的两个action)。
在trigger的action中设create team,把waypoint的值也空出来。
关于制造前提:大部分的制造前提对AI来说是无用的,只要有地方让部队出来即可,只有RequiredHouse和FobiddenHouse是例外。

如何让电脑自动造建筑
在trigger的action中设create building或auto create base buildings。有几点要注意:一、首先AI要拥有足够的金钱和一个建造厂,这一点十分重要。二、如果设定了BASE NODE,则电脑一旦开始建造NODE指示的建筑,就不再建造其他建筑。如果没有,则电脑会自行其事,造它认为合适的本阵营的建筑,效果和遭遇战模式相仿佛。
另外,之前要有一个触发事件来启动。比如Production begins...Auto base building...或者预设的自动建造触发事件。

如何改变单位和建筑的属性
使用ini编辑器,新建要改变属性的单位和建筑的section,如果已有则在原基础上修改。新建section的名字是rules.ini文件中的登录名。然后再新建要修改的属性项,并设定它的值。

在战机的script中,不要轻易使用Move to waypoint,就象在实战中战机不能使用路径点一样,如果在任务地图中让战机执行类似操作,比如从创建点飞到一个地点,然后再攻击敌人的建筑物,则战机在飞抵指定地点后会坠毁。

Elapse Time...指的是Trigger被激活之后过的时间,Trigger一般在开始的时候即被激活,除非被Disable掉。


编辑RA的地图时,要在编辑器的选项栏直接选只用于RA,否则会出现内部错误。


一个使某块地区自动散去迷雾的办法:在那里设一栋平民建筑,把OWNER设为自己的一方。当然也可以放置其他部队。

预先放置于地图上的部队,其Veteran Status的值为100时代表一条杠,200代表三条杠。

如果让一队战机同时出来执行任务,它们通常是重叠在一起的,看上去就像一架似的。解决这个问题的办法是TaskForce只设一架战机,在被触发时执行同样的Action几次。由于时间上有先后,出来时就不会重叠了。

以下Action仅在YR中起作用,且不能通过Script Editor获得,而只能通过INI Editor或者直接用记事本打开地图文件设定。
59,X : 进入路径点 (X)的建筑
60,0 : 进入碾磨机
61,0 : 进入坦克碉堡
62,0 : 进入生物电站
63,0 : 进入最近的拥有的建筑(比如战斗碉堡)
64,0 : 进入最近的平民建筑


下一关在Battle.ini中设置。


宝箱代码一览:
0=MONEY Gives chunk of cash 金钱
1=UNIT Random unit 随机单位(可在rules.ini中设置)
2=HEALBASE Heals all objects 修复所有建筑和部队
3=CLOAK OBSOLETE - makes object submarine (old cloak effect) 旧的隐形效果(仅仅是效果,没有实际意义)
4=EXPLOSION Explodes 爆炸
5=NAPALM Fire death (infantry only) 人员灭亡
6=SQUAD OBSOLETE - gives player money instead, effect unknown although some logicis attached 金钱(少一些)
7=DARKNESS Shrouds entire map 黑暗,用迷雾遮掩整个地图
8=REVEAL Reveals entire map 显示整个地图
9=ARMOR Upgrade to Armor 护甲加强
10=SPEED Upgrade to Speed 速度加快
11=FIREPOWER Upgrade to Firepower 攻击力加强
12=ICBM One-time Nuke 一次核弹使用权
13=INVULNERABILITY OBSOLETE 旧的不受伤害效果(没用)
14=VETERAN Promote to veteran 等级提升
15=IONSTORM OBSOLETE 旧的离子风暴(没用)
16=GAS Trigger firing of [GAS] warhead 气体弹头攻击(有一定伤害值)
17=TIBERIUM Random amount of Ore 随机矿藏
18=POD OBSOLETE


在csf文件的loadbrief包含了每个任务关的启动前文本和每个国家的特色介绍。GUI包含了超过平均时间和在平均时间以下的游戏结束文字。具体的设置可以用记事本打开地图,在以下字段中编辑:
[Ranking]
ParTimeEasy=00:15:00
ParTimeMedium=00:10:00
ParTimeHard=00:06:00
UnderParTitle=GUI:ParTitleALL02
UnderParMessage=GUI:UnderParMsgALL01
OverParTitle=GUI:ParTitleALL01
OverParMessage=GUI:OverParMsgALL01

在YR中,有一个回到过去的效果,其实是把一张地图分成两半。开始时有一半是不可见的,触发后先执行一个满屏时空转移效果(127 Chrono Screen Effect for ...),再执行40 Resize Player View...
在Resize Player View...这个Action中,四个参数的意义和说明不符,分别为:Bottom高度,Left左边界,Right宽度,Top上边界。

CreateSound=Dummy可以消除制造部队的声音。

RA2中隐藏的素材。
Aircraft:
FORTRESS - Looks like a stealth bomber
ORCAB - Orca
DSHP - Transport
DPOD - Really small thingy
SCRIN - Flying disc
ORCATRAN - Looks kind of like the car from Back to the future

Vehicles:
SUBTANK - Kind of rectangular, maybe apc like
2TNK - Really small tank
FTNK - Old flame tank
APC - APC
4TNK - Small mammoth tank
SONIC - Looks kind of like the prism tank
STNK - Stealth Tank
HVR - Hover MRLS
BGGY - Nod Buggy
ICBM - Weird thing that kind of looks like a V3
在地图编辑时可以激活这些素材


如果不作设定,则货运飞机来的方向是随机的。在单人地图中,可以在team中设定cargo waypoint,那就是货运飞机起飞的地点。如果不用这个方法,可以在House中设定map edge,那个方向就是货运飞机来的方向。

油桶如果是属于平民方的,则在RA2中无法正常显示。

环境光线的绝对值在lighting中是小数,在触发事件中则用0到100的数相对应。

使桥断裂的方法:在桥上(桥下)放置路径点,在该点持续制造100点的破坏值,频率为每1秒进行一次,持续时间20秒即可。该效果由两个触发事件合成,一个控制破坏本身及其频率,另一个控制持续时间。

把同一个对象附到不同触发事件上的方法:
设有触发事件1和触发事件2,把对象附到触发事件1上,把触发事件2也附到触发事件1上,把触发事件2的Tag删掉,把两个触发事件都设为可重复。
说明:每个触发事件应对应一个Tag。在一般情况下,Tag是随着触发事件的创建而自动生成的。如果把一个触发事件的Tag删除,则该触发事件不会被执行。
可以把一个触发事件附到另一个触发事件上,这样两者便共享一个Tag。为防止混乱,可把所附触发事件本身的Tag删掉。由于触发事件上所附的其他对象实际上是附在其Tag上的,这样,共享一个Tag的两个触发事件便拥有同样的附件。
对于不可重复的触发事件而言,执行一次后其Tag即失效。为了使共享一个Tag的两个触发事件都有效,该Tag必须是可重复的。

要在间谍进入建筑后触发一个事件,不是用spied upon,而是用entered by,为了保证是由间谍进入的,可以单独赋予间谍一个阵营;也可以把要进入的建筑的Capturable属性改为no。

关于招募:
用Create Team创建的小队可以招募业已存在的单位(即使在Team设置中并没有选定recruiter)。前提是这些单位必须是可被招募的,同时已完成其本身的任务,处于空闲状态。如果没有可招募的单位,则另外生产。

Reinforcement和Create的区别:前者纯粹是额外收获,后者必须从工厂出来或招募而来。

要使几个任务关一关接一关地执行下去,必须把它们放在同一个目录层次下。

在rules.ini的IQ设置中规定了每一个IQ级别的AI会做什么事情。在FA的House中可以设置每一阵营的IQ是什么级别。如果人类玩家的IQ被设为高级别,则建筑会自动修复,部队也会变得更有攻击性。如果电脑玩家的IQ被设得很低,也许它不会自动修复建筑,即使建筑的属性是自动修复的。
但较高的IQ也会出现一个问题,那就是电脑会制造一些你不想它制造的部队。这时候的解决办法一般是使预设的自动制造AI触发失效。注意,不要在其他的触发事件中出现auto create teams...

作为被删除了建筑的BASE NODE,其原有属性不再存在。

不要把几个运输工具(运兵船等)编在一起,这样很容易导致死机。解决的办法是把同一个小队创建几次,每个小队包含一个运输工具。

综上所述,如果要电脑完全听话,最合理的方案是使预设的自动建造触发事件失效,然后创建一个自动建造基地的触发事件。建筑用BASE NODE,部队用CREATE TEAM.

RADAR EVENT的0是红色的,1是蓝色的,2是黄色的。

如何把RA的地图改成YR的地图
首先,确认在FA的settings中选定了支持MOD。然后打开原来的文件,在上面随便加个YR中特有的建筑,再另存为all01umd.map就可以了。


如何在一栋建筑受到攻击时发出警告
首先,该触发事件(1#)是可重复的,一开始即被激活。其Event是所附的建筑受到攻击,其Action是发出文字、声音或雷达警告。但光是这样还不够。因为敌人的攻击不是一下子就结束的,于是便会有一个恼人的结果,

那就是警告发了又发,发到你烦。
为了解决这个问题,必须对该触发事件进行一定的改造。我的方法是:另外再设一个2#触发事件,也是可重复的,一开始是不起作用的。其Event是经过一定的时间,其Action是激活1#并使其自身(2#)失效。再在1#的Action中加两条,激活2#并使其自身(1#)失效。于是,整个的逻辑链条就是:受攻击―发出警告―1#失效(暂时不再发出警告)―激活2#―经过一定的时间―激活1#并使2#失效,如此循环往复。

使用流星雨时,尺寸定为7时效果最好。

在编辑多人地图时,可用代码4475~4482来代替玩家1~8的阵营。它们的名称分别是 <Player @ A> <Player @ B>…… <Player @ H>

可以设置平民建筑的价值为很高的值,这样摧毁该建筑的部队就可直接升到三级。