ammthair 发表于 2020-4-18 17:45

修改玩家锻造的武器属性加成

本帖最后由 ammthair 于 2020-4-18 17:48 编辑

参考qinmaohui的方法,直接改程序
(个人偏爱这种方法,升级了再改一次就行了,理论上不改依赖过于复杂的地方,就不会坏档)

基本步骤见原帖
https://bbs.3dmgame.com/thread-6031358-1-2.html


修改位置见图片,修改后,玩家打铁锻造的武器都有效,意味着锻造出来的都是神器,交易价格不菲
具体代码如下:
overrideData.WeightOverriden = -1f;
overrideData.SwingSpeedOverriden = 30;
overrideData.ThrustSpeedOverriden = 30;
overrideData.Handling = 50;
using (IEnumerator<WeaponUsageData> enumerator = weaponDesign.Template.WeaponUsageDatas.GetEnumerator())
{
    while (enumerator.MoveNext())
    {
      if (enumerator.Current.WeaponClass == WeaponClass.TwoHandedPolearm)
      {
            overrideData.WeightOverriden = -1f;
            overrideData.SwingSpeedOverriden = 50;
            overrideData.ThrustSpeedOverriden = 50;
      }
    }
}

上面个人加了判断(可以自行去掉),对双手长杆武器速度加成在50(双手长杆比较特别,速度就是慢好多),其它武器则是30(个人觉得速度太快,会影响打击感)

说明:
overrideData是锻造武器之后,武器属性再额外叠加的数据部分
overrideData.WeightOverriden 重量,改成-1表示总重量减1,反之更重

overrideData.SwingSpeedOverriden 挥砍速度,叠加时会除以4.5再叠加,按上面的修改就是 原数据值 + 50 / 4.5

overrideData.ThrustSpeedOverriden 刺击速度,叠加时会先除以11.7再叠加

overrideData.SwingDamageOverriden 挥砍伤害,在原数据上直接叠加,不建议改
overrideData.ThrustDamageOverriden 刺击伤害,在原数据上直接叠加,不建议改
overrideData.Handling 操作性,在原数据上直接叠加

随_缘 发表于 2020-4-18 19:16

这个是真的厉害,居然没人回复????   我还在实验中

pp19910611 发表于 2020-4-18 19:32

棒哦,这样就自有神器了

随_缘 发表于 2020-4-18 19:36

亲测可行,就怕后面npc会买来用。很赞的修改教程

ammthair 发表于 2020-4-18 20:13

随_缘 发表于 2020-4-18 19:36
亲测可行,就怕后面npc会买来用。很赞的修改教程

npc还会买主角锻造的武器!:L应该不会吧..

如果发现,请给个截图

那时再加个修改,让npc买不了,只准看

QIONGRENDUO 发表于 2020-4-18 20:17

。。。怎么改,一点基础没有

天乐仔 发表于 2020-4-18 20:32

可惜没传奇前缀,不然再来个传奇几率,简直美

kibaissa 发表于 2020-4-18 23:37

为什么改了之后读档锻造加成属性还是2-5点

随_缘 发表于 2020-4-18 23:45

本帖最后由 随_缘 于 2020-4-18 23:47 编辑

kibaissa 发表于 2020-4-18 23:37
为什么改了之后读档锻造加成属性还是2-5点
改后直接锻造,然后出去仓库看,有效果

kibaissa 发表于 2020-4-18 23:59

随_缘 发表于 2020-4-18 23:45
改后直接锻造,然后出去仓库看,有效果

仓库?打造完不是直接在身上么?

kibaissa 发表于 2020-4-19 00:02

kibaissa 发表于 2020-4-18 23:59
仓库?打造完不是直接在身上么?

overrideData.SwingDamageOverriden
overrideData.ThrustDamageOverriden
这两个为什么不在楼主发的代码里

kibaissa 发表于 2020-4-19 00:13

随_缘 发表于 2020-4-18 23:45
改后直接锻造,然后出去仓库看,有效果

搞明白了,谢谢指点,锻造时看不出来,进入商店属性有了。伤害代码可以自己加进去

prettyD6 发表于 2020-4-19 03:35

楼主,你知道怎么删掉自己锻造的武器吗?我之前为了练锻造,造了一堆武器,结果现在竞技场全是我锻造的那些垃圾东西,打开市场,也是一排排的已制造单手剑、已制造双手剑之类的,我裂开了{:3_92:}

styleshare 发表于 2020-4-19 04:13

本帖最后由 styleshare 于 2020-4-19 04:17 编辑

问下楼主,有没有办法把武器配件的缩放大小属性横条,再更大点或更小点?

或者是去除单手剑因为武器长度的关系,导致的挥砍速度惩罚低一点?



就是这玩意,能让他再长一点吗?

我试过用直接新增武器的方式,自己做了一个单手的偃月刀,想效仿关二爷的,但是因为长度的原因,挥砍速度一直上不去。

如果锻造可以加速度的话,我直接锻造也可以,但是直接锻造,这个大小太少了,打造出来的不好看。

随_缘 发表于 2020-4-19 06:46

styleshare 发表于 2020-4-19 04:13
问下楼主,有没有办法把武器配件的缩放大小属性横条,再更大点或更小点?

或者是去除单手剑因为武器长度的 ...

你找这个还不如让楼主找锻造后的长度加成,这个好像跟这个帖子修改的方法块不一样的

中品です 发表于 2020-4-19 13:07

本帖最后由 中品です 于 2020-4-19 13:20 编辑

你的修改办法其实也不错,但是过于麻烦,直接改高几率和高属性加成,就可以了搜索关键词GetModifierTierForSmithedWeapon和GetPointsToModify
修改一下参数即可
请看效果图

ps:不要喷我, 我只是提供一个更优的解决方案。



ammthair 发表于 2020-4-19 17:49

styleshare 发表于 2020-4-19 04:13
问下楼主,有没有办法把武器配件的缩放大小属性横条,再更大点或更小点?

或者是去除单手剑因为武器长度的 ...

在 TaleWorld.Core.dll 这个文件里面 TaleWorld.Core -> Crafting 改长度
但是,我个人看,武器长度涉及的关联计算太多了(模型、碰撞点计算、命中、武器类型等等),直接改了可能会有很多影响吧,包括从xml里直接改(这里面就有从xml文件里读数据的方法)也会受影响,比较复杂
你可以自行尝试改下这里看看


ammthair 发表于 2020-4-19 17:57

prettyD6 发表于 2020-4-19 03:35
楼主,你知道怎么删掉自己锻造的武器吗?我之前为了练锻造,造了一堆武器,结果现在竞技场全是我锻造的那些 ...

不知道怎么删除..

从代码看,锻造的武器会注册到全局物品类型里面,下面的代码
MBObjectManager.Instance.RegisterObject<ItemObject>(currentCraftedItemObject);
在MBObjectManager里面可以找到一个注销的,但是没有找到有调用的地方,后续官方应会改造这块
public void UnregisterObject(MBObjectBase obj)



ammthair 发表于 2020-4-19 18:00

中品です 发表于 2020-4-19 13:07
你的修改办法其实也不错,但是过于麻烦,直接改高几率和高属性加成,就可以了搜索关键词GetModifierTierF ...

好办法!

不过在GetPointsToModify这里改,那就是所有武器属性的加成了吧,我个人并不想修改武器伤害(多砍几下,增加打击感)

中品です 发表于 2020-4-20 00:13

ammthair 发表于 2020-4-19 18:00
好办法!

不过在GetPointsToModify这里改,那就是所有武器属性的加成了吧,我个人并不想修改武器伤害( ...
并不是所有武器,是你锻造达到某个条件才触发。 比如拥有锻造11级技能才可以
目前我是这样子搞得

laogun520 发表于 2020-4-20 00:30

有没有改模型的mod啊 原版长柄武器实在太普通了,至于改武器建议轻改因为手感很难平衡

tang520a7 发表于 2020-4-20 00:55

本来想找修改长杆挥砍速度的方法,没想到发现了个宝藏{:3_121:}

tang520a7 发表于 2020-4-20 02:23

但是现在有个问题,锻造的武器读档后会变成国标属性{:3_99:}

lx19891213 发表于 2020-4-20 11:19

中品です 发表于 2020-4-19 13:07
你的修改办法其实也不错,但是过于麻烦,直接改高几率和高属性加成,就可以了搜索关键词GetModifierTierF ...

可以具体点吗?谢谢。

中品です 发表于 2020-4-20 15:01

lx19891213 发表于 2020-4-20 11:19
可以具体点吗?谢谢。

https://bbs.3dmgame.com/forum.php?mod=viewthread&tid=6036020&extra=page%3D1%26filter%3Dtypeid%26typeid%3D25014
我分享在这里了

liyun12 发表于 2020-4-27 12:15

换来换去还是楼主这个方法好用,1.2更新后变成直接加成了。数据加多少效果就加多少,只是游戏更新需要再次修改!多谢楼主分享这个方法

shwone 发表于 2020-4-28 13:32

重量越低破坏力越低啊,砸不动城门

shwone 发表于 2020-4-28 13:38

中品です 发表于 2020-4-19 13:07
你的修改办法其实也不错,但是过于麻烦,直接改高几率和高属性加成,就可以了搜索关键词GetModifierTierF ...

怎么修改啊?

shwone 发表于 2020-4-28 14:07

我吧-1改成了1,然后斧子砍门,一斧头130,攻城锤还没过来外门就砍碎了,内门也就七八下。

mogong1501 发表于 2020-4-29 11:15

学习了,都是大神
页: [1] 2
查看完整版本: 修改玩家锻造的武器属性加成