- 好友
- 0
- 在线时间
- 0 小时
- 最后登录
- 2026-2-8
平民

- UID
- 3100875
- 第纳尔
- 76
- 精华
- 0
- 互助
- 0
- 荣誉
- 0
- 贡献
- 0
- 魅力
- 10
- 注册时间
- 2019-9-1
 鲜花( 0)  鸡蛋( 0)
|
本帖最后由 魔球修改狂热者 于 2026-2-7 20:27 编辑
代码环境1.171
之前看元帅养成的帖子发现想要让领主a与其他领主之间的关系变好就要让a先撞上敌人,然后其他领主助战,结束后会加关系。
然后就有人提出问题,玩家加入会不会影响关系的变动,有的人说会有的人说加入不会,但是因为没有一个直观的方法查看领主间关系而不了了之。
然后有人说原版开作弊模式可以看家庭关系,这个代码就是在module_scripts.py的"game_get_money_text"脚本里:在那个#Family notes下面
- (try_for_range, ":aristocrat", lords_begin, kingdom_ladies_end),#尝试”贵族“在领主到王国女士的兵种之间
- (call_script, "script_troop_get_family_relation_to_troop", ":aristocrat", ":troop_no"),#获取当前角色与贵族的家庭关系
- (gt, reg0, 0),
- (try_begin),
- (neg|is_between, ":aristocrat", kingdom_ladies_begin, kingdom_ladies_end),#然后把王国女士排除在外
- (eq, "$cheat_mode", 1),#是作弊模式
- (str_store_troop_name_link, s12, ":aristocrat"),#把名字存在s12并且附带超链接
- (call_script, "script_troop_get_relation_with_troop", ":aristocrat", ":troop_no"),#这就是获取关系的脚本
- (str_store_string, s49, "str_s49_s12_s11_rel_reg0"),#把数据存在这个字符串
- (else_try),
复制代码
那么我就想弄个同阵营显示关系的功能,就在#Family notes循环整个结束后添加新的循环。
- #show_relation#
- (try_begin),
- (neg|is_between,":troop_no",kings_begin,kings_end),#判断当前角色不是国王。我没有给国王介面加
- (neg,":troop_no","trp_player"),#不是玩家,这个可以删掉,然后玩家界面也会显示关系,不过功能跟报告里的按关系查看已认识的领主重复了
- (str_store_string, s49, "str__colleague_"),#新增字符串,colleague开头与家族开头分开
- (this_or_next|is_between, ":troop_no", lords_begin, kingdom_ladies_begin),#尝试非女性领主
- (eq, ":troop_no", "trp_player"),
- (neg|is_between, ":troop_no", pretenders_begin, pretenders_end),#不是宣称者
- (try_for_range, ":aristocrat", lords_begin, kingdom_ladies_begin),#尝试判断与其他领主的关系
- (try_begin),
- (assign,":num_rel",0),#设置数值,好对比是否是亲戚
- (call_script, "script_troop_get_family_relation_to_troop", ":aristocrat", ":troop_no"),#获取当前角色与贵族的家庭关系
- (gt, reg0, 0),#有关系
- (val_add,":num_rel", 1),#数值+1
- (try_end),
- (try_begin),
- (store_troop_faction,":faction_num_1",":aristocrat"),#把贵族的阵营id存到":faction_num_1"
- (eq, ":num_rel", 0),#无亲戚关系
- (eq,":faction_num_1",":troop_faction"),#相同阵营id。这个":troop_faction"是在"game_get_money_text"脚本一开头就设置好的,直接调用
- (neq,":aristocrat",":troop_no"),#不判断自己与自己的关系
- (call_script, "script_troop_get_relation_with_troop", ":aristocrat", ":troop_no"),#获取关系
- (str_store_troop_name_link, s12, ":aristocrat"),#存储名字并附带超链接
- (str_store_string,s49,"str_s49_s12_rel_reg0"),#新增字符串显示关系
- (try_end),
- (try_end),
- (try_end),
- #show_relation_end#
复制代码 记得把中文字删掉不然会报错。
接着在module_string.py文件里新增
- #show_relation#
- ("_colleague_","{s49}^Colleague:"),
- ("s49_s12_rel_reg0", "{s49} ^{s12} (rel: {reg0})"), #^是换行字符,就会导致每个领主占一行,如果不喜欢删掉就好。
- #show_relation_end#
复制代码 最后在汉化文件就是languages的cns里的game_strings.csv添加
- #show_relation#
- str__colleague_|{s49}^ 同 僚 :
- str_s49_s12_rel_reg0|{s49} ^{s12} (关 系 :{reg0}) ,#^是换行字符,就会导致每个领主占一行,如果不喜欢删掉就好。
- #show_relation_end#
复制代码 大家多多转发啊,记得修改前备份。
效果图
|
-
|