Simply looks like you didn't add the scripts to the module_scripts file. (Or, if you did, you added them outside of the scripts = [] list)
here is an snip of my module_scripts.py
have I misinterpreted the instructions on what this file should look like?
# -*- coding: cp1254 -*-
from header_common import *
from header_operations import *
from module_constants import *
from module_constants import *
from header_parties import *
from header_skills import *
from header_mission_templates import *
from header_items import *
from header_triggers import *
from header_terrain_types import *
from header_music import *
from header_map_icons import *
from ID_animations import *
from header_presentations import *
.
.
.
scripts = [
#script_game_start:
# This script is called when a new game is started
# INPUT: none
("game_start",
.
.
.
about 51000 lines later at the very end of the file.
# dynamic troop tree begin ================================================================
("prsnt_culture_troop_tree",
[(store_script_param_1, ":culture"),
(store_sub, ":num", ":culture", fac_culture_1), (val_mod, ":num", 6),
(store_add, ":slot", ":num","mesh_pic_arms_swadian"),
(create_mesh_overlay, reg0, ":slot"),
(store_add, ":slot", ":num", "mesh_pic_swad"),
(create_mesh_overlay, reg1, ":slot"),
(position_set_x, pos1, 180),(position_set_y, pos1, 560),
(position_set_x, pos2, 500),(position_set_y, pos2, 25),
(position_set_x, pos3, 500),(position_set_y, pos3, 500),
(overlay_set_position, reg0, pos1), (overlay_set_size, reg0, pos3),
(overlay_set_position, reg1, pos2), (overlay_set_size, reg1, pos3),
(try_for_range, ":slot", 0, 61),
(troop_set_slot, "trp_temp_array_a", ":slot", 0),
(troop_set_slot, "trp_temp_array_b", ":slot", 0),
(troop_set_slot, "trp_temp_array_c", ":slot", 0),
(store_add, ":num", ":slot", 100), #Caba - was missing ":slot"
(troop_set_slot, "trp_temp_array_b", ":num", -1),
(troop_set_slot, "trp_temp_array_c", ":num", -1),
(try_end),
#try-else block here to get 'troop-no' (or above) for non-kingdom trees
(faction_get_slot, ":troop_no", ":culture", slot_faction_tier_1_troop),
# lowest troop tiers initialization BEGIN
(troop_set_slot, "trp_temp_array_a", 0, 1), # Number of Lowest Tier Troop
(troop_set_slot, "trp_temp_array_a", 1, 1), # 1 for 1st troop
(troop_set_slot, "trp_temp_array_b", 1, ":troop_no"), # 1st troop id
# lowest troop tiers initialization END
(assign, ":max_tier", 0), (assign, ":no_tier", 0),
## Calculates number of tiers--":max_tiers" and number of branches (more or less)
(try_for_range, ":tier", 1, 10), # Asuming that you wont make troop tree more than 10 tiers
(eq, ":no_tier", 0),
(assign, ":no_tier", 1),
(store_sub, ":prev_tier", ":tier", 1),
(store_mul, ":slot_for_prev_num", ":prev_tier", 10),
(store_mul, ":slot_for_num", ":tier", 10),
(assign, ":num", 0),
(troop_get_slot, ":prev_num", "trp_temp_array_a", ":slot_for_prev_num"),
(gt, ":prev_num", 0),
(val_add, ":prev_num", 1),
(try_for_range, ":tree_no", 1, ":prev_num"),
(store_add, ":prev_slot", ":tree_no", ":slot_for_prev_num"),
(troop_get_slot, ":troop_no", "trp_temp_array_b", ":prev_slot"),
(gt, ":troop_no", 0),
#Caba - check for duplication
(assign, ":end", ":tree_no"),
(try_for_range, ":i", 1, ":end"), #check troops of this prev_tier previously looped over, be sure this troop hasn't been checked
(store_add, ":other_prev_slot", ":i", ":slot_for_prev_num"),
(neq, ":prev_slot", ":other_prev_slot"), #just to be sure
(troop_slot_eq, "trp_temp_array_b", ":other_prev_slot", ":troop_no"),
(assign, ":end", 0), #break loop, found in checked list
(try_end),
(neq, ":end", 0),
#Caba - end
(troop_get_upgrade_troop, ":next_troop", ":troop_no", 0),
(gt, ":next_troop", 0),
(assign, ":no_tier", 0),
(val_add, ":num", 1),
(troop_set_slot, "trp_temp_array_a", ":slot_for_num", ":num"),
(store_add, ":slot", ":slot_for_num", ":num"),
(troop_set_slot, "trp_temp_array_a", ":slot", ":tree_no"),
(troop_set_slot, "trp_temp_array_b", ":slot", ":next_troop"),
(troop_get_upgrade_troop, ":next_troop", ":troop_no", 1),
(gt, ":next_troop", 0),
(val_add, ":num", 1),
(troop_set_slot, "trp_temp_array_a", ":slot_for_num", ":num"),
(store_add, ":slot", ":slot_for_num", ":num"),
(troop_set_slot, "trp_temp_array_a", ":slot", ":tree_no"),
(troop_set_slot, "trp_temp_array_b", ":slot", ":next_troop"),
(try_end),
(eq, ":no_tier", 0),
(val_add, ":max_tier", 1),
(try_end),
(store_mul, ":max_num_tier", ":max_tier", 10), (val_add, ":max_tier", 1),
(troop_get_slot, ":num", "trp_temp_array_a", ":max_num_tier"),
(val_add, ":num", 1),
#Calculate Y Position of last tier's branches? ???
(try_for_range, ":tree_no", 1, ":num"),
(store_add, ":slot", ":max_num_tier", ":tree_no"),
(store_mul, ":subs", ":tree_no", troop_tree_space_y),
(store_sub, ":pos", working_pos_y + 35, ":subs"),
(troop_set_slot, "trp_temp_array_c", ":slot", ":pos"),
(try_end),
#Calculate Troop Y positions
(try_for_range_backwards, ":tier", 1, ":max_tier"),
(store_mul, ":slot_for_num", ":tier", 10),
(store_sub, ":prev_tier", ":tier", 1),
(store_mul, ":slot_for_prev_num", ":prev_tier", 10),
(troop_get_slot, ":prev_num", "trp_temp_array_a", ":slot_for_prev_num"),
(gt, ":prev_num", 0),
(val_add, ":prev_num", 1),
(try_for_range, ":tree_no", 1, ":prev_num"),
(store_add, ":prev_slot", ":tree_no", ":slot_for_prev_num"),
(assign, ":prev_pos", 0), (assign, ":num", 0),
(try_for_range, ":subs", 1, 10),
(store_add, ":slot", ":subs", ":slot_for_num"),
(troop_slot_eq, "trp_temp_array_a", ":slot", ":tree_no"),
#Caba - check for duplication - loop over past troops rather than using a troop slot (change?)
(troop_get_slot, ":troop_no", "trp_temp_array_b", ":slot"),
(assign, ":end", ":slot"),
(try_for_range, ":i", 0, ":end"), #check troops of this prev_tier previously looped over, be sure this troop hasn't been checked
(neq, ":i", ":slot"), #just to be sure
(troop_slot_eq, "trp_temp_array_b", ":i", ":troop_no"),
(assign, ":end", 0), #break loop, found in checked list
(try_end),
(neq, ":end", 0),
#Caba - end
(troop_get_slot, ":pos", "trp_temp_array_c", ":slot"),
(val_add, ":prev_pos", ":pos"),
(val_add, ":num", 1),
(try_end),
(gt, ":num", 0),
(val_div, ":prev_pos", ":num"),
(troop_set_slot, "trp_temp_array_c", ":prev_slot", ":prev_pos"),
(try_end),
(assign, ":pos", 999),
(try_for_range, ":tree_no", 1, ":prev_num"),
(store_add, ":prev_slot", ":tree_no", ":slot_for_prev_num"),
(troop_get_slot, ":prev_pos", "trp_temp_array_c", ":prev_slot"),
(gt, ":prev_pos", 0),
(lt, ":prev_pos", ":pos"),
(assign, ":pos", ":prev_pos"),
(try_end),
(try_for_range, ":tree_no", 1, ":prev_num"),
(store_add, ":prev_slot", ":tree_no", ":slot_for_prev_num"),
(troop_get_slot, ":prev_pos", "trp_temp_array_c", ":prev_slot"),
(eq, ":prev_pos", 0),
(store_sub, ":prev_pos", ":pos", troop_tree_space_y),
(assign, ":pos", ":prev_pos"),
(troop_set_slot, "trp_temp_array_c", ":prev_slot", ":prev_pos"),
(try_end),
(try_end),
(val_add, ":max_num_tier", 11), (troop_set_slot, "trp_temp_array_c", 100, 0), (assign, ":num",100),
#Draw Troops, Titles - Calcuate X and position of Connecting Lines
(try_for_range, ":slot", 0, ":max_num_tier"),
(troop_get_slot, ":troop_no", "trp_temp_array_b", ":slot"),
(gt, ":troop_no", 0),
#Caba - check for duplication - loop over past troops rather than using a troop slot (change?)
(assign, ":end", ":slot"),
(try_for_range, ":i", 0, ":end"), #check troops of this prev_tier previously looped over, be sure this troop hasn't been checked
(neq, ":i", ":slot"), #just to be sure
(troop_slot_eq, "trp_temp_array_b", ":i", ":troop_no"),
(assign, ":end", 0), #break loop, found in checked list
(try_end),
(neq, ":end", 0),
#Caba - end
(store_div, ":posx", ":slot", 10),
(val_mul, ":posx", troop_tree_space_x),
(val_add, ":posx", troop_tree_left),
(troop_get_slot, ":posy", "trp_temp_array_c", ":slot"),
(val_add, ":num", 1),
(call_script, "script_prsnt_upgrade_tree_troop_and_name", ":troop_no", ":posx", ":posy"),
(troop_set_slot, "trp_temp_array_c", ":num", reg1),
(troop_set_slot, "trp_temp_array_b", ":num", ":troop_no"),
(store_mod, ":cur_slot", ":slot", 10),
(gt, ":cur_slot", 0),
## Draw lines to next troops, if found
(store_sub, ":cur_slot1", ":slot", ":cur_slot"),
(val_add, ":cur_slot1", 10),
(store_add, ":cur_slot2", ":cur_slot1", 10),
(try_for_range, ":slot2", ":cur_slot1", ":cur_slot2"),
(troop_slot_ge, "trp_temp_array_b", ":slot2", 1),
(troop_slot_eq, "trp_temp_array_a", ":slot2", ":cur_slot"),
#Caba - check for duplication - loop over past troops rather than using a troop slot (change?)
(troop_get_slot, ":troop_no", "trp_temp_array_b", ":slot2"),
(assign, ":end", ":slot2"),
(try_for_range, ":i", ":cur_slot1", ":end"), #check troops of this prev_tier previously looped over, be sure this troop hasn't been checked
(neq, ":i", ":cur_slot1"), #just to be sure
(troop_slot_eq, "trp_temp_array_b", ":i", ":troop_no"),
(assign, ":posy_to_use", ":i"),
(assign, ":end", 0), #break loop, found in checked list
(try_end),
(try_begin),
(neq, ":end", 0),
(assign, ":posy_to_use", ":slot2"),
(try_end),
#Caba - end
(store_add, ":posx2", ":posx", troop_tree_space_x),
(store_add, ":posx1", ":posx", troop_tree_space_x/2),
(troop_get_slot, ":posy2", "trp_temp_array_c", ":posy_to_use"), #caba ":slot2"),
(store_add, ":posy1", ":posy", troop_tree_space_y/2),
(val_add, ":posy2", troop_tree_space_y/2),
#Caba
(try_begin),
(neq, ":end", 0),
#Caba - end
(call_script, "script_prsnt_lines_to", ":posx", ":posy1", ":posx2", ":posy2", title_black),
(val_sub, ":posy2", 3),
(call_script, "script_prsnt_upgrade_tree_troop_cost", ":troop_no", ":posx1", ":posy2"),
#Caba
(else_try),
(val_sub, ":posy2", 20),
(store_sub, ":posx3", ":posx2", 20),
(call_script, "script_prsnt_lines_to", ":posx", ":posy1", ":posx3", ":posy2", title_black),
(call_script, "script_prsnt_lines_to", ":posx3", ":posy2", ":posx2", ":posy2", title_black),
(try_end),
#Caba - end
(try_end),
(try_end),
(troop_set_slot, "trp_temp_array_c", 100, ":num"),
]),
# dynamic troop tree end =================================================================
]
On a side note, when rearrangimg the mesh file...
do we insert that block of txt marked with the # # pair where it shows in that sopiler, then comment out the lines below where they normally would be? or have i misunderstoood this section?
like so...
Snip form module_meshes.py
meshes = [
("pic_bandits", 0, "pic_bandits", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_mb_warrior_1", 0, "pic_mb_warrior_1", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_messenger", 0, "pic_messenger", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_prisoner_man", 0, "pic_prisoner_man", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_prisoner_fem", 0, "pic_prisoner_fem", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_prisoner_wilderness", 0, "pic_prisoner_wilderness", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_siege_sighted", 0, "pic_siege_sighted", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_siege_sighted_fem", 0, "pic_siege_sighted_fem", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_camp", 0, "pic_camp", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_payment", 0, "pic_payment", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_escape_1", 0, "pic_escape_1", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_escape_1_fem", 0, "pic_escape_1_fem", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_victory", 0, "pic_victory", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_defeat", 0, "pic_defeat", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_wounded", 0, "pic_wounded", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_wounded_fem", 0, "pic_wounded_fem", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_steppe_bandits", 0, "pic_steppe_bandits", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_mountain_bandits", 0, "pic_mountain_bandits", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_sea_raiders", 0, "pic_sea_raiders", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_deserters", 0, "pic_deserters", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_forest_bandits", 0, "pic_forest_bandits", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_cattle", 0, "pic_cattle", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_looted_village", 0, "pic_looted_village", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_village_p", 0, "pic_village_p", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_village_s", 0, "pic_village_s", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_village_w", 0, "pic_village_w", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_recruits", 0, "pic_recruits", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_arms_swadian", 0, "pic_arms_swadian", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_arms_vaegir", 0, "pic_arms_vaegir", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_arms_khergit", 0, "pic_arms_khergit", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_arms_nord", 0, "pic_arms_nord", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_arms_rhodok", 0, "pic_arms_rhodok", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_sarranid_arms", 0, "pic_sarranid_arms", 0, 0, 0, 0, 0, 0, 1, 1, 1),
# dynamic troop tree begin =================================================================
("pic_swad", 0, "pic_swad", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_vaegir", 0, "pic_vaegir", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_khergit", 0, "pic_khergit", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_nord", 0, "pic_nord", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_rhodock", 0, "pic_rhodock", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_sarranid_encounter", 0, "pic_sarranid_encounter", 0, 0, 0, 0, 0, 0, 1, 1, 1),
# dynamic troop tree end ==================================================================
("pic_castle1", 0, "pic_castle1", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_castledes", 0, "pic_castledes", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_castlesnow", 0, "pic_castlesnow", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_charge", 0, "pic_charge", 0, 0, 0, 0, 0, 0, 1, 1, 1),
#("pic_khergit", 0, "pic_khergit", 0, 0, 0, 0, 0, 0, 1, 1, 1),
#("pic_nord", 0, "pic_nord", 0, 0, 0, 0, 0, 0, 1, 1, 1),
#("pic_rhodock", 0, "pic_rhodock", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_sally_out", 0, "pic_sally_out", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_siege_attack", 0, "pic_siege_attack", 0, 0, 0, 0, 0, 0, 1, 1, 1),
#("pic_swad", 0, "pic_swad", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_town1", 0, "pic_town1", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_towndes", 0, "pic_towndes", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_townriot", 0, "pic_townriot", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_townsnow", 0, "pic_townsnow", 0, 0, 0, 0, 0, 0, 1, 1, 1),
#("pic_vaegir", 0, "pic_vaegir", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("pic_villageriot", 0, "pic_villageriot", 0, 0, 0, 0, 0, 0, 1, 1, 1),
#("pic_sarranid_encounter", 0, "pic_sarranid_encounter", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("mp_score_a", 0, "mp_score_a", 0, 0, 0, 0, 0, 0, 1, 1, 1),
EDIT:
ok I have found solutions to these problems. The "updated" script section by Caba'drin is only a partial replacement for the original one. You still need to add in the last sections from the OP
First the script ("prsnt_lines_to",...
and second the section designated as # Rubik CC's
These are not duplicated in Caba's post, it only covers the one script. Amazing what debugging at some time other than 1AM can do for you.
Still a question on if I did the meshes file correctly? or will I run into some problems down the road by doing it the way I have posted above.