####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##说明 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### 开新档以后最麻烦的就是找NPC了,16世纪那么大的地图,就算开了作弊瞬移找都要好大一番功夫。 考虑过采用把所有NPC集中到一起的那个办法,但是想想似乎有点太作弊了,对不作弊的玩家很不友好。 于是添加了玩家可以询问酒店老板NPC在哪的功能 以下情况,老板会告知玩家具体信息 NPC未被雇佣,在某个王国(如果NPC所在城镇和酒店所在城镇是一个王国的,则会具体告诉在哪个城镇) NPC被囚禁 NPC在野外某处带兵 测试下来似乎只有一个小BUG。 一旦NPC当了领主,被击败了又逃走的时候,或者刚封为领主的时候,满世界都会找不到他。可是酒店老板还是会收500块钱,然后告诉你他也不知道NPC在哪。。就权当是老板坑人吧。反正自立了也不缺钱。 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##汉化修改 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### @dialog.csv ####################################################################################################################################### 末尾添加 dlga_tavernkeeper_talk:tavernkeeper_find_npc|我 想 跟 你 打 听 一 个 人。 dlga_tavernkeeper_find_npc:tavernkeeper_find_npc_2|我 这 来 来 去 去 的 人 很 多,说 不 定 我 听 到 过 些 什 么。 你 说 说 看? dlga_tavernkeeper_find_npc_2:tavernkeeper_pretalk|算 了。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3|他 是 从 大 明 成 都 府 来 的,打 扮 得 像 个 侠 客。据 说 他 的 父 亲 是 商 人。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.1|你 有 没 有 听 说 过 那 个 弄 丢 了 哈 密 卫, 不 过 听 说 骑 马 还 不 错 的 军 官? dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.2|我 想 找 大 明 的 奴 婢。听 说 因 为 战 乱,不 少 人 都 另 谋 出 路 了。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.3|据 说 有 一 个 日 本 武 士 到 处 流 浪? dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.4|最 近 有 没 有 哥 萨 克 骑 兵 找 工 作 的? dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.5|听 说 有 一 个 大 胆 的 侍 卫 居 然 上 了 领 主 的 夫 人 ,还 把 领 主 杀 了。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.6|我 在 找 一 名 弗 兰 德 斯 军 团 的 火 枪 军 士。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.7|奥 斯 曼 哪 里 有 个 军 官 的 女 儿 枪 法 不 错,你 听 说 过 么? dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.8|有 一 个 骑 士, 明 明 有 个 城 堡 还 到 处 旅 行。好 像 叫 湖 泊 什 么 的。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.9|有 没 有 英 格 兰 长 弓 手 的 消 息? dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.10|波 兰 骑 兵 总 是 对 手 无 寸 铁 的 平 民 下 手,就 没 有 谁 自 责 的 么? dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.11|要 是 我 的 队 伍 里 能 有 个 医 生 就 好 了。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.12|他 是 一 个 喀 山 来 的 鞑 靼 人。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.13|伊 斯 坦 布 尔 来 得 奥 斯 曼 军 官,年 纪 有 点 大 了。 dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.14|有 没 有 谁 对 建 筑 有 研 究 的? dlga_tavernkeeper_find_npc_2:tavernkeeper_find_npc_3.15|一 个 打 扮 得 挺 漂 亮 的 女 子,听 说 在 找 工 作。 dlga_tavernkeeper_find_npc_3:tavernkeeper_pretalk|你 想 找 的 {s1}不 是 正 和 你 在 一 起 么? dlga_tavernkeeper_find_npc_3:tavernkeeper_pretalk.1|我 也 不 知 道 {s1}现 在 在 哪 里 dlga_tavernkeeper_find_npc_3:tavernkeeper_find_npc_4|你 想 找 的 是 {s1}吧?给 我 500 第 纳 尔 我 就 告 诉 你 在 哪 能 找 到 他。 dlga_tavernkeeper_find_npc_4:tavernkeeper_find_npc_5|给,拿 去 吧。 dlga_tavernkeeper_find_npc_4:tavernkeeper_pretalk|算 了,不 用 了。 dlga_tavernkeeper_find_npc_5:tavernkeeper_find_npc_6|前 几 天 路 过 这 里 的 旅 行 者 曾 经 提 到 {s1}正 在 {s2}找 工 作。 dlga_tavernkeeper_find_npc_5:tavernkeeper_find_npc_6.1|我 听 说 {s1}现 在 是 {s2}的 俘 虏。 dlga_tavernkeeper_find_npc_5:tavernkeeper_find_npc_6.2|{s1} dlga_tavernkeeper_find_npc_6:tavernkeeper_pretalk|好 的。谢 谢 你! ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##py修改 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### @module_dialogs.py ####################################################################################################################################### 在 #yifeng doctor [anyone,"start", [(eq, "$g_talk_troop", "trp_doctor_1"), ], "Salutations,I'm a doctor.I cured many people.If people wound,they will come to see me.So,what can I do for you?", "Dijon_jacob1", []], 之前添加 #windmelodie begin looking for npc [anyone|plyr,"tavernkeeper_talk", [], "I am looking for someone", "tavernkeeper_find_npc",[]], [anyone,"tavernkeeper_find_npc", [ ], "Who?", "tavernkeeper_find_npc_2",[]], [anyone|plyr,"tavernkeeper_find_npc_2", [], "Nothing", "tavernkeeper_pretalk",[]], #NPC Start [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC1", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc1"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC2", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc2"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC3", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc3"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC4", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc4"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC5", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc5"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC6", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc6"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC7", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc7"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC8", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc8"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC9", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc9"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC10", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc10"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC11", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc11"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC12", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc12"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC13", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc13"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC14", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc14"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC15", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc15"),] ], [anyone|plyr,"tavernkeeper_find_npc_2", [], "NPC16", "tavernkeeper_find_npc_3", [(call_script, "script_find_npc", "trp_npc16"),] ], #answer [anyone,"tavernkeeper_find_npc_3", [(eq,"$state_npc",-1),(str_store_string,s1,s21),], "{s1} is in your team.", "tavernkeeper_pretalk",[]], [anyone,"tavernkeeper_find_npc_3", [(eq,"$state_npc",0),(str_store_string,s1,s21),], "I don't know where is {s1}.", "tavernkeeper_pretalk",[]], [anyone,"tavernkeeper_find_npc_3", [(gt,"$state_npc",0),(str_store_string,s1,s21),], "Are u looking for {s1}? I will tell u if u offer me 500 Denars.", "tavernkeeper_find_npc_4",[]], [anyone|plyr,"tavernkeeper_find_npc_4", [], "Okay, here u r", "tavernkeeper_find_npc_5", [(troop_remove_gold,"trp_player",500),]], [anyone|plyr,"tavernkeeper_find_npc_4", [], "No, thanks", "tavernkeeper_pretalk", []], [anyone,"tavernkeeper_find_npc_5", [(eq,"$state_npc",1),(str_store_string,s1,s21),(str_store_string,s2,s22),], "I have heard that {s1} is looking for a job at {s2}", "tavernkeeper_find_npc_6",[]], [anyone,"tavernkeeper_find_npc_5", [(eq,"$state_npc",2),(str_store_string,s1,s21),(str_store_string,s2,s22),], "{s1} is now a prisoner of {s2}", "tavernkeeper_find_npc_6",[]], [anyone,"tavernkeeper_find_npc_5", [(eq,"$state_npc",3),(str_store_string,s1,s21),], "{s1}", "tavernkeeper_find_npc_6",[]], [anyone|plyr,"tavernkeeper_find_npc_6", [], "Thanks you", "tavernkeeper_pretalk", []], #windmelodie end @scripts.py ####################################################################################################################################### 在 ] # modmerger_start version=201 type=2 try: component_name = "scripts" var_set = { "scripts" : scripts } from modmerger import modmerge modmerge(var_set) except: raise # modmerger_end 之前添加 # script_find_npc by windmelodie # Input: arg1 = npc id # Output: reg1("$state_npc"): states of npc, s1: name of npc s2: location ("find_npc", [(store_script_param_1, ":troop_npc"), (assign,"$state_npc", 0), (str_store_troop_name,s21,":troop_npc"), (troop_get_slot,":npc_location",":troop_npc",slot_troop_cur_center), (try_begin), (neq,":npc_location",-1), (assign,"$state_npc", 1), (str_store_party_name,s22,":npc_location"), (store_faction_of_party,":npc_town_faction",":npc_location"), (store_faction_of_party,":town_faction", "$current_town"), (neq,":town_faction",":npc_town_faction"), (str_store_faction_name,s22,":npc_town_faction"), (else_try), (troop_slot_eq, ":troop_npc", slot_troop_occupation, slto_player_companion), (troop_slot_eq, ":troop_npc", slot_troop_current_mission, 0), (assign,"$state_npc", -1), (else_try), (call_script, "script_search_troop_prisoner_of_party", ":troop_npc"), (neq,reg0,-1), (str_store_party_name,s22,reg0), (assign,"$state_npc", 2), (else_try), (troop_slot_eq, ":troop_npc",slot_troop_occupation, slto_kingdom_hero), (call_script, "script_get_information_about_troops_position", ":troop_npc",0), (str_store_string,s21,s1), (assign,"$state_npc", 3), (try_end), (assign,reg1,"$state_npc"), (str_store_string,s1,s21), (str_store_string,s2,s22), ]),