骑马与砍杀中文站论坛

标题: 使每局游戏的城镇贸易路线随机化 [打印本页]

作者: 我只玩MID    时间: 2024-7-19 22:09
标题: 使每局游戏的城镇贸易路线随机化
好久没在中文站发过帖子了,骑砍2出来后感觉制作区讨论战团的帖子貌似也少了挺多(个人感觉)。
最近重拾起之前拖了很久还没发布的的mod项目,遇到了新增城镇需要设置一些贸易路线的问题。所以想到干脆一不做二不休,直接将每局游戏的贸易路线变成完全随机,顺便也可以在制作区发个帖子。
和之前发的 “使每局游戏的城镇各个场景随机化” 一样,主要是给大伙提供思路,还有拓展空间,比如设置随机城镇贸易的最长距离...
写的也很简单,就修改了module_scripts自带的一个脚本(我习惯性称为脚本):initialize_trade_routes
将该脚本自带的所有代码全部删除或者注释,替换成:
  1.     # 设置 随机的贸易路线
  2.         ("initialize_trade_routes",
  3.         [
  4.     (store_sub, ":towns_number", towns_end, towns_begin), # 获取城镇数量
  5.     (store_div, ":min_routes", ":towns_number", 10), # 最小贸易路线
  6.     (store_div, ":max_routes", ":towns_number", 5), # 最大贸易路线
  7.     (try_for_range, ":town_no", towns_begin, towns_end), # 循环城镇
  8.         (store_random_in_range, ":routes_max_number", ":min_routes", ":max_routes"), # 设置最大贸易路线
  9.         (try_for_range, reg1, 0, ":routes_max_number"),
  10.             (store_random_in_range, ":town_no_2", towns_begin, towns_end), # 随机城镇
  11.             (assign, ":temp_1", 0),
  12.             (try_for_range, ":cur_slot", slot_town_trade_routes_begin, slot_town_trade_routes_end), # 循环所有贸易路线槽
  13.                 (this_or_next|party_slot_eq, ":town_no", ":cur_slot", ":town_no_2"), # 如果循环城镇有贸易路线槽已经设置了该贸易路线
  14.                 (party_slot_eq, ":town_no_2", ":cur_slot", ":town_no"), # 如果随机城镇有贸易路线槽已经设置了该贸易路线
  15.                 (assign, ":temp_1", 1), # 无法正常设置
  16.             (try_end),
  17.             (str_store_party_name, s1, ":town_no"),
  18.             (str_store_party_name, s2, ":town_no_2"),
  19.             (try_begin),
  20.                 (eq, ":town_no", ":town_no_2"), # 如果随机的城镇是当前循环城镇
  21.                 (try_begin),
  22.                     # (this_or_next|eq, "$csmoshi", 1), # 如果处于调试模式
  23.                     (ge, "$cheat_mode", 1),
  24.                     (display_message, "@{!}失 败!贸 易 路 线:{s1} - {s2}"),
  25.                 (try_end),
  26.                 (val_add, ":routes_max_number", 1),
  27.             (else_try),
  28.                 (eq, ":temp_1", 0),
  29.                 (try_begin),
  30.                     # (this_or_next|eq, "$csmoshi", 1), # 如果处于调试模式
  31.                     (ge, "$cheat_mode", 1),
  32.                     (display_message, "@{!}成 功!贸 易 路 线:{s1} - {s2}"),
  33.                 (try_end),
  34.                 (call_script, "script_set_trade_route_between_centers", ":town_no", ":town_no_2"),
  35.             (try_end),
  36.         (try_end),
  37.     (try_end),
  38.         ]),
复制代码
QQ截图20240719220650.png QQ截图20240719220715.png



作者: 快乐风猫    时间: 2024-10-23 15:55
话说贸易路线15条是硬性上限么
作者: 我只玩MID    时间: 2024-10-24 14:32
快乐风猫 发表于 2024-10-23 15:55
话说贸易路线15条是硬性上限么

并不是 可以在module_constants里增加的,然后再把相关的地方改一改就行
QQ截图20241024143010.png




欢迎光临 骑马与砍杀中文站论坛 (https://bbs.mountblade.com.cn/) Powered by Discuz! X3.4