全站导航
手机版
首页>游戏>mod模组>红色警戒2帧数补丁
红色警戒2帧数补丁

红色警戒2帧数补丁

  • 类型:mod模组
  • 版本:
  • 平台:安卓
  • 语言:中文
  • 更新:2024-07-16 15:31:32
  • 厂商:暂无
8.4
详情

红色警戒2帧数补丁是一款用于优化游戏运行流畅度和帧率的补丁工具。通过一系列技术手段提高游戏的帧率表现,使得游戏画面更加流畅,提升玩家的游戏体验。对于那些希望在享受游戏的同时保持高帧率的玩家来说,这款补丁是一个非常有用的工具。

玩法攻略

红色警戒2补丁介绍

来源可靠性:确保补丁来自可靠的网站或社区,避免使用未经验证的补丁,以减少潜在的风险。

杀毒软件检测:下载补丁后,使用权威的杀毒软件对其进行扫描,确保没有携带恶意软件。

创建备份:在打补丁之前,对原始游戏文件进行备份,以便在出现问题时可以恢复。

关注兼容性:选择与当前系统版本兼容的补丁,尤其是考虑到不同Windows操作系统之间的差异。

红色警戒2AI(MD)

ai(md).ini里包括4个部分:[TaskForces]、[ScriptTypes]、[TeamTypes]、[AITriggerTypes]

[TaskForces] ;决定AI的小队中包含哪些单位,建造顺序从上到下。

首先是注册表,格式跟正常注册表一样:索引=注册ID。可以跳数。

0=注册项0

1=注册项1

……

然后是每个注册项:

[注册项0]

Name=名称 ;随便写反正不读,仅供编写者记忆和查找用。

0=数量,单位注册名

1=数量,单位注册名

……

5=数量,单位注册名

Group=-1 ;无特殊需要建议保留原值-1

;索引只读取0~5(相当于两个G胖),且无视顺序(也就是说你可以跳数写或者倒序写或者多写,反正不会数6)。

[ScriptTypes] ;决定AI的小队执行哪些指令,执行顺序从上到下。

首先也是注册表,格式跟正常注册表一样:索引=注册ID。也可以跳数。

0=注册项2

1=注册项3

……

然后是每个注册项:

[注册项2]

Name=名称 ;随便写反正不读,仅供编写者记忆和查找用。

0=X,Y ;X:指令,Y:参数

1=X,Y

2=X,Y

……

49=X,Y

;跟TaskForces索引类似,但是读取0~49。

以下是部分指令解释(标★为常用,☆为特定情况下有用):

(X,Y)

★0,n - 攻击最近的目标,目标类型由n指定。(海军不可用!用了这条语句的海军小队AI根本不会建造。)

n = 0 - 任何目标([VehicleTypes]/[AircraftTypes]/[InfantryTypes]/[BuildingTypes])(飞机类会跳过这句。)

1 - 同0,0

2 - 建筑物([BuildingTypes])

3 - 资源类(Storage=)

4 - 步兵([InfantryTypes])

5 - 载具([VehicleTypes])

6 - 工厂([BuildingTypes],Factory=)

7 - 防御建筑([BuildingTypes],IsBaseDefense=yes)

8 - 同0,0

9 - 电厂([BuildingTypes],BuildCat=Power)

10 - 可驻军建筑([BuildingTypes],CanOccupyFire=yes)

11 - 中立科技建筑([BuildingTypes],NeedsEngineer=yes)

★1,n - 攻击n号路径点,工程师/间谍/突击队都可以用这句完成占领/渗透/清理。

2,0 - Cyborg狂暴化(无效)。

☆3,n - 移动到n号路径点(Waypoint)。

☆4,n - 移动到n号单元标记(CellTag)。

☆5,n - 警戒(Guard)状态保持n*6秒。

★6,n - 跳转到当前Script的第n(n=索引+1)行。

7,0 - 钦点该Team所有者获胜。

★8,n - 释放乘客

n = 0 - 保留运输工具和乘客执行接下来的指令。

1 - 只保留运输工具。

2 - 只保留乘客。

3 - 全解散。

★9,0 - 部署。(步兵、基地车、武装直升机皆有效)

10,0 - 跟随最近的友好单位。(如果写在Script的第一行,将会无条件跟随产生的第一个小队)

★11,n - 进入第n种状态(通常能在Rules里找到并修改相应状态),无法执行该Script内接下来的任何指令。(可以通过重组至其他小队来终止任务)

n = 0 Sleep - 休眠。

1 Attack - 根据威胁等级进行TeamType中的攻击任务。

2 Move - 移动。

3 QMove - 在其他部队移动结束后移动到目的地。(遭遇战无效)

4 Retreat - 撤退(可能会逃出地图)。

☆5 Guard - 防御,只攻击进入射程内的敌人。

6 Sticky - 与防御类似,会与敌人交战但不会移动和追击。(默认无法重组,但是可以改)

☆7 Enter - 进入建筑或运输工具。AI会自动找寻附近的建筑物进驻。

8 Capture - 用于MultiEngineer模式的工程师抢建筑。

9 Eaten - 修理时卖掉(疑似Ra95残留)。

10 Harvest - 采矿。

★11 Area Guard - 区域防御,会主动迎击附近的敌人。

12 Return - 子机回归。

13 Stop - 停止当前动作。

14 Ambush - 无效。

★15 Hunt - 猎杀敌人。(伞兵默认执行此状态。【海军、空军均有效】。默认无法重组,但是可以改)

16 Unload - 运输单位卸货。

17 Sabotage - 放置C4或炸药。

18 Construction - 在建筑建立的位置造建筑。(车辆部署建筑同样有效)

19 Selling - 变卖建筑。

20 Repair - 修理。

21 Rescue - 救援(意味不明)。

22 Missile - 种蘑菇。

23 Harmless - 进入人畜无害状态。

24 Open - 开门开门开门呐!

25 Patrol - 巡逻。(遭遇战无效)

26 Paradrop Approach - 空投靠近。

27 Paradrop Overfly - 空投。

28 Wait - 等待。

29 Move - (特殊)Chrono类单位移动到目的地。

30 Attack - (特殊)使用AreaFire武器开火。

31 Spyplane Approach - 侦察机靠近。

32 Spyplane Overfly - 侦察机侦查。

★14,0 - 队伍中存在有Passengers位置的运输工具,并且其余单位Size和PhysicalSize满足运输条件时,乘客们进入运输工具。(实际使用时,一个队伍里只能存在1个运输工具)(运输步兵时可以在14,0之后加43,0保证单位装载完毕,运输车辆时不可接43,0)

16,n - 沿着n号路径点巡逻。巡逻途中会按照PatrolScan搜寻附近敌人并与敌人交战。通常用于任务,多了会卡……

17,n - 变为执行第n号脚本(n为该脚本在注册列表中的【顺序号】而非索引号,从0开始)。理论上可以用来实现超过50行的脚本……

18,n - 改变小队,让当前小队加入第n号小队(n为该小队在注册列表中的【顺序号】而非索引号,从0开始)。理论上可以用来实现超过6行的大队……

19,0 - 恐慌,小队中有Fraidycat标签的成员会乱跑,并且播放Panic序列,没有该标签的会卧倒。

20,n - 二五仔,任务限定。

☆21,0 - 分散部队,某些情况下有奇效。

22,0 - 躲猫猫……

23,0 - 决定该Team所有者失败。

29,0 - 任务中用于让AI自动建造。

30,0 - 卖家一波流。

31,0 - 自戕以谢天下。

41,0 - 不怕不怕,与19,0相反。

42,n - 改变朝向。

n = 0-北

1-东北

2-东

3-东南

4-南

5-西南

6-西

7-西北

43,0 - 等待运输单位完全装载完毕。运载步兵时可以用在14,0之后,运载车辆时不要使用!

★46,N - 攻击N指定建筑。(工程师为占领、间谍为渗透、突击者为清驻兵、海军可用此指令攻击陆地建筑)

N=该建筑在注册列表中的【顺序号】+判定系数,从【0】开始(然而原版建筑注册是从1开始)。判定系数分别为:0-最小威胁、65536-最大威胁、131072-最近、196608-最远。

推荐计算方法:把建筑列表复制进excel,【查找重复项并去掉重复项】,从1开始重新生成序号。

按照上述方法,指定建筑时就可以用以下公式:

-1 + 序号 = 选择指定建筑中威胁最小的。

65535 + 序号 = 选择指定建筑中威胁最大的。

131071 + 序号 = 选择指定建筑中距离最近的。

196607 + 序号 = 选择指定建筑中距离最远的。

以YR为例:

萌军电厂1=GAPOWR,4种计算结果分别为0、65536、131072、196608

光头电厂306=YAPOWR,由于中间185和241都注册成了NAPSYA,253和273都被注释掉了,304根本不存在,所以光头电厂的顺序其实是302,4种计算结果分别是301、65837、131373、196909。

★47,N - 移动到N指定敌方或中立建筑附近。N的计算方法同上,"附近"的范围由CloseEnough指定。(海军可用)

48,0 - 侦查。(遭遇战无效)

★49,0 - 任务执行成功。小队每执行一次49号指令,都会在该AITrigger中增加AITriggerSuccessWeightDelta的权重。如果被消灭之前没能执行49号指令,则减少AITriggerFailureWeightDelta*AITriggerTrackRecordCoefficient的权重。

★53,0 - 在敌人基地附近集合,距离由AISafeDistance决定。(海军有效)

★54,0 - 在友方基地附近集合。距离由AISafeDistance决定,Ares中由AIFriendlyDistance决定。(海军有效)

☆55,0 - 如果铁幕就绪,则为该小队罩铁幕。

☆56,N - 如果超时空传送就绪,则传送该小队至N指定建筑物,N算法见46号指令。

☆57,n - 如果超时空传送就绪,则传送该小队至n指定类别,n类别同0号指令。

★58,N - 移动到N指定友方建筑附近,N算法见46号指令。(海军可用)

59,n - 攻击n号的路径点。

60,0 - 进入回收站。

☆61,0 - 进入坦克碉堡。

☆62,0 - 进入生化发电厂。

63,0 - 进驻最近的战斗碉堡。(经常不灵)

★64,0 - 进驻最近的可驻军建筑。(即使是用来占己方碉堡,也比63更稳定……)

与其他项目不同,Script通用性很强,尤其是进攻型小队,可能会有很多不同的小队执行相同或类似的任务——比如各种反载具小队都可以通过同样的攻击车辆的指令来达到反载具的目的。因此在制作AI时,可以先制作一个“Script池”,把泛用性较强的脚本(如反装甲、反步兵、拆塔、抄家等)放进池子里,建立TeamTypes的时候就可以直接从池子里调用。可以省去大量重复性的工作。

[TeamTypes]

首先还是注册表,格式跟正常注册表一样:索引=注册ID。也可以跳数。

0=注册项4

1=注册项5

……

然后是每个注册项 ;如无特殊标记,均可直接复制。:

★[注册项4]

☆Name=名称 ;随便写反正不读,仅供编写者记忆和查找用。

VeteranLevel=1 ;无视。

MindControlDecision=0 ;被心灵控制后的动作,0=随缘、1=加入控制者作战小队、2=部队回收厂卖钱、3=生化反应炉填电、4=搜索敌人、5=摸鱼

☆Loadable=yes/no ;运载单位写yes会计算ContentScan。

Full=no ;无视。

Annoyance=no ;无视。

GuardSlower=no ;无视。

House= ;无视。

★Recruiter=yes/no ;可否从低优先级的队伍和闲置单位中直接调用成员。

☆Autocreate=yes/no ;结合地图预置单位生效。遭遇战中,在条件满足的情况下,平均每隔AutocreateTime规定的时间,制造一队带有Autocreate的小队。

☆Prebuild=yes/no ;可能会在不需要时提前造好该队伍。(待确认)

Reinforce=no ;无视。

Droppod=no ;无视。

UseTransportOrigin=no ;无视。

Whiner=no ;无视。

LooseRecruit=yes/no ;完成任务后解散。(实用性待确认)

★Aggressive=yes/no ;和Suicide共同起作用。

★Suicide=yes/no ;和Aggressive共同起作用。

★Priority=num ;优先级。

★Max=num ;该小队最大生成数量。

TechLevel=0 ;无视。

Group=-1 ;除非特殊需要。另:-2时会选取任何TaskForce。

OnTransOnly=no ;无视。

★AvoidThreats=yes/no ;是否会按威胁计算方法寻找最小威胁路径。

IonImmune=no ;无视。

☆TransportsReturnOnUnload=yes/no ;运输工具完成任务后是否回家。

★AreTeamMembersRecruitable=yes/no ;队伍成员可否被调去更高优先级的队伍中。

★IsBaseDefense=yes/no ;守家部队。

★OnlyTargetHouseEnemy=yes/no ;是否只针对敌对方。

★Script=ScriptTypes ;注册在[ScriptTypes]里的Script。

★TaskForce=TaskForce ;注册在[TaskForces]里的TaskForce。

Aggressive和Suicide:

这两句共同决定AI执行脚本过程中是否主动攻击敌人,以及受到攻击时是否还击。

(1)执行0号,1号,46号,59号指令时:Aggressive和Suicide无论写啥,都不会对射程内的敌人进行攻击,而是继续执行当前脚本。如果受到攻击,Suicide=no会进行还击。

(2)执行3号,47号,53号指令时:如果Aggressive=yes和Suicide=no,则会对进入射程的敌人进行攻击,在攻击结束后继续执行脚本。如果受到攻击,则会进行还击,并在还击结束后才继续执行脚本。其余情况均不会对射程内的敌人进行攻击,也不会还击。

(3)执行16号指令时:只要Suicide=yes,就会攻击进入射程的敌人,并且在攻击结束后继续执行脚本,但是受到攻击不会还击。如果Aggressive=yes和Suicide=no,与(2)相同。如果都是no,那么会变向路径点移动边进行攻击,如果受到攻击,则在射程内进行还击,其余情况继续移动执行脚本。

Recruiter、AreTeamMembersRecruitable、Priority:

可能是最神奇的几个语句,能让AI完成相对复杂的队伍重构工作。目前测试结果表明作用方式如下:

如果TeamA和TeamB有重合的单位并且同时存在于场上,且TeamB的成员所在状态是Recruitable=yes的,TeamA具有Recruiter=yes,TeamB具有AreTeamMembersRecruitable=yes,且TeamA的Priority大于(等于)TeamB,那么AI在招募TeamA时就会优先从TeamB中调取单位,而不是直接从工厂制造该单位。

另,一个Recruiter=yes但是Priority=0的队伍,也可以从无队伍的闲置单位中调取单位。

Autocreate:

生效前提是Recruiter=yes。

地图预置单位都有AUTOCREATE_NO_RECRUITABLE和AUTOCREATE_YES_RECRUITABLE两个标签,Autocreate会结合地图预置单位的这两个标签生效,会优先招募地图预置单位。

预置单位的标签位置根据其类型决定:

[Infantry]

INDEX=OWNER,ID,HEALTH,X,Y,SUB_CELL,MISSION,FACING,TAG,VETERANCY,GROUP,HIGH,AUTOCREATE_NO_RECRUITABLE,AUTOCREATE_YES_RECRUITABLE

[Units]

INDEX=OWNER,ID,HEALTH,X,Y,FACING,MISSION,TAG,VETERANCY,GROUP,HIGH,FOLLOWS_INDEX,AUTOCREATE_NO_RECRUITABLE,AUTOCREATE_YES_RECRUITABLE

[Aircraft]

INDEX=OWNER,ID,HEALTH,X,Y,FACING,MISSION,TAG,VETERANCY,GROUP,AUTOCREATE_NO_RECRUITABLE,AUTOCREATE_YES_RECRUITABLE

作用方式:

Autocreate=no时,AUTOCREATE_NO_RECRUITABLE=0的预置单位无法招募,AUTOCREATE_NO_RECRUITABLE=1可以招募,预置单位不够时会通过工厂生产补足队伍,预置单位无法响应招募时无法通过工厂生产替代该单位。

Autocreate=yes时,AUTOCREATE_YES_RECRUITABLE=0的预置单位无法招募,AUTOCREATE_YES_RECRUITABLE=1可以招募。预置单位无法响应招募时会从工厂生产来补足队伍,但是AUTOCREATE_NO_RECRUITABLE=1的单位无法通过工厂生产替代。

[AITriggerTypes]

首先这个没注册表……其次格式如下(最好直接复制已有的然后再改)。

1234567-G=Name瞎编一个就行(不能有,),7654321-G,,3,1,GAREFN,0A00000002000000000000000000000000000000000000000000000000000000,500.000000,0.000000,500.000000,1,0,1,0,,1,1,1

注册项6=Name,TeamTypesA,国家,TechLevel,条件,前提,前提条件参数,基础权重,权重下限,权重上限,是否用于遭遇战(0-否,1-是,写1即可),0,阵营,0,TeamTypesB,简单AI能否使用(0-否,1-是),中等AI能否使用(0-否,1-是),困难AI能否使用(0-否,1-是)

以下是各项解释:

Name - 名称 ;随便写反正不读,仅供编写者记忆和查找用。

TeamTypesA & TeamTypesB - 第一小队 & 第二小队:分别判定,而且第二小队先造。(不建议用第二小队,写最好)

国家 - 如果不涉及专属单位就写,需要设置专属单位就写该国家注册名。

TechLevel - 无特殊需要可以写1,如果有特殊模式可以按模式需要自行拟定。

条件,前提,前提条件参数:

条件,前提:

-1, 任何条件

0,前提 敌方拥有(前提)指定的单位

1,前提 己方拥有(前提)指定的单位

2, 敌方电力黄

3, 敌方电力红(间谍偷电成功时有效)

4, 敌方金钱大于或等于

5, 本方铁幕装置就绪

6, 本方超时空传送就绪

7,前提 中立方拥有(前提)指定的单位

前提:单位注册名,AircraftTypes,BuildingTypes,InfantryTypes,VehicleTypes皆可。

前提条件参数:格式写作XXXXXXXXYY000000000000000000000000000000000000000000000000000000,64位长度,16进制。前10位有效。前8位代表数值,第9、10位代表算法值。

(前8位是程序猿格式,要两位两位写,比如5000的16进制是1388,这里就要写成8813,10W的16进制是186A0,这里就要写成A08601,不过除了金钱也没其他数字会写这么长)。算法2位:00 - 小于,01 - 小于等于,02 - 等于,03 - 大于等于,04 - 大于,05 - 不等于。

例:如果触发条件是"敌方拥有的BILLY小于等于144个",那么就写成"0,BILLY,9000000001000000000000000000000000000000000000000000000000000000"

三个权重:控制AI在满足条件下激活该触发的可能性。数字写多少都行,整数小数都没问题,当然最好控制合理些以便AI可以抽到不同的触发。(【只有】两个特殊值:0 - 完全不触发。5000 - 满足条件必触发)

阵营:1-萌,2-联,3-尤,4-第4阵营,5-第5阵营……(0-全)

三个难度(这次WW没写倒):用来区分不同难度的AI。

运用:AITrigger的重点在于为AI不同发展时期的Team安排不同阶段的触发条件。比如初期低级兵种Rush就可以将前提条件设定为"己方不存在机场/雷达/其他高科技建筑",这样在AI拥有高级科技建筑以后就不会再爆初期队伍了。此外还可以利用AI权重变化,把AI权重降为0,AI就彻底不会出这支小队了。

以上只是简单的举例,具体到如何编排AI的队伍,就要各位modder自己开动脑筋了。

关于机场飞机:

Ra2对机场飞机的判定极为坑爹。飞机一旦离地,AI就会倾向于认为飞机"没了"……而一旦AI造的机场飞机和正好回归的飞机撞了停机坪,就有大概率弹框。

目前较为稳妥的方式是,用飞机自身的数量作为触发前提,尽可能单个制造。需要群体出击的话通过重组组成大队出击,但是补充飞机时优先重组现有飞机。

大体流程如下:飞机数量小于4(视机场数量和停机坪数量而定)时,制造包含1架飞机的低优先小队,该小队Max=4。飞机数量等于4时,编成4架飞机组成的高优先级队伍出击。高优先级小队可以调用低优先级小队成员。

利用重组的方法,减少AI大批量造飞机的可能性,这样即使偶尔撞停机位也不至于崩溃。

以上就是AI(MD).ini的四个主要板块,其实还是很好理解的。

关于命名:

原版AI条目都是毫无规律的数字。但是在自己编写AI的时候,完全可以采用有规律的命名方式,这样在4个部分切换的时候会非常方便记忆和查找。采用何种规律取决于自己的记忆习惯,只要不超过32个字节即可。

另:-G完全没用,唯一的用处是可以确保AI项目的注册名不会跟其他项目的注册名重复。

以下举几个命名规律的例子,四个[]分别对应[TaskForces]、[ScriptTypes]、[TeamTypes]、[AITriggerTypes](实际写的时候AITriggerTypes没有[]):

[3HTNKTask-G]、[3HTNKScript-G]、[3HTNKTeam-G]、[3HTNKTrigger-G]

[3HTNK001-G]、[3HTNK101-G]、[3HTNK201-G]、[3HTNK301-G]

[AL000001-G]、[AL100001-G]、[AL200001-G]、[AL300001-G]

[3ENG-G]、[CapOil-G]、[3ENGCapOilTeam-G]、[3ENGCapOilTrig-G]

[Ass♂We♂Can]、[Deep♂Dark♂Fantasy]、[Thank♂You♂Sir]、[DA☆ZE]

[金坷垃]、[是我哒]、[真不傻]、[不给他](用中文和!会出bug,不建议)

其他:吱吱酱的AI检查脚本是极好的辅助工具,能够查出不少容易被忽略的细节疏漏。

第五章 地图相关

地图中可以单独添加AI,为了区分地图中的AI和aimd.ini中的AI,通常把写在aimd.ini中的叫做全局AI,写在map里的叫做和本地AI。

[General]、[TaskForces]、[ScriptTypes]、[TeamTypes]、[AITriggerTypes]都可以在地图里单独设定,且优先级高于ini文件。

在制作玩法较为特别的地图时,为地图单独设定一套专有的AI会大大提高地图可玩性。

且地图里可用路径点来完成一些全局AI无法通用的操作。

另外有两句十分重要的语句:

[Basic]

IgnoreGlobalAITriggers=bool ;是否屏蔽全局AI。AI测试图的关键语句。另外一些特殊玩法地图也可以屏蔽掉全局AI,用地图内置AI取代全局。

AI的编写和测试是一个繁琐的工作。自制一张简易的AI测试图会非常有帮助。AI测试图需要的大概就只有两个发展空间足够大的岛和一条通道,再摆上一些中立建筑可进驻建筑之类的,用以测试一条完整的AITrigger能不能顺利触发,用处巨大。

[AITriggerTypesEnable]

对【遭遇战地图】,控制本地AI是否生效,对全局AI完全无效。格式"通常"是:AITriggerTypes注册名=bool。

目前可以确定遭遇战地图中必须把本地AITriggerTypes=写进去才能生效,但是"="后面写任何东西都算激活该条AITriggerTypes。不写或只写到=则视为该AITriggerTypes无效。

举个栗子:

某遭遇战地图的[AITriggerTypes]项下有AI555、AI998、AI2333、AI6666、AI114514一共5个本地AITriggerTypes,[AITriggerTypesEnable]写成如下鸟样:

[AITriggerTypesEnable]

AI555==

AI2333=倪达耶德

AI6666=no

AI114514=

那么AI555、AI2333、AI6666生效,AI998和AI114514都不生效。

对【战役地图】生效方式很(待)奇(确)葩(认),据说战役地图全局AI默认yes,本地AI默认no。[Basic]IgnoreGlobalAITriggers=yes会覆盖AITriggerTypesEnable中列出的全局AI。

如果要禁用部分全局AI,则应将要禁用的全局AITriggerTypes在此列出并写no,同时IgnoreGlobalAITriggers写为no。

如果要在开局时启用部分本地AI,则要将本地AIAITriggerTypes在此列出并写yes。

此外还可以通过触发无视以上步骤激活本地AI。

Ares地图相关:除了预置单位以及开局就刷出来的单位,地图触发无法刷出带载荷的运输单位,因此需要通过其他方法实现刷载荷单位。

PLUS Ares平台下的AI骚操作

虽然Ares在AI方面并没有多少针对性改动,不过却在无意之间为AI提供了更多可能性。

套皮单位:

Ares最有价值的一环,即玩家无法识别的套皮单位。然而AI却可以识别,如何只能让AI制造套皮单位就是应用的关键。

如果是直接制造,我们知道AI制造非建筑时会受到TechLevel限制,却无视Prerequisite,因此只要让套皮单位的TechLevel保持正常,把Prerequisite设定成玩家无法获得的建筑就可以了,比如无法占领的中立建筑(篝火、邮筒、阳伞、毛巾、垃圾箱、热狗摊等),也可以是只有注册名却不实际存在的"注册建筑"。

非直接制造的话,其实被玩家获得也没啥影响,反正看不出来。

套皮单位结合合理全局设置和AI脚本,甚至可以实现AI精确操控伞兵。(其实不套皮也能,只不过有时不能精确控制)

无节操运输:

套皮单位的一个分支,可以避免AI装载货物时各种卡死,以及运输脚本的诸多限制。

借助Ares甚至可以做到多个运输单位同时存在于同一个AI编队,并且流畅地完成运输任务。虽然穿帮较为明显,但"AI必须通过一定程度的作弊来才能与玩家抗衡",综合来看,还是能让AI做出比正常情况下更为多样的表现,是利大于弊的。

Delivery超武:

这个神奇的超武可以帮助AI完成许多特别的操作。比如通过触发在地图上刷出具有初始载荷的单位,一定程度上解决了地图触发刷的单位没有载荷的问题。

还有让AI更加智能地运用防御塔防守的策略(特别鸣谢该战术的研发者星星):在敌人进攻到家门口时贴脸造起一座塔,打敌人个猝不及防,让AI表现得更像玩家。

此外,由于地图触发无法刷出带载荷的运输单位,可以考虑使用Delivery超武刷载荷单位,再结合AI脚本让AI控制该单位。

模块化:

拆分ini的功能使得AI可以更容易地分块进行添加和测试,活用#include功能可以加快AI制作的效率,对AI制作流程优化有着很明显的帮助。

以上列举的有趣玩法仅供参考,还有更多的可能性需要大家自行发掘。

教学部分至此结束。

AI是个制作水平很难快速提升的工作,一方面需要足够开阔的脑洞才能在诸多引擎限制之中找到赋予AI骚操作的套路,另一方面也需要枯燥乏味的海量测试来观测AI的执行效果。即使是这篇教程,也会有不少不严谨或测试不到的地方,细节之处还是需要自行测试。

最后,重复一遍,一套完整的AI是Rules设定、ai(md).ini以及单位代码共同作用的结果,AI的许多骚操作都要通过不同领域的功能组合才能实现。希望这篇教程能拓宽你的思路,并且创造出新的AI套路

红色警戒2探路攻略

(1)初级:选中探路狗,按ctrl+shift键,再点选所探位置,这样狗会在奔跑过程中攻击对方的狗。可是,若对方也如你作,就不知鹿死谁手了。此外,对中文windows作系统,ctrl+shift键可能导致输入法切换为中文,带来作的不便。

(2)中级:探路前,先将狗编号,再如上作,前进。但在探路过程中,时时检查狗的情况,用鼠标作常会手忙脚乱,影响建筑的部署。将狗编号后,按alt+编号(如alt 1),就可选中和看到你可爱的小狗狗了,结合f1使用,就可做到建设、探路两不误。

(3)高级:熟练作,选择合理路线,消灭对方的探路狗、工程师(如果有,现在玩偷别人基地的人也不少),返回基地或保护重要建筑。狗在未来的坦克大战中还会发挥重要作用。

在玩这个游戏的时候很多玩家都不去探路,就知道到发展,就连自己在什么位置都不知,地形探知相当的重要,怎么发展前提是你知道大概地形如何。

出3条狗,并且在造第一条狗的时间里,你点下兵营,按F1到达对手位置,再点下黑暗中的随意一点,这样你的兵营路径就设置好了,狗出来就会直接跑向对手的家中

第1条狗出发后你要给它编号,就是选中后按下CRL+1,编号即完成,下次你自找它时你只需按双击11,屏幕就会转到它那里,以此类推

等第2条狗刚跑出来,你点下兵营,左手按S键,这时候兵营路径就取消了,为何取消呢?因为你要控制第3条狗留下以便探开家中矿区的位置

给第2条狗编号,ctrl+2

展开全部
  • 红色警戒2帧数补丁
  • 红色警戒2帧数补丁
  • 红色警戒2帧数补丁
  • 红色警戒2帧数补丁
相关版本
同类热门
游戏分类
游戏合集
更多