Problem with adding troop icons

Users who are viewing this thread

pan-boroda

Knight at Arms
Good afternoon, people. Need help with the next issue
based on scripts laid out for OSP Map Icons Pack I tried to add my icons to the developed mod

Code:
("draw_icons",
   [
    (try_for_parties, ":party"),
	
      (party_slot_eq, ":party", slot_party_type, spt_kingdom_hero_party),
      (party_is_active, ":party"),
      (gt, ":party", 0),
      (neg|party_is_in_any_town, ":party"),
      (store_faction_of_party, ":fac", ":party"),
      (store_party_size, ":num", ":party"),
      (party_get_icon, ":icon", ":party"),
	 
	  (party_get_slot, ":leader", ":party", slot_kingdom_party_leader),
	  (assign, ":is_king", 0),
      (try_for_range, ":cur_fac", "fac_kingdom_1", "fac_kingdoms_end"),
	    (faction_slot_eq, ":cur_fac", slot_faction_leader, ":leader"),
	    (assign, ":is_king", 1),
      (try_end),
	 
      (try_begin),
	    (eq, ":is_king", 0),
		
		(try_begin),
		  (eq, ":fac", "fac_kingdom_3"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_ttr_army"),
          (else_try),
            (assign, ":icon", "icon_ttr_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_4"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_swed_army"),
          (else_try),
            (assign, ":icon", "icon_swed_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_5"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_hun_army"),
          (else_try),
            (assign, ":icon", "icon_hun_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_2"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_rus_army"),
          (else_try),
            (assign, ":icon", "icon_rus_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_6"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_turk_army"),
          (else_try),
            (assign, ":icon", "icon_turk_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_1"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_teu_army2"),
          (else_try),
            (assign, ":icon", "icon_teu_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_7"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_mold_army"),
          (else_try),
            (assign, ":icon", "icon_mold_army"),
          (try_end),     
 		(else_try),
		  (eq, ":fac", "fac_kingdom_8"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_lit_army"),
          (else_try),
            (assign, ":icon", "icon_lit_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_9"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_pol_army"),
          (else_try),
            (assign, ":icon", "icon_pol_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_player_supporters_faction"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_rus_army"),
          (else_try),
            (assign, ":icon", "icon_rus_army"),
          (try_end),
    
	  (else_try),
	 
		(try_begin),
		  (eq, ":fac", "fac_kingdom_3"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_ttr_army"),
          (else_try),
            (assign, ":icon", "icon_ttr_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_4"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_swed_army"),
          (else_try),
            (assign, ":icon", "icon_swed_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_5"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_hun_army"),
          (else_try),
            (assign, ":icon", "icon_hun_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_2"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_rus_army"),
          (else_try),
            (assign, ":icon", "icon_rus_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_6"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_turk_army"),
          (else_try),
            (assign, ":icon", "icon_turk_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_1"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_teu_army2"),
          (else_try),
            (assign, ":icon", "icon_teu_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_7"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_mold_army"),
          (else_try),
            (assign, ":icon", "icon_mold_army"),
          (try_end),     
 		(else_try),
		  (eq, ":fac", "fac_kingdom_8"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_lit_army"),
          (else_try),
            (assign, ":icon", "icon_lit_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_kingdom_9"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_pol_army"),
          (else_try),
            (assign, ":icon", "icon_pol_army"),
          (try_end),
		(else_try),
		  (eq, ":fac", "fac_player_supporters_faction"),
          (try_begin),
            (ge, ":num", 160),
            (assign, ":icon", "icon_rus_army"),
          (else_try),
            (assign, ":icon", "icon_rus_army"),
          (try_end),
		(try_end),
	 
      (try_end),
	 
      (party_set_icon, ":party", ":icon"),
	 
    (try_end),
  ]),

Code:
  (0.01,
  [
    (call_script, "script_draw_icons"),
  ]),

Code:
  ( "teu_army", 0, "teu_map_icons_a", avatar_scale, snd_gallop, 0.15, 0.173, 0,),
  ( "teu_army2", 0, "teu_map_icons_b", avatar_scale, snd_gallop, 0.15, 0.173, 0,),
  ( "rus_army", 0, "rus_army_icon", avatar_scale, snd_gallop, 0.15, 0.173, 0,),
  ( "ttr_army", 0, "ttr_army_icon", avatar_scale, snd_gallop, 0.15, 0.173, 0,),
  ( "swed_army", 0, "euro_army_icon", avatar_scale, snd_gallop, 0.15, 0.173, 0,),
  ( "hun_army", 0, "hun_army_icon", avatar_scale, snd_gallop, 0.15, 0.173, 0,),  
  ( "turk_army", 0, "turk_army_icon", avatar_scale, snd_gallop, 0.15, 0.173, 0,), 
  ( "mold_army", 0, "mold_army_icon", avatar_scale, snd_gallop, 0.15, 0.173, 0,),
  ( "hun_army", 0, "hun_army_icon", avatar_scale, snd_gallop, 0.15, 0.173, 0,),
  ( "lit_army", 0, "lit_army_icon", avatar_scale, snd_gallop, 0.15, 0.173, 0,),   
  ( "pol_army", 0, "euro_army_icon2", avatar_scale, snd_gallop, 0.15, 0.173, 0,),  
 

I inserted the script script_draw_icons at the end of module_scripts
icons of troops after ("bridge_snow_a", mcn_no_shadow, "map_river_bridge_snow_a", 1.27.0),
in module_simple_triggers - the end of the file.

It compiles without errors, but when the game starts, all the lords on the global map use only 1 icon - flagbearer_a.
What could be the problem?
 
I think you've made a little mess with the blocks... try it now.
Code:
	("draw_icons",
		[
			(try_for_parties, ":party"),

				(party_slot_eq, ":party", slot_party_type, spt_kingdom_hero_party),
				(party_is_active, ":party"),
				(gt, ":party", 0),
				(neg|party_is_in_any_town, ":party"),
				(store_faction_of_party, ":fac", ":party"),
				(store_party_size, ":num", ":party"),
				(party_get_icon, ":icon", ":party"),

				(party_get_slot, ":leader", ":party", slot_kingdom_party_leader),
				(assign, ":is_king", 0),
				# (try_for_range, ":cur_fac", "fac_kingdom_1", "fac_kingdoms_end"),
				(try_for_range, ":cur_fac", "fac_player_supporters_faction", "fac_kingdoms_end"), #check factions range
					(faction_slot_eq, ":cur_fac", slot_faction_leader, ":leader"),
					(assign, ":is_king", 1),
				(try_end),

				(try_begin), #lord party
					(eq, ":is_king", 0),

					(try_begin),
						(eq, ":fac", "fac_kingdom_3"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_ttr_army"),
						(else_try),
							(assign, ":icon", "icon_ttr_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_4"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_swed_army"),
						(else_try),
							(assign, ":icon", "icon_swed_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_5"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_hun_army"),
						(else_try),
							(assign, ":icon", "icon_hun_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_2"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_rus_army"),
						(else_try),
							(assign, ":icon", "icon_rus_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_6"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_turk_army"),
						(else_try),
							(assign, ":icon", "icon_turk_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_1"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_teu_army2"),
						(else_try),
							(assign, ":icon", "icon_teu_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_7"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_mold_army"),
						(else_try),
							(assign, ":icon", "icon_mold_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_8"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_lit_army"),
						(else_try),
							(assign, ":icon", "icon_lit_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_9"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_pol_army"),
						(else_try),
							(assign, ":icon", "icon_pol_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_player_supporters_faction"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_rus_army"),
						(else_try),
							(assign, ":icon", "icon_rus_army"),
						(try_end),
					(try_end),
				(else_try), #king party
					(try_begin),
						(eq, ":fac", "fac_kingdom_3"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_ttr_army"),
						(else_try),
							(assign, ":icon", "icon_ttr_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_4"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_swed_army"),
						(else_try),
							(assign, ":icon", "icon_swed_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_5"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_hun_army"),
						(else_try),
							(assign, ":icon", "icon_hun_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_2"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_rus_army"),
						(else_try),
							(assign, ":icon", "icon_rus_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_6"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_turk_army"),
						(else_try),
							(assign, ":icon", "icon_turk_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_1"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_teu_army2"),
						(else_try),
							(assign, ":icon", "icon_teu_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_7"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_mold_army"),
						(else_try),
							(assign, ":icon", "icon_mold_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_8"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_lit_army"),
						(else_try),
							(assign, ":icon", "icon_lit_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_9"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_pol_army"),
						(else_try),
							(assign, ":icon", "icon_pol_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_player_supporters_faction"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_rus_army"),
						(else_try),
							(assign, ":icon", "icon_rus_army"),
						(try_end),
					(try_end),
				(try_end),

				(party_set_icon, ":party", ":icon"),	
			(try_end),
		]
	),
 
Dj_FRedy said:
I think you've made a little mess with the blocks... try it now.
Code:
	("draw_icons",
		[
			(try_for_parties, ":party"),

				(party_slot_eq, ":party", slot_party_type, spt_kingdom_hero_party),
				(party_is_active, ":party"),
				(gt, ":party", 0),
				(neg|party_is_in_any_town, ":party"),
				(store_faction_of_party, ":fac", ":party"),
				(store_party_size, ":num", ":party"),
				(party_get_icon, ":icon", ":party"),

				(party_get_slot, ":leader", ":party", slot_kingdom_party_leader),
				(assign, ":is_king", 0),
				# (try_for_range, ":cur_fac", "fac_kingdom_1", "fac_kingdoms_end"),
				(try_for_range, ":cur_fac", "fac_player_supporters_faction", "fac_kingdoms_end"), #check factions range
					(faction_slot_eq, ":cur_fac", slot_faction_leader, ":leader"),
					(assign, ":is_king", 1),
				(try_end),

				(try_begin), #lord party
					(eq, ":is_king", 0),

					(try_begin),
						(eq, ":fac", "fac_kingdom_3"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_ttr_army"),
						(else_try),
							(assign, ":icon", "icon_ttr_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_4"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_swed_army"),
						(else_try),
							(assign, ":icon", "icon_swed_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_5"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_hun_army"),
						(else_try),
							(assign, ":icon", "icon_hun_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_2"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_rus_army"),
						(else_try),
							(assign, ":icon", "icon_rus_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_6"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_turk_army"),
						(else_try),
							(assign, ":icon", "icon_turk_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_1"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_teu_army2"),
						(else_try),
							(assign, ":icon", "icon_teu_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_7"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_mold_army"),
						(else_try),
							(assign, ":icon", "icon_mold_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_8"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_lit_army"),
						(else_try),
							(assign, ":icon", "icon_lit_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_9"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_pol_army"),
						(else_try),
							(assign, ":icon", "icon_pol_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_player_supporters_faction"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_rus_army"),
						(else_try),
							(assign, ":icon", "icon_rus_army"),
						(try_end),
					(try_end),
				(else_try), #king party
					(try_begin),
						(eq, ":fac", "fac_kingdom_3"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_ttr_army"),
						(else_try),
							(assign, ":icon", "icon_ttr_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_4"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_swed_army"),
						(else_try),
							(assign, ":icon", "icon_swed_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_5"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_hun_army"),
						(else_try),
							(assign, ":icon", "icon_hun_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_2"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_rus_army"),
						(else_try),
							(assign, ":icon", "icon_rus_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_6"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_turk_army"),
						(else_try),
							(assign, ":icon", "icon_turk_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_1"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_teu_army2"),
						(else_try),
							(assign, ":icon", "icon_teu_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_7"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_mold_army"),
						(else_try),
							(assign, ":icon", "icon_mold_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_8"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_lit_army"),
						(else_try),
							(assign, ":icon", "icon_lit_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_kingdom_9"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_pol_army"),
						(else_try),
							(assign, ":icon", "icon_pol_army"),
						(try_end),
					(else_try),
						(eq, ":fac", "fac_player_supporters_faction"),
						(try_begin),
							(ge, ":num", 160),
							(assign, ":icon", "icon_rus_army"),
						(else_try),
							(assign, ":icon", "icon_rus_army"),
						(try_end),
					(try_end),
				(try_end),

				(party_set_icon, ":party", ":icon"),	
			(try_end),
		]
	),

my friend, thank you very much, everything worked out.
 
Nice, only one 'try_end' was missing. If you don't want it to happen again without you noticing, you can add the following code to 'process_operations':
search:
Code:
print "WARNING: Script uses more than 128 local wariables: " + str(statement_name) + "variables count:" + str(len(local_vars))
add below:
Code:
### extra or missing "try_end"
  if current_depth != 0:
    if current_depth > 0:
      missing = " missing"
    else:
      missing = " extra"
      current_depth *= -1
    print "WARNING: " + repr(current_depth) + missing + " try_end: " + str(statement_name)
#### extra or missing "try_end"
The next time you compile and some 'try_end' is missing, the compiler will print a warning message. :party:
 
Dj_FRedy said:
Nice, only one 'try_end' was missing. If you don't want it to happen again without you noticing, you can add the following code to 'process_operations':
search:
Code:
print "WARNING: Script uses more than 128 local wariables: " + str(statement_name) + "variables count:" + str(len(local_vars))
add below:
Code:
### extra or missing "try_end"
  if current_depth != 0:
    if current_depth > 0:
      missing = " missing"
    else:
      missing = " extra"
      current_depth *= -1
    print "WARNING: " + repr(current_depth) + missing + " try_end: " + str(statement_name)
#### extra or missing "try_end"
The next time you compile and some 'try_end' is missing, the compiler will print a warning message. :party:

Thank you, I did as you said .... it seems to write everywhere 0. Only in scripts the following is indicated: 1 missing try_end: game_receive_ network_message
 
I think you've made a little mess with the blocks... try it now.
Code:
    ("draw_icons",
        [
            (try_for_parties, ":party"),

                (party_slot_eq, ":party", slot_party_type, spt_kingdom_hero_party),
                (party_is_active, ":party"),
                (gt, ":party", 0),
                (neg|party_is_in_any_town, ":party"),
                (store_faction_of_party, ":fac", ":party"),
                (store_party_size, ":num", ":party"),
                (party_get_icon, ":icon", ":party"),

                (party_get_slot, ":leader", ":party", slot_kingdom_party_leader),
                (assign, ":is_king", 0),
                # (try_for_range, ":cur_fac", "fac_kingdom_1", "fac_kingdoms_end"),
                (try_for_range, ":cur_fac", "fac_player_supporters_faction", "fac_kingdoms_end"), #check factions range
                    (faction_slot_eq, ":cur_fac", slot_faction_leader, ":leader"),
                    (assign, ":is_king", 1),
                (try_end),

                (try_begin), #lord party
                    (eq, ":is_king", 0),

                    (try_begin),
                        (eq, ":fac", "fac_kingdom_3"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_ttr_army"),
                        (else_try),
                            (assign, ":icon", "icon_ttr_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_4"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_swed_army"),
                        (else_try),
                            (assign, ":icon", "icon_swed_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_5"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_hun_army"),
                        (else_try),
                            (assign, ":icon", "icon_hun_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_2"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_rus_army"),
                        (else_try),
                            (assign, ":icon", "icon_rus_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_6"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_turk_army"),
                        (else_try),
                            (assign, ":icon", "icon_turk_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_1"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_teu_army2"),
                        (else_try),
                            (assign, ":icon", "icon_teu_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_7"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_mold_army"),
                        (else_try),
                            (assign, ":icon", "icon_mold_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_8"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_lit_army"),
                        (else_try),
                            (assign, ":icon", "icon_lit_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_9"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_pol_army"),
                        (else_try),
                            (assign, ":icon", "icon_pol_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_player_supporters_faction"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_rus_army"),
                        (else_try),
                            (assign, ":icon", "icon_rus_army"),
                        (try_end),
                    (try_end),
                (else_try), #king party
                    (try_begin),
                        (eq, ":fac", "fac_kingdom_3"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_ttr_army"),
                        (else_try),
                            (assign, ":icon", "icon_ttr_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_4"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_swed_army"),
                        (else_try),
                            (assign, ":icon", "icon_swed_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_5"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_hun_army"),
                        (else_try),
                            (assign, ":icon", "icon_hun_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_2"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_rus_army"),
                        (else_try),
                            (assign, ":icon", "icon_rus_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_6"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_turk_army"),
                        (else_try),
                            (assign, ":icon", "icon_turk_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_1"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_teu_army2"),
                        (else_try),
                            (assign, ":icon", "icon_teu_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_7"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_mold_army"),
                        (else_try),
                            (assign, ":icon", "icon_mold_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_8"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_lit_army"),
                        (else_try),
                            (assign, ":icon", "icon_lit_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_kingdom_9"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_pol_army"),
                        (else_try),
                            (assign, ":icon", "icon_pol_army"),
                        (try_end),
                    (else_try),
                        (eq, ":fac", "fac_player_supporters_faction"),
                        (try_begin),
                            (ge, ":num", 160),
                            (assign, ":icon", "icon_rus_army"),
                        (else_try),
                            (assign, ":icon", "icon_rus_army"),
                        (try_end),
                    (try_end),
                (try_end),

                (party_set_icon, ":party", ":icon"),   
            (try_end),
        ]
    ),
Good evening. Tell me if it is possible to prescribe icons of deserters according to this principle, depending on the faction of the deserter's origin. Or even more precisely from the culture of the deserter. If there are no problems with merchants and patrols, then there is a problem with deserters...
 
Python:
  ("draw_icons_deserters",
        [
            (try_for_parties, ":party"),

                (party_slot_eq, ":party", slot_party_type, spt_deserter),
                (party_is_active, ":party"),
                (gt, ":party", 0),
                (neg|party_is_in_any_town, ":party"),
                (faction_get_slot, ":culture", slot_faction_culture),
                (store_party_size, ":num", ":party"),
                (party_get_icon, ":icon", ":party"),
                        
                (try_begin),
                    (try_begin),
                        (eq, ":culture", "fac_culture_1"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_germ"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_germ"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_2"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_rus"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_rus"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_3"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_east"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_east"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_4"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_scand"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_scand"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_5"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_euro3"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_euro3"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_6"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_otto"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_otto"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_7"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_euro"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_euro"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_8"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_euro"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_euro"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_9"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_euro2"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_euro2"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_10"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_germ"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_germ"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_11"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_12"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_13"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_14"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_15"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_tatar"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_16"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_kavkaz"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_kavkaz"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_17"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_east"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_east"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_18"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_mamluk"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_mamluk"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_19"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ural"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ural"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_20"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_mamluk"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_mamluk"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_21"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_timur"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_timur"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_22"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_timur"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_timur"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_23"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ural"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ural"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_24"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_25"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_east"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_east"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_26"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_euro2"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_euro2"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_27"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_28"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_euro2"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_euro2"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_29"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_germ"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_germ"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_30"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                    (else_try),
                        (eq, ":culture", "fac_culture_31"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_32"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_33"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_34"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_35"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_36"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_37"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_ital"),
                        (try_end),
                    (else_try),
                        (eq, ":culture", "fac_culture_38"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_euro3"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_euro3"),
                        (try_end),
                    (try_end),
                    (try_end),
                (try_end),

                (party_set_icon, ":party", ":icon"),   
            (try_end),
        ]
    ),

Good afternoon. Can anyone tell me what the error is, and why the icons of deserters do not change depending on the culture. And in general, is it possible to prescribe a change in the icons of deserters depending on the culture of the troops
 
Kraggrim wrote at the discord
He's not specifying what faction to get the culture of
He would have to get the troop type of stack 0, then get the troop faction, then slot that into the faction_get_slo operation
Code:
(party_stack_get_troop_id, ":party_leader", ":party", 0),
(store_faction_of_troop, ":faction", ":party_leader"),
(faction_get_slot, ":culture", ":faction", slot_faction_culture),
 
Apparently I am incorrectly prescribing the faction_get_slot operation. Since when compiling, this appears
Exporting scripts...
WARNING: Local variable never used: culture, at: draw_icons_deserters

But I don't quite understand how to do it correctly. If someone can suggest, I would be very grateful.

Python:
  ("draw_icons_deserters",
        [
            (try_for_parties, ":party"),

                (party_slot_eq, ":party", slot_party_type, spt_deserter),
                (party_is_active, ":party"),
                (gt, ":party", 0),
                (neg|party_is_in_any_town, ":party"),                 
                (store_party_size, ":num", ":party"),
                (party_get_icon, ":icon", ":party"),

                (party_stack_get_troop_id, ":party_leader", ":party", 0),
                (store_faction_of_troop, ":faction", ":party_leader"),
                (faction_get_slot, ":culture", ":faction", slot_faction_culture),      
                        
                (try_begin),
                    (try_begin),
                        (eq, "fac_deserters", slot_faction_culture, "fac_culture_1"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_germ"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_germ"),
                        (try_end),
                    (else_try),
                        (eq, "fac_deserters", slot_faction_culture, "fac_culture_2"),
                        (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_rus"),
                        (else_try),
                            (assign, ":icon", "icon_desertirs_rus"),
                        (try_end),
                    (try_end),
                (try_end),

                (party_set_icon, ":party", ":icon"),   
            (try_end),
        ]
    ),
 
I'd do something like this

Code:
("draw_icons_deserters",
        [
            (try_for_parties, ":party"),

               (store_faction_of_party, ":party_faction", ":party"),
               (eq, ":party_faction", "fac_deserters"),

                (store_party_size, ":num", ":party"),
                (gt, ":num", 0),
                (party_stack_get_troop_id, ":party_leader", ":party", 0),
                (store_faction_of_troop, ":troop_faction", ":party_leader"),
                (faction_get_slot, ":culture", ":troop_faction", slot_faction_culture),
                (gt, ":culture", 0),      
                (assign, ":icon", -1),
                    (try_begin),
                                (eq, ":culture", "fac_culture_1"),
                                (try_begin),
                                (ge, ":num", 5),
                                (assign, ":icon", "icon_desertirs_germ"),
                                (else_try),
                                (assign, ":icon", "icon_desertirs_germ"),
                                (try_end),
                    (else_try),
                            (eq, ":culture", "fac_culture_2"),
                            (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_rus"),
                            (else_try),
                            (assign, ":icon", "icon_desertirs_rus"),
                            (try_end),
                    (try_end),
                (gt, ":icon", -1),
                (party_set_icon, ":party", ":icon"),
            (try_end),
        ]
    ),
 
I'd do something like this

Code:
("draw_icons_deserters",
        [
            (try_for_parties, ":party"),

               (store_faction_of_party, ":party_faction", ":party"),
               (eq, ":party_faction", "fac_deserters"),

                (store_party_size, ":num", ":party"),
                (gt, ":num", 0),
                (party_stack_get_troop_id, ":party_leader", ":party", 0),
                (store_faction_of_troop, ":troop_faction", ":party_leader"),
                (faction_get_slot, ":culture", ":troop_faction", slot_faction_culture),
                (gt, ":culture", 0),     
                (assign, ":icon", -1),
                    (try_begin),
                                (eq, ":culture", "fac_culture_1"),
                                (try_begin),
                                (ge, ":num", 5),
                                (assign, ":icon", "icon_desertirs_germ"),
                                (else_try),
                                (assign, ":icon", "icon_desertirs_germ"),
                                (try_end),
                    (else_try),
                            (eq, ":culture", "fac_culture_2"),
                            (try_begin),
                            (ge, ":num", 5),
                            (assign, ":icon", "icon_desertirs_rus"),
                            (else_try),
                            (assign, ":icon", "icon_desertirs_rus"),
                            (try_end),
                    (try_end),
                (gt, ":icon", -1),
                (party_set_icon, ":party", ":icon"),
            (try_end),
        ]
    ),
Thank you, friend. Everything seems to be displayed correctly by culture. But it will be necessary to test more. Thanks again for your help
 
Back
Top Bottom