红警修改AI

2024-11-25 12:51:51
推荐回答(1个)
回答1:

  关于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 小队编号,-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 除非是单个国家的特殊攻击模式
  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] , 哪个国家使用它 和上文保持一致
  [D] 8, TechLevel 和上文保持一致
  [E] 0,
  ====================================================
  -1: 普通触发
  0: 敌人拥有[F]物品
  1: 自己拥有[F]物品
  2: 敌人电量黄
  3: 敌人电量红
  4: 钞票超过数量
  5: 铁幕完成超过AIMinorSuperReadyPercent= 数量
  6: 超时空完成超过AIMinorSuperReadyPercent= 数量
  7: 中立拥有[F]物品
  ====================================================
  [F] NAPOWR, 物品名称 如果上文[E]不是0,1,7就填
  [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=是