尤里mod吧 关注:3,663贴子:78,890
  • 16回复贴,共1

空爆实验详解

只看楼主收藏回复

本人最近做了空爆实验。心血来潮做到5重用了3个承载结果电脑卡机
索性缩减到3重没有弹头模型还是卡了
草草测试。
见到基本上没什么帖子关于空爆的,教程里空爆内容也不详细,特写此贴,申精。
实验的是空艇ZEP。
(空爆一重表示[母弹]爆炸后形成[子导弹],二重表示[母弹]爆炸后形成的[子导弹]又爆炸成另外的[子导弹的子导弹])
空爆
Cluster=49   空爆数量(被证明在YR1.004中无用)
Airburst=yes            声明者是空爆武器
AirburstWeapon=ETSS      空爆后散射出的武器
空爆数量在YR中恒为9.
空爆的模式:
1.空爆高度是不定的,看有几重空爆组合
2.空爆是弹体爆炸后向 东 西 南 北 东北 东南 西南 西北 中间 散射一共9个子弹体,弹体默认向目标地直接飞去。
若是连环空爆,9个子弹体水平方向运动2格后继续空爆。
3.只有空爆的母弹可以打击空中单位。(测试中弹头爆炸有效范围是0.8)
4.未发现空爆弹可以进行跟踪,最多是拐几个弯到达目标上空或底下爆炸。
[某弹头]
Verses=XX%,XX%,………………
意思是对某装甲的伤害比例
1. 1%和2%时还是有攻击力的(三重空爆,damage=16000,把敌人打得我自己看着都蛋疼)。
2. 0%表示你再怎么弄也无法让武器对目标进行锁定,不过可以打地面(空爆实验)(抛射体允许的话)。当装备此弹头的武器为子武器并且可以对地时,damage被忽略,弹头效果仍然产生
3. 1%表示不主动攻击单位,可以被指示锁定目标。常用作假武器,问题是这种加武器的damage都是1,难以从中找出什么规律。
Rocker=yes
意思是能够对周围单位产生冲击波并摇晃它。力量由damage决定
我用空爆武器做实验得出以下结论:
1.Rocker=yes与弹头伤害比例无关,即是说Verses=0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%也可以产生冲击波。
2.空中爆炸的武器也适用于地面部队。即空爆母弹可以掀翻地面坦克
3.damage要合适。蜘蛛是个好例子。我把damage调至8000,三重rocker空爆,效果还不如蜘蛛。
4.ROT也要合适。
rocket对于ROT的标准这样衡量:
掀翻坦克的力=弹头伤害持续帧×(damage×伤害系数-坦克重量)
一般来说,弹头持续伤害帧和伤害系数是不变的。
由于坦克从被掀起到一定倾角要有时间,那么
ROT太快的话,坦克来不及掀起就会被下一轮的冲击波攻击,则[弹头持续伤害帧取决于第一个弹头爆炸后的效果帧里面,第一个弹体爆炸到第二个弹体爆炸之间帧数]。那么
当所有炮弹都是有单位标签(表明属于某单位发出来,这个标签使自己发出的炮弹不会伤到自己)时,上述效果被接连替换,会看到坦克刚想被掀起又会卡回平面。见ROT=2的蜘蛛钻进坦克时那猥琐样。
当所有炮弹都是中立(就是电脑不给炮弹附加一个属于什么阵营什么单位的值)时,上述效果叠加,会看到一群damage=16000的炸弹把坦克慢慢掀起。见ZEP的3连空爆测试
实际上本人是个新手,做MODER才2个月。此篇是为了比我还菜的菜鸟写的。望高手指教并提出修改
吧主若觉得这些是高手们耳熟能详的不算什么,不加精,可以把此帖删除。但是务必要有一个详讲空爆之类原版稀有或没有用到的,但是很有用的代码。
我不相信高手们把做MOD的方法之类当成国密。


IP属地:湖北1楼2011-01-26 16:47回复
    很好,值得鼓励
    补充一下:
    原始版本的平台中Cluster是无效的,无论填写多少都是⑨个,杀伤范围永远是方形
    Verses的原版注释如下,不翻译了
    ; Verses = damage value verses various armor types (as percentage of full damage)...
    ;            -vs- None, Flak, Plate //infantry
    ;                 Light, Medium, Heavy //units
    ;                 Wood, Steel, Concrete //buildings
    ;                 Special_1, Special_2 //dunno yet
    ; 3-17 Special_1 is the Shock Trooper's electric armor.
    ; 5-11 Special_1 is now the Terror Drone's "I'm a unit with infantry vulnerabilities" armor
    ; 5-11 Special_2 is now spawn rockets' armor to keep them from blowing each other up when shot
    ; NOTE: (Double Note, a float math bug caused 2% to be used when 1% broke down.   Fixing the bug is why I made 2%)
    ; A 0% means no force fire, no retaliate, no passive aquire
    ; A 1% means no retaliate, no passive aquire
    ; A 2% means no passive aquire
    事实上因为浮点计算的问题,2%和1%的效果是一样的,WW又犯错了- -
    是否主动攻击的判定顺序是首先单位的Targeting系列代码,然后才是弹头判定,和武器威力完全无关
    Rocker只能影响VXL单位,对于SHP车辆完全无效,比如蜘蛛就不可能掀翻。
    Rocker还有升级版DirectRocker,填写的伤害够大则直接掀翻,不产生伤害。另外被此类武器击中的坦克在攻击者死亡之前都不能活动。Deezire的“EMP”就是利用此特性。此外攻击者在发射此武器后也无法活动,除非单位里有“Pushy=yes”。本来用于狂兽人的萝鸡但是后来放弃,功能还在。
    空爆弹是有所属的。LZ说错了。所有弹头都没有持续伤害帧一说,气浪计算是瞬间的。ROF和ROT,搞清楚。Rocker气浪掀翻坦克绝不是连续效果,都是瞬间冲力,只有瞬间冲力的频率和力度强于坦克的回复速度时候才会掀翻。那个公式什么的,瞎掰。


    IP属地:广东2楼2011-01-26 17:00
    回复
      此外空爆弹的子武器必须作为某单位的某种武器,如原版的XCOMET就是这样,所有代码只有那几句武器代码有效。
      卡的原因不是数目是爆炸,如果把所有爆炸的半透明效果都取消,效果会好很多。此外,打开尤里目录下的ra2md.ini,找到[Video]主键,在下面加上
      VideoBackBuffer=no
      AllowVRAMSidebar=no
      然后保存重新进入游戏,就不卡了,因为TS是很古老的引擎了,在当时的时代CPU很慢,所以利用缓存的办法,把被遮蔽的像素放到缓存里,等到遮蔽物移除后再拿回来的方法比直接用CPU处理要快。不过放到现在的CPU上,因为CPU很快了,这样做反而比CPU直接处理要慢了,而且一旦视频缓冲区溢出就会IE。
      


      IP属地:广东3楼2011-01-26 17:02
      回复
        高手的东西啊........终于套出来了.....
        代码词典没啥用了哈,做MOD还得靠这些少见的代码....
        关于ROF和ROT嘛.......反正rules里没写错的就是了....


        IP属地:湖北4楼2011-01-26 17:30
        回复
          所以最好最彻底的办法还是通读原版ini。很多代码代码词典没有,有的注释不对,以后修订一下。lz潜力不错,这么短时间已经能写5层的武器了,载体单位貌似也自行领悟了


          5楼2011-01-26 18:00
          回复
            这些一句一句的功能代码确实还好,不过真正的强是用极其普通的代码做出原版没有的效果。比如在原版平台上其实可以用偏门方法做出不止⑨个的空爆弹的,范围也可以随意控制。因为原来没有这么自由的控制法,所以很多人都惊讶这样的创造


            6楼2011-01-26 18:03
            回复
              YR1.004


              IP属地:重庆7楼2011-01-28 21:46
              回复
                回复:7楼
                估计是1手滑按到了上边、


                IP属地:广西8楼2011-01-28 21:49
                回复
                  谢谢我终于知道怎么玩红警2不卡了,以前一直以为红警2卡是没办法的事,什么机子玩都卡


                  IP属地:江西9楼2011-08-10 15:28
                  回复
                    貌似弹体带了 Arcing=yes 的武器无法空爆……


                    IP属地:浙江10楼2011-08-10 15:32
                    回复
                      我猜六楼用碎片和dropping=yes弄假空爆,不知对不对


                      IP属地:陕西来自手机贴吧11楼2011-08-10 15:40
                      回复
                        求空爆武器的详细教程、
                        菜鸟。


                        IP属地:黑龙江14楼2012-09-08 00:58
                        收起回复
                          抛射体指一个武器打出来了什么东西,可以是炮弹,导弹,火箭弹,等等,也可以什么都没有。
                          同时抛射体可以控制这种武器的对空/对地能力,以西风火炮举个例子:
                          [HowitzerProjInacc]
                          Proximity=no;是否一直追踪目标
                          AA=no;是否对空
                          AG=yes;是否对地
                          Image=HOWPROJ;打出来的东西
                          Inaccurate=yes;是否散射,不想就不加
                          SubjectToCliffs=no;是否能过悬崖
                          SubjectToElevation=no;高度差是否影响射程
                          SubjectToWalls=no;是否穿过墙
                          Arcing=yes;是否为曲线炮弹
                          High=yes;是否为高抛
                          Cluster=3;落地时的弹头数目
                          Acceleration=30;加速度
                          BallisticScatter.Min=0.5;最小散布半径
                          BallisticScatter.Max=2.0;最大散布半径
                          对于空爆和分裂武器则有所不同:
                          [FoxMissilePE]
                          Shadow=no
                          AA=no
                          AG=yes
                          Ranged=yes
                          Proximity=no
                          Image=DUMMY
                          ROT=10
                          SubjectToCliffs=no
                          SubjectToElevation=no
                          SubjectToWalls=no
                          Acceleration=100
                          Airburst=yes;是否为空爆武器
                          AirburstWeapon=FoxMissileSplitE;空爆产生的武器
                          Cluster=2;空爆产生的武器数目
                          DetonationAltitude=50000;武器的爆炸高度,低于该高度则发射时自动进行空爆/分裂
                          CourseLockDuration=1;一般为固定值
                          AroundTarget=yes;是否瞄准附近目标
                          RetargetAccuracy=0.5;分裂出来的武器重新选择目标的几率
                          Splits=yes;是否为分裂武器,该语句依附于Airburst=yes存在。


                          16楼2021-07-23 20:22
                          回复