骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[原创] .5841亲卫稳定两袋箭 - 手拆代码尝试

[复制链接]

4

主题

10

回帖

19

积分

随仆

Rank: 1

UID
3008173
第纳尔
122
精华
0
互助
3
荣誉
0
贡献
0
魅力
40
注册时间
2018-6-18
鲜花(2) 鸡蛋(0)
发表于 2021-8-14 06:04:32 | 显示全部楼层 |阅读模式
本帖最后由 5ThYL 于 2021-8-22 14:13 编辑

闲来无事...我也试试手拆代码
目的就是让亲卫可以稳定的带两袋箭
此处参考的是TW论坛上别人发的一个给潘德的调整https://forums.taleworlds.com/index.php?threads/tutorial-custom-knighthood-order.267392/page-47#post-8820816

t1

t1


-25.000000 0.000000 0.000000  0  45 2071 1 1224979098644774912 1718 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 360287970189640019 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189640019 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189640835 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 5 0 31 2 1224979098644774913 360287970189640075 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189640075 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189640836 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 3 0

众所皆知... 这些txt实际上就是数字化的python代码, 可以直接对着战团的modulesys来一个个对手拆... 所以可以运用ctrlF大法来不停的对比 看看这个要怎么改才适用法亚了

战团modulesys官方下载: http://download.taleworlds.com/mb_warband_module_system_1171.zip
然后编译后的modulesys可以直接在Native的模组文件夹里面找到

原文主要要改的是missiontemplate所以我们打开这两个文件
也合理, 毕竟给装备是进了场景后才给的, 所以改这两个文件也合理

t2

t2

记住, 理论上左右是相互对应的, 只不过一个是单词, 一个是数字

然后我们找到我们最常用的场景来熟悉下怎么拆, 冲压! i3.png

然后可以看到左边的 4 1 4160 0 16 12 0  那一列对应的是     (1,mtef_defenders|mtef_team_0,0,aif_start_alarmed,12,[]), 的那几列
很明显, 这些数字都是一一对应的, 什么1对1, 12对12什么的, 只不过里面混了点单词 我也不知道是啥就是了
往下走, 原文说要把低一个 -25.000之前的数字+1, 这个应该是编译后数这个场景有多少个函数的一个数字, 到也是可以在右边没编译的版本看到这个是没对应的, 所以应该是编译后加上去的

而这个
-25, 应该也是生成某个单位触发的事件, ti_on_agent_spawn, 后面0 0一一对应
我们原文也是-25, 而生成部队给装备也应该是生成单位触发的, 合理

然后下面的 15 又是怎么回事呢?
我以为他是啥奇奇怪怪的东西, 找了半天, 原来是这个函数下面有多少行代码的意思...

后面的也好对应了, 2071, 2072 2073可以从下面的几行代码看到是对应的store_trigger_param_1 2 3
t4.png

而2071后面的1貌似就是这个函数里面有几个变量的意思

而这个1224979098644774912应该是啥呢?
通过多次的尝试后...发现, 应该是第一个变量
就是不管右边他叫啥, 只要是第一个, 都会被编译成1224979098644774912
第二个叫1224979098644774913
实际上就是最后两个数, 第一个是12, 2是13, 3 14
也挺简单的

好了, 拆代码基础搞懂了, 我们就来拆一下这位论坛大佬提供的这段把, 来看看具体要改啥才能适用到法亚上
-25.000000 0.000000 0.000000  0 - 对应ti_on_agent_spawn, 0, 0, []
45  - 个函数
2071 1 1224979098644774912 - store_trigger_param_1, ":变量1 - 把某个东西存到第一个变量里,

1718 2 1224979098644774913 1224979098644774912
这个1718跟之前一样, 可以在MS对代码处找出是啥意思, 也就是agent_get_troop_id, 这里也就是agent_get_troop_id, 变量2, 变量1
这段意思应该是把变量1的兵种号, 也就是魔球里面可以看到的, 每个兵种的序列, 存到变量2里面

4 0 31 2 1224979098644774913 360287970189640019
4 0 这段找了下 应该是try begin, 也就是开启某个那啥循环
而31 2应该是(eq, "$g_battle_won", 1)的确认后面两个参数是否相等
也就是确认第二个变量是否跟这个... 360287970189640019 鬼东西是否相等
然后...抱着这应该是跟变量一样的起始编号 我搜了下36028797018964, 结果找了半天 终于找到了
360287970189640522指向的是trp_fugitive
所以理论上这个就是某个特定的兵种了, 有这个也就是我们给法亚适配这个代码的核心!
魔球找了下, 是842 [说起来这货竟然有6强击...]
所以理论上360287970189640523就应该是指向原版的酒鬼了, 确认了下, 无误

t5.png

意思就是360,287,970,189,639,680 + 兵的序号就是编译后的兵的序号


那接下来我们就去法亚确认下我们的想法, 搜一下360287970189639680 + 478, 360287970189640158
理论上这个序号应该会在conversation里面出现, 因为亲卫是用对话雇佣的
i6.png
设想很成立, 一大堆跟亲卫有关的对话都有360287970189640158, 所以我们这里替换下就好了

源代码里还有另一个36028797018964开头的, 应该是潘德的军士, 我这里就不管了[理论上bug会爆炸不过谁管呢

所以关键点已经找到, 其他的也不用看了, 不过考虑到法亚有两个亲卫, 所以军士那份我就用来替换第二个亲卫, 也就是479的360287970189640158
走起!
...

不过庆祝之前还发现代码里有另一个
360287970189640835
这个鬼东西我跑到潘德里去看1155, 结果找到的是个商人...
不过还好我机智, 往下一看发现1164就有自建骑士团, 所以应该是版本偏移导致序列不对
不过看起来貌似潘德也有两个亲卫...所以...处理方式是...
用478替换第一个, 用479替换第二个亲卫?

去试试好了

-25.000000 0.000000 0.000000  0  45 2071 1 1224979098644774912 1718 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 360287970189640158 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189640158 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189640159 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 5 0 31 2 1224979098644774913 360287970189640158 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189640158 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189640159 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 3 0

结论就这个

然后...再把这个加到各个战斗场景就完工了

理论上
missiontemplate搜索charge
然后用这一段
39
-25.000000 0.000000 0.000000  0  45 2071 1 1224979098644774912 1718 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 360287970189640158 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189640158 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189640159 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 5 0 31 2 1224979098644774913 360287970189640158 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189640158 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189640159 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 3 0

代替原来的38
就可行了
如下
t7.png

然后野战的时候, 应该就生效了
就能保证亲卫有两袋箭了

两小时搞定...实际上花的时间也不多, 这还是第一次手拆代码, 也不算太难

至于其他的战斗场景...你自己摸索去吧, 我这已经写得...很乱但是还算详细了, 都算是个手拆代码的教程了
t5.png

评分

参与人数 1第纳尔 +10 互助 +1 魅力 +15 收起 理由
Aomine Daiki + 10 + 1 + 15 文章不错,继续努力!

查看全部评分

0

主题

26

回帖

8

积分

平民

Rank: 1

UID
3259305
第纳尔
69
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2021-8-6
鲜花(0) 鸡蛋(0)
发表于 2021-8-14 07:44:33 来自手机 | 显示全部楼层
拜倒在楼主的西装裤下来自: iPhone客户端

13

主题

21

回帖

20

积分

随仆

Rank: 1

UID
2748891
第纳尔
281
精华
0
互助
2
荣誉
0
贡献
0
魅力
1
注册时间
2016-5-31
鲜花(6) 鸡蛋(0)
发表于 2021-8-17 03:16:39 | 显示全部楼层
本帖最后由 自由天空翼 于 2021-8-17 19:15 编辑

楼主辛苦了,我把你总结的代码精简了一下且剔除了一些无用代码后最终的结果如下:
-25.000000 0.000000 0.000000  0  24 2071 1 1224979098644774912 1718 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 360287970189640158 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189640158 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189640159 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 3 0

然后0.486版本生效的代码如下:

-25.000000 0.000000 0.000000  0  24 2071 1 1224979098644774912 1718 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 360287970189641030 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189641030 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189641031 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 3 0

鲜花鸡蛋

5ThYL  在2021-8-18 23:01  送朵鲜花  并说:看到没 这才是真的大佬

14

主题

87

回帖

30

积分

扈从

Rank: 2Rank: 2

UID
160596
第纳尔
299
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2009-10-8
鲜花(1) 鸡蛋(0)
发表于 2022-3-22 18:15:39 | 显示全部楼层
自由天空翼 发表于 2021-8-17 03:16
楼主辛苦了,我把你总结的代码精简了一下且剔除了一些无用代码后最终的结果如下:
-25.000000 0.000000 0. ...

在0.486中亲卫稳定两袋剩箭代码怎么替换啊?你光给了代码没说在哪替换,能在mission_templates.txt中给出详细位置吗?感谢楼主!!!

3

主题

32

回帖

11

积分

随仆

Rank: 1

UID
1801348
第纳尔
235
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2014-2-9

战团正版勋章霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2022-4-2 11:13:19 | 显示全部楼层
因为原来的modulesys不见了,我又忘了名字,我纯靠看txt慢慢试也完成了一部分工作,差点累死,还好今天看到了楼主提供的下载地址,不然我就该早逝了

13

主题

21

回帖

20

积分

随仆

Rank: 1

UID
2748891
第纳尔
281
精华
0
互助
2
荣誉
0
贡献
0
魅力
1
注册时间
2016-5-31
鲜花(6) 鸡蛋(0)
发表于 2022-4-17 15:15:36 | 显示全部楼层
htdxzmw 发表于 2022-3-22 18:15
在0.486中亲卫稳定两袋剩箭代码怎么替换啊?你光给了代码没说在哪替换,能在mission_templates.txt中给出 ...

(1)打开mission_templates.txt,搜索mst,接着在除了一个带camera的场景以外的每一个mst(即场景)下方的第一个触发器前的数字+1
(例:
mst_lead_charge lead_charge 65538  8
You_lead_your_men_to_battle.

4 1 4160 0 16 12 0  
0 4160 0 16 0 0  
4 8320 0 16 12 0  
4 8320 0 16 0 0
【38】

将这里的38+1变为39)


(2)在上文+1之后打个空格空出一行,并在这行后粘贴下列代码:
-25.000000 0.000000 0.000000  0  24 2071 1 1224979098644774912 1718 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 360287970189641030 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189641030 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189641031 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 3 0
(除了一个带camera的场景不添加该代码外其余的所有都添加一遍)

这样修改完成后将领卫队进每个场景时就都会带两袋箭了

14

主题

87

回帖

30

积分

扈从

Rank: 2Rank: 2

UID
160596
第纳尔
299
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2009-10-8
鲜花(1) 鸡蛋(0)
发表于 2022-4-29 20:50:24 | 显示全部楼层
自由天空翼 发表于 2022-4-17 15:15
(1)打开mission_templates.txt,搜索mst,接着在除了一个带camera的场景以外的每一个mst(即场景)下方 ...

感谢楼主回复,感谢大佬细致解答,好人好运

4

主题

10

回帖

19

积分

随仆

Rank: 1

UID
3008173
第纳尔
122
精华
0
互助
3
荣誉
0
贡献
0
魅力
40
注册时间
2018-6-18
鲜花(2) 鸡蛋(0)
 楼主| 发表于 2023-3-21 21:38:06 | 显示全部楼层
更新一个605版本的, 就是亲卫序号挪了一点到了484跟485
-25.000000 0.000000 0.000000  0  24 2071 1 1224979098644774912 1718 2 1224979098644774913 1224979098644774912 4 0 31 2 1224979098644774913 360287970189640164 1540 2 1224979098644774914 1224979098644774913 6 3 1224979098644774915 0 1224979098644774914 1541 3 1224979098644774916 360287970189640164 1224979098644774915 32 2 1224979098644774916 0 1570 2 1224979098644774917 1224979098644774916 4 0 33 3 1224979098644774917 2 11 1729 2 1224979098644774912 1224979098644774916 1774 2 1224979098644774912 1224979098644774916 3 0 3 0 6 3 1224979098644774918 0 4 1541 3 1224979098644774919 360287970189640165 1224979098644774918 4 0 32 2 1224979098644774919 0 2120 3 1224979098644774920 1224979098644774918 1 1779 3 1224979098644774912 1224979098644774919 1224979098644774920 3 0 3 0 3 0
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-4-20 11:29 , Processed in 0.143193 second(s), 33 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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