电脑技术学习

关于AI的制作详解

dn001

关于AI的制作

AI分为4个部分; 一个完整的AI必须具备这4个部分
====================================================
1) [TaskForces];;[部队成员组]=指定一支队伍里都由哪些单位组成
2) [ScriptTypes];[命令组];=指定一支队伍将要进行的作战行动
3) [TeamTypes];;;[作战队伍]; =指定一支队伍的基本设置编成
4) [AITriggerTypes] [AI触发];=设置当达到某些条件时电脑就会出这组部队
====================================================
现在让我们来一个一个的解析


********************************
**********[TaskForces]**********
********************************

首先 我们在他的下面看到一排注册名; 如果你想创建新的使命部队 请在那注册

下面 我们举一个使命部队为例
[0A6E3F1C-G]
这就是你在上面注册的名字 记好它 我们后面还要用
Name=2 Prism Tanks, 2 IFV, 4 Grizzly
Name 这个仅仅是作为注释用 没有实际意义
0=2,FV
1=2,SREF
2=4,MTNK
这是使命部队的正文部分 意味着该使命部队的组成为2FV(多功能)2SREF(光棱)4MTNK(灰熊); 想改变制造某物体的数目; 就更改某物体前面一个数字,新物体就在后面加上一行 格式同上 序数增加
Group=-1
Group= 这个
-1;;解散所有的运输工具
??;;解散队伍
??;;保留所有
??;;解散单位,保留运输工具
??;;只保留速度最快的 ?
??;;只保留最近的 ?
??;;在最大威胁附近集合
-40094;;在最小威胁附近集合
中间的几个值如果有人有请发给我 十分感谢

********************************
*********[ScriptTypes]**********
********************************
[0607B8FC-G]
Name=General Base Defense Attack
Name 这个仅仅是作为注释用 没有实际意义
0=54,0
1=53,0
2=0,7
3=49,0
4=0,2
5=0,1
AI最难的地方来了 这个格式是T=X,Y;
T是个序数; 和上文的一样 直接加就可以了
X,Y 他们组合起来代表一个步骤 比较麻烦 我把他们一一列出以便各位观赏!
**X一共有64个值 我拣有用的说; 没说的一般都没什么用处了(在我看来)**
====================================================
X=0:攻击物体 Y=将要攻击的物体类型
Y=1:任意东西
Y=2:任何建筑
Y=3:矿车(矿厂)
Y=4:步兵类
Y=5:车辆类
Y=6:工厂类
Y=7:防御建筑类
Y=8:超级武器
Y=9:电场类
Y=10:可进驻物体
Y=11:科技建筑类

X=1:攻击Y号路径点(不推荐)
X=2:使拥有Cyborg=yes(生化机器人)的步兵进入疯狂状态(不分敌我) [未证实] Y=0
X=3:移动到Y号路径点
X=5:警戒Y*6秒
X=6:重复第Y行(序数T的那行)
X=8:运输工具卸载
Y=0:保留所有
Y=1:保留运输工具
Y=2:保留单位(推荐)
Y=3:全部解散

X=9:展开单位 Y=0
X=10:跟随距离最近的友好单位 Y=0
X=11:执行命令
0,啥也不干
1,(通过威胁等级)执行AI中的攻击任务
2,移动到目的地
3,跟随另一队移动
4,撤退
5,保护目标,攻击来犯之敌
6,保护目标,但穷寇末追
7,进入建筑或交通工具
8,工程师占领
9,在修理单位时,把他吃了。。。汗。。。估计是尤里的变卖场(只能用于建筑)
10,矿区采矿,矿场卸货
11,守卫初始地区
12,航母载机回巢
13,停止活动(有可能的话)
14,伪装伏击单位开火
15,游猎歼敌
16,卸货
17,埋雷包
18,建筑建立
19,卖出建筑
20,修理单位(维修厂)
21,特种部队突击(这个over-ride应该是推翻,不管不顾的意思,为什么这样不懂,就参考一下好了)
22,核弹井发射
23,无威胁目标
24,开门关门
25,巡逻
26,空降机飞行
27,空降机空投
28,待命
29,空间跳跃
30,展开攻击
31,侦察机飞行(YR)
32,侦察机照相(YR)

X=14:运全部兵 Y=0
X=16:在Y路径点附近巡逻
X=17:更改应用脚本 Y为脚本名称 [未证实]
X=18:更改部队 Y为部队名称 [未证实]
X=21:分散部队 Y=0
X=29:自动生产 似乎没用 还是写出来的好
X=30:出售所有单位并进攻对手 这个在遭遇战快速游戏模式下的唯一用处是自杀 Y=0
X=43:使运输停止直到装满
X=46:攻击特定建筑 Y=特定建筑在RULES中注册的值(K=XXX)加上0/65536/131072(推荐)
X=47:移动到特定建筑 Y同X=46算法
X=48:侦察
X=49:使之前动作完成再进行下一个动作 Y=0
X=53:集团冲锋到对方阵地(快慢协调; 就是说快的要等慢的一起 Y=0
X=54:在自己阵地集合 Y=0
X=55:加铁幕 Y=0
X=57:超时空到对方家某些建筑附近
Y=1:任意东西
Y=2:建筑
Y=3:矿车
Y=4:步兵
Y=5:车辆
Y=6:工厂
Y=7:基础防御
Y=8:最大威胁
Y=9:电场
Y=10:可进驻物体
Y=11:科技建筑
X=58:移动到友好建筑 Y同X=46算法
X=60:进入回收站 Y=0
X=61:进入坦克碉堡 Y=0
X=62:进入生化反应堆 Y=0
X=63:进入战斗碉堡 Y=0
X=64:进驻建筑 Y=0
====================================================

********************************
**********[TeamTypes]***********
********************************

[0A6E210C-G]=作战集团; 这个也要注册
Name=Allied Bombard - H1
Name 这个仅仅是作为注释用 没有实际意义
VeteranLevel=1 经验等级 1=无级 2=一级 3=三级 任务地图里才能设为2或3

MindControlDecision=0 在YURI游戏里电脑的尤里方控制别人后会把俘虏怎么样。
0 = 无法心灵控制别人 (也就是部队里根本就没有能控制别人的单位,就得是0)
1 = 加入另外需要的队伍
2 = 放进部队回收站
3 = 放进生化反应堆
4 = 前去攻击敌人
5 = 就在原地
====================================================
Loadable=yes=部队攻击完后撤退,待会再攻击(一般使用在像飞机那样需要补充弹药的部队里)
Full=yes=完整小队 AI(MD)INI里得设为=no
Annoyance=yes=烦恼效果(任务地图)AI(MD)INI里得设为=no
GuardSlower=yes=防卫减缓; NO代表部队在基地中作出还击时不会变慢
House=<none>就NONE; 除非是单个国家的特殊攻击模式
Recruiter=yes=AI会动用现有的单位去组成队伍,优于去建造新的单位来组成队伍
Autocreate=yes=没有达到触发条件电脑也会生产这支部队,只不过部队将不会去执行任何命令
Prebuild=yes=电脑在还没需要时预先建造此队伍
Reinforce=yes=这是增援部队,一般用在防御部队。
Droppod=yes=这是空降部队(任务地图)AI(MD)INI里得设为=no
UseTransportOrigin=yes=使用存在的运输工具(当前一运输型部队是TransportsReturnOnUnload=yes=运输单位在完成卸载后返回基地)
Whiner=yes=哀叫效果(任务地图)AI(MD)INI里得设为=no
LooseRecruit=yes=当前的部队完成任务后将会被解散,而不会加入另一队中
Aggressive=yes=该部队将按Script=所使用的命令组里的命令去执行。
Suicide=yes=这是将进行自杀攻击的部队
Priority=5建造部队时的优先权。通常为整数,数字越小,AI建造的可能性越大
Max=1 共生产几组这样的部队
TechLevel=0指定可以制造此队伍的最低科技水平,通常设为0
Group=-1 分组
OnTransOnly=yes=这是传送部队(任务地图)AI(MD)INI里得设为=no
AvoidThreats=yes=部队会忽略任何攻击继续前进. no=在遇到敌人时就会开火,在被攻击时就会停下还火
IonImmune=no;默认NO 不要更改
TransportsReturnOnUnload=yes=运输单位在完成卸载后返回基地
AreTeamMembersRecruitable=YES=可以为该组部队补充队伍中被消灭的成员
IsBaseDefense=yes=这是在基地里防御的部队
OnlyTargetHouseEnemy=yes=只对付敌对玩家的单位,而不攻击中立的单位
Script=0607B8FC-G所使用的命令组
TaskForce=0A6E3F1C-G所使用的部队成员组

********************************
********[AITriggerTypes]********
********************************
这是最讨厌也最难记的部分 请大家注意了

0D62199C-G=;这个不要注册; 何况你也没地方注册 ^_^
[A] Allied Bombard - H1 vs Sov,;名字; 只起注释作用
[B] 0A6E210C-G,使用的TeamTypes名
[C] <all>,;;哪个国家使用它; 和上文保持一致
[D] 8, 触发条件, 1=小于 2=小于到等于 3=等于 4=大于到等于 5=大于 6=不等于
[E] 0,
====================================================
-1: 普通触发
0: 敌人拥有[F]物品
1: 自己拥有[F]物品
2: 敌人电量黄
3: 敌人电量红
4: 钞票超过数量
5: 铁幕完成超过AIMinorSuperReadyPercent= 数量
6: 超时空完成超过AIMinorSuperReadyPercent= 数量
7: 中立拥有[F]物品
====================================================
[F] NAPOWR, 物品名称 如果上文[E]不是0,1,7就填<none>
[G] 0100000003000000000000000000000000000000000000000000000000000000,
====================================================
01000000; 代表一个值 01就是1 0a就是10 16进制
03000000; 中间可以取0-5 分别是小于(0),小于等于(1),等于(2),大于等于(3),大于(4),不等于(5)
**上面两个合起来 加上[E],[F]的值构成一个完整的触发模式:本文中为"敌人拥有苏联电场大于等于1个"
000000000000000000000000000000000000000000000000 请不要更改 未知作用
====================================================
[H] 70.000000, 触发比重,与所有可能触发一起构成一个随机触发系统,这个比重更改请见AITriggerSuccessWeightDelta=; AITriggerFailureWeightDelta=-50;分别代表成功与失败时触发比重的增减情况
[I] 10.000000, 触发最低比重
[J] 70.000000, 触发最高比重
默认比重中,只有10, 20, 40, 50, 70, 500, 5000这7个值有用 [未证实]
====================================================
[K] 1, 是用于遭遇战模式的 0=不是
[L] 0, ???
[M] 1, 谁用这个触发 1盟2苏3尤
[N] 0, 1=是留在基地周围防守; 与上文一致
[O] 0CB246CC-G, 这个触发所带动的另外一个触发 填TeamTypes名
[P] 0, 简单电脑是否使用他 0=不; 1=是
[Q] 0, 中等电脑是否使用他 0=不; 1=是
[R] 1. 困难电脑是否使用他 0=不; 1=是