WB [TUTORIEL] Banniere unique par faction

正在查看此主题的用户

shadyre

Recruit
- Créer sous : Warband 1.143 + Diplomacy 4.2
- Crédit : @Idibil, @Hurleur, @shadyre
- Auteur original : @Idibil
- Sujet original : http://forums.taleworlds.com/index.php/topic,180830.msg4337808.html#msg4337808

Avec sa tous les roi et vassaux auront la même bannière par faction !

A noter, pour la faction la bannière se déclare comme suit : "mesh_kingdom_banner_x",
tandis que pour les vassaux : "spr_kingdom_banner_x".

1) Remplacer ceci (fichier "module_script.py") :
插入代码块:
(try_for_range, ":cur_faction", npc_kingdoms_begin, npc_kingdoms_end),
        (faction_get_slot, ":cur_faction_king", ":cur_faction", slot_faction_leader),
        (faction_get_slot, ":cur_faction_banner", ":cur_faction", slot_faction_banner),
        (val_sub, ":cur_faction_banner", banner_meshes_begin),
        (val_add, ":cur_faction_banner", banner_scene_props_begin),
        (troop_set_slot, ":cur_faction_king", slot_troop_banner_scene_prop, ":cur_faction_banner"),
      (try_end),
      (assign, ":num_khergit_lords_assigned", 0),
      (assign, ":num_sarranid_lords_assigned", 0),
      (assign, ":num_other_lords_assigned", 0),
            
      (try_for_range, ":kingdom_hero", active_npcs_begin, active_npcs_end),
        (this_or_next|troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_kingdom_hero),
        (troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_inactive_pretender),
        
        (store_troop_faction, ":kingdom_hero_faction", ":kingdom_hero"),
        (neg|faction_slot_eq, ":kingdom_hero_faction", slot_faction_leader, ":kingdom_hero"),
        (try_begin), 
          (eq, ":kingdom_hero_faction", "fac_kingdom_3"), #Khergit Khanate
          (store_add, ":kingdom_3_banners_begin", banner_scene_props_begin, khergit_banners_begin_offset),
          (store_add, ":banner_id", ":kingdom_3_banners_begin", ":num_khergit_lords_assigned"),
          (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
          (val_add, ":num_khergit_lords_assigned", 1),
        (else_try),
          (eq, ":kingdom_hero_faction", "fac_kingdom_6"), #Sarranid Sultanate
          (store_add, ":kingdom_6_banners_begin", banner_scene_props_begin, sarranid_banners_begin_offset),
          (store_add, ":banner_id", ":kingdom_6_banners_begin", ":num_sarranid_lords_assigned"),
          (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
          (val_add, ":num_sarranid_lords_assigned", 1),
        (else_try),
          (assign, ":hero_offset", ":num_other_lords_assigned"),
          (try_begin),
            (gt, ":hero_offset", khergit_banners_begin_offset),#Do not add khergit banners to other lords
            (val_add, ":hero_offset", khergit_banners_end_offset),
            (val_sub, ":hero_offset", khergit_banners_begin_offset),
          (try_end),
          (try_begin),
            (gt, ":hero_offset", sarranid_banners_begin_offset),#Do not add sarranid banners to other lords
            (val_add, ":hero_offset", sarranid_banners_end_offset),
            (val_sub, ":hero_offset", sarranid_banners_begin_offset),
          (try_end),
          (store_add, ":banner_id", banner_scene_props_begin, ":hero_offset"),
          (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
          (val_add, ":num_other_lords_assigned", 1),
        (try_end),
        (try_begin),
          (this_or_next|lt, ":banner_id", banner_scene_props_begin),
          (gt, ":banner_id", banner_scene_props_end_minus_one),
          (display_message, "@{!}ERROR: Not enough banners for heroes!"),
        (try_end),

        (store_character_level, ":level", ":kingdom_hero"),
        (store_mul, ":renown", ":level", ":level"),
        (val_div, ":renown", 4), #for top lord, is about 400

		(troop_get_slot, ":age", ":kingdom_hero", slot_troop_age),
        (store_mul, ":age_addition", ":age", ":age"),
        (val_div, ":age_addition", 8), #for top lord, is about 400
		(val_add, ":renown", ":age_addition"),
			
        (try_begin),
          (faction_slot_eq, ":kingdom_hero_faction", slot_faction_leader, ":kingdom_hero"),
          (store_random_in_range, ":random_renown", 250, 400),
        (else_try),
          (store_random_in_range, ":random_renown", 0, 100),
        (try_end),
        (val_add, ":renown", ":random_renown"),

        (troop_set_slot, ":kingdom_hero", slot_troop_renown, ":renown"),				
      (try_end),

      (try_for_range, ":troop_no", "trp_player", "trp_merchants_end"),
        (add_troop_note_tableau_mesh, ":troop_no", "tableau_troop_note_mesh"),
      (try_end),
	  
      (try_for_range, ":center_no", centers_begin, centers_end),
        (add_party_note_tableau_mesh, ":center_no", "tableau_center_note_mesh"),
      (try_end),

      (try_for_range, ":faction_no", kingdoms_begin, kingdoms_end),
        (is_between, ":faction_no", "fac_kingdom_1", kingdoms_end), #Excluding player kingdom
        (add_faction_note_tableau_mesh, ":faction_no", "tableau_faction_note_mesh"),
      (else_try),
        (add_faction_note_tableau_mesh, ":faction_no", "tableau_faction_note_mesh_banner"),
      (try_end),

2) par cela (fichier "module_script.py") :
插入代码块:
(try_for_range, ":cur_faction", npc_kingdoms_begin, npc_kingdoms_end),
	(faction_get_slot, ":cur_faction_king", ":cur_faction", slot_faction_leader),
	(faction_get_slot, ":cur_faction_banner", ":cur_faction", slot_faction_banner),
	(val_sub, ":cur_faction_banner", banner_meshes_begin),
	(val_add, ":cur_faction_banner", banner_scene_props_begin),
	(troop_set_slot, ":cur_faction_king", slot_troop_banner_scene_prop, ":cur_faction_banner"),
(try_end),

(try_for_range, ":kingdom_hero", active_npcs_begin, active_npcs_end),
	(this_or_next|troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_kingdom_hero),
	(troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_inactive_pretender),

	(store_troop_faction, ":kingdom_hero_faction", ":kingdom_hero"),
	(neg|faction_slot_eq, ":kingdom_hero_faction", slot_faction_leader, ":kingdom_hero"),
	
	(try_for_range, ":cur_troop", lords_begin, lords_end),
		(troop_set_slot, ":cur_troop", slot_troop_occupation, slto_kingdom_hero),
		(try_begin),
			(store_troop_faction, ":cur_faction", ":cur_troop"),
			(faction_get_slot, ":cur_faction_banner", ":cur_faction", slot_faction_banner),
			(val_sub, ":cur_faction_banner", banner_meshes_begin),
			(val_add, ":cur_faction_banner", banner_scene_props_begin),
			(troop_set_slot, ":cur_troop", slot_troop_banner_scene_prop, ":cur_faction_banner"),
		(try_end),
	(try_end),

	(store_character_level, ":level", ":kingdom_hero"),
	(store_mul, ":renown", ":level", ":level"),
	(val_div, ":renown", 4),

	(troop_get_slot, ":age", ":kingdom_hero", slot_troop_age),
	(store_mul, ":age_addition", ":age", ":age"),
	(val_div, ":age_addition", 8),
	(val_add, ":renown", ":age_addition"),

	(try_begin),
		(faction_slot_eq, ":kingdom_hero_faction", slot_faction_leader, ":kingdom_hero"),
		(store_random_in_range, ":random_renown", 350, 500),
	(else_try),
		(store_random_in_range, ":random_renown", 100, 300),
	(try_end),
	(val_add, ":renown", ":random_renown"),

	(troop_set_slot, ":kingdom_hero", slot_troop_renown, ":renown"),            
(try_end),

(try_for_range, ":troop_no", "trp_player", "trp_merchants_end"),
	(add_troop_note_tableau_mesh, ":troop_no", "tableau_troop_note_mesh"),
(try_end),

(try_for_range, ":center_no", centers_begin, centers_end),
	(add_party_note_tableau_mesh, ":center_no", "tableau_center_note_mesh"),
(try_end),

(try_for_range, ":faction_no", kingdoms_begin, kingdoms_end),
	(is_between, ":faction_no", "fac_kingdom_1", kingdoms_end), #Excluding player kingdom
	(add_faction_note_tableau_mesh, ":faction_no", "tableau_faction_note_mesh"),
(else_try),
	(add_faction_note_tableau_mesh, ":faction_no", "tableau_faction_note_mesh_banner"),
(try_end),
 
后退
顶部 底部