战地2吧 关注:142,793贴子:3,882,706
  • 12回复贴,共1

回复:【致新人】战地2吧引导贴-看完保证你的体验

取消只看楼主收藏回复

顶一下


IP属地:湖南来自Android客户端30楼2023-06-21 12:57
回复
    顶一下


    IP属地:湖南来自Android客户端40楼2023-07-17 16:44
    回复
      自顶一下


      IP属地:湖南来自Android客户端41楼2023-07-28 02:43
      回复


        IP属地:湖南来自Android客户端42楼2023-07-31 10:40
        回复
          顶顶


          IP属地:湖南来自Android客户端66楼2023-08-08 10:17
          回复
            顶一下


            IP属地:湖南来自Android客户端70楼2023-08-22 08:25
            回复
              @为了提莫酱
              这个教程适合于BF2修改爱好者,如果你对于BF2文件构造不太懂,这篇文章会看起来很难理解
              希望你能看懂,因为这涉及到AI的修改,如果你只是极个别地图改着玩玩,我建议你用BF2Editor,在飞机旁边设置一个专门给AI复活的重生点并且写一句立即进入物体的设置语句
              如果你是所有地图都这么做,那么就得改AI文件
              Object_server.zip/vehicles里面有各式各样的飞机,并且附带ai文件,这些文件控制着Bot在面对各种载具时做出的反映
              我以J10为例子,打开AI/object.ai
              一般来说,最开始的开头会有这两行
              aiTemplatePlugIn.setStrategicStrength 0 3 -----设置载具的进攻战略强度(布尔值=0),后面一个值是强度,这里就表示,这个载具会拿来进攻,进攻的强度为3
              aiTemplatePlugIn.setStrategicStrength 1 3 ------设置载具的防御战略强度(布尔值=1),后面一个值是强度,这里就表示,这个载具会拿来守点,守护的强度为3
              之后看到这一行
              aiTemplate.create J10
              这一个段落直接规定了J10在AI中的使用情况
              其中
              aiTemplate.degeneration 5 ------决定了AI在看不到J10多少秒后将其遗忘
              aiTemplate.allowedTimeDiff 0.5 ------告诉游戏在AI可以看到J10后更新有关J10的信息的频率
              aiTemplate.basicTemp 15 ------设置该载具于地图其他载具相比选择的优先值
              通过提高战略强度值(也就是后面的那个3),并提高载具的选择优先值,AI将会优先选择这个载具,但这两个值都是相对其他现有载具而言的。
              这里有一个提高选择的例子
              aiTemplatePlugIn.setStrategicStrength 0 4
              aiTemplatePlugIn.setStrategicStrength 1 4
              ......
              aiTemplate.degeneration 5
              aiTemplate.allowedTimeDiff 2
              aiTemplate.basicTemp 30
              以上的例子,AI会更少考虑看到他看不到的载具,每隔2秒就更新他能看到载具的信息,通过aiTemplatePlugIn.setStrategicStrength让AI判断使用哪种战略强度中的哪种载具更好面对当前的情况。
              但是,给某一个载具编写这样的优先级代码比较难,因为你要综合性考虑其他载具的使用情况,如果出现优先级更高的载具,AI可能优先考虑那个,并且如果太调高了会出现很鬼畜不符合逻辑的情况(比如对面压机场了,AI此时此刻应该选择开坦克和防空车防御家而不是去跑过去开战斗机)


              IP属地:湖南73楼2023-08-27 03:37
              收起回复
                顶一下


                IP属地:湖南来自Android客户端81楼2023-09-05 07:48
                收起回复
                  1


                  IP属地:湖南来自Android客户端89楼2023-09-21 02:36
                  回复
                    @rwerewrwerewr
                    关于你在贴吧的问题“如何不改变倒地救起后的兵种武器”,我这里有一个设想:我个人觉得应该能做到,bf2固定机制就是倒后被救,拾取附近的包,除非附近没有包才会固定刷新自己种类的,并且物资充满。
                    改包消失时间,这也许是一种可行的方法。
                    你的帖子不知道为什么回复不了,我就在这里回复了。


                    IP属地:湖南来自Android客户端102楼2023-10-09 14:46
                    回复
                      3


                      IP属地:湖南来自Android客户端103楼2023-10-13 16:41
                      回复
                        自顶


                        IP属地:湖南来自Android客户端121楼2023-12-22 16:31
                        回复
                          @武士拔刀人变狗
                          区别可大了,dumb一般是模型,不要改那些。具体改哪个你得看这些载具的T档用的武器是哪个,这个说不准一定是哪个,你得根据实际引用来看。
                          材质伤害对的上啊,
                          拿F15空地导弹举例子 agm65_maverick 打 98坦
                          agm65初始值 (Objects_server.zip\Weapons\Armament\missiles\agm65_maverick\)
                          ObjectTemplate.detonation.explosionMaterial 56 //爆炸材质
                          ObjectTemplate.detonation.explosionRadius 7 //爆炸范围
                          ObjectTemplate.detonation.explosionForce 20 //爆炸力度
                          ObjectTemplate.detonation.explosionDamage 750 //爆炸伤害
                          98坦的装甲值 (Objects_server.zip\Vehicles\Land\tnk_type98\)
                          ObjectTemplate.createComponent Armor
                          ObjectTemplate.armor.maxHitPoints 1000 //坦克的血量
                          ObjectTemplate.armor.hitPoints 1000
                          ObjectTemplate.armor.defaultMaterial 72 //材质
                          在Common_Server.zip定义中 (Common_server.zip\Material\)
                          MaterialManager.createCell 56 72 //56对72
                          MaterialManager.damageMod 1.4 //伤害乘1.4
                          750x1.4>1000 所以F15空对地直接秒杀98坦,符合游戏没问题啊
                          再举例子
                          拿M24打漂亮国的工兵
                          M24子弹初始值(Objects_server.zip\Weapons\Handheld\usrif_m24\)
                          ObjectTemplate.material 38 //子弹材质38
                          ObjectTemplate.hasOnTimeEffect 1
                          ObjectTemplate.minDamage 1
                          ObjectTemplate.damage 95 //伤害95
                          工兵初始值 (Objects_server.zip\soldiers\Us\US_HEAVY_SOLDIER.tweak)
                          ObjectTemplate.armor.maxHitPoints 100
                          ObjectTemplate.armor.hitPoints 100 //血量
                          ......
                          rem boneName, material, offset, radius, length
                          ObjectTemplate.setSkeletonCollisionBone left_upperleg 24 0/0.03/0 0.09 -0.35 //左腿子上半,材质24
                          ObjectTemplate.setSkeletonCollisionBone right_upperleg 24 0/0.03/0 0.09 0.35 //右腿子上半,材质24
                          ObjectTemplate.setSkeletonCollisionBone left_lowerleg 77 0/0.03/0.02 0.08 -0.32 //左腿子下半,脚,材质77
                          ObjectTemplate.setSkeletonCollisionBone right_lowerleg 77 0/0.03/0.02 0.08 0.32 //右腿子上半,脚,材质77
                          ObjectTemplate.setSkeletonCollisionBone head 25 0/-0.02/0.02 0.07 -0.08 //脑袋,材质25
                          ObjectTemplate.setSkeletonCollisionBone spine2 23 0/-0.05/-0.03 0.15 -0.16 //脊柱(可以说身体)材质23
                          ObjectTemplate.setSkeletonCollisionBone spine3 23 0/-0.03/0.02 0.16 -0.05 //脊柱(可以说身体)材质23
                          ObjectTemplate.setSkeletonCollisionBone right_shoulder 77 0.01/0.03/0 0.06 0.2 //右肩膀,材质77
                          ObjectTemplate.setSkeletonCollisionBone right_low_arm 77 -0.01/0.03/0 0.045 0.18 //右臂(或者说是手),材质77
                          ObjectTemplate.setSkeletonCollisionBone left_shoulder 77 0.01/0.03/0 0.06 -0.2 //左肩膀,材质77
                          ObjectTemplate.setSkeletonCollisionBone left_low_arm 77 -0.01/0.03/0 0.045 -0.18 //左臂(或者说是手),材质77
                          在Common_Server.zip定义中 (Common_server.zip\Material\)
                          MaterialManager.createCell 38 24 //38对24
                          MaterialManager.damageMod 1 //伤害x1
                          所以打腿子就是95血
                          MaterialManager.createCell 38 25 //38对25
                          MaterialManager.damageMod 3 //伤害x3
                          所以打脑袋直接没,95*3>100
                          MaterialManager.createCell 38 77 //38对77
                          MaterialManager.damageMod 0.7 //伤害x0.7
                          所以打腿子,脚或者手反而没有95,而是95*0.7
                          所以M24直接秒杀打头,并且打脚丫子打腿打身体死不了,符合游戏也没问题。
                          所以根据这些材质慢慢算就行了,这不会出错的
                          赞扬你的钻研精神,希望你是下一批大佬


                          IP属地:湖南124楼2024-01-18 00:01
                          收起回复