本帖最后由 campionezev 于 2021-6-21 16:23 编辑  
 
骑砍2中装备大概可以分为 近战武器/远程武器/投掷武器/远程弹药/盾牌/防具/马匹 六类。 
推荐使用 notepad++ 或类似软件进行修改。 
骑砍2中近战武器是由各种部件组成,无法直接修改数据,只能先新建/修改武器部件数据,而达到修改近战武器的目的。 
1.新建/修改武器部件: 
所需文件位置: 
Modules\Native\ModuleData\crafting_pieces.xml(所有武器配件数据) 
Modules\Native\ModuleData\crafting_templates.xml(所有打铁可用的武器配件ID) 
Modules\Native\ModuleData\Languages\CNs\std_crafting_pieces_xml-zho-CN.xml(所有武器配件中文翻译) 
1)查找所需修改的武器部件: 
以修改  覆皮双手握柄 为例,英语不行的同志,请先打开 std_crafting_pieces_xml-zho-CN.xml 
Ctrl+F 搜索 覆皮双手握柄 看到以下代码: 
<string id="03YrcAtx" text="覆皮双手握柄 "/> 
03YrcAtx 便是 覆皮双手握柄 的代号 
 
2)再打开 crafting_pieces.xml 
Ctrl+F 搜索 03YrcAtx 便可找到 覆皮双手握柄 的兵种数据 
英语较佳的同志,可省略步骤1),直接搜索 覆皮双手握柄 的英文 Wrapped Leather Grip Two Handed 即可 
或者打开游戏,设置为英语,在铁匠铺里看到每个部件的英文名称了,但鉴于要手打,还是步骤1)复制粘贴搜索快点···· 
 
3)所有部件以 <CraftingPiece id="XXXXXX" 开头至 </CraftingPiece> 结尾为一组,有点编程基础应该都懂。 
以下是武器部件数据模板,我只复制一组,为了讲解略微修改了下格式,大家触类旁通应该通能看懂的: 
<CraftingPiece id="A"  
( A 为武器配件ID,必须独一无二且全为英文,不能有空格,空格可以用下划线代替) 
  name="{=B}C"  
( B 为对应翻译文件所需的ID,自己新建配件可以删掉,或改为唯一的。C 游戏英文版显示的配件名,自己新建配件可以直接打中文,可有空格) 
  tier="D"  
( D 为武器配件级别,游戏内级别为1-5,只可为整数) 
  piece_type="E"  
( E 为武器配件类别,不要修改) 
  mesh="F"  
( F 为武器配件模型,不要修改) 
  culture="G"  
( G 为武器配件文化,似乎没啥影响) 
  length="H"  
( H 为武器配件长度,不要修改) 
  weight="I" 
( I 为武器配件重量,随意修改,但必须为数字) 
  excluded_item_usage_features="O"> 
( O 为武器配件特性,例如 thrust = 对盾加成) 
    <PieceUsages unavailable_usages="J" /> 
  ( J 为武器配件不可用方式,某些配件会有,删除后可以让武器使用不受限制,例如长杆武器能冲能砍,具体限制了啥机翻下就知道了) 
    <BladeData ········> 
  (这行不用管) 
      <Thrust damage_type="Pierce" damage_factor="K" /> 
    ( K 为武器配件穿刺伤害系数,数值越大伤害越高,但必须为数字,我改成99过,伤害过千) 
      <Swing damage_type="Cut" damage_factor="L" /> 
    ( L 为武器配件劈砍伤害系数,同上) 
    </BladeData> 
    <Flags> 
      <Flag name="Civilian" type="ItemFlags" /> 
    </Flags> 
    <Materials> 
      <Material id="M" count="N" /> 
    ( M 为打造该配件所需材料,有 Iron1-6 对应 生铁-精炼钢, Wood 对应 硬木,N 为所需数量,必须为整数) 
    </Materials> 
</CraftingPiece> 
 
4)将新建武器配件添加到铁匠铺中: 
打开 crafting_templates.xml 搜索你所添加武器配件的类别,共有以下类别: 
id="OneHandedSword" 单手剑  id="TwoHandedSword" 双手剑  id="Dagger" 匕首  id="ThrowingKnife" 飞刀  id="OneHandedAxe" 单手斧  id="TwoHandedAxe" 双手斧  id="ThrowingAxe" 飞斧  id="TwoHandedPolearm" 双手长杆武器  id="Pike" 长枪  id="Javelin" 标枪  id="Mace" 单手锤  id="TwoHandedMace" 双手锤 在该类别下找到 <UsablePieces> 字符,在下面添加新一行代码: <UsablePiece piece_id="A"/>  A 为步骤3)中的对应代码。  
 2.修改近战武器数据:
所需文件位置:
Modules\Native\ModuleData\crafting_pieces.xml(所有武器配件数据)
Modules\Native\ModuleData\crafting_templates.xml(所有打铁可用的武器配件ID)
Modules\Native\ModuleData\Languages\CNs\std_crafting_pieces_xml-zho-CN.xml(所有武器配件中文翻译) 
Modules\Native\ModuleData\mpitems.xml(所有装备数据1)  
Modules\SandBoxCore\ModuleData\spitems\weapons.xml(所有武器数据) 
  Modules\Native\ModuleData\Languages\CNs\std_mpitems_xml-zho-CN.xml(所有装备中文翻译1)  
 Modules\SandBoxCore\ModuleData\Languages\CNs\std_spitems_xml-zho-CN.xml(所有装备中文翻译2)    
 1)查找所需修改的近战武器 
以修改  南方部落头巾 为例,英语不行的同志,请先打开 std_spitems_xml-zho-CN.xml/std_mpitems_xml-zho-CN.xml 
Ctrl+F 搜索 南方部落头巾 看到以下代码: 
<string id="02g6K4Yw" text="南方部落头巾 "/> 
02g6K4Yw 便是 南方部落头巾 的代号 
再打开 spitems.xml/mpitems.xml 
Ctrl+F 搜索 02g6K4Yw 便可找到 南方部落头巾 的物品数据 
英语较佳的同志,可省略上步,直接搜索 南方部落头巾 的英文 Southern Tribal Turban 即可 
  
 2)所有近战武器物品都以  <CraftedItem id="XXXXXXX" 开头 </CraftedItem> 结尾, 
以下是近战武器物品数据模板,我只复制一组,为了讲解略微修改了下格式,大家触类旁通应该通能看懂的:   <CraftedItem id="A" ( A 为物品ID,必须独一无二且全为英文,不能有空格,空格可以用下划线代替)              name="{=B}C" 
            ( B 为对应翻译文件所需的ID,自己新建物品可以删掉,或改为唯一的。C  为戏英文版显示的物品名,自己新建物品可以直接打中文,可有空格)              crafting_template="D"            ( D 为物品分类,近战物品类别往上翻参考步骤4的分类)              is_merchandise="E"            ( E 为物品是否会在商店贩卖的判定,true=会,false=不会 ) 
              culture="Culture.F">            ( F 为物品所属文化,可能是影响商品出售的城市,neutral_culture=中立 可能可以在所有城市出售) 
     <Pieces> 
      <Piece id="G" 
             Type="Blade" 锋刃 
             scale_factor="H" /> 
      <Piece id="G" 
             Type="Guard" 护手 
             scale_factor="H" /> 
      <Piece id="G" 
             Type="Handle" 握柄 
             scale_factor="H" /> 
      <Piece id="G" 
             Type="Pommel" 尾饰 
             scale_factor="H" /> 
    </Pieces>   ( G 为武器配件ID,且必须与配件类别对应。H 为配件比例,默认100,最好在90-110之间吧这个属性具体我也没研究) 
   </CraftedItem> 
  
  3.修改远程武器数据: 
所需文件位置: 
Modules\Native\ModuleData\mpitems.xml(所有装备数据1)  
Modules\SandBoxCore\ModuleData\spitems\weapons.xml(所有武器数据) 
Modules\Native\ModuleData\Languages\CNs\std_mpitems_xml-zho-CN.xml(所有装备中文翻译1)  
 Modules\SandBoxCore\ModuleData\Languages\CNs\std_spitems_xml-zho-CN.xml(所有装备中文翻译2)   
查找所需修改的远程武器,方式参考之前的步骤。 
打开 spitems.xml/mpitems.xml,所有远程武器物品都以  <Item id="XXXXX" 开头  </Item> 结尾。 
以下是远程武器数据模板,我只复制一组,为了讲解略微修改了下格式,大家触类旁通应该通能看懂的: 
  <Item id="A" 
( A 为物品ID,必须独一无二且全为英文,不能有空格,空格可以用下划线代替)         name="{=B}C" 
      ( B 为对应翻译文件所需的ID,自己新建物品可以删掉,或改为唯一的。C 游戏英文版显示的物品名,自己新建物品可以直接打中文,可有空格)   
        body_name="XXXXXX" 
      (所有 X 部分都不要改动一般都是和物品模型有关,下同) 
        mesh="XXXXXX" 
        weight="D" ( D 为物品重量) 
        difficulty="E"( E 为使用该物品所需技能熟练度需求) 
        appearance="X" 
        Type="F"( F 为物品类别,远程武器只有 Bow=弓 和 Crossbow=弩 两类) 
        item_holsters="XXXXXXXXXXXXX"> 
        culture="Culture.L"( L 为物品所属文化,可能是影响商品出售的城市,neutral_culture=中立 可能可以在所有城市出售) 
        is_merchandise="K"( K 为物品是否会在商店出售的判定,true=会,false=不会) 
    <ItemComponent> 
      <Weapon weapon_class="G"( G 为武器类别,远程武器只有 Bow=弓 和 Crossbow=弩 两类) 
              ammo_class="H"( H 为弹药类别,远程武器只有 Arrow=箭矢 和 Bolt=弩箭 两类) 
              ammo_limit="I"( I 为弹药一次装填数量,必须为整数,默认1) 
              thrust_speed="J"( J 为射击初速度?必须为整数) 
              speed_rating="M"( M 为填装速度,必须为整数) 
              missile_speed="N"( N 为抛射物速度,必须为整数) 
              weapon_length="X"(武器长度···最好别改) 
              accuracy="O"( O 为武器精度,必须为整数) 
              thrust_damage="P"( P 为武器伤害,必须为整数) 
              thrust_damage_type="Q"( Q 为伤害类别,远程武器多为Pierce=穿刺伤害) 
              item_usage="R"( R 为武器使用方式,分别有long_bow=长弓,bow=短弓,crossbow_fast=轻弩,crossbow=弩,长弓无法在马上使用) 
              physics_material="X" 
              center_of_mass="0.15,0,0">(这行我看不懂·····希望来个大佬指教下····) 
        <WeaponFlags RangedWeapon="true"(是远程武器) 
                     HasString="true"(有抛物线) 
                     StringHeldByHand="true"(需要手拉弦) 
                     NotUsableWithOneHand="true"(单手无法使用) 
                     TwoHandIdleOnMount="true"(需要双手使用) 
                     AutoReload="true"(自动填装) 
                     UnloadWhenSheathed="true" (卸下时装入护套)                    
                     CantReloadOnHorseback="true" />(无法在马背上填装) 
      </Weapon> 
    </ItemComponent> 
    <Flags ForceAttachOffHandPrimaryItemBone="true" />(主手持) 
  </Item> 
 
3.修改投掷武器数据: 
所需文件位置: 
Modules\Native\ModuleData\mpitems.xml(所有装备数据1)  
Modules\SandBoxCore\ModuleData\spitems\weapons.xml(所有武器数据) 
Modules\Native\ModuleData\Languages\CNs\std_mpitems_xml-zho-CN.xml(所有装备中文翻译1)  
 Modules\SandBoxCore\ModuleData\Languages\CNs\std_spitems_xml-zho-CN.xml(所有装备中文翻译2) 
查找所需修改的远程武器,方式参考之前的步骤。 
标枪/飞刀/飞斧类参考近战武器修改方式,以下为 石头 这种特殊类的投掷武器,因为和远程武器差不多,所以我就不详细标注了: 
  <Item id="A"(物品ID) 
        name="{=B}C"(物品名称) 
        is_merchandise="D"(是否为商品) 
        body_name="XXXXX"(X都无视,下同) 
        holster_body_name="XXXXXX" 
        holster_mesh="XXXXXXX" 
        holster_mesh_with_weapon="XXXXXX" 
        mesh="XXXXXX" 
        weight="E"(物品重量) 
        appearance="X" 
        Type="Thrown"(物品类别) 
        item_holsters="XXXXXXX"> 
    <ItemComponent> 
      <Weapon weapon_class="Stone"(武器类别,飞刀/飞斧/标枪/石头各不相同) 
              ammo_class="Stone"(弹药类别) 
              stack_amount="F"(弹药数量) 
              physics_material="missile" 
              accuracy="G"(精度) 
              thrust_speed="H"(初速度) 
              speed_rating="I"(填装速度) 
              missile_speed="J"(抛射物速度) 
              weapon_length="K"(武器长度) 
              thrust_damage="L"(武器伤害) 
              item_usage="stone"(武器使用方式类别) 
              rotation="XXX,XX,XX"(不懂···无视) 
              passby_sound_code=""(似乎是声效的代码) 
              rotation_speed="0, -3.0, 0">(不懂···无视) 
        <WeaponFlags RangedWeapon="true"(为远程武器) 
                     Consumable="true"(会随着使用消耗) 
                     AutoReload="true"(自动填装) 
                     UseHandAsThrowBase="true" />(用手臂射击) 
      </Weapon> 
    </ItemComponent> 
    <Flags /> 
  </Item> 
 
4.修改远程弹药数据: 
所需文件位置: 
Modules\Native\ModuleData\mpitems.xml(所有装备数据1)  
Modules\SandBoxCore\ModuleData\spitems\weapons.xml(所有武器数据) 
Modules\Native\ModuleData\Languages\CNs\std_mpitems_xml-zho-CN.xml(所有装备中文翻译1)  
 Modules\SandBoxCore\ModuleData\Languages\CNs\std_spitems_xml-zho-CN.xml(所有装备中文翻译2) 
查找所需修改的远程弹药,方式参考之前的步骤。 
以下是远程弹药数据模板,我只复制一组,为了讲解略微修改了下格式,大家触类旁通应该通能看懂的,因此不再详细标注:   
 
  <Item id="A"(物品ID) 
        name="{=B}C"(物品名称) 
        body_name="XXXXX"(无视X,下同) 
        holster_body_name="XXXX" 
        mesh="XXXX" 
        culture="Culture.D"(物品文化) 
        weight="E"(物品重量) 
        appearance="X" 
        flying_mesh="XXXXX"(飞行模式,建议不要修改,这个我具体也没研究,可能每种飞行弧度不同) 
        holster_mesh="XXXXX" 
        holster_mesh_with_weapon="XXXXXX" 
        Type="F"(物品类别,Arrows=箭矢,Bolts=弩矢) 
        item_holsters="XXXXXXXXXXX" 
        holster_position_shift="XXXXXXX"> 
    <ItemComponent> 
      <Weapon weapon_class="G"(武器类别) 
              stack_amount="H"(弹药数量) 
              thrust_speed="0" 
              speed_rating="0" 
              physics_material="missile" 
              missile_speed="I"(抛射物速度) 
              weapon_length="J"(武器长度最好别改) 
              thrust_damage="K"(弹药伤害) 
              thrust_damage_type="Pierce"(伤害类型,一般都是Pierce=穿刺伤害) 
              item_usage="arrow_right"(武器使用类型,箭矢为arrow_right=右手射击,弩矢为空) 
              passby_sound_code="XXXXXXXX" 
              rotation="X" 
              sticking_position="X" 
              sticking_rotation="X" 
              center_of_mass="X"> 
        <WeaponFlags Consumable="true"(物品为消耗品) 
                     AmmoSticksWhenShot="true"(击中后附着) 
                     AmmoBreaksOnBounceBack="true" />(取消射击时中断) 
                     AttachAmmoToVisual="true"(稳固瞄准,弩一般会有,应该是准星不会放大) 
 
      </Weapon> 
    </ItemComponent> 
    <Flags /> 
  </Item> 
 
5.修改盾牌数据: 
所需文件位置: 
Modules\Native\ModuleData\mpitems.xml(所有装备数据1)  
Modules\SandBoxCore\ModuleData\spitems\shields.xml(所有盾牌数据) 
Modules\Native\ModuleData\Languages\CNs\std_mpitems_xml-zho-CN.xml(所有装备中文翻译1)  
 Modules\SandBoxCore\ModuleData\Languages\CNs\std_spitems_xml-zho-CN.xml(所有装备中文翻译2) 
查找所需修改的盾牌,方式参考之前的步骤。 
以下是盾牌数据模板,我只复制一组,为了讲解略微修改了下格式,大家触类旁通应该通能看懂的,因此不再详细标注:   
  <Item id="A"(物品ID) 
        name="{=B}C"(物品名称) 
        body_name="XXXXXXXX"(无视 X ,下同) 
        shield_body_name="XXXXX" 
        recalculate_body="false" 
        mesh="XXXX"(盾牌模型) 
        culture="Culture.D"(物品文化) 
        is_merchandise="E"(是否会贩卖,true=会,false=不会) 
        weight="F"(物品重量) 
        appearance="X" 
        Type="Shield"(物品类别) 
        item_holsters="XXXXXXXX" 
        has_lower_holster_priority="true" 
        holster_position_shift="-0.1,-0.07,-0.05"> 
    <ItemComponent> 
      <Weapon weapon_class="LargeShield"(盾牌类别) 
              body_armor="X" 
              thrust_speed="G"(初速度) 
              thrust_damage_type="Blunt"(盾击伤害类型,盾牌基本都是Blunt=钝击) 
              speed_rating="H"(速度等级) 
              physics_material="metal_shield"(盾牌材质 wood_shield=木质,metal_shield=金属制) 
              item_usage="shield"(物品使用方式,盾牌就这一种不用改) 
              position="XXXXXXXX" 
              rotation="XXXXXXX" 
              weapon_length="I"(盾牌大小) 
              center_of_mass="XXXXXXX" 
              hit_points="J">(盾牌耐久) 
        <WeaponFlags CanBlockRanged="true"(可以阻挡远程) 
                     HasHitPoints="true" />(拥有生命值) 
      </Weapon> 
    </ItemComponent> 
    <Flags WoodenParry="true"(木质格挡) 
           HeldInOffHand="true"(挂在手上) 
           ForceAttachOffHandSecondaryItemBone="true" />(副手持) 
  </Item> 
 
6.修改防具数据: 
所需文件位置: 
Modules\Native\ModuleData\mpitems.xml(所有装备数据1)  
Modules\SandBoxCore\ModuleData\spitems\head_armors.xml(所有头盔数据) 
Modules\SandBoxCore\ModuleData\spitems\shoulder_armors.xml(所有肩甲数据) 
Modules\SandBoxCore\ModuleData\spitems\body_armors.xml(所有身甲数据) 
Modules\SandBoxCore\ModuleData\spitems\arm_armors.xml(所有臂甲数据) 
Modules\SandBoxCore\ModuleData\spitems\leg_armors.xml(所有腿甲数据) 
Modules\Native\ModuleData\Languages\CNs\std_mpitems_xml-zho-CN.xml(所有装备中文翻译1)  
 Modules\SandBoxCore\ModuleData\Languages\CNs\std_spitems_xml-zho-CN.xml(所有装备中文翻译2) 
查找所需修改的防具,方式参考之前的步骤。 
以下是防具数据模板,我只复制一组,为了讲解略微修改了下格式,大家触类旁通应该通能看懂的,因此不再详细标注:   
 
  <Item id="A"(物品ID) 
        name="{=B}C"(物品名称) 
        mesh="XXXXXXX"(物品模型) 
        culture="Culture.D"(物品文化) 
        is_merchandise="E"(物品是否会贩卖,true=会,false=不会) 
        weight="F"(物品重量) 
        appearance="X" 
        Type="H">(防具类别,HeadArmor=头盔,Cape=护肩,BodyArmor=胸甲,HandArmor=臂铠,LegArmor=腿甲) 
    <ItemComponent> 
      <Armor head_armor="I"(头防) 
             body_armor="G"(身防) 
             leg_armor="K"(腿防) 
             arm_armor="L"(臂防) 
             covers_body="true" 
             modifier_group="cloth" 
             material_type="Cloth" />(材质有布甲/皮甲/链甲/板甲四种,应该会影响各种伤害的防御系数,但我没改过,嫌麻烦) 
    </ItemComponent> 
    <Flags UseTeamColor="true" />(物品根据阵营改变颜色) 
  </Item> 
 
7.修改马匹数据: 
所需文件位置: 
Modules\Native\ModuleData\mpitems.xml(所有装备数据1)  
Modules\SandBoxCore\ModuleData\spitems\horses_and_others(所有马匹和其他物品数据) 
Modules\Native\ModuleData\Languages\CNs\std_mpitems_xml-zho-CN.xml(所有装备中文翻译1)  
 Modules\SandBoxCore\ModuleData\Languages\CNs\std_spitems_xml-zho-CN.xml(所有装备中文翻译2) 
查找所需修改的马匹,方式参考之前的步骤。 
以下是马匹数据模板,我只复制一组,为了讲解略微修改了下格式,大家触类旁通应该通能看懂的,因此不再详细标注:   
  <Item id="A"(物品ID) 
        name="{=B}C"(物品名称) 
        mesh="XXXXX"(物品模型) 
        item_category="war_horse"(物品类别,war_horse才能作为升级用战马) 
        subtype="horse"(物品子类) 
        item_category="horse"(物品类别) 
        is_merchandise="D"(物品是否会贩卖,true=会,false=不会) 
        culture="Culture.E"(物品文化) 
        weight="F"(物品重量) 
        difficulty="G"(骑乘所需技能熟练度) 
        appearance="1" 
        Type="Horse"> 
    <ItemComponent> 
      <Horse monster="Monster.horse" 
             maneuver="H"(操纵) 
             speed="I"(速度) 
             charge_damage="J"(冲撞伤害) 
             body_length="K"(马匹大小) 
             is_mountable="true"(可以骑乘) 
             is_pack_animal="true"(是驮畜,驮畜负重更高) 
             extra_health="L"(额外生命值,一般战马会有) 
             skeleton_scale="XXXXX">(模型) 
        <AdditionalMeshes> 
          <Mesh name="horse_mane_2" 
                affected_by_cover="true" /> 
        </AdditionalMeshes> 
        <Materials>(马匹颜色) 
          <Material name="horse_brown_mat"> 
            <MeshMultipliers> 
              <MeshMultiplier mesh_multiplier="FF010101"(RGB16进制的颜色代码) 
                              percentage="0.75" />(比例) 
              <MeshMultiplier mesh_multiplier="FF909090" 
                              percentage="0.25" /> 
            </MeshMultipliers> 
          </Material> 
      </Horse> 
    </ItemComponent> 
    <Flags Civilian="true" />(平民类) 
    <Flags UseTeamColor="true" />(根据阵营改变颜色) 
  </Item> 
 
 
欢迎各位大佬指正,修改物品一定要注意类别对准,别把握柄的部件添加到把手上之类,看不懂的部分就不要改···· 
如果是新建物品选择的参照物品的模型与材质劲量不要更改。 
修改兵种的方法参考我这篇帖子:【无需新档】新建/修改兵种数据装备教程 
我的MOD:【2月6日】全领主美化,再也没有丑女人,想娶谁都行【6月21日/全版本适用兵种MOD/无需新档】全阵营女武神补全 ,新增雇佣兵女武神 
N网搬运汉化,全版本适用漂亮的女性服装【女仆装、圣诞宝贝、小丑女等】MOD 
 
 
 
 |