让旅行者向你报告王国和领主的情况

字体: | 打印

报告王国的领土情况(有多少城镇城堡村落)
报告领主的位置和所带的军队人数

#酒馆的旅行者提供王国拥有的领地信息和领主们的信息
module_dialogs.py

    * 搜索以下代码

[anyone|plyr, "tavern_traveler_talk", [(eq, "$traveller_claimants_mentioned", 1)], "I want to know the location of a claimant.", "tavern_traveler_pretender_location", []],

    * 在之前加入以下代码。

   #subwolf write
   #旅行者提供阵营和领主的信息
        [anyone|plyr, "tavern_traveler_talk", [(eq,"$cheat_mode",1)], "I want to know the faction and them lords.", "tavern_traveler_pretender_faction_and_lords", []],
        [anyone, "tavern_traveler_pretender_faction_and_lords", [], "what faction you want to knows?", "tavern_traveler_faction", []],
        #列出王国列表
        [anyone|plyr|repeat_for_factions, "tavern_traveler_faction", [
                (store_repeat_object,":faction_no"),
                (is_between,":faction_no",kingdoms_begin,kingdoms_end),
                (neq,":faction_no","fac_player_supporters_faction"),#不列出玩家王国的信息
                (str_store_faction_name,s11,":faction_no"),
        ], "{s11}","tavern_traveler_faction_2",[
                (store_repeat_object, "$temp"),#$temp就是选中的选项
        ]],
        #旅行者要钱
        [anyone,"tavern_traveler_faction_2",[],"one kingdoms 30 denars,do you want","tavern_traveler_faction_3",[]],
        [anyone|plyr,"tavern_traveler_faction_3",[
                (store_troop_gold, ":cur_gold", "trp_player"),
                (ge, ":cur_gold", 30),
        ],"All right. Here is 30 denars.","tavern_traveler_faction_4",[
                (troop_remove_gold, "trp_player", 30),
        ]],
        [anyone|plyr,"tavern_traveler_faction_3",[],"Never mind.","tavern_traveler_pretalk",[]],
#显示王国信息
        [anyone,"tavern_traveler_faction_4",[   ],"{s1} ","tavern_traveler_faction_5",[      
                (call_script,"script_report_kingdoms_report_about","$temp"),
                (str_store_faction_name,s2,"$temp"),
        ]],

        
        [anyone|plyr,"tavern_traveler_faction_5",[],"I want to knows kingdoms lords.","tavern_traveler_faction_6",[]],
        [anyone|plyr,"tavern_traveler_faction_5",[],"Never mind..","tavern_traveler_pretalk",[]],

        [anyone,"tavern_traveler_faction_6",[],"one kingdoms 100 denars,do you want","tavern_traveler_faction_17",[]],  

#领主列表

        [anyone|plyr|repeat_for_troops,"tavern_traveler_faction_17",[
                (store_repeat_object, ":troop_no"),
                (store_troop_gold,":gold","trp_player"),
                (ge,":gold",100),
              (is_between, ":troop_no", heroes_begin, heroes_end),
                (troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
                (store_troop_faction, ":faction_no", ":troop_no"),
                (eq, "$temp", ":faction_no"),
                (str_store_troop_name, s1, ":troop_no"),
        
        ],"{s1}","tavern_traveler_faction_18",[
                (store_repeat_object, "$temp1"),#$temp1就是选中的选项
        ]],
        [anyone|plyr,"tavern_traveler_faction_17",[],"Never mind.","tavern_traveler_pretalk",[]],

        [anyone,"tavern_traveler_faction_18",[
#提供领主信息
                (assign,":troop_no","$temp1"),
                (str_clear,s10),
               
#开始寻找领主的所在,并更新资料,返回信息在s1
                (call_script, "script_update_troop_location_notes", ":troop_no", 1),
                (call_script, "script_get_information_about_troops_position", ":troop_no", 0),
#取得领主的军队
                (str_store_troop_name,s2,":troop_no"),
                (troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),#取得领主的军队
                (store_party_size_wo_prisoners,reg1,":party_no"),#得到领主的人马数
                (store_party_size,reg2,":party_no"),#得到包括俘虏的数
                (val_sub,reg2,reg1),

                (str_store_string,s10,"@{s1} ^ {he/she} have {reg1} fighter,and {reg2}prisoners.^"),
        ],"{s10}","tavern_traveler_faction_17",[]],
        

        
   
   #旅行者提供阵营领主信息结束
   #subwolf write end

===================================================
module_scripts.py

    * 在文件最后加入

#script_report_kingdoms_report_about
#Input:faction_no
#output:reg0-3,include kingdown have how many town,
#提供王国报告,输入王国ID,返回王国拥有多少领主、城镇、城堡、村落
#reg0:领主数reg1:城镇数reg2:城堡数reg3:村落数s1:标准报告

("report_kingdoms_report_about",[
                 (store_script_param, ":faction_no", 1),#取得王国ID
                 (str_store_faction_name,s2,":faction_no"),
            #计算有$temp这个王国有多少个领主
              (assign, reg0, 0),
        (try_for_range, ":troop_no", kingdom_heroes_begin, kingdom_heroes_end),
                 (store_troop_faction, ":troop_faction", ":troop_no"),
            (eq, ":troop_faction", ":faction_no"),
                   (val_add, reg0, 1),
               (try_end),

                #计算城镇城堡村落
        (assign, reg1, 0),(assign, reg2, 0),(assign, reg3, 0),
               (try_for_range, ":center_no", centers_begin, centers_end),
          (store_faction_of_party, ":center_faction", ":center_no"),
                 (try_begin),
            (eq, ":center_faction", ":faction_no"),
                   (try_begin),
              (party_slot_eq, ":center_no", slot_party_type, spt_town),
                     (val_add, reg1, 1),#城镇
            (else_try),
                     (party_slot_eq, ":center_no", slot_party_type, spt_castle),
              (val_add, reg2, 1),#城堡
                   (else_try),
              (party_slot_eq, ":center_no", slot_party_type, spt_village),
                     (val_add, reg3, 1),#村落
            (try_end),
                (try_end),
        (try_end),
                (str_store_string,s1,"@{s2} have {reg0} lords,and {reg1} town,{reg2} castle,{reg3} village."),
               

]),