骑马与砍杀中文站论坛

用户名  找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

帖子
购买CDKEY 衣谷三国
查看: 1504|回复: 2

[功能与代码] 【新手向】从被俘虏的领主那里要赎金

[复制链接]

20

主题

166

回帖

181

积分

贵族[MOD作者]

Rank: 7Rank: 7Rank: 7

UID
3048044
第纳尔
2219
精华
0
互助
19
荣誉
3
贡献
20
魅力
495
注册时间
2018-12-15
鲜花(40) 鸡蛋(0)
发表于 2024-8-25 22:45:54 | 显示全部楼层 |阅读模式
本帖最后由 黑暗路西法 于 2025-3-8 20:42 编辑

大家好啊,我是宇的道理,今天给玩家分享点宝宝即拿即用的osp


首先在module_dialogs.py中搜索任意字段找到

  [anyone|plyr,"prisoner_chat", [], "Do not try running away or trying something stupid. I will be watching you.", "prisoner_chat_2",[]],
  [anyone,"prisoner_chat_2", [], "No, I swear I won't.", "close_window",[]],

这两句就是原版的,一头一尾,分别是
dlga_prisoner_chat:prisoner_chat_2|不 要 想 逃 跑 或 是 做 别 的 什 么 蠢 事 , 我 盯 着 你 呢 。
dlga_prisoner_chat_2:close_window|我 发 誓 我 不 会 。

没了
现在我们要整个活,给他爆改一下,完全替换掉他
(点击展开 / 收起)


  1. 解析:
  2. [anyone|plyr,"prisoner_chat", [   (store_conversation_troop,"$g_talk_troop"),], "Do not try running away or trying something stupid. I will be watching you.", "prisoner_chat_2",[]],
  3.   [anyone,"prisoner_chat_2", [], "No, I swear I won't.", "prisoner_chat_3",[]],#以前的结尾我们再加一段
  4. #提前放走贵族的对话
  5.   [anyone|plyr,"prisoner_chat_3", [
  6.    (store_conversation_troop,"$g_talk_troop"),
  7.    (is_between,"$g_talk_troop",active_npcs_begin,lords_end), #如果这个兵种在npc到女士之间,在constant里有定义
  8.     ], "No, I swear I won't.", "gold_of_noble",[]],
  9.   [anyone,"gold_of_noble", [
  10.    (troop_get_slot,":max_gold","$g_talk_troop",slot_troop_wealth),#获取兵种的资金,这个slot是npc的“gold”,加兵种金钱的脚本里也会提到这个
  11.    (store_div,reg5,":max_gold",4),#获取该领主资金的1/4,数字可以自己改
  12.    (try_begin),
  13.      (is_between,"$g_talk_troop",kings_begin,kings_end),#如果是国王
  14.      (val_min,reg5,10000),     #最低1万最高2万
  15.      (val_min,reg5,20000),
  16.     (else_try),
  17.      (val_max,reg5,1000),  #不是国王最低1千最高5千
  18.      (val_min,reg5,5000),
  19.    (try_end),
  20.     ], "No, I swear I won't.", "gold_of_noble_2",[]],
  21.   [anyone|plyr,"gold_of_noble_2", [], "No, I swear I won't.", "gold_of_noble_3",[#如果玩家同意的话
  22.   (try_begin),
  23.     (assign,":party_no","p_main_party"),#遍历玩家的部队和封地里的所有俘虏,给这个领主去掉
  24.     (assign, ":result", 0),   
  25.     (party_get_num_prisoner_stacks, ":num_stacks", ":party_no"),
  26.     (try_for_range, ":i_stack", 0, ":num_stacks"),
  27.       (party_prisoner_stack_get_troop_id, ":stack_troop", ":party_no", ":i_stack"),
  28.       (eq,":stack_troop","$g_talk_troop"),#获取玩家部队里的俘虏之后
  29.        (assign, ":result", 1),   #打破循环
  30.     (try_end),
  31.     (eq, ":result", 1),   
  32.     (eq, ":num_stacks", 0),#如果循环被打破
  33.     (party_remove_prisoners, "p_main_party", "$g_talk_troop", 1),    #从玩家部队里放走他
  34.    (else_try),
  35.     (assign, ":end_cond", walled_centers_end),
  36.     (try_for_range, ":party_no", walled_centers_begin, ":end_cond"),#如果不在玩家队伍里,循一遍城镇和城堡
  37.       (party_slot_eq, ":party_no", slot_town_lord, "trp_player"),#如果是玩家的队伍)
  38.       (assign, ":result", 0),   
  39.       (party_get_num_prisoner_stacks, ":num_stacks", ":party_no"),
  40.       (try_for_range, ":i_stack", 0, ":num_stacks"),
  41.         (eq, ":result", 0),
  42.         (party_prisoner_stack_get_troop_id, ":stack_troop", ":party_no", ":i_stack"),
  43.         (eq,":stack_troop","$g_talk_troop"),
  44.         (assign, ":result", 1),
  45.         (assign, ":end_cond", 0),#打断城镇循环
  46.       (try_end),
  47.       (eq, ":result", 1),#这里就不用打破城镇循环那个了,因为你部队里和据点里可能真的没俘虏就出bug了
  48.       (party_remove_prisoners, ":party_no", "$g_talk_troop", 1),  
  49.     (try_end),
  50.   (try_end),   
  51.   (call_script, "script_remove_troop_from_prison", "$g_talk_troop"),#走官方的老脚本,设置这个领主已经被放出
  52.   (troop_add_gold,"trp_player", reg5),#给玩家加钱
  53.   
  54.   ]],
  55.   [anyone,"gold_of_noble_3", [#根据你放走领主性格的不同整出不一样的对话
  56.    (try_begin),
  57.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_cunning),
  58.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_goodnatured),     
  59.      (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_martial),
  60.      (call_script,"script_change_player_relation_with_troop","$g_talk_troop",-5),     
  61.      (assign,":string","str_lord_free_talk_1"),
  62.     (else_try),
  63.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_debauched),   
  64.      (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_quarrelsome),
  65.      (assign,":string","str_lord_free_talk_2"),
  66.      (call_script,"script_change_player_relation_with_troop","$g_talk_troop",-20),
  67.     (else_try),
  68.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_selfrighteous),      
  69.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_custodian),         
  70.      (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_upstanding),
  71.      (assign,":string","str_lord_free_talk_3"),
  72.     (else_try),
  73.      (assign,":string","str_lord_free_talk_4"),     
  74.    (try_end),
  75.    (str_store_string,s5,":string"),
  76.     ], "No, I swear I won't.", "close_window",[]],  
  77.   [anyone|plyr,"gold_of_noble_2", [], "No, I swear I won't.", "prisoner_chat_2",[]],#再考虑考虑,返回
  78.   [anyone|plyr,"prisoner_chat_3", [], "No, I swear I won't.", "close_window",[]],#退出对话(对其他兵种也是默认的退出对话)
复制代码
然后在string里加入以下文本

  ("lord_free_talk_1","aminuosi"),
  ("lord_free_talk_2","aminuosi"),
  ("lord_free_talk_3","aminuosi"),
  ("lord_free_talk_4","aminuosi"),
最后在language-cns里加上汉化就可以了
在string.csv底部加上这些

str_lord_free_talk_1|那 么 现 在 交 易 成 立 了 , 我 也 该 动 身 了 ,希 望 我 们 下 次 见 面 时 不 会 是 以 主 人 和 囚 犯 的 关 系 。
str_lord_free_talk_2|妈 的 , 下 次 别 让 我 再 遇 到 你 。
str_lord_free_talk_3|您 可 真 是 诚 实 和 公 正 啊 , 如 果 有 朝 一 日 你 被 我 俘 虏 了 我 也 会 给 您 用 钱 赎 身 的 机 会 的 。
str_lord_free_talk_4|唉 , 那 就 这 样 吧 。

在dialog里找到

dlga_prisoner_chat:prisoner_chat_2|不 要 想 逃 跑 或 是 做 别 的 什 么 蠢 事 , 我 盯 着 你 呢 。
dlga_prisoner_chat_2:close_window|我 发 誓 我 不 会 。

替换成

dlga_prisoner_chat:prisoner_chat_2|不 要 想 逃 跑 或 是 做 别 的 什 么 蠢 事 , 我 盯 着 你 呢 。
dlga_prisoner_chat_2:prisoner_chat_3|我 发 誓 我 不 会 。
dlga_prisoner_chat_3:gold_of_noble|如 果 你 给 我 一 笔 赎 金 , 我 就 放 你 自 由 。
dlga_gold_of_noble:gold_of_noble_2|呃 , 如 果 你 还 我 自 由 , 我 可 以 给 你 {reg5} 个 第 纳 尔 作 为 交 换 。
dlga_gold_of_noble_2:prisoner_chat_2|让 我 再 考 虑 考 虑 。
dlga_gold_of_noble_2:gold_of_noble_3|很 好 , 你 现 在 自 由 了 。
dlga_gold_of_noble_3:close_window|{s5}

dlga_prisoner_chat_3:close_window|没 你 事 了 , 老 实 待 着 去 吧 。
就可以了
QQ图片20240825224530.jpg




鲜花鸡蛋

大红怪物KANE  在2025-3-8 04:38  送朵鲜花  并说:市场自我调节!
ggfgfgf  在2024-8-26 11:00  送朵鲜花  并说:interesting

29

主题

757

回帖

576

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1753
精华
0
互助
68
荣誉
0
贡献
0
魅力
6
注册时间
2022-2-3
鲜花(58) 鸡蛋(0)
发表于 2024-8-26 00:24:18 来自手机 | 显示全部楼层
哈利路大旋风!哇袄!来自: Android客户端

6

主题

32

回帖

11

积分

随仆

Rank: 1

UID
3030410
第纳尔
7
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2018-9-18
鲜花(0) 鸡蛋(0)
发表于 2024-8-26 13:10:47 | 显示全部楼层
厉害了大佬
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2025-3-26 20:42 , Processed in 0.094630 second(s), 25 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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