- 好友
- 2
- 在线时间
- 27 小时
- 最后登录
- 2024-11-18
见习骑士
- UID
- 3048044
- 第纳尔
- 2061
- 精华
- 0
- 互助
- 18
- 荣誉
- 2
- 贡献
- 20
- 魅力
- 289
- 注册时间
- 2018-12-15
鲜花( 34) 鸡蛋( 0)
|
大家好啊,我是宇的道理,今天给玩家分享点宝宝即拿即用的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|我 发 誓 我 不 会 。
没了
现在我们要整个活,给他爆改一下,完全替换掉他
- <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",[]],
- [anyone,"prisoner_chat_2", [], "No, I swear I won't.", "prisoner_chat_3",[]],#以前的结尾我们再加一段
- #提前放走贵族的对话
- [anyone|plyr,"prisoner_chat_3", [
- (store_conversation_troop,"$g_talk_troop"),
- (is_between,"$g_talk_troop",active_npcs_begin,lords_end), #如果这个兵种在npc到女士之间,在constant里有定义
- ], "No, I swear I won't.", "gold_of_noble",[]],
- [anyone,"gold_of_noble", [
- (troop_get_slot,":max_gold","$g_talk_troop",slot_troop_wealth),#获取兵种的资金,这个slot是npc的“gold”,加兵种金钱的脚本里也会提到这个
- (store_div,reg5,":max_gold",4),#获取该领主资金的1/4,数字可以自己改
- (try_begin),
- (is_between,"$g_talk_troop",kings_begin,kings_end),#如果是国王
- (val_min,reg5,10000), #最低1万最高2万
- (val_min,reg5,20000),
- (else_try),
- (val_max,reg5,1000), #不是国王最低1千最高5千
- (val_min,reg5,5000),
- (try_end),
- ], "No, I swear I won't.", "gold_of_noble_2",[]],
- [anyone|plyr,"gold_of_noble_2", [], "No, I swear I won't.", "gold_of_noble_3",[#如果玩家同意的话
- (try_begin),
- (assign,":party_no","p_main_party"),#遍历玩家的部队和封地里的所有俘虏,给这个领主去掉
- (assign, ":result", 0),
- (party_get_num_prisoner_stacks, ":num_stacks", ":party_no"),
- (try_for_range, ":i_stack", 0, ":num_stacks"),
- (party_prisoner_stack_get_troop_id, ":stack_troop", ":party_no", ":i_stack"),
- (eq,":stack_troop","$g_talk_troop"),#获取玩家部队里的俘虏之后
- (assign, ":result", 1), #打破循环
- (try_end),
- (eq, ":result", 1),
- (eq, ":num_stacks", 0),#如果循环被打破
- (party_remove_prisoners, "p_main_party", "$g_talk_troop", 1), #从玩家部队里放走他
- (else_try),
- (assign, ":end_cond", walled_centers_end),
- (try_for_range, ":party_no", walled_centers_begin, ":end_cond"),#如果不在玩家队伍里,循一遍城镇和城堡
- (party_slot_eq, ":party_no", slot_town_lord, "trp_player"),#如果是玩家的队伍)
- (assign, ":result", 0),
- (party_get_num_prisoner_stacks, ":num_stacks", ":party_no"),
- (try_for_range, ":i_stack", 0, ":num_stacks"),
- (eq, ":result", 0),
- (party_prisoner_stack_get_troop_id, ":stack_troop", ":party_no", ":i_stack"),
- (eq,":stack_troop","$g_talk_troop"),
- (assign, ":result", 1),
- (assign, ":end_cond", 0),#打断城镇循环
- (try_end),
- (eq, ":result", 1),#这里就不用打破城镇循环那个了,因为你部队里和据点里可能真的没俘虏就出bug了
- (party_remove_prisoners, ":party_no", "$g_talk_troop", 1),
- (try_end),
- (try_end),
- (call_script, "script_remove_troop_from_prison", "$g_talk_troop"),#走官方的老脚本,设置这个领主已经被放出
- (troop_add_gold,"trp_player", reg5),#给玩家加钱
-
- ]],
- [anyone,"gold_of_noble_3", [#根据你放走领主性格的不同整出不一样的对话
- (try_begin),
- (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_cunning),
- (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_goodnatured),
- (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_martial),
- (call_script,"script_change_player_relation_with_troop","$g_talk_troop",-5),
- (assign,":string","str_lord_free_talk_1"),
- (else_try),
- (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_debauched),
- (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_quarrelsome),
- (assign,":string","str_lord_free_talk_2"),
- (call_script,"script_change_player_relation_with_troop","$g_talk_troop",-20),
- (else_try),
- (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_selfrighteous),
- (this_or_next|troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_custodian),
- (troop_slot_eq,"$g_talk_troop",slot_lord_reputation_type,lrep_upstanding),
- (assign,":string","str_lord_free_talk_3"),
- (else_try),
- (assign,":string","str_lord_free_talk_4"),
- (try_end),
- (str_store_string,s5,":string"),
- ], "No, I swear I won't.", "close_window",[]],
- [anyone|plyr,"gold_of_noble_2", [], "No, I swear I won't.", "prisoner_chat_2",[]],#再考虑考虑,返回
- [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|没 你 事 了 , 老 实 待 着 去 吧 。
就可以了
|
鲜花鸡蛋ggfgfgf 在2024-8-26 11:00 送朵鲜花 并说:interesting
|