先看下战地1942的AI(来自于BG42拟真模组:AssaultDUKW)
weaponTemplate.create AssaultDUKWMainGun
weaponTemplate.burst 0
weaponTemplate.indirect 1
weaponTemplate.minRange 5.0
weaponTemplate.maxRange 2000.0
weaponTemplate.deviation 1
weaponTemplate.deviationCorrectionTime 3
weaponTemplate.weaponActivate PINone
weaponTemplate.weaponFire PIFire
weaponTemplate.setStrength Infantry 9.0
weaponTemplate.setStrength LightArmour 8.0
weaponTemplate.setStrength HeavyArmour 10.0
weaponTemplate.setStrength NavalArmour 0.0
weaponTemplate.setStrength Submarine 0.0
weaponTemplate.setStrength Air 0.0
感觉是不是很像呢?基本上的设定都是一样的,然后再次重申一遍:weaponTemplate.weaponFire PIFire 这个参数很重要,如果假设一辆坦克有两种武器(废话),而你把机枪的参数设定成了左键发射(事实上是右键)而坦克炮弹则是相反,就会出现以下的结果:Bot的坦克用坦克炮打步兵,用机枪打坦克(汗……),所以,这个语句是相当重要的。
至于indirect的矫正,不使用一般来说是1-30度的攻击角度,使用的是余下的一直到90,所以,这个同样相当important!
一个武器AI的最基本写法是:(×代表数字或其他字符)
weaponTemplate.create (名字)
weaponTemplate.burst 0或者是1(当开火时是否需要把弹药全部射出去[仅限于连射武器像机枪等……])
weaponTemplate.indirect 0或者是1(定义已有过解释)
weaponTemplate.minRange ×(最小射程[支持小数])
weaponTemplate.maxRange ×(最大射程[支持小数])
weaponTemplate.deviation 0或者是1(是否允许偏差[如果不允许所有的Bot就都是神枪手了!战地2中作用不大,照样秒杀你])
weaponTemplate.deviationCorrectionTime ×(弹道误差矫正间隔,必须要有以下语句的支持才有作用:weaponTemplate.deviation 1)
weaponTemplate.weaponActivate PINone、PIMenu1-6(激活武器数字选项,如果填错了会导致Bot使用错误的武器)
weaponTemplate.weaponFire PIFire、PIAltFire(左键开火还是右键开火,出错后过应该已经知道了)
weaponTemplate.setStrength Infantry ×
weaponTemplate.setStrength LightArmour ×
weaponTemplate.setStrength HeavyArmour ×
weaponTemplate.setStrength NavalArmour ×
weaponTemplate.setStrength Submarine ×
weaponTemplate.setStrength Air ×
(以上为定义AI对武器伤害作用的认知)
这是战地1942武器AI的写法,你们可以从中看出,战地1942和战地2的武器AI写法可以说是完全一样,同样,这也是战地2中变化最小的代码(我只是说代码,但是功能强化了)
另外还有诸如:exitvelocity 一类的,专门用于遥控载具的代码,我就不说了,估计战地2里面什么作用都没有,我就简单介绍一下:
weaponTemplate.exitvelocity ×(弹药出膛速度,方便Bot计算提前量[专门用于那些发射后会自动减速的炮弹一类的弹药,要获得一个正确的数值需要上百甚至上千次的试验才能得到!])
weaponTemplate.useAimerOnly 1或者0(只有瞄准了才能发射[必须在视线范围内,和Init有关])
weaponTemplate.setSoundSphereRadius ×(声音传播范围,和战地2的一样,但是,在战地2里你要是改的太大敌军会全部以你为目标攻击的!)
至于代码的搭配要看你们得了,搭配得越好效果越棒!(至于射击范围可以提高积极性是错误的,真正影响积极性的是声音和弹药总数!)
还有,提供以下目前战地1942电脑AI最强的Bot基础AI以供大家研究,估计应该有些帮助的……
rem *** Plugins ***
aiTemplatePlugIn.create Unit SoldierUnit
aiTemplatePlugIn.equipmentType 3
aiTemplatePlugIn.setBattleStrength Infantry 10.0
aiTemplatePlugIn.setBattleStrength LightArmour 8.0
aiTemplatePlugIn.setBattleStrength HeavyArmour 4.0
aiTemplatePlugIn.setBattleStrength NavalArmour 0.0
aiTemplatePlugIn.setBattleStrength Submarine 0.0
aiTemplatePlugIn.setBattleStrength Air 0.0
aiTemplatePlugIn.setStrategicStrength 0 2
aiTemplatePlugIn.setStrategicStrength 1 2
aiTemplatePlugIn.create Physical SoldierPhysical
aiTemplatePlugIn.setStrType Infantry
aiTemplatePlugIn.create Mobile SoldierMobile
aiTemplatePlugIn.vehicleNumber 1
aiTemplatePlugIn.maxSpeed 6.0
aiTemplatePlugIn.turnRadius 0.1
aiTemplatePlugIn.coverSearchRadius 50.0
aiTemplatePlugIn.setSoundSphereRadius 0.0 30.0
aiTemplatePlugIn.setHearingProbability 0.01 0.1
aiTemplatePlugIn.lodHeight 1.0
aiTemplatePlugIn.create ControlInfo SoldierCtrl
aiTemplatePlugIn.driveTurnControl PIMouseLookX
aiTemplatePlugIn.driveThrottleControl PIThrottle
aiTemplatePlugIn.aimHorizontalControl PIMouseLookX
aiTemplatePlugIn.aimVerticalControl PIMouseLookY
aiTemplatePlugIn.lookHorizontalControl PIMouseLookX
aiTemplatePlugIn.lookVerticalControl PIMouseLookY
aiTemplatePlugIn.throttleSensitivity 1.0
aiTemplatePlugIn.pitchSensitivity 0.4363323
aiTemplatePlugIn.rollSensitivity -0.5235988
aiTemplatePlugIn.yawSensitivity 1.0
aiTemplatePlugIn.lookVerticalSensitivity 0.4363323
aiTemplatePlugIn.lookHorizontalSensitivity -0.5235988
aiTemplatePlugIn.throttleLookAhead 1.0
aiTemplatePlugIn.pitchLookAhead 1.0
aiTemplatePlugIn.rollLookAhead 1.0
aiTemplatePlugIn.yawLookAhead 1.0
aiTemplatePlugIn.lookVerticalLookAhead 1.0
aiTemplatePlugIn.lookHorizontalLookAhead 1.0
aiTemplatePlugIn.pitchScale 5.0
aiTemplatePlugIn.rollScale 5.0
aiTemplatePlugIn.yawScale 1.0
aiTemplatePlugIn.lookVerticalScale 1.0
aiTemplatePlugIn.lookHorizontalScale 1.0
aiTemplatePlugIn.create Armament SoldierArmament
rem *** AITemplate ***
aiTemplate.create Soldier
aiTemplate.addPlugIn SoldierUnit
aiTemplate.addPlugIn SoldierPhysical
aiTemplate.addPlugIn SoldierMobile
aiTemplate.addPlugIn SoldierCtrl
aiTemplate.addPlugIn SoldierArmament
aiTemplate.addType ITUnit
aiTemplate.addType ITMobile
aiTemplate.addType ITBiological
aiTemplate.addType ITGround
aiTemplate.addType ITSoldier
aiTemplate.degeneration 15
aiTemplate.allowedTimeDiff 0.5
aiTemplate.basicTemp 1
aiTemplate.commonKnowledge 0
|
|