- 好友
- 1
- 在线时间
- 0 小时
- 最后登录
- 2025-8-21
随仆

- UID
- 3755365
- 第纳尔
- 20
- 精华
- 0
- 互助
- 1
- 荣誉
- 0
- 贡献
- 0
- 魅力
- 0
- 注册时间
- 2025-4-10
 鲜花( 2)  鸡蛋( 0)
|
本帖最后由 云归太华 于 2025-5-24 22:29 编辑
首先找到源码中的module_scripts文件,这是算法文件,游戏的算法基本上都是在这个文件里改。
里面关于部队上限的算法是这样的。
("game_get_party_companion_limit",
[
(assign, ":troop_no", "trp_player"),
(assign, ":limit", 30),
(store_skill_level, ":skill", "skl_leadership", ":troop_no"),
(store_attribute_level, ":charisma", ":troop_no", ca_charisma),
(val_mul, ":skill", 5),
(val_add, ":limit", ":skill"),
(val_add, ":limit", ":charisma"),
(troop_get_slot, ":troop_renown", ":troop_no", slot_troop_renown),
(store_div, ":renown_bonus", ":troop_renown", 25),
(val_add, ":limit", ":renown_bonus"),
(store_div, ":honor_bonus", "$player_honor", 3),
(val_add, ":limit", ":honor_bonus"),
(store_troop_faction, ":faction_id", ":troop_no"),#定义
(try_begin),
(faction_slot_eq, ":faction_id", slot_faction_leader, "trp_player"),
(ge, "$player_right_to_rule", 60),
(val_add, ":limit", 100),
(try_end),
(try_begin),
(faction_slot_eq, "$players_kingdom", slot_faction_marshall, "trp_player"),
(ge, "$player_right_to_rule", 60),
(val_add, ":limit", 20),
(try_end),
(try_for_range, ":cur_center", villages_begin, villages_end),
(party_slot_eq, ":cur_center", slot_town_lord, "trp_player"),
(val_add, ":limit", 5),
(try_end),
(try_for_range, ":cur_center", castles_begin, castles_end),
(party_slot_eq, ":cur_center", slot_town_lord, "trp_player"),
(val_add, ":limit", 10),
(try_end),
(try_for_range, ":cur_center", towns_begin, towns_end),
(party_slot_eq, ":cur_center", slot_town_lord, "trp_player"),
(val_add, ":limit", 20),
(try_end),
(assign, reg0, ":limit"),
(set_trigger_result, reg0),
]),
我解释一下吧,黑色的是原版的代码,意思依次是基础部队数量30,加上领袖技能乘以5,加上魅力,然后就是加上声望除以25,红色的是我添加的,依次是加上荣誉除以3;玩家阵营统治权大于60点时且玩家是阵营领袖,获得100点兵力上限;玩家是玩家阵营元帅且统治权大于60点,获得20点兵力上限;每有一个村庄+5,每有一个城堡+10,每有一个城镇+20.
意思就是这样子,你们想怎么修改随你们。
当然这是算法的修改,菜单上部队规模的显示还是原版,你们想要修改菜单显示可以看我下一个帖子。
算法绝对没问题,我自己试过了,自己天天玩的。作者不会做那种没跑过代码就发出来丢人的事情,不会张嘴就来,发出来的东西都是自己玩过之后没问题,才会发出来的。本来也是自娱自乐,当个笔记本来用的。
|
|