红警DIY论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 345|回复: 0

暴力式修改让AI用武装直升机部署

[复制链接]
发表于 2021-5-21 23:06:04 | 显示全部楼层 |阅读模式
本帖最后由 贝儿利亚 于 2021-5-22 17:20 编辑

原版武装直升机AI存在很多问题,如不能执行移动(偶尔可以),以及不会部署。尝试了Madman_M大佬的AI艺术教程的方法给武直加了BalloonHover=yes。然后在脚本中在移动和攻击之间加上5,0,部署9,0后紧跟5,10警戒防起飞,发现依然不能部署,大佬只说11,11不行,也尝试过不用5,10改成11,5;11,6,也不行。只解决了移动问题。无论加不加guardrange或攻击命令都会主动攻击。具体代码是0=53,0;1=47,131081;2=5,0;3=9,0;4=5,10;5=49,0;6=0,9;7=0,2;8=0,1,移动到发电厂部署。
然后自己尝试加上DeployToFire=yes,结果是部署后秒起飞,加警戒也没用,并且还会隐身....。那么干脆就让AI反抗部署的所有动作全部木大!
1.首先不愿部署,只会空中攻击,即使脚本不写任何攻击命令也要攻击:那就加DeployToFire,想攻击必须先部署。
2.部署后秒起飞:那就禁止变回来起飞,直接删除变回来代码,部署后就别想变回来。
结合以上2点,做出这样的代码,当然改完后是AI专用,要换个马甲单位:
[SCHP2]
...
Image=SCHP
Prerequisite=FAKENAWEAP;写个玩家造不了的建筑
BalloonHover=yes
DeployToFire=yes
Convert.Deploy=SCHD
...
因为IsSimpleDeployer=yes部署后单位是延用之前属性,只是改了个贴图,所以部署后单位无论怎么改属性都不会影响原单位,这里改的多一些。上面用了单位转换,这里就要让转换后单位不能移动或飞行,需要把飞行改为不能移动。有关飞行的代码全注释掉。
[SCHD]
...
Primary=160mm
GuardRange=12
DefaultToGuardArea=yes
;JumpJet=yes
Speed=0
; PitchSpeed=1.1
;JumpjetSpeed=30
;JumpjetClimb=10
;JumpjetCrash=40
;JumpJetAccel=12
;JumpJetTurnRate=6
;JumpjetHeight=500
;JumpjetWobbles=.01
;JumpjetDeviation=1
Locomotor={4A582741-9839-11d1-B709-00A024DDAFD1}
MovementZone=Amphibious ;
MovementRestrictedTo=Rock
;IsSimpleDeployer=yes
;UnloadingClass=SCHP
;DeployFire=yes
;DeployToLand=yes
...
最后脚本触发直接写46攻击命令就可以了。武直会主动攻击。或者完善些,写2个触发。1个是部署前的SCHP单位,只有53,0和46,n命令。再写一个只重组不生产SCHD单位触发,执行攻击命令。不过经测试,转换后单位仍然能继续执行后续攻击指令,写1个触发脚本就够了。最后,真的需要变回来时怎么办?可以考虑给SCHD加个Convert.Script=SCHP,用脚本变回来。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY官方论坛

GMT+8, 2021-9-16 18:59 , Processed in 0.019385 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表