欢迎光临散文网 会员登陆 & 注册

武器系统详解

2023-05-30 01:49 作者:迪豕  | 我要投稿

前言,武器抛体弹头代码一堆,不建议在本文中摘取代码从零开始写,请复制原版已有的武器系统进行修改。; ******* Weapon Statistics *******武器代码Damage =每发攻击的伤害,弹头为心灵控制时决定控制上限,弹头为混乱时决定持续时间。Burst = 一次攻击动作发射几次,两次 burst 之间有 3 到 5 的随机延迟。偶数发的攻击会自动在武器开火坐标的-L处打出。ROF = 每两个攻击动作的间隔,以帧为单位。实际上的原理是单位开火后这么多帧内单位无法执行开火动作。Range = 射程,以格为单位MinimumRange = 最小射程,单位距离目标低于此距离将会跑开注意你不能用射程圈的方式让单位选择武器,在两个武器都能攻击的情况下单位永远会用主武器。即使主武器的最小射程由副武器填充,单位也只会跑开到主武器能攻击的地方攻击Projectile = 【该武器使用何种抛射体】Warhead = 【该武器使用何种弹头】Anim = 开火动画,一般写一个动画也可以用逗号隔开写8个动画对应八个开火方向,从“北”开始顺时针经过“东北”和“东”直到“西北”,具体参考哨戒炮的武器Vulcan。OccupantAnim=步兵驻扎在建筑内使用的开火动画OpenToppedAnim=单位在战斗要塞内开火使用的动画Report =开火声音。注意盖特系统会将多级武器的音效叠加播放,如果有需要请于开火动画art处设置音效。Speed = 抛射体速度,只对导弹类有效RadLevel = 辐射量,须配合弹头范围和弹头衰减。原版不得小于全局衰减量(100)AreaFire = 是否强制攻击自身所在单元格(空中单位使用此武器会攻击自己在地面上的竖直投影)如尤里波这类部署释放的武器必须使用此功能OmniFire=攻击目标是否无需转向,空中单位武器都应设置以确保能正常开火FireOnce= 是否攻击一次立刻停止攻击,如尤里波。用于机场飞机类的武器会导致崩溃Bright = 是否在弹头爆炸处会产生闪光效果,可在弹头代码处调节颜色。Lobber = 如果抛射体为炮弹类将使用超高抛物线TurboBoost = 攻击飞行物时导弹速度获得加成,全局代码控制加成数值AmbientDamage= 穿透型武器造成的穿透伤害,如海豚声波和轨道炮,命中处将同时结算正常伤害和穿透伤害。IsSonic=是否为海豚波Spawner=是否为子机发射器,将触发航母子机或子机导弹发射,启用时武器本身伤害无意义.LimboLaunch=是否在攻击时将自身消失(并非死亡),如恐怖机器人和狗之后会用寄生逻辑将自己刷回来。DecloakToFire=该武器是否在攻击时揭露自身隐形,如果填写no则开火不显形(如潜艇鱼雷)RevealOnFire=该武器是否在攻击时揭露自身黑幕,如果填写no则在黑幕中开火时不会被发现。CellRangefinding=是否以单元格为单位计算射程,多用于超短射程武器以防止命中bugFireInTransport=该武器能否在战斗要塞类单位内开火,如恐怖机器人武器就不能。NeverUse=该武器是否不被实际使用,如狗的副武器只用于扩展搜寻目标的距离。注:部署逻辑仍能强制该武器开火TerrainFire=是否能直接攻击树木路灯等物体而无需强制攻击SabotageCursor=是否使用C4炸弹鼠标动画,仅在步兵使用下有效。MigAttackCursor=是否使用鲍里斯召唤米格空袭的鼠标动画,仅攻击建筑时显示。DisguiseFakeBlinkTime=发射该武器时会有这么多帧数对单位拥有者显示非伪装外观(幻影坦克)DisguiseFireOnly=该武器是否只能在自身伪装的状态下使用。(幻影坦克的废弃设定)InfiniteMindControl=用于心灵控制武器,是否可以超过控制数上限但自身会受到持续伤害,即精神控制车DrainWeapon=是否为飞碟吸建筑武器,只对Drainable=yes的目标有效,只能静止在建筑正上方使用。FireWhileMoving=该武器是否可以在移动时开火,飞碟吸建筑武器里填写no保证飞碟静止。Suicide=使用该武器时立刻自杀并触发死亡爆炸,需要配合单位上的Explodes=yes,机场飞机类发射此武器会导致游戏崩溃。DiskLaser=是否使用飞碟激光逻辑,同时引入一整套设定:强制瞬间命中、播放聚能音效、不显示弹头动画开火动画等IsLaser=是否使用激光效果,需要配合激光颜色及激光持续时间。LaserDuration=激光效果持续帧数IsHouseColor=激光是否使用玩家颜色,yes时其他激光颜色设定无效。LaserInnerColor=激光中部颜色格式为R,G,BLaserOuterColor=激光外部颜色格式为R,G,BLaserOuterSpread=激光外部颜色随机渐变的范围,填写三个值分别对应红绿蓝,颜色会以填写值正负为范围变动。IsElectricBolt=是否使用磁暴闪电特效IsAlternateColor=磁暴闪电是否为黄色IsRadBeam=是否使用辐射波特效(辐射工兵主武器),如果弹头有Temporal=yes将使用蓝色(超时空军团兵)。IsRadEruption=是否绘制扩散辐射线条,原定用于辐射工兵展开武器,并未使用IsMagBeam=是否使用磁电坦克磁力射线特效IsLine=是否绘制鲍里斯对建筑召唤空袭的光线,无效,实际由召唤空袭的弹头代码和鲍里斯自身召唤空袭的代码共同决定。Supress = 用于能自动攻击己方的武器,自动攻击时友方单位的威胁值减半,优先攻击敌方。奇怪的功能,原版并无单位使用。DownReport=盖特武器掉档时播放的声音,废弃功能,原版盖特并未使用。AssaultAnim=指定Assaulter单位清理建筑内驻军使用的武器动画Camera = 打开黑雾,原定侦查鸡用,实际废弃。Charges = 攻击前充能,TS残留废弃功能,已被ART的IsAnimDelayedFire代替了。IsBigLaser=是否为粗激光,废弃功能。DistributedWeaponFire=是否攻击范围内的所有目标,废弃功能IonSensitive = 离子风暴期间禁用此武器,TS残留,红警中无效DrawBoltAsLaser=是否绘制ElectricBolt直线闪电,废弃功能; IsRailgun=是否使用轨道炮粒子系统; UseFireParticles =是否使用喷火粒子系统; UseSparkParticles=是否使用火花粒子系统; AttachedParticleSystem=指定粒子系统名以上四条具体解释请参阅粒子系统说明http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=12917在此不多讲解; ******* Warhead Characteristics *******【弹头代码】Verses = 伤害比率,见护甲系统说明,11个值用逗号隔开,顺序如下None,Flak,Plate,Light,Medium,Heavy,Wood,Steel,Concrete,Special_1,Special_20% 不能强制攻击,不能还击,不能攻击1% 不能还击,不主动攻击2% 不主动攻击(由于WW的疏忽,这个无效)CellSpread=伤害半径,以格为单位,原版最大不能超过10,0是只伤害直接攻击的目标。PercentAtMax=范围最边界受到的伤害比例,根据此比例运算出递增或者递减,1就是伤害值恒定AnimList =弹头动画,可以写一堆,武器伤害越高使用越靠后的动画(例如吃肌肉箱子),如果弹头带有EMEffect=yes将随机使用其中的动画EMEffect=本用于瘫痪目标,TS残留,瘫痪功能现已无效,但可使弹头随机播放AnimList的动画Conventional =攻击水面激发水花而不播放弹头动画InfDeath=士兵死亡图像 填序号0直接消失 1死亡序列1 2死亡序列2 3爆炸死 4烧死 5电死 6尤里波爆炸 7核融化 8病毒死 9变身狂受人 10被狂受人打死Wall =可以伤墙WallAbsoluteDestroyer =秒杀墙Wood = 可以伤树Radiation = 是否是辐射,决定免疫判定Poison=是否是毒,决定免疫判定PsychicDamage=是否为“精神攻击”,决定免疫判定,用于非心灵控制武器调用免疫Tiberium =摧毁矿石Rocker =是否产生气浪使坦克倾斜,和ROF,Damage有关,和实际伤害无关,弹头比例0照样产生气浪ProneDamage = 对匍匐步兵的伤害比例AffectsAllies=是否影响友军Bright =是否产生闪光,优先级低于武器里的CombatLightSize= % 闪光大小缩放百分比,用于高伤害小闪光或者低伤害大闪光CLDisableRed=CLDisableGreen=CLDisableBlue=是否在闪光中消除红、绿、蓝色,用于改变闪光颜色,全写yes闪光将变为黑影Bullets = 闪光是否在武器攻击时持续闪烁PenetratesBunker=是否能直接伤害坦克碉堡内的坦克Sonic=(海豚)能否驱逐出目标内的寄生物,如恐怖机器人和乌贼MindControl=是否为心灵控制武器,控制数量由Damage定义,注:不可通过升级为Elite武器改变控制数量IvanBomb=是否为伊文炸弹BombDisarm=能否拆除伊文炸弹,工程师用ElectricAssault=是否可为磁暴线圈充电,原版仅步兵使用有实际充电效果Temporal=是否为超时空军团兵抹消效果,需要保持攻击状态才有效,抹消目标所需帧数=10*目标最大生命值/Damage,与弹头比率无关原版对空中单位无效用作光棱溅射武器、用作驻扎武器、弹头范围非0、用作副武器,将无法正常运作甚至崩溃IsLocomotor=是否为磁电坦克吸人逻辑:强制改变目标运动方式并强制命令目标向自身移动Locomotor=磁电逻辑使用的运动方式,注:除原版磁电弹头使用的方式外,大多数都不能正常使用{92612C46-F71F-11d1-AC9F-006008055BB5}将目标拖到空中,落自己附近,如果目标上有jumpjet相关参数将被调用,否则使用默认值空白 将目标超时空到自己附近,并报废 {4A582743-9839-11d1-B709-00A024DDAFD1}让目标无法移动{4A582747-9839-11d1-B709-00A024DDAFD1}将目标超时空到自己附近,并报废 {4A582742-9839-11d1-B709-00A024DDAFD1}让目标无法移动,可上水 {4A582741-9839-11d1-B709-00A024DDAFD1}将目标拉到自己附近,并报废 {4A582745-9839-11d1-B709-00A024DDAFD1}崩溃 {4A582746-9839-11d1-B709-00A024DDAFD1}让目标无法移动{2BEA74E1-7CCA-11d3-BE14-00104B62A16C}将目标拉到自己附近,并报废 {4A582744-9839-11d1-B709-00A024DDAFD1}将目标拉到自己附近,并报废 报废是指永远不能再做任何动作 Airstrike=是否召唤空袭(鲍里斯),需和发射者身上召唤空袭的代码配合,同时会绘制红色激光指引线Psychedelic=是否混乱目标,持续时间由Damage决定Parasite=是否为寄生武器,狗、恐怖机器人、蜘蛛等,秒杀步兵应配合武器LimboLaunch = yes使用Paralyzes=寄生武器瘫痪目标时间,用于乌贼,在寄生解除时会自动移除,一般填写巨大的数值Culling=乌贼是否在红血或黄血时立刻杀死目标触发条件:发射该弹头的单位无星或老兵,目标的血量小于或等于[AudioVisual]→ConditionRed =发射该弹头的单位是精英,目标的血量小于或等于[AudioVisual]→ConditionYellow =只有当弹头也设置了Parasite=yes并且单位同时设置了Naval=yes和Organic=yes时,才会实际触发秒杀。MakesDisguise=填yes或者no,间谍用Particle =此弹头作用时触发的粒子系统,比如你可以做个远程维修车,在维修目标处产生火花粒子MaxDebris=MinDebris=弹头最多最少产生的shp碎片数量,如狂兽人拆坦克,碎片类型在全局中的MetallicDebris产生和DebrisTypes连用则决定生成指定VXL碎片的数量DebrisTypes=指定弹头生成哪些VXL碎片DebrisMaximums=生成VXL碎片用,不影响数量,随便写个正数,否则崩溃ShakeXlo=ShakeXhi=ShakeYlo=ShakeYhi=分别代表弹头引起屏幕抖动的XY方向大小值,填写10-50效果较好NukeMaker=核弹升空武器弹头专用,其他情况无用CellInset 用于自动展开 距离多远触发自动展开DirectRocker=是否直接掀翻车辆不产生伤害。掀翻力比Rocker大,在全局中定义另外被此类武器击中的坦克在攻击者死亡之前都不能活动。此外攻击者在发射此武器后也无法活动,除非单位里有“Pushy=yes”。本来用于狂兽人的萝鸡但是后来放弃,功能还在。CausesDelayKill=是否延迟爆炸,只对EligibleForDelayKill=yes的单位(油桶)生效DelayKillFrames=延时爆炸帧数DelayKillAtMax=延时爆炸时间随距离爆炸中心变化比率Sparky = 必须写no否则崩溃,具体看https://www.modenc.renegadeprojects.com/SparkyFire = 是否着火,TS残留Deform = 改变地形 无效 TS残留DeformThreshhold = 超过此伤害才可以改变地形 无效Veinhole是否为泰矿伤害,TS残留,无用; ******* Projectile Characteristics *******【抛射体代码】Arcing =填写yes或no,炮弹类的标志,弹道为抛物线ROT = 导弹类的标志,填写数值,导弹转向的角速度,推荐0-100。大于0就是追踪导弹,如果发射者为Aircraft类,0代表地毯式五连发轰炸,1代表定点五连发攻击,大于1必须飞机上有Fighter=yes才能顺利发射Level = 填写yes或no,鱼雷的标志,抛体保持在水面上运动,一般和rot连用 Inviso = 填写yes或no,瞬间命中抛射体的标志 如机枪激光Vertical= 填写yes或no,垂直攻击的标志 如飞艇炸弹,飞碟吸和Inviso连用DetonationAltitude= 抛射体高于此高度立刻爆炸,Vertical类默认0Image = 抛射体图像 Inviso类无效AA = 可否对空AG = 可否攻击地板AN = AS = ASW = 对海反潜等,反正记得只有AAAG好用Acceleration = 抛射体加速度,默认3SubjectToCliffs = 会撞山吗SubjectToElevation = 高处攻击有射程加成吗SubjectToWalls = 是否不能穿墙Cluster = 爆炸数量,写正整数,会产生多个散乱爆炸,原版空爆弹中锁定为⑨ShrapnelWeapon=光棱溅射子武器名ShrapnelCount=光棱溅射子武器数目Airburst =是否使用空爆弹萝鸡AirburstWeapon=空爆子武器名溅射和空爆的子武器必须有单位使用否则崩溃,Ares里可新增WeaponTypes注册列表来实现FirersPalette=填写yes或no,该武器的抛射体使用发射者的色盘,并继承所属色,如恐怖机器人和狗CourseLockDuration = 导弹类出膛后经过这么多帧后才锁定目标Dropping = 炮弹炸膛……Inaccurate = 不直击 如煤球炮FlakScatter= 散射 如煤球炮Proximity = 是否到达目标所在单元格立刻爆炸Ranged = 是否在导弹追击超过一定距离后原地爆炸Color = 抛射体所属色,写颜色名Scalable = 定义是否因地图上抛体数量过多而提高尾烟产生间隔以保持游戏流畅运行Shadow =抛射体是否有影子High= 飞得高 无视围墙VeryHigh = 灰得超高 不受任何阻挡Floater=指定此射弹在行进时不会偏离其高度(与正常射弹相比,当它们到达时会“落到”目标)。 这意味着它通常会一直运动直到它碰到某些东西。IgnoresFirestorm=该抛射体是否能穿透火风暴墙Arm= 指定导弹引信启动延迟 默认0 Degenerates =导弹是否在飞行过程中渐渐降低速度和伤害,废弃功能Bouncy = 是否弹跳 无效Elasticity = 弹跳能力,1-0,默认0.75,TS残留,红警中无效Parachuted =无效最后修订日期20190201by

武器系统详解的评论 (共 条)

分享到微博请遵守国家法律