骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

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

[复制链接]

16

主题

152

回帖

160

积分

见习骑士

Rank: 3

UID
3048044
第纳尔
2061
精华
0
互助
18
荣誉
2
贡献
20
魅力
289
注册时间
2018-12-15
鲜花(34) 鸡蛋(0)
发表于 2024-8-25 22:45:54 | 显示全部楼层 |阅读模式
大家好啊,我是宇的道理,今天给玩家分享点宝宝即拿即用的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. <div>  [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",[]],
  2.   [anyone,"prisoner_chat_2", [], "No, I swear I won't.", "prisoner_chat_3",[]],#以前的结尾我们再加一段
  3. #提前放走贵族的对话
  4.   [anyone|plyr,"prisoner_chat_3", [
  5.    (store_conversation_troop,"$g_talk_troop"),
  6.    (is_between,"$g_talk_troop",active_npcs_begin,lords_end), #如果这个兵种在npc到女士之间,在constant里有定义
  7.     ], "No, I swear I won't.", "gold_of_noble",[]],
  8.   [anyone,"gold_of_noble", [
  9.    (troop_get_slot,":max_gold","$g_talk_troop",slot_troop_wealth),#获取兵种的资金,这个slot是npc的“gold”,加兵种金钱的脚本里也会提到这个
  10.    (store_div,reg5,":max_gold",4),#获取该领主资金的1/4,数字可以自己改
  11.    (try_begin),
  12.      (is_between,"$g_talk_troop",kings_begin,kings_end),#如果是国王
  13.      (val_min,reg5,10000),     #最低1万最高2万
  14.      (val_min,reg5,20000),
  15.     (else_try),
  16.      (val_max,reg5,1000),  #不是国王最低1千最高5千
  17.      (val_min,reg5,5000),
  18.    (try_end),
  19.     ], "No, I swear I won't.", "gold_of_noble_2",[]],
  20.   [anyone|plyr,"gold_of_noble_2", [], "No, I swear I won't.", "gold_of_noble_3",[#如果玩家同意的话
  21.   (try_begin),
  22.     (assign,":party_no","p_main_party"),#遍历玩家的部队和封地里的所有俘虏,给这个领主去掉
  23.     (assign, ":result", 0),   
  24.     (party_get_num_prisoner_stacks, ":num_stacks", ":party_no"),
  25.     (try_for_range, ":i_stack", 0, ":num_stacks"),
  26.       (party_prisoner_stack_get_troop_id, ":stack_troop", ":party_no", ":i_stack"),
  27.       (eq,":stack_troop","$g_talk_troop"),#获取玩家部队里的俘虏之后
  28.        (assign, ":result", 1),   #打破循环
  29.     (try_end),
  30.     (eq, ":result", 1),   
  31.     (eq, ":num_stacks", 0),#如果循环被打破
  32.     (party_remove_prisoners, "p_main_party", "$g_talk_troop", 1),    #从玩家部队里放走他
  33.    (else_try),
  34.     (assign, ":end_cond", walled_centers_end),
  35.     (try_for_range, ":party_no", walled_centers_begin, ":end_cond"),#如果不在玩家队伍里,循一遍城镇和城堡
  36.       (party_slot_eq, ":party_no", slot_town_lord, "trp_player"),#如果是玩家的队伍)
  37.       (assign, ":result", 0),   
  38.       (party_get_num_prisoner_stacks, ":num_stacks", ":party_no"),
  39.       (try_for_range, ":i_stack", 0, ":num_stacks"),
  40.         (eq, ":result", 0),
  41.         (party_prisoner_stack_get_troop_id, ":stack_troop", ":party_no", ":i_stack"),
  42.         (eq,":stack_troop","$g_talk_troop"),
  43.         (assign, ":result", 1),
  44.         (assign, ":end_cond", 0),#打断城镇循环
  45.       (try_end),
  46.       (eq, ":result", 1),#这里就不用打破城镇循环那个了,因为你部队里和据点里可能真的没俘虏就出bug了
  47.       (party_remove_prisoners, ":party_no", "$g_talk_troop", 1),  
  48.     (try_end),
  49.   (try_end),   
  50.   (call_script, "script_remove_troop_from_prison", "$g_talk_troop"),#走官方的老脚本,设置这个领主已经被放出
  51.   (troop_add_gold,"trp_player", reg5),#给玩家加钱
  52.   
  53.   ]],
  54.   [anyone,"gold_of_noble_3", [#根据你放走领主性格的不同整出不一样的对话
  55.    (try_begin),
  56.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_cunning),
  57.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_goodnatured),     
  58.      (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_martial),
  59.      (call_script,"script_change_player_relation_with_troop","$g_talk_troop",-5),     
  60.      (assign,":string","str_lord_free_talk_1"),
  61.     (else_try),
  62.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_debauched),   
  63.      (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_quarrelsome),
  64.      (assign,":string","str_lord_free_talk_2"),
  65.      (call_script,"script_change_player_relation_with_troop","$g_talk_troop",-20),
  66.     (else_try),
  67.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_selfrighteous),      
  68.      (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_custodian),         
  69.      (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_upstanding),
  70.      (assign,":string","str_lord_free_talk_3"),
  71.     (else_try),
  72.      (assign,":string","str_lord_free_talk_4"),     
  73.    (try_end),
  74.    (str_store_string,s5,":string"),
  75.     ], "No, I swear I won't.", "close_window",[]],  
  76.   [anyone|plyr,"gold_of_noble_2", [], "No, I swear I won't.", "prisoner_chat_2",[]],#再考虑考虑,返回
  77.   [anyone|plyr,"prisoner_chat_3", [], "No, I swear I won't.", "close_window",[]],#退出对话(对其他兵种也是默认的退出对话)</div>
复制代码
然后在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



鲜花鸡蛋

ggfgfgf  在2024-8-26 11:00  送朵鲜花  并说:interesting

29

主题

738

回帖

565

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1748
精华
0
互助
67
荣誉
0
贡献
0
魅力
6
注册时间
2022-2-3
鲜花(57) 鸡蛋(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, 2024-11-19 08:46 , Processed in 0.125389 second(s), 25 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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