骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[功能与代码] 添加旗帜与统一旗帜引用版

[复制链接]

9

主题

52

回帖

93

积分

男爵[见习版主]

Rank: 6Rank: 6

UID
3588356
第纳尔
651
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(16) 鸡蛋(0)
发表于 2024-7-29 11:02:13 | 显示全部楼层 |阅读模式
hi我是普信女早上研究给新添加的阵营添加旗帜出了点小问题,然后中文站的帖子我有点太笨了,没看懂,哈哈所以结合了一下,写了一个简单一点的




首先第一步先搭配mod学徒领主更换旗帜的源码


领主更换旗帜(配合国家统一旗帜的功能使用)
https://bbs.mountblade.com.cn/thread-2043949-1-1.html
(出处: 骑马与砍杀中文站论坛)


把mod学徒的这一段代码添加进module_simple_triggers.py

打开module_simple_triggers.py以后在最下面一行】上面添加下面这一段代码
  • (24, [
  •         (try_for_range,":lords",lords_begin,lords_end),#循环所有领主
  •                 (troop_get_slot,":cur_party",":lords",slot_troop_leaded_party),#获取领导的队伍
  •                 (ge,":cur_party",0),#必须有队伍
  •                 (store_faction_of_party, ":cur_faction", ":cur_party"),#获取队伍阵营
  •                 (faction_get_slot,":king",":cur_faction",slot_faction_leader),#获取阵营国王
  •                 (troop_get_slot, ":banner", ":king", slot_troop_banner_scene_prop),#获取国王旗帜
  •                 (troop_set_slot, ":lords", slot_troop_banner_scene_prop, ":banner"), #设置领主旗帜
  •         (try_end),                #结束
  •     ]),




第二步我们使用大M的这一段代码进行更改

script里搜索Assign banners and renown.
找到了以后然后替换成这一段
  • (try_for_range, ":cur_faction", npc_kingdoms_begin, npc_kingdoms_end),
  •         (faction_get_slot, ":cur_faction_king", ":cur_faction", slot_faction_leader),
  •         (faction_get_slot, ":cur_faction_banner", ":cur_faction", slot_faction_banner),
  •         (val_sub, ":cur_faction_banner", banner_meshes_begin),
  •         (val_add, ":cur_faction_banner", banner_scene_props_begin),
  •         (troop_set_slot, ":cur_faction_king", slot_troop_banner_scene_prop, ":cur_faction_banner"),
  •       (try_end),
  •       #(assign, ":num_khergit_lords_assigned", 0),
  •       #(assign, ":num_sarranid_lords_assigned", 0),
  •       #(assign, ":num_other_lords_assigned", 0),
  •       (try_for_range, ":kingdom_hero", active_npcs_begin, active_npcs_end),
  •         (this_or_next|troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_kingdom_hero),
  •         (troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_inactive_pretender),
  •         (store_troop_faction, ":kingdom_hero_faction", ":kingdom_hero"),
  •         (neg|faction_slot_eq, ":kingdom_hero_faction", slot_faction_leader, ":kingdom_hero"),
  • ## ZZ all lord use their faction banner
  •   (faction_get_slot, ":cur_faction_banner", ":kingdom_hero_faction", slot_faction_banner),
  • (val_sub, ":cur_faction_banner", banner_meshes_begin),
  • (val_add, ":cur_faction_banner", banner_scene_props_begin),
  • (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":cur_faction_banner"),
  • ## ZZ
  •         #(try_begin),
  •         #  (eq, ":kingdom_hero_faction", "fac_kingdom_3"), #Khergit Khanate
  •         #  (store_add, ":kingdom_3_banners_begin", banner_scene_props_begin, khergit_banners_begin_offset),
  •         #  (store_add, ":banner_id", ":kingdom_3_banners_begin", ":num_khergit_lords_assigned"),
  •         #  (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
  •         #  (val_add, ":num_khergit_lords_assigned", 1),
  •         #(else_try),
  •         #  (eq, ":kingdom_hero_faction", "fac_kingdom_6"), #Sarranid Sultanate
  •         #  (store_add, ":kingdom_6_banners_begin", banner_scene_props_begin, sarranid_banners_begin_offset),
  •         #  (store_add, ":banner_id", ":kingdom_6_banners_begin", ":num_sarranid_lords_assigned"),
  •         #  (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
  •         #  (val_add, ":num_sarranid_lords_assigned", 1),
  •         #(else_try),
  •         #  (assign, ":hero_offset", ":num_other_lords_assigned"),
  •         #  (try_begin),
  •         #    (gt, ":hero_offset", khergit_banners_begin_offset),#Do not add khergit banners to other lords
  •         #    (val_add, ":hero_offset", khergit_banners_end_offset),
  •         #    (val_sub, ":hero_offset", khergit_banners_begin_offset),
  •         #  (try_end),
  •         #  (try_begin),
  •         #    (gt, ":hero_offset", sarranid_banners_begin_offset),#Do not add sarranid banners to other lords
  •         #    (val_add, ":hero_offset", sarranid_banners_end_offset),
  •         #    (val_sub, ":hero_offset", sarranid_banners_begin_offset),
  •         #  (try_end),
  •         #  (store_add, ":banner_id", banner_scene_props_begin, ":hero_offset"),
  •         #  (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
  •         #  (val_add, ":num_other_lords_assigned", 1),
  •         #(try_end),
  •         #(try_begin),
  •         #  (this_or_next|lt, ":banner_id", banner_scene_props_begin),
  •         #  (gt, ":banner_id", banner_scene_props_end_minus_one),
  •         #  (display_message, "@{!}ERROR: Not enough banners for heroes!"),
  •         #(try_end),




第三步我们需要定义,如果有说错的地方可以出来,谢谢



打开module_constants.py然后在这个文本的最后一行】上面 添加这一段




banner_map_icon_end= 999
scene_banners_end= 1000

第四步定义完以后打开module_map_icons.py,然后搜索banner_136在他的下面添加一段新的旗帜代码


("map_flag_kingdom_guojun",0,"模型名字", banner_scale,0),


这个只是例子需要自己准备旗帜模型


第五步打开module_meshes.py以后搜索banner_f21在他的下面添加这一段代码


("banner_kingdom_guuojun", 0, "模型名字", 0, 0, 0, -90, 0, 0, 1, 1, 1),##竖着的旗帜模型



这边应该是背景显示用的旗帜,具体我不太清楚哈 因为我看都是竖着的旗帜


第六步打开module_scene_props.py以后搜索("banner_f21", 0, "banner_a15", "0", []),在下面,然后添加这一段


("map_flag_kingdom_guojun", 0, "模型名字", "0", []),

这里应该是领主大厅的旗帜模型


应该是没有漏了,然后最后一步



打开module_scripts.py然后搜索# We assume there are enough banners for all kingdom heroes.


(faction_set_slot, "fac_kingdom_1", slot_faction_banner, "mesh_banner_kingdom_guuojun"),##我这边是1号阵营引用了这段代码
(faction_set_slot, "fac_kingdom_2", slot_faction_banner, "mesh_banner_kingdom_b"),
(faction_set_slot, "fac_kingdom_3", slot_faction_banner, "mesh_banner_kingdom_c"),
(faction_set_slot, "fac_kingdom_4", slot_faction_banner, "mesh_banner_kingdom_a"),
(faction_set_slot, "fac_kingdom_5", slot_faction_banner, "mesh_banner_kingdom_d"),
(faction_set_slot, "fac_kingdom_6", slot_faction_banner, "mesh_banner_kingdom_e"),



可以看到这边大地图引用的旗帜都是以mesh_为主

我们刚才添加的是("banner_kingdom_guuojun", 0, "模型名字", 0, 0, 0, -90, 0, 0, 1, 1, 1),##竖着的旗帜模型这一段,所以我们在这边找到你要更改的阵营,引用这段代码

大概原理好像是你在大地图那边添加模型以后把其他都添加好,然后进入游戏他就会按照顺序给你添加你添加的那个模型(如果说错了,求指正,谢谢)

然后还是要感谢112233lyh的帖子让我才能完善











评分

参与人数 1第纳尔 +20 互助 +5 魅力 +10 收起 理由
幼稚园殺手 + 20 + 5 + 10 您的帖子很有价值!

查看全部评分

鲜花鸡蛋

快乐风猫  在2024-9-19 00:06  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
815208129  在2024-7-30 11:52  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
815208129  在2024-7-30 11:52  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
幼稚园殺手  在2024-7-29 21:06  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
幼稚园殺手  在2024-7-29 21:05  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天

0

主题

10

回帖

8

积分

平民

Rank: 1

UID
3481177
第纳尔
18
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2023-1-31
鲜花(0) 鸡蛋(0)
发表于 2024-7-29 18:16:38 | 显示全部楼层
前排

55

主题

2773

回帖

1773

积分

子爵[版主]

吟游诗人

Rank: 7Rank: 7Rank: 7

UID
3054380
第纳尔
23779
精华
2
互助
57
荣誉
44
贡献
916
魅力
1418
注册时间
2019-1-18

骑砍中文站APP会员勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章霸主正版勋章剧本设计大奖赛骑友真人秀Ⅷ勋章骑友真人秀Ⅶ勋章骑友真人秀Ⅸ勋章

QQ
鲜花(514) 鸡蛋(2)
发表于 2024-7-29 21:07:32 | 显示全部楼层
赞,前排支持
珍惜 奉献 不负韶华

9

主题

52

回帖

93

积分

男爵[见习版主]

Rank: 6Rank: 6

UID
3588356
第纳尔
651
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(16) 鸡蛋(0)
 楼主| 发表于 2024-7-30 09:23:58 | 显示全部楼层

谢谢杀手
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天

27

主题

218

回帖

259

积分

见习骑士

Rank: 3

UID
3225805
第纳尔
1483
精华
0
互助
37
荣誉
0
贡献
0
魅力
256
注册时间
2021-3-14
鲜花(48) 鸡蛋(0)
发表于 2024-9-19 00:05:45 | 显示全部楼层
mod学徒那个直接设置会出现领主旗帜icon不显示的问题,过滤一下各种条件和不重复设置就不会出现这种问题
  1.   (24,
  2.    [
  3.       (try_for_range, ":kingdom_hero", active_npcs_begin, active_npcs_end),
  4.       (troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_kingdom_hero),#是王国英雄
  5.       (troop_get_slot,":cur_party",":kingdom_hero",slot_troop_leaded_party),#获取领导的队伍
  6.      (try_begin),
  7.       (ge,":cur_party",0),
  8.       (store_troop_faction, ":kingdom_hero_faction", ":kingdom_hero"),#获取领主阵营
  9.       (neg|faction_slot_eq, ":kingdom_hero_faction", slot_faction_leader, ":kingdom_hero"),#不是阵营国王
  10.       (faction_get_slot,":kingdom_king",":kingdom_hero_faction",slot_faction_leader),#获取阵营国王
  11.       
  12.       (troop_get_slot, ":kingdom_hero_banner", ":kingdom_hero", slot_troop_banner_scene_prop),#获取领主旗帜
  13.       (troop_get_slot, ":kingdom_king_banner", ":kingdom_king", slot_troop_banner_scene_prop),#获取国王旗帜
  14.      (try_begin),
  15.       (neq, ":kingdom_hero_banner", ":kingdom_king_banner"),
  16.       (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":kingdom_king_banner"),
  17.      (try_end),
  18.      (try_end),
  19.      (try_end),
  20.     ]),
复制代码


评分

参与人数 1第纳尔 +10 互助 +2 魅力 +5 收起 理由
幼稚园殺手 + 10 + 2 + 5 乐于助人!

查看全部评分

鲜花鸡蛋

幼稚园殺手  在2024-9-20 11:14  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

9

主题

52

回帖

93

积分

男爵[见习版主]

Rank: 6Rank: 6

UID
3588356
第纳尔
651
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(16) 鸡蛋(0)
 楼主| 发表于 2024-9-19 11:24:00 | 显示全部楼层
快乐风猫 发表于 2024-9-19 00:05
mod学徒那个直接设置会出现领主旗帜icon不显示的问题,过滤一下各种条件和不重复设置就不会出现这种问题

感谢大佬指正
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-12-27 12:22 , Processed in 0.462664 second(s), 26 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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