骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[经验与教程] 【流水线】一些新增种族性别的小心得

[复制链接]

18

主题

160

回帖

168

积分

见习骑士

Rank: 3

UID
3048044
第纳尔
2095
精华
0
互助
19
荣誉
2
贡献
20
魅力
295
注册时间
2018-12-15
鲜花(36) 鸡蛋(0)
发表于 2022-10-29 19:51:54 | 显示全部楼层 |阅读模式
众所周知的,新建种族由于好心t社并没有在skin留一个能控制对话的接口,因此经过我的一顿翻找,modder需要在script、dialog和simpletrigger里搜索troop_get_type来挨个寻找并替换那些需要调整的东西(你说得对,但是troop_get_type是由taleworld...)经过观察,我发现这种东西分两个调用法,一个是作为局部变量调用作为条件使用,一个是直接存在reg寄存器里当做下方文本中设计性别对话的判断
对于前者我的想法是直接换个判定,添加新增skin需要的性别拓展条件
       (this_or_next|eq, ":is_female", 1),
       (this_or_next|eq, ":is_female", 3),
       (eq, ":is_female", 4),          

例如我mod里的3和4是另外两种女性头模,所以在检查女性的地方把它拓展一下加个this_or_next
另外一种我第一眼看过去觉得是死代码,然后思考了一下之后想着可以换寄存器做了另外一种替换,那里的判定看起来是如果寄存器大于1,全部用女性文本,因此我的做法是在他下面加个判断
        (try_begin),
         (this_or_next|eq, reg4, 2), #undead
         (ge, reg4, 5), #other
         (assign,reg4,0),
        (try_end),

判断如果种族非女性,那么将这个寄存器设定成男性0(?),这样对话的时候就不会用“她”了
最后,鉴于标题是流水线,也为了后来者能够快捷一点的设定这个,在这里分享一下几个ms里再判断性别时用的很多的变量
对于局部变量的,ms里常用的两个局部变量是":is_female"和":type",同时你的剪贴板里应该准备好男女各一份的版本
对于寄存器的,用的最多的是reg3和reg4,也应该准备好男女各一份,总计四份,加条件/替换的时候用win+r有备而来效率会高很多

评分

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

查看全部评分

鲜花鸡蛋

咸鱼圣代  在2024-3-27 10:14  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
半世尘埃  在2022-10-30 08:26  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

29

主题

751

回帖

574

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1748
精华
0
互助
68
荣誉
0
贡献
0
魅力
6
注册时间
2022-2-3
鲜花(57) 鸡蛋(0)
发表于 2022-10-29 20:02:11 来自手机 | 显示全部楼层
来自: Android客户端

18

主题

160

回帖

168

积分

见习骑士

Rank: 3

UID
3048044
第纳尔
2095
精华
0
互助
19
荣誉
2
贡献
20
魅力
295
注册时间
2018-12-15
鲜花(36) 鸡蛋(0)
 楼主| 发表于 2022-10-29 20:03:07 | 显示全部楼层

0

主题

20

回帖

6

积分

平民

Rank: 1

UID
3065019
第纳尔
98
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2019-3-27
鲜花(0) 鸡蛋(0)
发表于 2022-11-18 01:32:03 | 显示全部楼层
大哥 求帮忙 我在外交里新增了8个种族 其中SINK5  7  9  11为女性 但是被系统默认为男  还有女性结婚对象更换新种族后无法结婚 最后小兵更换新种族XO后又会变回默认女性

18

主题

160

回帖

168

积分

见习骑士

Rank: 3

UID
3048044
第纳尔
2095
精华
0
互助
19
荣誉
2
贡献
20
魅力
295
注册时间
2018-12-15
鲜花(36) 鸡蛋(0)
 楼主| 发表于 2022-11-19 16:47:40 | 显示全部楼层
18580214488 发表于 2022-11-18 01:32
大哥 求帮忙 我在外交里新增了8个种族 其中SINK5  7  9  11为女性 但是被系统默认为男  还有女性结婚对象更 ...

不是我这帖子不就说的这个事吗

0

主题

20

回帖

6

积分

平民

Rank: 1

UID
3065019
第纳尔
98
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2019-3-27
鲜花(0) 鸡蛋(0)
发表于 2022-11-19 23:12:51 | 显示全部楼层
黑暗路西法 发表于 2022-11-19 16:47
不是我这帖子不就说的这个事吗

就是不会弄啊 我不会PY

0

主题

20

回帖

6

积分

平民

Rank: 1

UID
3065019
第纳尔
98
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2019-3-27
鲜花(0) 鸡蛋(0)
发表于 2022-11-19 23:14:49 | 显示全部楼层
黑暗路西法 发表于 2022-11-19 16:47
不是我这帖子不就说的这个事吗

我QQ2765091623 能帮我看下不 还有别的小问题请教 比如雇佣的女官不能用魔球换装

18

主题

160

回帖

168

积分

见习骑士

Rank: 3

UID
3048044
第纳尔
2095
精华
0
互助
19
荣誉
2
贡献
20
魅力
295
注册时间
2018-12-15
鲜花(36) 鸡蛋(0)
 楼主| 发表于 2022-11-20 12:43:49 | 显示全部楼层
18580214488 发表于 2022-11-19 23:12
就是不会弄啊 我不会PY

/remake

0

主题

20

回帖

6

积分

平民

Rank: 1

UID
3065019
第纳尔
98
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2019-3-27
鲜花(0) 鸡蛋(0)
发表于 2022-11-20 17:22:49 | 显示全部楼层

我是改的外交策略 除了平时增加的种族骨骼外 还有XX时的种族骨骼

7

主题

46

回帖

36

积分

扈从

Rank: 2Rank: 2

UID
2898778
第纳尔
493
精华
0
互助
4
荣誉
0
贡献
0
魅力
5
注册时间
2017-11-25
鲜花(5) 鸡蛋(0)
发表于 2023-1-21 21:31:41 | 显示全部楼层
新增种族兵种是不是需要写个触发器,我看兵种头文件里只有默认的三种

10

主题

64

回帖

32

积分

扈从

Rank: 2Rank: 2

UID
3476407
第纳尔
29
精华
0
互助
2
荣誉
0
贡献
0
魅力
0
注册时间
2023-1-17
鲜花(5) 鸡蛋(0)
发表于 2023-1-21 23:58:02 来自手机 | 显示全部楼层
wei1786 发表于 2023-1-21 21:31
新增种族兵种是不是需要写个触发器,我看兵种头文件里只有默认的三种

不需要,但是需要在h开头那文件里定义。

鲜花鸡蛋

wei1786  在2023-1-22 09:13  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

7

主题

46

回帖

36

积分

扈从

Rank: 2Rank: 2

UID
2898778
第纳尔
493
精华
0
互助
4
荣誉
0
贡献
0
魅力
5
注册时间
2017-11-25
鲜花(5) 鸡蛋(0)
发表于 2023-1-22 09:13:14 | 显示全部楼层
路见不平拔刀侠 发表于 2023-1-21 23:58
不需要,但是需要在h开头那文件里定义。

谢了,刚试了下确实可以,之前看见个do not edit就没敢改

0

主题

9

回帖

3

积分

平民

Rank: 1

UID
3594307
第纳尔
5
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-12-23
鲜花(0) 鸡蛋(0)
发表于 2024-2-26 02:38:43 来自手机 | 显示全部楼层
wei1786 发表于 2023-1-22 09:13
谢了,刚试了下确实可以,之前看见个do not edit就没敢改

你好 我想问下新增种族之后如何自己使用呢?来自: iPhone客户端

10

主题

174

回帖

100

积分

见习骑士

Rank: 3

UID
1411320
第纳尔
670
精华
0
互助
5
荣誉
2
贡献
0
魅力
23
注册时间
2013-6-13

战团正版勋章

鲜花(9) 鸡蛋(0)
发表于 2024-8-5 23:40:49 | 显示全部楼层
vocal 我怎么才看到你的帖子。。
前几天遇到自定的华夏人,发现跟卡拉迪亚的女人有生殖隔离
问了个这个 https://bbs.mountblade.com.cn/thread-2106353-1-1.html 后面才知道是 skins 的问题……

不过至今也没有很好的解决,这些代码真的太 hardcode 了……
想找个一劳永逸的方法——新增一个类似 get type 的 troop_get_gender 一样的operation,并且能实现修改这个传入的 <destination> 的值,而不是污染全局变量 reg0~reg65 ..
尤其还有使用 ":is_female"这种的恶心玩意…… 这代码是真丑啊
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-12-27 12:32 , Processed in 0.140423 second(s), 31 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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