Modding Q&A [For Quick Questions and Answers]

正在查看此主题的用户

状态
不接受进一步回复。
HyperCharge 说:
But,i think if we can change some settings,it maybe updated.But,how ?  :???: :???:
If by "changing some settings" you mean "porting the application, so it properly references the new version's memory addresses", yep, you're right.
Just note that that new DLC is going to come out sooner or later, and it's likely to bring upon its own patch, so this might force you to restart at some point.
 
why when shoot near script_oim_on_bullet_hit to land subsidence?
https://lh5.googleusercontent.com/yUxN4e1lEKdXBYZ9rRGjehNslUYRPHHtDycdHdypIw=w394-h221-p-no

why when shoot near script_game_missile_dives_into_water it is always there on the water ?
https://lh3.googleusercontent.com/q9HG2Co1QSmu9UkrGDeqBVeRfjaqHX1zGMT_Q0NnXA=w393-h221-p-no

how to fix shoot near script_oim_on_bullet_hit ?
sorry my english bad
 
The_dragon 说:
Modder223 说:
Well thats the problem everyone who has gotten this error has crashed both in dx7 and dx9... it first says l8 format isnt supported and then it lists that warning and crashes...

Those warnings show to everyone who uses your mod.
Here is an explanation to all of them:
插入代码块:
WARNING: UNABLE TO MAP SOUND CODE:  snd_release_crossbow_medium 
 WARNING: UNABLE TO MAP SOUND CODE:  snd_release_crossbow_far 
 WARNING: UNABLE TO MAP SOUND CODE:  snd_bullet_hit_body 
 WARNING: UNABLE TO MAP SOUND CODE:  snd_player_hit_by_bullet
these stuffs ^^ means that those specific sounds can not be found in the mod.(you can add then in module_sounds, if you want to get rid of them)

插入代码块:
 WARNING: UNABLE TO MAP GAME PRESENTATION CODE:  prsnt_game_escape
this stuff ^^ means that you don't have a presentation called "game_escape". Again, you can add it in module_presentations.
插入代码块:
WARNING: UNABLE TO MAP GAME SCRIPT CODE:  game_missile_launch 
 WARNING: UNABLE TO MAP GAME SCRIPT CODE:  game_missile_dives_into_water 
 WARNING: UNABLE TO MAP GAME SCRIPT CODE:  game_troop_upgrades_button_clicked
these stuffs ^^ means that there are no scripts called in that way. Those scripts are hardwired ones. You can add them in module_scripts.
I found that only people with runtime errors are getting that
 
vonboD.jpg

the code;
插入代码块:
# script_give_center_to_lord
  # Input: arg1 = center_no, arg2 = lord_troop, arg3 = add_garrison_to_center
  ("give_center_to_lord",
    [
      (store_script_param, ":center_no", 1),
      (store_script_param, ":lord_troop_id", 2), #-1 only in the case of a player deferring ownership of a center
      (store_script_param, ":add_garrison", 3),

	  (try_begin),
	    (eq, "$cheat_mode", 1),
		(ge, ":lord_troop_id", 0),
		(str_store_party_name, s4, ":center_no"),
		(str_store_troop_name, s5, ":lord_troop_id"),
		(display_message, "@{!}DEBUG -- {s4} awarded to {s5}"),
	  (try_end),
	  
	  (try_begin),
	    (eq, ":lord_troop_id", "trp_player"),
	    (unlock_achievement, ACHIEVEMENT_ROYALITY_PAYMENT),
	    
	    (assign, ":number_of_fiefs_player_have", 1),
	    (try_for_range, ":cur_center", centers_begin, centers_end),
	      (neq, ":cur_center", ":center_no"),
	      (party_slot_eq, ":cur_center", slot_town_lord, "trp_player"),
	      (val_add, ":number_of_fiefs_player_have", 1),
	    (try_end),
	    
	    (ge, ":number_of_fiefs_player_have", 5),
	    (unlock_achievement, ACHIEVEMENT_MEDIEVAL_EMLAK),	    
	  (try_end),
	  
      (party_get_slot, ":old_lord_troop_id", ":center_no", slot_town_lord),
      
	  (try_begin), #This script is ONLY called with lord_troop_id = -1 when it is the player faction 
	    (eq, ":lord_troop_id", -1),
	    (assign, ":lord_troop_faction", "fac_player_supporters_faction"),
        (party_set_banner_icon, ":center_no", 0),#Removing banner
		
      (else_try),	
	    (eq, ":lord_troop_id", "trp_player"),
	    (assign, ":lord_troop_faction", "$players_kingdom"), #was changed on Apr 27 from fac_plyr_sup_fac

      (else_try),	  
		(store_troop_faction, ":lord_troop_faction", ":lord_troop_id"),
	  (try_end),	
	  (faction_get_slot, ":faction_leader", ":lord_troop_faction", slot_faction_leader),

	  (try_begin),
	    (eq, ":faction_leader", "trp_player"),

        (try_begin),
            (troop_get_type, ":is_female", "trp_player"),
            (eq, ":is_female", 1),
            (unlock_achievement, ACHIEVEMENT_QUEEN),
        (try_end),
	  (try_end),
	  
	  (try_begin),
		(eq, ":faction_leader", ":old_lord_troop_id"),
		(call_script, "script_add_log_entry", logent_liege_grants_fief_to_vassal, ":faction_leader", ":center_no", ":lord_troop_id", ":lord_troop_faction"),
        (troop_set_slot, ":lord_troop_id", slot_troop_promised_fief, 0),		
	  (try_end),

      (try_begin),
	    (eq, ":lord_troop_id", -1), #Lord troop ID -1 is only used when a player is deferring assignment of a fief
        (party_set_faction, ":center_no", "$players_kingdom"),
	  (else_try),
        (eq, ":lord_troop_id", "trp_player"),
        (gt, "$players_kingdom", 0),
        (party_set_faction, ":center_no", "$players_kingdom"),
      (else_try),
        (eq, ":lord_troop_id", "trp_player"),
        (neg|is_between, "$players_kingdom", kingdoms_begin, kingdoms_end),
        (party_set_faction, ":center_no", "fac_player_supporters_faction"),
      (else_try),
        (party_set_faction, ":center_no", ":lord_troop_faction"),
      (try_end),
      (party_set_slot, ":center_no", slot_town_lord, ":lord_troop_id"),

      (try_begin),
        (party_slot_eq, ":center_no", slot_party_type, spt_village),
        (party_get_slot, ":farmer_party_no", ":center_no", slot_village_farmer_party),
        (gt, ":farmer_party_no", 0),
        (party_is_active, ":farmer_party_no"),
        (store_faction_of_party, ":center_faction", ":center_no"),
        (party_set_faction, ":farmer_party_no", ":center_faction"),
      (try_end),

    (try_begin),
        (this_or_next|party_slot_eq, ":center_no", slot_party_type, spt_town),
			(party_slot_eq, ":center_no", slot_party_type, spt_castle),
		(gt, ":lord_troop_id", -1),
		
#normal_banner_begin
        (troop_get_slot, ":cur_banner", ":lord_troop_id", slot_troop_banner_scene_prop),
        (gt, ":cur_banner", 0),
        (val_sub, ":cur_banner", banner_scene_props_begin),
        (val_add, ":cur_banner", banner_map_icons_begin),
        (party_set_banner_icon, ":center_no", ":cur_banner"),
# custom_banner_begin
#        (troop_get_slot, ":flag_icon", ":lord_troop_id", slot_troop_custom_banner_map_flag_type),
#        (ge, ":flag_icon", 0),
#        (val_add, ":flag_icon", custom_banner_map_icons_begin),
#        (party_set_banner_icon, ":center_no", ":flag_icon"),
    (try_end),

#    (try_begin),
#		(eq, 1, 0),
 #       (eq, ":lord_troop_id", "trp_player"),
 #       (neq, ":old_lord_troop_id", "trp_player"),
 #       (party_get_slot, ":center_relation", ":center_no", slot_center_player_relation),
 #       (is_between, ":center_relation", -4, 5),
 #       (call_script, "script_change_player_relation_with_center", ":center_no", 5),
 #       (gt, ":old_lord_troop_id", 0),
 #       (call_script, "script_change_player_relation_with_troop", ":old_lord_troop_id", -25),
 #   (try_end),
	(try_begin),
		(gt, ":lord_troop_id", -1),
		(call_script, "script_update_troop_notes", ":lord_troop_id"),
	(try_end),
	
    (call_script, "script_update_center_notes", ":center_no"),
    
    (try_begin),
      (gt, ":lord_troop_faction", 0),
      (call_script, "script_update_faction_notes", ":lord_troop_faction"),
    (try_end),  
    
    (try_begin),
        (ge, ":old_lord_troop_id", 0),
        (call_script, "script_update_troop_notes", ":old_lord_troop_id"),
        (store_troop_faction, ":old_lord_troop_faction", ":old_lord_troop_id"),
        (call_script, "script_update_faction_notes", ":old_lord_troop_faction"),
    (try_end),

    (try_begin),
        (eq, ":add_garrison", 1),
        (this_or_next|party_slot_eq, ":center_no", slot_party_type, spt_town),
			(party_slot_eq, ":center_no", slot_party_type, spt_castle),
        (assign, ":garrison_strength", 3), 
        (try_begin),
          (party_slot_eq, ":center_no", slot_party_type, spt_town),
          (assign, ":garrison_strength", 9),
        (try_end),
        (try_for_range, ":unused", 0, ":garrison_strength"),
          (call_script, "script_cf_reinforce_party", ":center_no"),
        (try_end),
        ## ADD some XP initially
        (try_for_range, ":unused", 0, 7),
          (store_mul, ":xp_range_min", 150, ":garrison_strength"),
          (store_mul, ":xp_range_max", 200, ":garrison_strength"),
          (store_random_in_range, ":xp", ":xp_range_min", ":xp_range_max"),
          (party_upgrade_with_xp, ":center_no", ":xp", 0),
        (try_end),
    (try_end),

	(faction_get_slot, ":faction_leader", ":lord_troop_faction", slot_faction_leader),
	(store_current_hours, ":hours"),
	
	#the next block handles gratitude, objections and jealousies
	(try_begin),
	  	(gt, ":hours", 0),
		(gt, ":lord_troop_id", 0),
		
    	(call_script, "script_troop_change_relation_with_troop", ":lord_troop_id", ":faction_leader", 10),
		(val_add, "$total_promotion_changes", 10),
		
		#smaller factions are more dramatically influenced by internal jealousies
		#Disabled as of NOV 2010
#		(try_begin),
#			(neg|faction_slot_ge, ":lord_troop_faction", slot_faction_number_of_parties, 4),
#			(assign, ":faction_size_multiplier", 6),
#		(else_try),
#			(neg|faction_slot_ge, ":lord_troop_faction", slot_faction_number_of_parties, 8),
#			(assign, ":faction_size_multiplier", 5),
#		(else_try),
#			(neg|faction_slot_ge, ":lord_troop_faction", slot_faction_number_of_parties, 16),
#			(assign, ":faction_size_multiplier", 4),
#		(else_try),
#			(neg|faction_slot_ge, ":lord_troop_faction", slot_faction_number_of_parties, 32),
#			(assign, ":faction_size_multiplier", 3),
#		(else_try),	
#			(assign, ":faction_size_multiplier", 2),
#		(try_end),
		
		#factional politics -- each lord in the faction adjusts his relation according to the relation with the lord receiving the faction
		(try_for_range, ":other_lord", active_npcs_begin, active_npcs_end),
			(troop_slot_eq, ":other_lord", slot_troop_occupation, slto_kingdom_hero),
			(neq, ":other_lord", ":lord_troop_id"),
			
		    (store_troop_faction, ":other_troop_faction", ":other_lord"),
		    (eq, ":lord_troop_faction", ":other_troop_faction"),

		    (neq, ":other_lord", ":faction_leader"),
			
	        (call_script, "script_troop_get_relation_with_troop", ":other_lord", ":lord_troop_id"),
			(assign, ":relation_with_troop", reg0),

			#relation reduction = relation/10 minus 2. So,0 = -2, 8 = -1, 16+ = no change or bonus, 24+ gain one point
		    (store_div, ":relation_with_liege_change", ":relation_with_troop", 8), #changed from 16
		    (val_sub, ":relation_with_liege_change", 2),

		    (val_clamp, ":relation_with_liege_change", -5, 3),
			
			(try_begin),
				#upstanding and goodnatured lords will not lose relation unless they actively dislike the other lord
				(this_or_next|troop_slot_eq, ":other_lord", slot_lord_reputation_type, lrep_upstanding),
					(troop_slot_eq, ":other_lord", slot_lord_reputation_type, lrep_goodnatured),
				(ge, ":relation_with_troop", 0),
				(val_max, ":relation_with_liege_change", 0),
			(else_try),
				#penalty is increased for lords who have the more unpleasant reputation types
				(this_or_next|troop_slot_eq, ":other_lord", slot_lord_reputation_type, lrep_selfrighteous),
				(this_or_next|troop_slot_eq, ":other_lord", slot_lord_reputation_type, lrep_debauched),
					(troop_slot_eq, ":other_lord", slot_lord_reputation_type, lrep_quarrelsome),
				(lt, ":relation_with_liege_change", 0),
				(val_mul, ":relation_with_liege_change", 3),
				(val_div, ":relation_with_liege_change", 2),
			(try_end),

			
		    (neq, ":relation_with_liege_change", 0),
			#removed Nov 2010
#		  	(val_mul, ":relation_reduction", ":faction_size_multiplier"),
#		  	(val_div, ":relation_reduction", 2),
			#removed Nov 2010
			
			(try_begin),
				(troop_slot_eq, ":other_lord", slot_troop_stance_on_faction_issue, ":lord_troop_id"),
				(val_add, ":relation_with_liege_change", 1),
				(val_max, ":relation_with_liege_change", 1),
			(try_end),
			
 	        (call_script, "script_troop_change_relation_with_troop", ":other_lord", ":faction_leader", ":relation_with_liege_change"),
			(val_add, "$total_promotion_changes", ":relation_with_liege_change"),
			
		    (try_begin),
				(this_or_next|le, ":relation_with_liege_change", -4), #Nov 2010 - changed from -8
				(this_or_next|troop_slot_eq, ":other_lord", slot_troop_promised_fief, 1), #1 is any fief
					(troop_slot_eq, ":other_lord", slot_troop_promised_fief, ":center_no"),
				(call_script, "script_add_log_entry", logent_troop_feels_cheated_by_troop_over_land, ":other_lord", ":center_no", ":lord_troop_id", ":lord_troop_faction"),
		    (try_end),
		  
		(try_end),
	(try_end),
	
	#Villages from another faction will also be transferred along with a fortress
    (try_begin),
		(is_between, ":center_no", walled_centers_begin, walled_centers_end),
        (try_for_range, ":cur_village", villages_begin, villages_end),
			(party_slot_eq, ":cur_village", slot_village_bound_center, ":center_no"),
			(store_faction_of_party, ":cur_village_faction", ":cur_village"),
			(neq, ":cur_village_faction", ":lord_troop_faction"),
			
			(call_script, "script_give_center_to_lord", ":cur_village", ":lord_troop_id", 0),
        (try_end),
    (try_end),       
  ]),

Can anyone tell me why it happening ? if will be solved,There are have too many from like this "error in opcode".I need to fix them.So,i can also make be not kill the player if catapult ball is killed the enemy troops.

On catapult codes in mission templates,i have a same problem.Also,in klabauterrmann's code and in slavomir's Tavern OSP,this is happening too.

 
is this valid?
插入代码块:
(troop_raise_attribute,"trp_player",0,-1),
(troop_raise_proficiency_linear,"trp_player",0,-1),
(troop_raise_skill,"trp_player",0,-1),

it seems to be, but I got a strange bug:
插入代码块:
	#script_lwbr_store_troop_stats
	("lwbr_store_troop_stats",[
		(store_script_param_1, ":troop"),
		#
		(try_for_range, ":slot", slot_troop_stats_begin, slot_troop_stats_end),
			(store_sub, ":value", ":slot", slot_troop_stats_begin),
			(store_attribute_level, ":value2", ":troop", ":value"),
			(troop_set_slot, ":troop", ":slot", ":value2"),
		(try_end),
		#
		(try_for_range, ":slot", slot_troop_proficiences_begin, slot_troop_proficiences_end),
			(store_sub, ":value", ":slot", slot_troop_proficiences_begin),
			(store_proficiency_level, ":value2", ":troop", ":value"),
			(troop_set_slot, ":troop", ":slot", ":value2"),
		(try_end),
		#
		(try_for_range, ":slot", slot_troop_skills_begin, slot_troop_skills_end),
			(store_sub, ":value", ":slot", slot_troop_skills_begin),
			(store_skill_level, ":value2", ":troop", ":value"),
			(troop_set_slot, ":troop", ":slot", ":value"),
		(try_end),
		#
		]),
	#script_lwbr_restore_troop_stats
	("lwbr_restore_troop_stats",[
		(store_script_param_1, ":troop"),
		#
		(try_for_range, ":slot", slot_troop_stats_begin, slot_troop_stats_end),
			(store_sub, ":value", ":slot", slot_troop_stats_begin),
			(troop_get_slot, ":value2", ":troop", ":slot"),
			(call_script, "script_lwbr_set_troop_attribute_level", ":troop", ":value", ":value2"),
		(try_end),
		#
		(try_for_range, ":slot", slot_troop_proficiences_begin, slot_troop_proficiences_end),
			(store_sub, ":value", ":slot", slot_troop_proficiences_begin),
			(troop_get_slot, ":value2", ":troop", ":slot"),
			(call_script, "script_lwbr_set_troop_wpn_proficience_level", ":troop", ":value", ":value2"),
		(try_end),
		#
		(try_for_range, ":slot", slot_troop_skills_begin, slot_troop_skills_end),
			(store_sub, ":value", ":slot", slot_troop_skills_begin),
			(troop_get_slot, ":value2", ":troop", ":slot"),
			(call_script, "script_lwbr_set_troop_skill_level", ":troop", ":value", ":value2"),
		(try_end),
		#
		]),
	#script_lwbr_set_troop_all_skills_level
	("lwbr_set_troop_all_skills_level",[
		(store_script_param, ":troop", 1),
		(store_script_param, ":skl_lvl", 2),
		(try_for_range, ":skill", 0, len(skills)),
			(call_script, "script_lwbr_set_troop_skill_level", ":troop", ":skill", ":skl_lvl"),
		(try_end),
		]),
	#script_lwbr_set_troop_attribute_level
	("lwbr_set_troop_attribute_level",[
		(store_script_param, ":troop", 1),
		(store_script_param, ":attribute", 2),
		(store_script_param, ":attribute_lvl", 3),
		(try_begin),
			(store_attribute_level,":old_lvl",":attribute",":troop"),
			(neq, ":attribute_lvl", ":old_lvl"),
			(val_sub, ":attribute_lvl", ":old_lvl"),
			(troop_raise_attribute,":troop",":attribute",":attribute_lvl"),
			(store_attribute_level,":new_lvl",":attribute",":troop"),
			(try_begin),
				(eq, lwbr_debug_mode, 1),
				(eq, ":troop", "trp_swadian_crossbowman_multiplayer"),
				(assign, reg1, ":old_lvl"),
				(assign, reg2, ":new_lvl"),
				(assign, reg3, ":attribute"),
				(str_store_troop_name, s2, ":troop"),
				(str_store_string, s1, "@DEBUG: Troop {s2} attribute '{reg3}' changed from {reg1} to {reg2}"),
				#(call_script, "script_lwbr_send_msg_to_all_players"),
				(server_add_message_to_log, s1),
			(try_end),
		(try_end),
		]),
	#script_lwbr_set_troop_all_attributes_level
	("lwbr_set_troop_all_attributes_level",[
		(store_script_param, ":troop", 1),
		(store_script_param, ":attribute_lvl", 2),
		(try_for_range, ":attribute", 0, 4),
			(call_script, "script_lwbr_set_troop_attribute_level", ":troop", ":attribute", ":attribute_lvl"),
		(try_end),
		]),
	#script_lwbr_set_troop_wpn_proficience_level
	("lwbr_set_troop_wpn_proficience_level",[
		(store_script_param, ":troop", 1),
		(store_script_param, ":proficience", 2),
		(store_script_param, ":proficience_lvl", 3),
		(store_proficiency_level,":old_lvl",":proficience",":troop"),
		(try_begin),
			(neq, ":proficience_lvl", ":old_lvl"),
			(val_sub, ":proficience_lvl", ":old_lvl"),
			(troop_raise_proficiency_linear,":troop",":proficience",":proficience_lvl"),
			(store_proficiency_level,":new_lvl",":proficience",":troop"),
			(try_begin),
				(eq, lwbr_debug_mode, 1),
				(eq, ":troop", "trp_swadian_crossbowman_multiplayer"),
				(assign, reg1, ":old_lvl"),
				(assign, reg2, ":new_lvl"),
				(assign, reg3, ":proficience"),
				(str_store_troop_name, s2, ":troop"),
				(str_store_string, s1, "@DEBUG: Troop {s2} proficience '{reg3}' changed from {reg1} to {reg2}"),
				#(call_script, "script_lwbr_send_msg_to_all_players"),
				(server_add_message_to_log, s1),
			(try_end),
		(try_end),
		]),
	#script_lwbr_set_troop_all_wpn_proficiences_level
	("lwbr_set_troop_all_wpn_proficiences_level",[
		(store_script_param, ":troop", 1),
		(store_script_param, ":proficience_lvl", 2),
		(try_for_range, ":proficience", 0, 4),
			(call_script, "script_lwbr_set_troop_attribute_level", ":troop", ":proficience", ":proficience_lvl"),
		(try_end),
		]),
	#script_lwbr_change_troop_stats_if_needed
	("lwbr_change_troop_stats_if_needed",[
		(call_script, "script_lwbr_restore_troop_stats_all"),
		(try_begin),
			(eq, "$g_lwbr_new_items", lwbr_new_items__peasant_items),
			(try_for_range, ":troop", multiplayer_troops_begin, multiplayer_troops_end),
				(call_script, "script_lwbr_set_troop_all_attributes_level", ":troop", 10),
				(call_script, "script_lwbr_set_troop_all_wpn_proficiences_level", ":troop", 50),
				(call_script, "script_lwbr_set_troop_all_skills_level", ":troop", 0),
			(try_end),
		(else_try),
			(eq, "$g_lwbr_new_items", lwbr_new_items__arena_items),
			(try_for_range, ":troop", multiplayer_troops_begin, multiplayer_troops_end),
				(call_script, "script_lwbr_set_troop_all_attributes_level", ":troop", 25),
				(call_script, "script_lwbr_set_troop_all_wpn_proficiences_level", ":troop", 100),
				(call_script, "script_lwbr_set_troop_all_skills_level", ":troop", 2),
			(try_end),
		(try_end),
		]),
插入代码块:
slot_troop_stats_begin						= 180#0,1,2,3
slot_troop_stats_end						= 184
slot_troop_skills_begin						= 184#
slot_troop_skills_end						= 225
slot_troop_proficiences_begin				= 225#
slot_troop_proficiences_end					= 231

and the debug I get is this:
插入代码块:
 23:18:28 - Admin Ldb_Ikaguia has set available items to 'Only arena items'. 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '0' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '1' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '2' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '3' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman proficience '0' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman proficience '1' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman proficience '2' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman proficience '3' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman proficience '4' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman proficience '5' changed from 0 to 49393636 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '0' changed from 10 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '1' changed from 10 to 1 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '2' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '3' changed from 0 to 3 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '4' changed from 0 to 4 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '5' changed from 0 to 5 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '6' changed from 0 to 6 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '7' changed from 0 to 7 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '8' changed from 10 to 8 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '9' changed from 10 to 9 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '10' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '11' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '12' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '13' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '14' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '15' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '16' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '17' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '18' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '19' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '20' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '21' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '22' changed from 10 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '23' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '24' changed from 1 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '25' changed from 4 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '26' changed from 5 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '27' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '28' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '29' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '30' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '31' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '32' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '33' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '34' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '35' changed from 2 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '36' changed from 2 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '37' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '38' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '39' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '40' changed from 0 to 10 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '0' changed from 40 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '1' changed from 40 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '2' changed from 40 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '3' changed from 40 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '0' changed from 40 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '1' changed from 40 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '2' changed from 40 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman attribute '3' changed from 40 to 0 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '0' changed from 0 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '1' changed from 1 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '2' changed from 2 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '3' changed from 3 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '4' changed from 4 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '5' changed from 5 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '6' changed from 6 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '7' changed from 7 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '8' changed from 8 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '9' changed from 9 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '10' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '11' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '12' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '13' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '14' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '15' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '16' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '17' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '18' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '19' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '20' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '21' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '22' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '23' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '24' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '25' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '26' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '27' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '28' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '29' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '30' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '31' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '32' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '33' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '34' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '35' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '36' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '37' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '38' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '39' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '40' changed from 10 to 2 
 23:18:28 - DEBUG: Troop Swadian Crossbowman skill '41' changed from 0 to 2 
 23:19:33 - Admin Ldb_Ikaguia has set available items to 'Native + Warforge'. 
 23:19:33 - DEBUG: Troop Swadian Crossbowman attribute '0' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman attribute '1' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman attribute '2' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman attribute '3' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman proficience '0' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman proficience '1' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman proficience '2' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman proficience '3' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman proficience '4' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman proficience '5' changed from 0 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '0' changed from 2 to 0 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '1' changed from 2 to 1 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '2' changed from 2 to 2 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '3' changed from 2 to 3 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '4' changed from 2 to 4 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '5' changed from 2 to 5 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '6' changed from 2 to 6 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '7' changed from 2 to 7 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '8' changed from 2 to 8 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '9' changed from 2 to 9 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '10' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '11' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '12' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '13' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '14' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '15' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '16' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '17' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '18' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '19' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '20' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '21' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '22' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '23' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '24' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '25' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '26' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '27' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '28' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '29' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '30' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '31' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '32' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '33' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '34' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '35' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '36' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '37' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '38' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '39' changed from 2 to 10 
 23:19:33 - DEBUG: Troop Swadian Crossbowman skill '40' changed from 2 to 10
 
You have completely mixed up the order of parameters in your store_whatever_level operations.

Additionally, in the third cycle of "lwbr_store_troop_stats" you're setting troop slot to a wrong value: ":value" where it should be ":value2".

And you haven't posted your script for setting skill value, but from the mistake in the provided code I suspect it also has the operands order wrong.

Maybe there are other bugs, these are just the obvious ones.
 
By moving or removing one of them I guess. :smile:

Unless you have two banners being generated by banner-replacing script, which would mean that you are most likely running the script twice (due to duplicated mission template trigger or something).

Try using Scene Chooser to visit your scene so no scene-modifying scripts are executed and check what you see then.
 
It's also likely you tried to add in a new set of banners but forgot to change the actual mesh's name afterwards in the BRF, leading to the game loading both.
 
Lav 说:
You have completely mixed up the order of parameters in your store_whatever_level operations.

Additionally, in the third cycle of "lwbr_store_troop_stats" you're setting troop slot to a wrong value: ":value" where it should be ":value2".

And you haven't posted your script for setting skill value, but from the mistake in the provided code I suspect it also has the operands order wrong.

Maybe there are other bugs, these are just the obvious ones.
ty for that, it was a little typo I didn't notice, but both you and I screwed it up, for some reason, the ":troop" parameter should be the last one.  :shock:

EDIT:
ok, so now skills seem to be working but I still get really strange values with stats and proficiences:
插入代码块:
 15:44:23 - SERVER has joined the game with ID: 0 and has administrator rights. 
 15:44:32 - Ldb_Ikaguia has joined the game with ID: 915492 and has administrator rights. 
 15:44:33 - Ldb_Ikaguia joined the game as admin with ID 915492 and ping 0 
 15:44:40 - Player Ldb_Ikaguia has up to date mod (v1131). 
 15:44:41 - DEBUG: Troop Swadian Crossbowman stat '0' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman stat '1' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman stat '2' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman stat '3' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman proficience '0' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman proficience '1' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman proficience '2' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman proficience '3' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman proficience '4' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman proficience '5' default is 808463920 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '0' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '1' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '2' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '3' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '4' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '5' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '6' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '7' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '8' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '9' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '10' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '11' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '12' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '13' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '14' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '15' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '16' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '17' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '18' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '19' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '20' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '21' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '22' default is 10 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '23' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '24' default is 1 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '25' default is 4 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '26' default is 5 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '27' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '28' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '29' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '30' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '31' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '32' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '33' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '34' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '35' default is 2 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '36' default is 2 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '37' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '38' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '39' default is 0 
 15:44:41 - DEBUG: Troop Swadian Crossbowman skill '40' default is 0 
 15:44:41 - Admin Ldb_Ikaguia has set available items to 'Only arena items'. 
 15:44:41 - Restoring troop stats 
 15:44:41 - Restoring 'Swadian Crossbowman' stats 
 15:44:41 - DEBUG: Troop Swadian Crossbowman attribute '0' changed from 0 to 49393636 
 15:44:42 - DEBUG: Troop Swadian Crossbowman attribute '1' changed from 0 to 49393636 
 15:44:43 - DEBUG: Troop Swadian Crossbowman attribute '2' changed from 0 to 49393636 
 15:44:44 - DEBUG: Troop Swadian Crossbowman attribute '3' changed from 0 to 49393636 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '0' changed from 0 to 49393636 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '1' changed from 0 to 49393636 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '2' changed from 0 to 49393636 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '3' changed from 0 to 49393636 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '4' changed from 0 to 49393636 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '5' changed from 0 to 49393636 
 15:44:44 - 'Swadian Crossbowman' stats restored 
 15:44:44 - Troop stats restored 
 15:44:44 - DEBUG: Troop Swadian Crossbowman attribute '0' changed from 0 to 0 
 15:44:44 - DEBUG: Troop Swadian Crossbowman attribute '1' changed from 0 to 0 
 15:44:44 - DEBUG: Troop Swadian Crossbowman attribute '2' changed from 0 to 0 
 15:44:44 - DEBUG: Troop Swadian Crossbowman attribute '3' changed from 0 to 0 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '0' changed from 0 to 0 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '1' changed from 0 to 0 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '2' changed from 0 to 0 
 15:44:44 - DEBUG: Troop Swadian Crossbowman proficience '3' changed from 0 to 0 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '0' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '1' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '2' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '3' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '4' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '5' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '6' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '7' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '8' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '9' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '10' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '11' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '12' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '13' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '14' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '15' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '16' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '17' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '18' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '19' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '20' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '21' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '22' changed from 10 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '23' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '24' changed from 1 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '25' changed from 4 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '26' changed from 5 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '27' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '28' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '29' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '30' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '31' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '32' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '33' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '34' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '37' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '38' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '39' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '40' changed from 0 to 2 
 15:44:44 - DEBUG: Troop Swadian Crossbowman skill '41' changed from 0 to 2 
 15:46:02 - Admin Ldb_Ikaguia has set available items to 'Native + Warforge'. 
 15:46:02 - Restoring troop stats 
 15:46:02 - Restoring 'Swadian Crossbowman' stats 
 15:46:03 - DEBUG: Troop Swadian Crossbowman attribute '0' changed from 0 to 49393636 
 15:46:04 - DEBUG: Troop Swadian Crossbowman attribute '1' changed from 0 to 49393636 
 15:46:04 - DEBUG: Troop Swadian Crossbowman attribute '2' changed from 0 to 49393636 
 15:46:05 - DEBUG: Troop Swadian Crossbowman attribute '3' changed from 0 to 49393636 
 15:46:05 - DEBUG: Troop Swadian Crossbowman proficience '0' changed from 0 to 49393636 
 15:46:05 - DEBUG: Troop Swadian Crossbowman proficience '1' changed from 0 to 49393636 
 15:46:05 - DEBUG: Troop Swadian Crossbowman proficience '2' changed from 0 to 49393636 
 15:46:05 - DEBUG: Troop Swadian Crossbowman proficience '3' changed from 0 to 49393636 
 15:46:05 - DEBUG: Troop Swadian Crossbowman proficience '4' changed from 0 to 49393636 
 15:46:05 - DEBUG: Troop Swadian Crossbowman proficience '5' changed from 0 to 49393636 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '0' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '1' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '2' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '3' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '4' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '5' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '6' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '7' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '8' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '9' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '10' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '11' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '12' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '13' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '14' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '15' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '16' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '17' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '18' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '19' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '20' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '21' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '22' changed from 2 to 10 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '23' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '24' changed from 2 to 1 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '25' changed from 2 to 4 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '26' changed from 2 to 5 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '27' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '28' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '29' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '30' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '31' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '32' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '33' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '34' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '37' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '38' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '39' changed from 2 to 0 
 15:46:05 - DEBUG: Troop Swadian Crossbowman skill '40' changed from 2 to 0 
 15:46:05 - 'Swadian Crossbowman' stats restored 
 15:46:05 - Troop stats restored
插入代码块:
	#script_lwbr_store_troop_stats_all
	("lwbr_store_troop_stats_all",[
		(try_for_range, ":troop", "trp_swadian_crossbowman_multiplayer", "trp_multiplayer_end"),
			(call_script, "script_lwbr_store_troop_stats", ":troop"),
		(try_end),
		]),
	#script_lwbr_store_troop_stats
	("lwbr_store_troop_stats",[
		(store_script_param_1, ":troop"),
		#
		(try_for_range, ":slot", slot_troop_stats_begin, slot_troop_stats_end),
			(store_sub, ":value", ":slot", slot_troop_stats_begin),
			(store_attribute_level, ":value2", ":value", ":troop"),
			(troop_set_slot, ":troop", ":slot", ":value2"),
			(try_begin),
				(eq, lwbr_debug_mode, 1),
				(eq, ":troop", "trp_swadian_crossbowman_multiplayer"),
				(assign, reg1, ":value"),
				(assign, reg2, ":value2"),
				(str_store_troop_name, s2, ":troop"),
				(str_store_string, s1, "@DEBUG: Troop {s2} stat '{reg1}' default is {reg2}"),
				#(call_script, "script_lwbr_send_msg_to_all_players"),
				(server_add_message_to_log, s1),
			(try_end),
		(try_end),
		#
		(try_for_range, ":slot", slot_troop_proficiences_begin, slot_troop_proficiences_end),
			(store_sub, ":value", ":slot", slot_troop_proficiences_begin),
			(store_proficiency_level, ":value2", ":value", ":troop"),
			(troop_set_slot, ":troop", ":slot", ":value2"),
			(try_begin),
				(eq, lwbr_debug_mode, 1),
				(eq, ":troop", "trp_swadian_crossbowman_multiplayer"),
				(assign, reg1, ":value"),
				(assign, reg2, ":value2"),
				(str_store_troop_name, s2, ":troop"),
				(str_store_string, s1, "@DEBUG: Troop {s2} proficience '{reg1}' default is {reg2}"),
				#(call_script, "script_lwbr_send_msg_to_all_players"),
				(server_add_message_to_log, s1),
			(try_end),
		(try_end),
		#
		(try_for_range, ":slot", slot_troop_skills_begin, slot_troop_skills_end),
			(store_sub, ":value", ":slot", slot_troop_skills_begin),
			(store_skill_level, ":value2", ":value", ":troop"),
			(troop_set_slot, ":troop", ":slot", ":value2"),
			(try_begin),
				(eq, lwbr_debug_mode, 1),
				(eq, ":troop", "trp_swadian_crossbowman_multiplayer"),
				(assign, reg1, ":value"),
				(assign, reg2, ":value2"),
				(str_store_troop_name, s2, ":troop"),
				(str_store_string, s1, "@DEBUG: Troop {s2} skill '{reg1}' default is {reg2}"),
				#(call_script, "script_lwbr_send_msg_to_all_players"),
				(server_add_message_to_log, s1),
			(try_end),
		(try_end),
		#
		]),
插入代码块:
store_attribute_level                    = 2172  # (store_attribute_level, <destination>, <troop_id>, <attribute_id>),
                                                 # Stores current value of troop attribute. See ca_* constants in header_troops.py for reference.
troop_raise_attribute                    = 1520  # (troop_raise_attribute, <troop_id>, <attribute_id>, <value>),
                                                 # Increases troop attribute by the specified amount. See ca_* constants in header_troops.py for reference. Use negative values to reduce attributes. When used on non-hero troop, will affect all instances of that troop.
store_skill_level                        = 2170  # (store_skill_level, <destination>, <skill_id>, [troop_id]),
                                                 # Stores current value of troop skill. See header_skills.py for reference.
troop_raise_skill                        = 1521  # (troop_raise_skill, <troop_id>, <skill_id>, <value>),
                                                 # Increases troop skill by the specified value. Value can be negative. See header_skills.py for reference. When used on non-hero troop, will affect all instances of that troop.
store_proficiency_level                  = 2176  # (store_proficiency_level, <destination>, <troop_id>, <attribute_id>),
                                                 # Stores current value of troop weapon proficiency. See wpt_* constants in header_troops.py for reference.
troop_raise_proficiency                  = 1522  # (troop_raise_proficiency, <troop_id>, <proficiency_no>, <value>),
                                                 # Increases troop weapon proficiency by the specified value. Value can be negative. Increase is subject to limits defined by Weapon Master skill. When used on non-hero troop, will affect all instances of that troop.
troop_raise_proficiency_linear           = 1523  # (troop_raise_proficiency, <troop_id>, <proficiency_no>, <value>),
插入代码块:
ca_strength     = 0
ca_agility      = 1
ca_intelligence = 2
ca_charisma     = 3

wpt_one_handed_weapon = 0
wpt_two_handed_weapon = 1
wpt_polearm           = 2
wpt_archery           = 3
wpt_crossbow          = 4
wpt_throwing          = 5
wpt_firearm           = 6

skl_trade = 0
skl_leadership = 1
skl_prisoner_management = 2
skl_reserved_1 = 3
skl_reserved_2 = 4
skl_reserved_3 = 5
skl_reserved_4 = 6
skl_persuasion = 7
skl_engineer = 8
skl_first_aid = 9
skl_surgery = 10
skl_wound_treatment = 11
skl_inventory_management = 12
skl_spotting = 13
skl_pathfinding = 14
skl_tactics = 15
skl_tracking = 16
skl_trainer = 17
skl_reserved_5 = 18
skl_reserved_6 = 19
skl_reserved_7 = 20
skl_reserved_8 = 21
skl_looting = 22
skl_horse_archery = 23
skl_riding = 24
skl_athletics = 25
skl_shield = 26
skl_weapon_master = 27
skl_reserved_9 = 28
skl_reserved_10 = 29
skl_reserved_11 = 30
skl_reserved_12 = 31
skl_reserved_13 = 32
skl_power_draw = 33
skl_power_throw = 34
skl_power_strike = 35
skl_ironflesh = 36
skl_reserved_14 = 37
skl_reserved_15 = 38
skl_reserved_16 = 39
skl_reserved_17 = 40
skl_reserved_18 = 41


also:

Ikaguia 说:
I was wondering, is there any way to drop a agent's shield and keep the durability saved in that dropped item?
the only way I tought about doing it so far is saving the durability of the shield in a dummy troop slot, but there is no agent_get_item_slot_durability or even agent_set_item_slot_durability AFAIK.
 
Ikaguia 说:
ty for that, it was a little typo I didn't notice, but both you and I screwed it up, for some reason, the ":troop" parameter should be the last one.  :shock:
Please read the quote from header_operations.py that you provided carefully. Troop parameter must be the last one for store_skill_level operation only.
 
Lav 说:
Ikaguia 说:
ty for that, it was a little typo I didn't notice, but both you and I screwed it up, for some reason, the ":troop" parameter should be the last one.  :shock:
Please read the quote from header_operations.py that you provided carefully. Troop parameter must be the last one for store_skill_level operation only.
I am really derping a lot ain't i?  :oops:

ty mate that fixed it good
 
Ikaguia 说:
I was wondering, is there any way to drop a agent's shield and keep the durability saved in that dropped item?
the only way I tought about doing it so far is saving the durability of the shield in a dummy troop slot, but there is no agent_get_item_slot_durability or even agent_set_item_slot_durability AFAIK.
Crude solution, but you could start a presentation only ending when the players press their picking up key at start, then disable that key (Madoc says directly disabling game keys is problematic on missions), and just store the dropped items and their coordinates into agent slots. Instead, when a player is at one of those, he/she can press another key to quickly move their own shield prop to it, temporarily bury the ones around into the ground and activate their picking up key again. If they don't pick it up in, say, 2 seconds, or do it earlier than that, everything will be moved back where they used to be. Picking it back up again will also reset the coordinate slots to -1. That's all assuming the game always recognizes the dropped items as props.

If it doesn't work, invisible blanket-like solid props could be moved to the positions, taking the shields with them.
 
Dusk Voyager 说:
Ikaguia 说:
I was wondering, is there any way to drop a agent's shield and keep the durability saved in that dropped item?
the only way I tought about doing it so far is saving the durability of the shield in a dummy troop slot, but there is no agent_get_item_slot_durability or even agent_set_item_slot_durability AFAIK.
Crude solution, but you could start a presentation only ending when the players press their picking up key at start, then disable that key (Madoc says directly disabling game keys is problematic on missions), and just store the dropped items and their coordinates into agent slots. Instead, when a player is at one of those, he/she can press another key to quickly move their own shield prop to it, temporarily bury the ones around into the ground and activate their picking up key again. If they don't pick it up in, say, 2 seconds, or do it earlier than that, everything will be moved back where they used to be. Picking it back up again will also reset the coordinate slots to -1. That's all assuming the game always recognizes the dropped items as props.

If it doesn't work, invisible blanket-like solid props could be moved to the positions, taking the shields with them.

I had figured I'd have to do sth similar to that, but the problem is the durability of the item, I can't get or set it afaik without using sth like WSE ti_on_shield_hit and a lot of agent slots
 
Lav 说:
Unless you have two banners being generated by banner-replacing script, which would mean that you are most likely running the script twice (due to duplicated mission template trigger or something).

Try using Scene Chooser to visit your scene so no scene-modifying scripts are executed and check what you see then.
Where is that banner-replacing script? And, what is Scene Chooser? Some kind of a program/app?
 
Ikaguia 说:
I had figured I'd have to do sth similar to that, but the problem is the durability of the item, I can't get or set it afaik without using sth like WSE ti_on_shield_hit and a lot of agent slots
I had thought you just wanted to prevent players from picking up a better shield or one in a better condition than the one they started with, but I can understand if there's (also?) something else like taking shield damage into consideration in a kill assist system or something else.
 
My mod is going to contain lots of non-human characters, and I was wondering how to add new skins for them to the game? For example an elf skin.
 
Lord of Shadows 说:
Lav 说:
Unless you have two banners being generated by banner-replacing script, which would mean that you are most likely running the script twice (due to duplicated mission template trigger or something).

Try using Scene Chooser to visit your scene so no scene-modifying scripts are executed and check what you see then.
Where is that banner-replacing script? And, what is Scene Chooser? Some kind of a program/app?
Scene Chooser is an add-on to Module System files that allows you to access any scene in the game directly from main menu and without any situation-dependent modifications. You should be able to find it in Tools sub-forum.

And banner replacing script is the one that runs whenever you visit a castle scene, replacing some default banner with banner of whatever lord is currently controlling said castle. However if you don't know what it is, chances are you haven't modified it, so the problem is probably elsewhere. :smile:
 
Lav 说:
Scene Chooser is an add-on to Module System files that allows you to access any scene in the game directly from main menu and without any situation-dependent modifications. You should be able to find it in Tools sub-forum.
Okay, I have installed Scene Chooser and when I enter a scene (town center for example), I don't see any banners.

Lav 说:
And banner replacing script is the one that runs whenever you visit a castle scene, replacing some default banner with banner of whatever lord is currently controlling said castle. However if you don't know what it is, chances are you haven't modified it, so the problem is probably elsewhere. :smile:
No, I don't know what it is and I never modified it.

Here are my codes for the banners if it means anything.

插入代码块:
  ("banner_a01", 0, "banner_a01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a02", 0, "banner_a02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a03", 0, "banner_a03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a04", 0, "banner_a04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a05", 0, "banner_a05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a06", 0, "banner_a06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a07", 0, "banner_a07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a08", 0, "banner_a08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a09", 0, "banner_a09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a10", 0, "banner_a10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a11", 0, "banner_a11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a12", 0, "banner_a12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a13", 0, "banner_a13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a14", 0, "banner_a14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a15", 0, "banner_f21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a16", 0, "banner_a16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a17", 0, "banner_a17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a18", 0, "banner_a18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a19", 0, "banner_a19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a20", 0, "banner_a20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_a21", 0, "banner_a21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b01", 0, "banner_b01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b02", 0, "banner_b02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b03", 0, "banner_b03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b04", 0, "banner_b04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b05", 0, "banner_b05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b06", 0, "banner_b06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b07", 0, "banner_b07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b08", 0, "banner_b08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b09", 0, "banner_b09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b10", 0, "banner_b10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b11", 0, "banner_b11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b12", 0, "banner_b12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b13", 0, "banner_b13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b14", 0, "banner_b14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b15", 0, "banner_b15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b16", 0, "banner_b16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b17", 0, "banner_b17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b18", 0, "banner_b18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b19", 0, "banner_b19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b20", 0, "banner_b20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_b21", 0, "banner_b21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c01", 0, "banner_c01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c02", 0, "banner_c02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c03", 0, "banner_c03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c04", 0, "banner_c04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c05", 0, "banner_c05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c06", 0, "banner_c06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c07", 0, "banner_c07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c08", 0, "banner_c08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c09", 0, "banner_c09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c10", 0, "banner_c10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c11", 0, "banner_c11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c12", 0, "banner_c12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c13", 0, "banner_c13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c14", 0, "banner_c14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c15", 0, "banner_c15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c16", 0, "banner_c16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c17", 0, "banner_c17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c18", 0, "banner_c18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c19", 0, "banner_c19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c20", 0, "banner_c20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_c21", 0, "banner_c21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d01", 0, "banner_d01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d02", 0, "banner_d02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d03", 0, "banner_d03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d04", 0, "banner_d04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d05", 0, "banner_d05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d06", 0, "banner_d06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d07", 0, "banner_d07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d08", 0, "banner_d08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d09", 0, "banner_d09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d10", 0, "banner_d10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d11", 0, "banner_d11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d12", 0, "banner_d12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d13", 0, "banner_d13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d14", 0, "banner_d14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d15", 0, "banner_d15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d16", 0, "banner_d16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d17", 0, "banner_d17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d18", 0, "banner_d18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d19", 0, "banner_d19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d20", 0, "banner_d20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_d21", 0, "banner_d21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e01", 0, "banner_e01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e02", 0, "banner_e02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e03", 0, "banner_e03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e04", 0, "banner_e04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e05", 0, "banner_e05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e06", 0, "banner_e06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e07", 0, "banner_e07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e08", 0, "banner_e08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e09", 0, "banner_e09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e10", 0, "banner_e10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e11", 0, "banner_e11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e12", 0, "banner_e12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e13", 0, "banner_e13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e14", 0, "banner_e14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e15", 0, "banner_e15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e16", 0, "banner_e16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e17", 0, "banner_e17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e18", 0, "banner_e18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e19", 0, "banner_e19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e20", 0, "banner_e20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_e21", 0, "banner_e21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f01", 0, "banner_f01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f02", 0, "banner_f02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f03", 0, "banner_f03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f04", 0, "banner_f04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f05", 0, "banner_f05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f06", 0, "banner_f06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f07", 0, "banner_f07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f08", 0, "banner_f08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f09", 0, "banner_f09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f10", 0, "banner_f10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f11", 0, "banner_f11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f12", 0, "banner_f12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f13", 0, "banner_f13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f14", 0, "banner_f14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f15", 0, "banner_f15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f16", 0, "banner_f16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f17", 0, "banner_f17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f18", 0, "banner_f18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f19", 0, "banner_f19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f20", 0, "banner_f20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_f21", 0, "banner_a15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g01", 0, "banner_f01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g02", 0, "banner_f02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g03", 0, "banner_f03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g04", 0, "banner_f04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g05", 0, "banner_f05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g06", 0, "banner_f06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g07", 0, "banner_f07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g08", 0, "banner_f08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g09", 0, "banner_f09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_g10", 0, "banner_f10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h01", 0, "banner_h01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h02", 0, "banner_h02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h03", 0, "banner_h03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h04", 0, "banner_h04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h05", 0, "banner_h05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h06", 0, "banner_h06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h07", 0, "banner_h07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h08", 0, "banner_h08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h09", 0, "banner_h09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h10", 0, "banner_h10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h11", 0, "banner_h11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h12", 0, "banner_h12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h13", 0, "banner_h13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h14", 0, "banner_h14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h15", 0, "banner_h15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h16", 0, "banner_h16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h17", 0, "banner_h17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h18", 0, "banner_h18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h19", 0, "banner_h19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_h20", 0, "banner_h20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m01", 0, "banner_m01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m02", 0, "banner_m02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m03", 0, "banner_m03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m04", 0, "banner_m04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m05", 0, "banner_m05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m06", 0, "banner_m06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m07", 0, "banner_m07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m08", 0, "banner_m08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m09", 0, "banner_m09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m10", 0, "banner_m10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m11", 0, "banner_m11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m12", 0, "banner_m12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m13", 0, "banner_m13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m14", 0, "banner_m14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m15", 0, "banner_m15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m16", 0, "banner_m16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m17", 0, "banner_m17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m18", 0, "banner_m18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m19", 0, "banner_m19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m20", 0, "banner_m20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_m21", 0, "banner_m21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_kingdom_a", 0, "banner_kingdom_a", 0, 0, 0, -90, 0, 0, 1, 1, 1), 
  ("banner_kingdom_b", 0, "banner_kingdom_b", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_kingdom_c", 0, "banner_kingdom_c", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_kingdom_d", 0, "banner_kingdom_d", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_kingdom_e", 0, "banner_kingdom_e", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banner_kingdom_f", 0, "banner_kingdom_f", 0, 0, 0, -90, 0, 0, 1, 1, 1),

  ("arms_a01", 0, "arms_a01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a02", 0, "arms_a02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a03", 0, "arms_a03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a04", 0, "arms_a04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a05", 0, "banner_a05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a06", 0, "arms_a06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a07", 0, "banner_a07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a08", 0, "arms_a08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a09", 0, "banner_a09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a10", 0, "banner_a10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a11", 0, "banner_a11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a12", 0, "arms_a12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a13", 0, "arms_a13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a14", 0, "banner_a14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a15", 0, "banner_f21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a16", 0, "arms_a16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a17", 0, "arms_a17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a18", 0, "arms_a18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a19", 0, "arms_a19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a20", 0, "arms_a20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_a21", 0, "arms_a21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b01", 0, "arms_b01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b02", 0, "arms_b02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b03", 0, "banner_b03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b04", 0, "banner_b04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b05", 0, "arms_b05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b06", 0, "arms_b06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b07", 0, "arms_b07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b08", 0, "arms_b08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b09", 0, "arms_b09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b10", 0, "arms_b10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b11", 0, "banner_b11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b12", 0, "banner_b12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b13", 0, "banner_b13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b14", 0, "arms_b14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b15", 0, "arms_b15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b16", 0, "arms_b16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b17", 0, "banner_b17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b18", 0, "arms_b18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b19", 0, "banner_b19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b20", 0, "arms_b20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_b21", 0, "banner_b21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c01", 0, "arms_c01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c02", 0, "banner_c02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c03", 0, "banner_c03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c04", 0, "arms_c04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c05", 0, "banner_c05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c06", 0, "arms_c06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c07", 0, "arms_c07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c08", 0, "banner_c08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c09", 0, "banner_c09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c10", 0, "arms_c10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c11", 0, "banner_c11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c12", 0, "arms_c12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c13", 0, "arms_c13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c14", 0, "arms_c14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c15", 0, "banner_c15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c16", 0, "arms_c16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c17", 0, "banner_c17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c18", 0, "banner_c18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c19", 0, "arms_c19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c20", 0, "banner_c20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_c21", 0, "banner_c21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d01", 0, "banner_d01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d02", 0, "arms_d02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d03", 0, "arms_d03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d04", 0, "arms_d04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d05", 0, "banner_d05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d06", 0, "arms_d06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d07", 0, "arms_d07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d08", 0, "arms_d08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d09", 0, "arms_d09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d10", 0, "banner_d10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d11", 0, "arms_d11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d12", 0, "arms_d12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d13", 0, "arms_d13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d14", 0, "arms_d14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d15", 0, "arms_d15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d16", 0, "arms_d16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d17", 0, "arms_d17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d18", 0, "arms_d18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d19", 0, "arms_d19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d20", 0, "arms_d20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_d21", 0, "arms_d21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e01", 0, "banner_e01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e02", 0, "arms_e02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e03", 0, "banner_e03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e04", 0, "banner_e04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e05", 0, "banner_e05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e06", 0, "banner_e06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e07", 0, "banner_e07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e08", 0, "banner_e08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e09", 0, "banner_e09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e10", 0, "banner_e10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e11", 0, "banner_e11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e12", 0, "banner_e12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e13", 0, "banner_e13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e14", 0, "banner_e14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e15", 0, "banner_e15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e16", 0, "banner_e16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e17", 0, "banner_e17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e18", 0, "banner_e18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e19", 0, "banner_e19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e20", 0, "banner_e20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_e21", 0, "banner_e21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f01", 0, "banner_f01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f02", 0, "banner_f02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f03", 0, "banner_f03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f04", 0, "banner_f04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f05", 0, "banner_f05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f06", 0, "banner_f06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f07", 0, "banner_f07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f08", 0, "banner_f08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f09", 0, "banner_f09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f10", 0, "banner_f10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f11", 0, "banner_f11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f12", 0, "banner_f12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f13", 0, "banner_f13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f14", 0, "banner_f14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f15", 0, "banner_f15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f16", 0, "banner_f16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f17", 0, "banner_f17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f18", 0, "banner_f18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f19", 0, "banner_f19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f20", 0, "banner_f20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_f21", 0, "banner_a15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h01", 0, "arms_h01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h02", 0, "arms_h02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h03", 0, "arms_h03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h04", 0, "arms_h04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h05", 0, "arms_h05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h06", 0, "arms_h06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h07", 0, "arms_h07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h08", 0, "arms_h08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h09", 0, "arms_h09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h10", 0, "arms_h10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h11", 0, "arms_h11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h12", 0, "arms_h12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h13", 0, "arms_h13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h14", 0, "arms_h14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h15", 0, "arms_h15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h16", 0, "arms_h16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h17", 0, "arms_h17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h18", 0, "arms_h18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h19", 0, "arms_h19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h20", 0, "arms_h20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h21", 0, "arms_h21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m01", 0, "arms_m01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m02", 0, "arms_m02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m03", 0, "arms_m03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m04", 0, "arms_m04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m05", 0, "arms_m05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m06", 0, "arms_m06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_h07", 0, "arms_h07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m08", 0, "arms_m08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m09", 0, "arms_m09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m10", 0, "arms_m10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m11", 0, "arms_m11", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m12", 0, "arms_m12", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m13", 0, "arms_m13", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m14", 0, "arms_m14", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m15", 0, "arms_m15", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m16", 0, "arms_m16", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m17", 0, "arms_m17", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m18", 0, "arms_m18", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m19", 0, "arms_m19", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m20", 0, "arms_m20", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_m21", 0, "arms_m21", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g01", 0, "banner_f01", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g02", 0, "banner_f02", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g03", 0, "banner_f03", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g04", 0, "banner_f04", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g05", 0, "banner_f05", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g06", 0, "banner_f06", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g07", 0, "banner_f07", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g08", 0, "banner_f08", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g09", 0, "banner_f09", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_g10", 0, "banner_f10", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_kingdom_a", 0, "banner_kingdom_a", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_kingdom_b", 0, "banner_kingdom_b", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_kingdom_c", 0, "banner_kingdom_c", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_kingdom_d", 0, "banner_kingdom_d", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("arms_kingdom_e", 0, "banner_kingdom_e", 0, 0, 0, -90, 0, 0, 1, 1, 1),  
  ("arms_kingdom_f", 0, "banner_kingdom_f", 0, 0, 0, -90, 0, 0, 1, 1, 1),

  ("banners_default_a", 0, "banners_default_a", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banners_default_b", 0, "banners_default_b", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banners_default_c", 0, "banners_default_c", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banners_default_d", 0, "banners_default_d", 0, 0, 0, -90, 0, 0, 1, 1, 1),
  ("banners_default_e", 0, "banners_default_e", 0, 0, 0, -90, 0, 0, 1, 1, 1),

插入代码块:
  ("banner_01", 0, "map_flag_01", banner_scale, 0),
  ("banner_02", 0, "map_flag_02", banner_scale, 0),
  ("banner_03", 0, "map_flag_03", banner_scale, 0),
  ("banner_04", 0, "map_flag_04", banner_scale, 0),
  ("banner_05", 0, "map_flag_05", banner_scale, 0),
  ("banner_06", 0, "map_flag_06", banner_scale, 0),
  ("banner_07", 0, "map_flag_07", banner_scale, 0),
  ("banner_08", 0, "map_flag_08", banner_scale, 0),
  ("banner_09", 0, "map_flag_09", banner_scale, 0),
  ("banner_10", 0, "map_flag_10", banner_scale, 0),
  ("banner_11", 0, "map_flag_11", banner_scale, 0),
  ("banner_12", 0, "map_flag_12", banner_scale, 0),
  ("banner_13", 0, "map_flag_13", banner_scale, 0),
  ("banner_14", 0, "map_flag_14", banner_scale, 0),
  ("banner_15", 0, "map_flag_f21", banner_scale, 0),
  ("banner_16", 0, "map_flag_16", banner_scale, 0),
  ("banner_17", 0, "map_flag_17", banner_scale, 0),
  ("banner_18", 0, "map_flag_18", banner_scale, 0),
  ("banner_19", 0, "map_flag_19", banner_scale, 0),
  ("banner_20", 0, "map_flag_20", banner_scale, 0),
  ("banner_21", 0, "map_flag_21", banner_scale, 0),
  ("banner_22", 0, "map_flag_22", banner_scale, 0),
  ("banner_23", 0, "map_flag_23", banner_scale, 0),
  ("banner_24", 0, "map_flag_24", banner_scale, 0),
  ("banner_25", 0, "map_flag_25", banner_scale, 0),
  ("banner_26", 0, "map_flag_26", banner_scale, 0),
  ("banner_27", 0, "map_flag_27", banner_scale, 0),
  ("banner_28", 0, "map_flag_28", banner_scale, 0),
  ("banner_29", 0, "map_flag_29", banner_scale, 0),
  ("banner_30", 0, "map_flag_30", banner_scale, 0),
  ("banner_31", 0, "map_flag_31", banner_scale, 0),
  ("banner_32", 0, "map_flag_32", banner_scale, 0),
  ("banner_33", 0, "map_flag_33", banner_scale, 0),
  ("banner_34", 0, "map_flag_34", banner_scale, 0),
  ("banner_35", 0, "map_flag_35", banner_scale, 0),
  ("banner_36", 0, "map_flag_36", banner_scale, 0),
  ("banner_37", 0, "map_flag_37", banner_scale, 0),
  ("banner_38", 0, "map_flag_38", banner_scale, 0),
  ("banner_39", 0, "map_flag_39", banner_scale, 0),
  ("banner_40", 0, "map_flag_40", banner_scale, 0),
  ("banner_41", 0, "map_flag_41", banner_scale, 0),
  ("banner_42", 0, "map_flag_42", banner_scale, 0),
  ("banner_43", 0, "map_flag_43", banner_scale, 0),
  ("banner_44", 0, "map_flag_44", banner_scale, 0),
  ("banner_45", 0, "map_flag_45", banner_scale, 0),
  ("banner_46", 0, "map_flag_46", banner_scale, 0),
  ("banner_47", 0, "map_flag_47", banner_scale, 0),
  ("banner_48", 0, "map_flag_48", banner_scale, 0),
  ("banner_49", 0, "map_flag_49", banner_scale, 0),
  ("banner_50", 0, "map_flag_50", banner_scale, 0),
  ("banner_51", 0, "map_flag_51", banner_scale, 0),
  ("banner_52", 0, "map_flag_52", banner_scale, 0),
  ("banner_53", 0, "map_flag_53", banner_scale, 0),
  ("banner_54", 0, "map_flag_54", banner_scale, 0),
  ("banner_55", 0, "map_flag_55", banner_scale, 0),
  ("banner_56", 0, "map_flag_56", banner_scale, 0),
  ("banner_57", 0, "map_flag_57", banner_scale, 0),
  ("banner_58", 0, "map_flag_58", banner_scale, 0),
  ("banner_59", 0, "map_flag_59", banner_scale, 0),
  ("banner_60", 0, "map_flag_60", banner_scale, 0),
  ("banner_61", 0, "map_flag_61", banner_scale, 0),
  ("banner_62", 0, "map_flag_62", banner_scale, 0),
  ("banner_63", 0, "map_flag_63", banner_scale, 0),
  ("banner_64", 0, "map_flag_d01", banner_scale, 0),
  ("banner_65", 0, "map_flag_d02", banner_scale, 0),
  ("banner_66", 0, "map_flag_d03", banner_scale, 0),
  ("banner_67", 0, "map_flag_d04", banner_scale, 0),
  ("banner_68", 0, "map_flag_d05", banner_scale, 0),
  ("banner_69", 0, "map_flag_d06", banner_scale, 0),
  ("banner_70", 0, "map_flag_d07", banner_scale, 0),
  ("banner_71", 0, "map_flag_d08", banner_scale, 0),
  ("banner_72", 0, "map_flag_d09", banner_scale, 0),
  ("banner_73", 0, "map_flag_d10", banner_scale, 0),
  ("banner_74", 0, "map_flag_d11", banner_scale, 0),
  ("banner_75", 0, "map_flag_d12", banner_scale, 0),
  ("banner_76", 0, "map_flag_d13", banner_scale, 0),
  ("banner_77", 0, "map_flag_d14", banner_scale, 0),
  ("banner_78", 0, "map_flag_d15", banner_scale, 0),
  ("banner_79", 0, "map_flag_d16", banner_scale, 0),
  ("banner_80", 0, "map_flag_d17", banner_scale, 0),
  ("banner_81", 0, "map_flag_d18", banner_scale, 0),
  ("banner_82", 0, "map_flag_d19", banner_scale, 0),
  ("banner_83", 0, "map_flag_d20", banner_scale, 0),
  ("banner_84", 0, "map_flag_d21", banner_scale, 0),
  ("banner_85", 0, "map_flag_e01", banner_scale, 0),
  ("banner_86", 0, "map_flag_e02", banner_scale, 0),
  ("banner_87", 0, "map_flag_e03", banner_scale, 0),
  ("banner_88", 0, "map_flag_e04", banner_scale, 0),
  ("banner_89", 0, "map_flag_e05", banner_scale, 0),
  ("banner_90", 0, "map_flag_e06", banner_scale, 0),
  ("banner_91", 0, "map_flag_e07", banner_scale, 0),
  ("banner_92", 0, "map_flag_e08", banner_scale, 0),
  ("banner_93", 0, "map_flag_e09", banner_scale, 0),
  ("banner_94", 0, "map_flag_e10", banner_scale, 0),
  ("banner_95", 0, "map_flag_e11", banner_scale, 0),
  ("banner_96", 0, "map_flag_e12", banner_scale, 0),
  ("banner_97", 0, "map_flag_e13", banner_scale, 0),
  ("banner_98", 0, "map_flag_e14", banner_scale, 0),
  ("banner_99", 0, "map_flag_e15", banner_scale, 0),
  ("banner_100", 0, "map_flag_e16", banner_scale, 0),
  ("banner_101", 0, "map_flag_e17", banner_scale, 0),
  ("banner_102", 0, "map_flag_e18", banner_scale, 0),
  ("banner_103", 0, "map_flag_e19", banner_scale, 0),
  ("banner_104", 0, "map_flag_e20", banner_scale, 0),
  ("banner_105", 0, "map_flag_e21", banner_scale, 0),
  ("banner_106", 0, "map_flag_f01", banner_scale, 0),
  ("banner_107", 0, "map_flag_f02", banner_scale, 0),
  ("banner_108", 0, "map_flag_f03", banner_scale, 0),
  ("banner_109", 0, "map_flag_f04", banner_scale, 0),
  ("banner_110", 0, "map_flag_f05", banner_scale, 0),
  ("banner_111", 0, "map_flag_f06", banner_scale, 0),
  ("banner_112", 0, "map_flag_f07", banner_scale, 0),
  ("banner_113", 0, "map_flag_f08", banner_scale, 0),
  ("banner_114", 0, "map_flag_f09", banner_scale, 0),
  ("banner_115", 0, "map_flag_f10", banner_scale, 0),
  ("banner_116", 0, "map_flag_f11", banner_scale, 0),
  ("banner_117", 0, "map_flag_f12", banner_scale, 0),
  ("banner_118", 0, "map_flag_f13", banner_scale, 0),
  ("banner_119", 0, "map_flag_f14", banner_scale, 0),
  ("banner_120", 0, "map_flag_f15", banner_scale, 0),
  ("banner_121", 0, "map_flag_f16", banner_scale, 0),
  ("banner_122", 0, "map_flag_f17", banner_scale, 0),
  ("banner_123", 0, "map_flag_f18", banner_scale, 0),
  ("banner_124", 0, "map_flag_f19", banner_scale, 0),
  ("banner_125", 0, "map_flag_f20", banner_scale, 0),
  ("banner_126", 0, "map_flag_h01", banner_scale, 0),
  ("banner_127", 0, "map_flag_h02", banner_scale, 0),
  ("banner_128", 0, "map_flag_h03", banner_scale, 0),
  ("banner_129", 0, "map_flag_h04", banner_scale, 0),
  ("banner_130", 0, "map_flag_h05", banner_scale, 0),
  ("banner_131", 0, "map_flag_h06", banner_scale, 0),
  ("banner_132", 0, "map_flag_h07", banner_scale, 0),
  ("banner_133", 0, "map_flag_h08", banner_scale, 0),
  ("banner_134", 0, "map_flag_h09", banner_scale, 0),
  ("banner_135", 0, "map_flag_h10", banner_scale, 0),
  ("banner_136", 0, "map_flag_h11", banner_scale, 0),
  ("banner_137", 0, "map_flag_h12", banner_scale, 0),
  ("banner_138", 0, "map_flag_h13", banner_scale, 0),
  ("banner_139", 0, "map_flag_h14", banner_scale, 0),
  ("banner_140", 0, "map_flag_h15", banner_scale, 0),
  ("banner_141", 0, "map_flag_h16", banner_scale, 0),
  ("banner_142", 0, "map_flag_h17", banner_scale, 0),
  ("banner_143", 0, "map_flag_h18", banner_scale, 0),
  ("banner_144", 0, "map_flag_h19", banner_scale, 0),
  ("banner_145", 0, "map_flag_h20", banner_scale, 0),
  ("banner_146", 0, "map_flag_h21", banner_scale, 0),
  ("banner_147", 0, "map_flag_m01", banner_scale, 0),
  ("banner_148", 0, "map_flag_m02", banner_scale, 0),
  ("banner_149", 0, "map_flag_m03", banner_scale, 0),
  ("banner_150", 0, "map_flag_m04", banner_scale, 0),
  ("banner_151", 0, "map_flag_m05", banner_scale, 0),
  ("banner_152", 0, "map_flag_m06", banner_scale, 0),
  ("banner_153", 0, "map_flag_m07", banner_scale, 0),
  ("banner_154", 0, "map_flag_m08", banner_scale, 0),
  ("banner_155", 0, "map_flag_m09", banner_scale, 0),
  ("banner_156", 0, "map_flag_m10", banner_scale, 0),
  ("banner_157", 0, "map_flag_m11", banner_scale, 0),
  ("banner_158", 0, "map_flag_m12", banner_scale, 0),
  ("banner_159", 0, "map_flag_m13", banner_scale, 0),
  ("banner_160", 0, "map_flag_m14", banner_scale, 0),
  ("banner_161", 0, "map_flag_m15", banner_scale, 0),
  ("banner_162", 0, "map_flag_m16", banner_scale, 0),
  ("banner_163", 0, "map_flag_m17", banner_scale, 0),
  ("banner_164", 0, "map_flag_m18", banner_scale, 0),
  ("banner_165", 0, "map_flag_m19", banner_scale, 0),
  ("banner_166", 0, "map_flag_m20", banner_scale, 0),
  ("banner_167", 0, "map_flag_f01", banner_scale, 0),
  ("banner_168", 0, "map_flag_f02", banner_scale, 0),
  ("banner_169", 0, "map_flag_f03", banner_scale, 0),
  ("banner_170", 0, "map_flag_f04", banner_scale, 0),
  ("banner_171", 0, "map_flag_f05", banner_scale, 0),
  ("banner_172", 0, "map_flag_f06", banner_scale, 0),
  ("banner_173", 0, "map_flag_f07", banner_scale, 0),
  ("banner_174", 0, "map_flag_f08", banner_scale, 0),
  ("banner_175", 0, "map_flag_f09", banner_scale, 0),
  ("banner_176", 0, "map_flag_f10", banner_scale, 0),
  ("banner_177", 0, "map_flag_m21", banner_scale, 0),
  ("banner_178", 0, "map_flag_15", banner_scale, 0),
  ("map_flag_kingdom_a", 0, "map_flag_kingdom_a", banner_scale, 0),
  ("map_flag_kingdom_b", 0, "map_flag_kingdom_b", banner_scale, 0),
  ("map_flag_kingdom_c", 0, "map_flag_kingdom_c", banner_scale, 0),
  ("map_flag_kingdom_d", 0, "map_flag_kingdom_d", banner_scale, 0),
  ("map_flag_kingdom_e", 0, "map_flag_kingdom_e", banner_scale, 0),
  ("map_flag_kingdom_f", 0, "map_flag_kingdom_f", banner_scale, 0),
 
Garmalak 说:
My mod is going to contain lots of non-human characters, and I was wondering how to add new skins for them to the game? For example an elf skin.
You need to add new race. Firstly, go to module_skins.py.
Search for:
插入代码块:
"undead"
Then, add after undead entry (the one which is commented out), but before last ] new race. It should look like this:
插入代码块:
  
##  (
##    "race", 0,
##    "race_body", "race_calf_l", "race_handL",
##    "race_head", race_face_keys,
##    [],
##    [],
##    [],
##    [],
##    [("RACEface_a",0xffffffff,[]),
##     ("RACEface_b",0xffcaffc0,[]),
##     ], #undead_face_textures
##    [], #voice sounds
##    "skel_human", 1.0,
##  ),
Change all 'race' to name of models (despite face_keys, they are at the top, and let you adjust shape of face, never edited this, so I won't help you hear, just copy undead_face_keys = [] and change undead to name of your race). The models which are refered here, are stored in body_meshes.brf
And skel_* referes to skeleton for race. If you want to add dwarves/goblins/hobbits/something like this, you would probably want to change this.
Than we're going to header_troops.py:
At the top you should see something like:
插入代码块:
#Troop flags
tf_male           = 0
tf_female         = 1
##tf_undead         = 2
When adding new race, you should add them here, after commented-out undeads. You need to remember, that the number, that follows the race must be unique (however, you can use 2, because undeads are commented-out). So it should look like:
插入代码块:
tf_halfling        = 2
tf_dwarf        = 3

Now, when you want to add troop in module_troops.py, remember to add tf_Name_of_race_in_header_troops.py
Next, if you want race to be selectable for player, go to module_game_menus.py:
Search for:
插入代码块:
 ("start_male"
Under this:
插入代码块:
      ("start_female",[],"Female",
       [
         (troop_set_type, "trp_player", 1),
         (assign, "$character_gender", tf_female),
         (jump_to_menu, "mnu_start_character_1"),
       ]
       ),
, but before:
插入代码块:
	  ("go_back",[],"Go back",
You should add something like this:
插入代码块:
      ("start_3",[],"Halfling",
       [
         (troop_set_type, "trp_player", 2),
         (assign, "$character_gender", tf_Name_of_race_from_header_troops.py),
         (jump_to_menu, "mnu_start_character_1"),
       ]
       ),
Note that 2 after trp_player refers to number you used in header_troops.
I didn't check whether it works, and it was written fast, so there may be mistakes and in result, errors while compiling.
 
状态
不接受进一步回复。
后退
顶部 底部