本帖最后由 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
|