JustinZCQ 发表于 2021-1-17 12:46 (quest_get_slot, ":quest_target_party", "qst_escort_officials_caravan", slot_quest_target_party), (remove_party, ":quest_target_party"), 最终我用了这两句解决了,主要我一直没懂quest_get_slot的用法,现在才也是似懂非懂的样子 ![]() 不过好在知道了quest_get_slot和quest_set_slot都是用来给变量赋值的,就是变量的位置不同,所以开始没看懂。 |
JustinZCQ 发表于 2021-1-17 12:46 所以现在的问题变成了,如何呼叫P_开头的部队,而不是pt_开头的部队。还有如何让p_开头的部队跟pt_开头的部队一样,需要了再出来,不需要的时候不出来。 help me~~~~~~~~~~~~~~~ ("officials_caravan","officials_caravan",icon_peasant|pf_quest_party,no_menu,trp_officials_caravan, fac_commoners,escorted_merchant_personality,ai_bhvr_track_party,0,(-90, 22 ),[(trp_officials_caravan,1,0),(trp_officials,8,0),], 155), 我估计应该是改ai_bhvr_track_party后边的那个0,因为那个是跟随对象,可如何让他变成商队,以及平时如何不出现? |
本帖最后由 gamemi 于 2021-1-18 16:00 编辑 JustinZCQ 发表于 2021-1-17 12:46 “p”不是用来引用城镇的吗? ("officials_caravan","officials_caravan",icon_peasant|pf_quest_party,no_menu,pt_officials_caravan, fac_commoners,escorted_merchant_personality,0,trp_player,(-90, 22 ),[(trp_officials_caravan,1,0),(trp_officials,8,0),], 155), 我把这串代码放在了最后一个城市下边,然后他就是个会跑的城市,怎么让他变成商队呢? 顺便我之前没在parties.py里设置这个队伍,今天才设的,不过怎么让他跟护送商队的那个任务一样,在我需要的时候才出现在某个城市的周边呢?现在倒是能把他删掉了,问题控制不了。 ![]() 还有我一直以为parties.py里是扔城镇的了。 还有我现在呼叫他的代码,叫出来的是不知道从哪来的队伍了。 |
gamemi 发表于 2021-1-16 21:59 你的前缀有问题……remove_party这条操作后半部分要求填入部队ID,应该以“p”(party,部队)而非“pt”(party_template,部队模版)开头,比如p_main_party(玩家部队)。而你填入的是部队模版,所以被remove的部队会是和pt_officials_caravan使用相同ID的部队(如果存在的话)而非你想使其消失的部队…… |
在那悠远的苍穹 发表于 2021-1-16 19:53 (remove_party,"pt_officials_caravan"), 我用的这个。 |
gamemi 发表于 2021-1-16 16:53 (remove_party,<party_id>), |
在那悠远的苍穹 发表于 2021-1-11 14:38 虽说没能解决我的问题,不是还是谢谢你。 (store_distance_to_party_from_party,":caravan_distance_to_destination","p_town_4","$caravan_escort_party_id"), (lt, ":caravan_distance_to_destination", 2), (party_stack_get_troop_id, ":caravan_leader", "$caravan_escort_party_id", 0), (party_stack_get_troop_dna, ":caravan_leader_dna", "$caravan_escort_party_id", 0), (start_map_conversation, ":caravan_leader", ":caravan_leader_dna"), 我是用这个把问题解决了的。 顺便,我怎么让escort_officials_caravan这个队伍消失掉呢?任务倒是结束了,可还是跟着我。 (call_script, "script_end_quest","qst_escort_officials_caravan"), (quest_set_slot, "qst_escort_officials_caravan", slot_quest_current_state, 2), (assign, "$escort_officials_caravan_mode", 0), (assign, "$g_leave_encounter", 1), (call_script, "script_change_troop_renown", "trp_player", 20), 我用的代码。 |
本帖最后由 gamemi 于 2021-1-12 11:51 编辑 在那悠远的苍穹 发表于 2021-1-11 14:38 [trp_officials_caravan,"start", [ (quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state,1), (eq,"$g_encountered_party","pt_officials_caravan"), (store_distance_to_party_from_party, ":dist","p_town_4" ,"pt_officials_caravan"), (lt,":dist",20), ], "We can cover the rest of the way ourselves. Thanks.", "close_window",[(assign, "$g_leave_encounter", 1)]], [trp_officials_caravan,"start", [], " Thanks.", "close_window",[]], —————————————————————————————————————— [trp_officials_caravan,"event_triggered", [ (quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state,1), (eq,"$g_encountered_party","pt_officials_caravan"), (store_distance_to_party_from_party, ":dist","p_town_4" ,"pt_officials_caravan"), (lt,":dist",20), ], "We can cover the rest of the way ourselves. Thanks.", "close_window",[(assign, "$g_leave_encounter", 1)]], [trp_officials_caravan,"event_triggered", [], " Thanks.", "close_window",[]], 问题是这两段我都失败了,用了你的触发器后干脆给的原版预设的对话,然后用START触发还是只给Thanks。 还是说我其他地方搞的不对? [trp_npc17|plyr,"mission1_1", [],"Sorry,I'm not interested.", "close_window",[ (set_spawn_radius, 1), (spawn_around_party,"$g_encountered_party","pt_officials_caravan"),##呼叫跟随者 (assign, ":quest_target_party", reg0), (party_set_ai_behavior, ":quest_target_party", ai_bhvr_track_party), (party_set_ai_object, ":quest_target_party", "p_main_party"), (party_set_flags, ":quest_target_party", pf_default_behavior, 0), (quest_set_slot, "qst_escort_officials_caravan", slot_quest_target_party, "pt_officials_caravan"), (quest_set_slot, "qst_escort_officials_caravan", slot_quest_current_state, 1), (str_store_party_name_link, s8, "p_town_4"), (setup_quest_text, "qst_escort_officials_caravan"), (str_store_string, s2, "@Escort the merchant caravan to the town of {s8}."), (call_script, "script_start_quest", "qst_escort_officials_caravan", "$g_talk_troop"), ## (call_script, "script_change_troop_renown", "trp_player", 20), 加声望 ## (call_script, "script_change_player_relation_with_troop", "trp_kingdom_1_lord", 15), 加关系 ]], [trp_officials_caravan,"start", [ (quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state,1), (eq,"$g_encountered_party","pt_officials_caravan"), (store_distance_to_party_from_party, ":dist","p_town_4" ,"pt_officials_caravan"), (lt,":dist",20), ], "We can cover the rest of the way ourselves. Thanks.", "close_window",[(assign, "$g_leave_encounter", 1)]], [trp_officials_caravan,"start", [], " Thanks.", "close_window",[]], 全部的代码,之前的对话应该不需要吧?反正也没代码块。 |
gamemi 发表于 2021-1-10 22:06 [trp_officials_caravan,"event_triggered", [ (quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state,1), (eq,"$g_encountered_party","pt_officials_caravan"), (store_distance_to_party_from_party, ":dist","p_town_4" ,"pt_officials_caravan"), (lt,":dist",200), # 200的距离大约是帕拉汶到德赫瑞姆的距离。 ], "We can cover the rest of the way ourselves. Thanks.", "close_window",[(assign, "$g_leave_encounter", 1)]], # 你把这段放在前面的后果就是下面写的都会略过。 [trp_officials_caravan,"event_triggered", [], " Thanks.", "close_window",[]], |
在那悠远的苍穹 发表于 2021-1-10 14:39 (eq,"$g_encountered_party","p_town_4"), (store_distance_to_party_from_party, ":dist","p_town_4" ,"pt_officials_caravan"), (lt,":dist",200), 而且我觉得应该是这3个语句没有发挥作用,也不知道怎么让他生效。 |
在那悠远的苍穹 发表于 2021-1-10 14:39 所以说我是想额外加个接近某个城市的条件,比如接近p_town_4附近200米的范围内 不过语句怎么写?我复制了原版的好像不行(╯▽╰ )~~ |
两个一样的条件,会优先触发上面的。额外添加一个条件就行了。 [trp_officials_caravan,"start", [(quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state, 1),], " Thanks.", "close_window",[]], [trp_officials_caravan,"start", [ (quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state,1), (eq,"$g_encountered_party","p_town_4"), (store_distance_to_party_from_party, ":dist","p_town_4" ,"pt_officials_caravan"), (lt,":dist",200), ], "We can cover the rest of the way ourselves. Thanks.", "close_window",[(assign, "$g_leave_encounter", 1)]], |
本帖最后由 gamemi 于 2021-1-10 11:58 编辑 莲花elan 发表于 2021-1-9 18:25 1. 我觉得start应该是没问题的,因为实际上是对话过的,而且对话的内容是我自己预设的,没作用主要是条件判断语句的问题,我觉得应该是这样。 [trp_officials_caravan,"start", [(quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state, 1),], " Thanks.", "close_window",[]], 因为这段语句就好好的实现功能了,如果是start的问题,这句应该也出不来才对的。 2. 我就是复制的带商队的那个代码块,然后自己修改的来着。 (quest_get_slot, ":quest_target_center", "qst_escort_merchant_caravan", slot_quest_target_center), (set_spawn_radius, 1), (spawn_around_party,"$g_encountered_party","pt_merchant_caravan"), (assign, ":quest_target_party", reg0), (party_set_ai_behavior, ":quest_target_party", ai_bhvr_track_party), (party_set_ai_object, ":quest_target_party", "p_main_party"), (party_set_flags, ":quest_target_party", pf_default_behavior, 0), (quest_set_slot, "qst_escort_merchant_caravan", slot_quest_target_party, ":quest_target_party"), (quest_set_slot, "qst_escort_merchant_caravan", slot_quest_current_state, 1), (str_store_party_name_link, s8, ":quest_target_center"), (setup_quest_text, "qst_escort_merchant_caravan"), (str_store_string, s2, "@Escort the merchant caravan to the town of {s8}."), (call_script, "script_start_quest", "qst_escort_merchant_caravan", "$g_talk_troop"), (quest_get_slot, ":quest_target_party", "qst_escort_merchant_caravan", slot_quest_target_party), (eq,"$g_encountered_party",":quest_target_party"), (quest_get_slot, ":quest_target_center", "qst_escort_merchant_caravan", slot_quest_target_center), (store_distance_to_party_from_party, ":dist", ":quest_target_center",":quest_target_party"), (lt,":dist",4), (quest_slot_eq, "qst_escort_merchant_caravan", slot_quest_current_state, 0), 这一段原始的代码应该是这样的。然后我修改了一下 (set_spawn_radius, 1), (spawn_around_party,"$g_encountered_party","pt_officials_caravan"),##呼叫跟随者 (assign, ":quest_target_party", reg0), (party_set_ai_behavior, ":quest_target_party", ai_bhvr_track_party), (party_set_ai_object, ":quest_target_party", "p_main_party"), (party_set_flags, ":quest_target_party", pf_default_behavior, 0), (quest_set_slot, "qst_escort_officials_caravan", slot_quest_target_party, "pt_officials_caravan"), (quest_set_slot, "qst_escort_officials_caravan", slot_quest_current_state, 1), (str_store_party_name_link, s8, "p_town_4"), (setup_quest_text, "qst_escort_officials_caravan"), (str_store_string, s2, "@Escort the merchant caravan to the town of {s8}."), (call_script, "script_start_quest", "qst_escort_officials_caravan", "$g_talk_troop"), [trp_officials_caravan,"start", [(quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state, 1),], " Thanks.", "close_window",[]], [trp_officials_caravan,"start", [ (quest_slot_eq, "qst_escort_officials_caravan", slot_quest_current_state,1), (eq,"$g_encountered_party","p_town_4"), (store_distance_to_party_from_party, ":dist","p_town_4" ,"pt_officials_caravan"), (lt,":dist",200), ], "We can cover the rest of the way ourselves. Thanks.", "close_window",[(assign, "$g_leave_encounter", 1)]], 改成这样,不过我发现任务书上没问题,真到了执行时,一个是到了目的地也不会对话,而且也无法判断到达地方,永远只会说Thanks。可是我想让他说We can cover the rest of the way ourselves. Thanks.这句,因此我觉得可能是条件判断语句出错。 当然水平有限。 |
GMT+8, 2025-10-24 04:32 , Processed in 0.098254 second(s), 28 queries , Gzip On, MemCached On.
Powered by Discuz! X3.4 Licensed
© 2001-2023 Discuz! Team.