进入主题:
A18版本更新后实在是变了很多,遇到很多坑,不过还好大部分都解决了,还是看了很多英雄大大之前的教材
以新增一个name为gunPistols手枪为例:(其他的翻译大家可以找英雄大大的帖子看看,下面是我自己测试的一些属性详解)
(手枪伤害主要靠搭载的子弹伤害来提升)
<effect_group name="gunPistols"> <passive_effect name="MaxRange" operation="base_set" value="50"/> <passive_effect name="DamageFalloffRange" operation="base_set" value="200"/> <!--武器射程--> <passive_effect name="DamageFalloffRange" operation="perc_add" value="0,0"/> <!--在武器射程随机减少或增加0,0为不随机--> <!--<passive_effect name="EntityDamage" operation="perc_add" value="0"/> <passive_effect name="BlockDamage" operation="perc_add" value="0"/>--> <passive_effect name="DamageModifier" operation="perc_add" value="-.8" tags="earth"/> <passive_effect name="DamageModifier" operation="perc_add" value="2" tags="wood"/> <passive_effect name="RoundsPerMinute" operation="base_set" value="180"/> <!--弹夹射速--> <passive_effect name="BurstRoundCount" operation="base_set" value="1"/> <!--按住左键1发或者多发--> <passive_effect name="MagazineSize" operation="base_set" value="30"/> <!--手枪弹夹容量--> <passive_effect name="ReloadSpeedMultiplier" operation="base_set" value="2"/> <!-- 2s --> <!--换弹速度--> <passive_effect name="ModSlots" operation="base_set" value="1,1,2,2,3,4" tier="1,2,3,4,5,6"/> <!--value插槽数所对应的武器品质tier--> <passive_effect name="ModPowerBonus" operation="perc_add" value=".10" tags="EntityDamage,BlockDamage"/> <passive_effect name="ModPowerBonus" operation="base_add" value="300" tags="EconomicValue"/> <passive_effect name="EntityDamage" operation="perc_add" value="0,0"/> <!-- random EntityDmg --> <!--同一品质的武器僵尸伤害随机, 0,0为不随机--> <passive_effect name="EntityDamage" operation="perc_add" value=".1,.5" tier="2,6"/> <!-- tier bonus --> <!--同一武器不论品质僵尸伤害随机 0,0为不随机--> <passive_effect name="BlockDamage" operation="perc_add" value="-.15,.15"/> <!-- random BlockDmg --> <!--同一材质方块伤害随机, 0,0为不随机--> <passive_effect name="BlockDamage" operation="perc_add" value=".1,.5" tier="2,6"/> <!-- tier bonus --> <!--同一材质方块伤害随机, 0,0为不随机--> <passive_effect name="DegradationMax" operation="perc_add" value="0,0" tags="perkGunslinger"/> <!--初始减少或增加随机耐久,0,0为不随机--> <passive_effect name="RoundsPerMinute" operation="perc_add" value="0,0"/> <!--随机增加或减少弹夹射速, 0,0为不随机--> <passive_effect name="MagazineSize" operation="perc_add" value="0,0"/> <!--随机弹夹容量减少或增加的范围, 0,0为不随机,不随机则以属性MagazineSize为准确数值--> <passive_effect name="WeaponHandling" operation="perc_add" value="-.08,.08"/> <!--初始射击后准星回复原状的速度--> <passive_effect name="SpreadDegreesVertical" operation="base_set" value="1.5"/> <!--十字瞄准上下(垂直)离中心点的距离--> <passive_effect name="SpreadDegreesHorizontal" operation="base_set" value="1.5"/> <!--十字瞄准左右(水平)离中心点的距离--> <passive_effect name="SpreadMultiplierAiming" operation="base_set" value=".4"/> <!--瞄具瞄准时十字瞄准距离中心的位置--> <passive_effect name="SpreadMultiplierCrouching" operation="base_set" value="0.8"/> <!--初始准星大小(与中心点的距离)--> <passive_effect name="SpreadMultiplierWalking" operation="base_set" value="1.5"/> <!--移动时,十字瞄准距离中心的位置(数值越大,十字范围越大,越瞄不准)--> <passive_effect name="SpreadMultiplierRunning" operation="base_set" value="2.2"/> <!--奔跑时,十字瞄准距离中心的位置(数值越大,十字范围越大,越瞄不准)--> <passive_effect name="KickDegreesVerticalMin" operation="base_set" value=".8"/> <passive_effect name="KickDegreesVerticalMax" operationoperation="base_set" value=".8"/> <passive_effect name="KickDegreesHorizontalMin" operation="base_set" value="-.25"/> <!--射击时,最小左右(水平)后坐力--> <passive_effect name="KickDegreesHorizontalMax" operation="base_set" value=".25"/> <!--射击时,最大左右(水平)后坐力--> <passive_effect name="IncrementalSpreadMultiplier" operation="base_set" value="2.0"/> <passive_effect name="WeaponHandling" operation="base_set" value=".95"/> <!-- crosshair reset speed --> <!--射击后准星回复原状的速度--> <passive_effect name="DegradationMax" operation="base_set" value="200,800" tier="1,6" tags="perkGunslinger,9mmGun"/> <!--1品质为200,6品质为800,中间品质随机200-800--> <passive_effect name="DegradationPerUse" operation="base_set" value="1" tags="perkGunslinger,9mmGun"/> <!--分解之后可获得的物品--> </effect_group>
如果自定义武器搭载配件发生穿模,比如红点瞄准,要去item_modifiers.xml文件下找到红点的id为modGunReflexSight的配件下,新建一个name为自定义武器的name值。中间的三个property用的是手枪红点的坐标。这样就不会出现穿模的情况了,如果要安装其他配件则同上。
<item_property_overrides name="gunPistols"> <property name="ScopeOffset" value="0,0.08,-0.01"/> <property name="ScopeScale" value="0.7,0.7,0.7"/> <property name="ScopeCameraOffset" value="0,-0.035,0"/> </item_property_overrides>
如果要给手枪搭载4倍镜(原版手枪只能安装红点瞄具):
第二步:在item_modifiers.xml文件中找到4倍镜的installable_tags的值 拷贝下来。也就是 mediumTopAttachments。
第三步:将新武器的ID按下下面的方法添加进来,坐标用的是手枪的红点瞄具。实测刚刚好。
<item_property_overrides name="gunPistols"> <property name="ScopeOffset" value="0,0.08,-0.01"/> <property name="ScopeScale" value="0.7,0.7,0.7"/> <property name="ScopeCameraOffset" value="0,-0.035,0"/> </item_property_overrides>
第四步:将mediumTopAttachments 复制粘贴到你所添加武器的tags的值里用逗号分隔,即可完成。
有不清楚的或者没写明白的欢迎向我提出,手写不易,感谢。。
0楼?阅读7.6K,没人回复?
我是在试图扩大所有武器随机值的研究时找到这里的。研究结果:
主随机数发生器位于 PassiveEffect.ModValue()
有两个移除或扩大物品随机属性的主控
PassiveEffect.GetModifiedValueData()
PassiveEffect.ModValue()
它们最重要的取值语句为 PassiveEffect.ModValue(this.Modifier
而这个 this.Modifier 的赋值来自xml文件
取xml值在函数 PassiveEffect.ParsePassiveEffect()
最终可以直接对上面这个取值函数进行修改。反射或直改都可以。
tql,大佬
交流群喵:909761181,联系我喵
这个逼装的我给82分,剩下的用666的方式打给你!