- 好友
- 2
- 在线时间
- 27 小时
- 最后登录
- 2024-12-26
见习骑士
- UID
- 3048044
- 第纳尔
- 2095
- 精华
- 0
- 互助
- 19
- 荣誉
- 2
- 贡献
- 20
- 魅力
- 295
- 注册时间
- 2018-12-15
鲜花( 36) 鸡蛋( 0)
|
众所周知的,新建种族由于好心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有备而来效率会高很多
|
评分
-
查看全部评分
鲜花鸡蛋咸鱼圣代 在2024-3-27 10:14 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下 半世尘埃 在2022-10-30 08:26 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下
|