骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 11889|回复: 18

[分享] 锻造相关数据文件和数值影响

[复制链接]

1

主题

4

回帖

12

积分

随仆

Rank: 1

UID
20732
第纳尔
308
精华
0
互助
2
荣誉
0
贡献
0
魅力
15
注册时间
2007-5-5
鲜花(2) 鸡蛋(0)
发表于 2020-4-5 23:57:45 | 显示全部楼层 |阅读模式
本帖最后由 jffifa 于 2020-4-6 00:08 编辑

新人帖,不知道该发MOD区还是该发这里,如果不合适的话麻烦版主挪一下位置。阅读本文可能需要一些XML文件格式的基础知识。
耐心阅读本文,你将能够修改出一把自己专属的霸王枪~(改改党永不为奴


首先说结论,砍2的锻造系统实际上是一个非常核心的机制,所有武器的数值和外观都是由锻造系统中的那些武器部件组合而成的
下面分别介绍每个文件:
1. 这个文件列举了所有的锻造部件数据
  1. \Modules\Native\ModuleData\crafting_pieces.xml
复制代码
其中每个"CraftingPiece"项对应一个锻造部件,随便举个例子:
QQ图片20200405021550.png
这个就是某个锻造级别5的枪头部件的数据
  • id为"spear_blade_18"是该部件在游戏系统中的唯一标识,类似骑砍1的item_kinds1.txt里面每个物品描述的第一个英文字符串
  • name是它的英文名,前面这段"{=qSV6C2tp}"是用于寻找中文翻译名的一个标识,名字的翻译在这个文件
    1. \Modules\Native\ModuleData\Languages\CNs\std_crafting_pieces_xml-zho-CN.xml
    复制代码
    这个文件里面有如下一行
    1. <string id="qSV6C2tp" text="剑杖头" />
    复制代码
    可以看到这个部件中文名字为剑杖头。
  • tier是锻造级别,剑杖头锻造级别为最高级5。锻造级别是和锻造难度相关的。
  • piece_type是部件类型,"Blade"就是剑刃或者枪刃的意思。
  • mesh是模型贴图。
  • length和weight,长度和重量。
  • 子节点BladeData的子节点,可以看到damage_type分别有pierce和cut,也就是伤害类型有戳刺和挥砍,后面的damage_factor就是伤害系数。
  • Materials里面列举了锻造需要的材料,Iron4记得是优质钢,count为2也就是需要两块。
其它数值的含义暂时未知。

再来看一个比较重要类型的部件:长杆武器柄
QQ图片20200405023826.png
注意到子节点PieceUsages有个属性unavailable_usages,值为英文冒号分割的"TwoHandedPolearm_Couchable"和"Javelin",也就是双手可冲刺骑枪和标枪。猜测应该指的是这个部件不能被用于制造冲刺骑枪和标枪,或者可以理解为使用了这个部件后长柄武器就不能进行骑枪冲刺了。

那么问题来了,这些属性是怎样影响武器的伤害和攻速呢?
  • 长度的作用不言而喻。长度越长操纵性越差。注意骑砍2的挥砍伤害是跟砍到人的武器部位有关的,剑尖和枪尖砍到人的伤害远大于剑柄(或者剑刃靠近剑柄的部分)和枪柄挥到人的伤害,竞技场中很容易验证。
  • 伤害系数自然也是越大越好,但是这个系数和最终的面板数值并不是线性关系。
  • 重量,最有意思的部分来了。重量越低,挥砍和戳刺速度越快,操纵性越好。
    我们以优质钢双刃枪(不得不说这货居然只要1000块,和长偃月刀真是前期杀人越货居家旅行必备)为模板,它的锻造部件是剑杖头+装饰松木长握柄。握柄不变,枪头重量改为0.1(原重0.9),以及枪头不变,握柄重量改为0.1(原重0.9)的单双手面板对比(实际上是我分别新创建了两个部件,否则双刃枪的数值也会变动)。注意挥砍数值要看双手的,单手无法挥砍长杆武器。另外由于我锻造技能不够所以把部件等级都调成1,但是成品还是数值有略微抖动,不影响大体判断。
    • 改枪头重量:单手 QQ图片20200405224512.png 双手 QQ图片20200405224517.png
    • 改握柄重量:单手 QQ图片20200405230423.png 双手 QQ图片20200405230439.png

    可以看到,枪头和枪柄的重量减轻都会使得武器攻速变快,但伤害降低,而枪头相对枪柄对数值的影响大很多。打劫匪的伤害测试结果基本符合面板数值。我认为这是骑砍2更加真实和符合物理学常识的一个设定,角动量是和质量相关的,说人话就是重量越重的武器挥舞时越强力。当然角动量也跟刀刃挥舞的速度有关,目前不确定武器重量会多大程度影响到实际的挥舞速度。


2. 这个文件列举了每一个武器类别能够使用的所有部件
  1. \Modules\Native\ModuleData\crafting_templates.xml
复制代码

QQ图片20200405231459.png
每一个"CraftingTemplate"就是一类武器类别,图中的"TwoHandedPolearm"就是双手长杆武器,子节点"UsablePieces"列举了所有可用的部件,可以看到其中就有之前看到的剑杖头的ID"spear_blade_18"。

3. 这个文件列举了商店中的那些武器是怎样由以上的部件组合出来的
  1. \SandBoxCore\ModuleData\spitems.xml
复制代码

QQ图片20200405231835.png
如图,每一个CraftedItem就是一把武器,同样地,它也有ID,name等属性,name的翻译用同样的寻找方式,在
  1. \SandBoxCore\ModuleData\Languages\CNs\std_spitems_xml-zho-CN.xml
复制代码

找"UunjXpgb"这个字符串,可以看到
  1. <string id="UunjXpgb" text="优质钢双刃枪" />
复制代码
,也就是这个武器就是优质钢双刃枪。
Pieces列举了这把武器是由哪些部件组合出来的。"spear_blade_18"即剑杖头,"spear_handle_8"即装饰松木长握柄,"default"开头的那两个是默认的枪柄连接部件和枪尾,也就是空部件。。。"scale_factor"属性就是锻造时候部件的大小,100是默认(我之前实验用的那把枪是用默认大小锻造出的,可以看到和优质钢双刃枪一样长)。也就是说,骑砍2的所有武器都是由这些锻造部件组合出来的,锻造部件的数值修改将影响到该部件组合而成的所有武器的数值。


这就使得我们想通过锻造做出自己的专属武器时,不能直接修改原有部件的数值,否则敌人和队友的武器也会受到影响。解决的方法也很简单,就是添加一个新部件并复制原有部件的数据然后修改数值,并分别修改crafting_pieces.xml和crafting_templates.xml这两个文件。
举例来说,我们可以复制一个剑杖头的部件,然后把重量伤害系数修改一下(长度不建议修改,和模型相关,修改会导致穿模),由于没有任何已有武器使用了我们的“复制剑杖头”,这样就可以保证我们的新锻造武器是游戏中独有的。
修改crafting_pieces.xml,加入

  1.   <CraftingPiece id="spear_blade_18_modified" name="{=sSV6C2tp}My Pike Head" tier="1" piece_type="Blade" mesh="spear_blade_18" length="70" weight="0.1">
  2.     <PieceUsages unavailable_usages="" />
  3.     <BladeData sharpness="3" physics_material="wood_weapon" body_name="bo_spear_b">
  4.       <Thrust damage_type="Pierce" damage_factor="99.9" />
  5.       <Swing damage_type="Cut" damage_factor="99.9" />
  6.     </BladeData>
  7.     <Materials>
  8.       <Material id="Iron4" count="2" />
  9.     </Materials>
  10.   </CraftingPiece>
复制代码
mesh是模型,不可更改。id需要和已有部件不同,这里我们改成"spear_blade_18_modified",name部分建议换一个你能记住的名字,如果有闲情逸致也可以把前面那串{=xxxx}改了并去上文说的翻译文件里把名字的翻译加上(据我观察每次升级翻译文件都会被覆盖,所以每次升级后你都要加回去)。
修改crafting_templates.xml,加入对应的id(注意要在对应武器类型的区域加入,不知道加哪里可以直接加在原型部件的下面一行)
  1.       <UsablePiece piece_id="spear_blade_18_modified"/>
复制代码
进入游戏后,控制台解锁新出现的部件,就可以锻造专属的武器了。


QQ图片20200405082724.png

评分

参与人数 2第纳尔 +40 互助 +2 魅力 +15 收起 理由
muyiboy + 15 原创内容,值得鼓励!
Bombadil + 40 + 2 您的帖子很有价值!

查看全部评分

鲜花鸡蛋

rzerg  在2022-1-11 20:34  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
MBMCXZN  在2020-4-6 08:11  送朵鲜花  并说:不得不说是篇干货,可惜我才疏学浅,原理方面懂了,修改仍然觉得头疼

1

主题

45

回帖

19

积分

随仆

Rank: 1

UID
3013988
第纳尔
423
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2018-7-15

霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2020-4-6 00:23:36 | 显示全部楼层
看了下 这个修改量有点儿大,还是等MOD吧 感谢分享.

1

主题

22

回帖

7

积分

平民

Rank: 1

UID
3154525
第纳尔
36
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-2
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 01:46:36 | 显示全部楼层
膜拜大佬,第一次意识到游戏里武器可能都是锻造系统相关还是因为竞技场奖励的一把双手剑剑刃和握柄模型重合

2

主题

119

回帖

41

积分

扈从

Rank: 2Rank: 2

UID
272374
第纳尔
1502
精华
0
互助
1
荣誉
0
贡献
0
魅力
12
注册时间
2010-6-29

汉匈决战正版勋章

鲜花(7) 鸡蛋(0)
发表于 2020-4-6 02:12:40 | 显示全部楼层
厉害了大佬,这个系统可玩性很高的,就是在设计伤害的时候不是很直观,需要等将来的官方工具了。name那边直接写中文翻译就行,类似name="{=QinLong123}青龙偃月刀"

0

主题

24

回帖

7

积分

平民

Rank: 1

UID
3153552
第纳尔
137
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-1

霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2020-4-6 10:28:43 | 显示全部楼层
干货满满,感谢分享!

PS:楼主07年注册的现在才来破处……

9

主题

274

回帖

110

积分

见习骑士

Rank: 3

UID
69542
第纳尔
573
精华
0
互助
5
荣誉
0
贡献
0
魅力
1
注册时间
2008-3-1
鲜花(22) 鸡蛋(0)
发表于 2020-4-6 10:35:29 | 显示全部楼层
我只求知道怎么无限锻造体力,每次都休息一阵太蛋疼了。

22

主题

801

回帖

283

积分

见习骑士

Rank: 3

UID
421626
第纳尔
1216
精华
0
互助
7
荣誉
0
贡献
0
魅力
21
注册时间
2011-5-5

维京征服正版勋章

鲜花(5) 鸡蛋(0)
发表于 2020-4-6 11:41:00 | 显示全部楼层
分析得很透彻

8

主题

131

回帖

42

积分

扈从

Rank: 2Rank: 2

UID
1027732
第纳尔
421
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2012-10-12

战团正版勋章

鲜花(2) 鸡蛋(0)
发表于 2020-4-9 21:08:47 | 显示全部楼层
本帖最后由 千古完人空一格 于 2020-4-9 21:14 编辑

枪柄的长度还是改不了么?

0

主题

2

回帖

1

积分

平民

Rank: 1

UID
3175161
第纳尔
50
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-23
鲜花(0) 鸡蛋(0)
发表于 2020-5-4 23:57:01 | 显示全部楼层
楼主,请问如何在文件中删除自己锻造的武器啊?我在你提到的文件夹里都找不到“已制造双手长杆武器”之类的,看到这些锻造出来的未命名武器在市场上流通和难受orz

12

主题

122

回帖

40

积分

扈从

Rank: 2Rank: 2

UID
1804588
第纳尔
325
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2014-2-12

骑砍中文站APP会员勋章霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2020-5-5 00:08:47 | 显示全部楼层
jy02050831 发表于 2020-4-6 10:35
我只求知道怎么无限锻造体力,每次都休息一阵太蛋疼了。

大妈那里有修改器

10

主题

253

回帖

364

积分

贵族[MOD作者]

  学徒诗人

黑骑工作室[模型]

Rank: 7Rank: 7Rank: 7

UID
1861986
第纳尔
1546
精华
1
互助
11
荣誉
13
贡献
0
魅力
131
注册时间
2014-3-23

骑士精神之文韬勋章

鲜花(62) 鸡蛋(0)
发表于 2020-8-20 02:39:31 | 显示全部楼层
为什么我改了scale_factor之后铁匠铺里的锻造部件还是原长度。。 只能直接从作弊商店刷武器的时候才能有改动后的长度?

4

主题

59

回帖

19

积分

随仆

Rank: 1

UID
3112399
第纳尔
354
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2019-10-16

骑砍中文站APP会员勋章

鲜花(2) 鸡蛋(0)
发表于 2021-1-1 22:44:47 | 显示全部楼层
jy02050831 发表于 2020-4-6 10:35
我只求知道怎么无限锻造体力,每次都休息一阵太蛋疼了。

有个修改器叫风铃月影
萌新

0

主题

33

回帖

15

积分

随仆

Rank: 1

UID
1126385
第纳尔
64
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2012-12-21
鲜花(0) 鸡蛋(0)
发表于 2021-1-5 09:29:59 | 显示全部楼层
可以魔改吗?速度上300的那种

15

主题

1710

回帖

583

积分

骑士

Rank: 4Rank: 4

UID
379050
第纳尔
4271
精华
0
互助
9
荣誉
2
贡献
0
魅力
19
注册时间
2011-2-15

骑砍中文站APP会员勋章战团正版勋章拿破仑正版勋章元老骑士勋章骑士美德之英勇勋章[杰出会员活跃勋章]霸主正版勋章

QQ
鲜花(38) 鸡蛋(0)
发表于 2021-1-7 00:53:50 来自手机 | 显示全部楼层
leonardo2012 发表于 2021-1-5 09:29
可以魔改吗?速度上300的那种

容我明晚魔改个300属性试验一下实用性
来自: Android客户端

5

主题

825

回帖

284

积分

见习骑士

汉[Han]
联机ID:[Han]嗜好拾荒Z

Rank: 3

UID
3203584
第纳尔
1767
精华
0
互助
7
荣誉
0
贡献
0
魅力
5
注册时间
2020-10-12

骑砍中文站APP会员勋章霸主正版勋章

鲜花(13) 鸡蛋(0)
发表于 2021-1-7 01:12:21 来自手机 | 显示全部楼层
优秀 真的十分优秀 赞一个
来自: Android客户端

17

主题

305

回帖

102

积分

见习骑士

Rank: 3

UID
2461992
第纳尔
953
精华
0
互助
1
荣誉
0
贡献
0
魅力
1
注册时间
2015-3-2
鲜花(7) 鸡蛋(1)
发表于 2022-1-10 20:53:02 | 显示全部楼层
请教楼主两个问题,第一是我修改了高地装饰剑刃,这个自带破盾属性,复制整段代码,然后修改了id,crafting_pieces.xml和crafting_templates.xml这两个文件也进行了修改,进入游戏在锻造界面能正常看到这个配件,但是一点击系统就崩溃了,试了几次都不行?是我哪一步做错了吗?还是1.70的修改方式变了?

第二:如何给配件添加破盾属性?我找了好多文件都没找到相应语句?还请指点。

附上高地装饰剑刃代码。
<CraftingPiece id="battania_noble_blade_2new"       我只是在原名字上加了一个new,不知为何崩溃
                 name="{=Izstbt9y}Highland Decorated Blade"
                 tier="5"
                 piece_type="Blade"
                 mesh="battania_noble_blade_2"
                 culture="Culture.battania"
                 length="93.2"
                 weight="0.8">
    <BladeData stack_amount="3"
               physics_material="metal_weapon"
               body_name="bo_sword_one_handed"
               holster_mesh="battania_noble_blade_2_scabbard_2">
      <Thrust damage_type="Pierce"
              damage_factor="4.1" />
      <Swing damage_type="Cut"
             damage_factor="5.0" />
    </BladeData>
    <Flags>
      <Flag name="BonusAgainstShield" />
      <Flag name="Civilian"
            type="ItemFlags" />
    </Flags>
    <Materials>
      <Material id="Iron6"
                count="3" />

17

主题

305

回帖

102

积分

见习骑士

Rank: 3

UID
2461992
第纳尔
953
精华
0
互助
1
荣誉
0
贡献
0
魅力
1
注册时间
2015-3-2
鲜花(7) 鸡蛋(1)
发表于 2022-1-10 21:31:03 | 显示全部楼层
jack-lee 发表于 2022-1-10 20:53
请教楼主两个问题,第一是我修改了高地装饰剑刃,这个自带破盾属性,复制整段代码,然后修改了id,crafting ...

破盾的我已经找到了!现在就差新建配件了!!!

2

主题

14

回帖

10

积分

随仆

Rank: 1

UID
3467445
第纳尔
84
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2022-12-30
鲜花(0) 鸡蛋(0)
发表于 2023-1-1 16:25:15 | 显示全部楼层
666。不过按照楼主的方法新增修改好的配件后,在锻造坊里可显示但是点击就会崩溃,请问是啥原因呢?现在只能先修改原武器的数值玩....

0

主题

13

回帖

9

积分

平民

Rank: 1

UID
3248393
第纳尔
55
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2021-6-26
鲜花(0) 鸡蛋(0)
发表于 2023-8-20 17:59:13 | 显示全部楼层
然而这个非常核心的机制却因为恶性BUG导致成依托答辩.....读档之后不仅绿字消失,而且武器模型会重置,这就意味着锻造时变更的一切数值,包括长度,操控,伤害,速度等.....气死我了
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2024-3-28 21:33 , Processed in 0.174192 second(s), 54 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表