SP Tutorial Module System Creating a faction.

Users who are viewing this thread

There's only 1 reference in the module_scripts, which is:

Code:
Line 6928: 	  (assign, ":cur_lady", "trp_kingdom_1_lady_1"),

And there's nothing else, so I have no idea how each relation is set up. I tried again changing the

Code:
(store_sub, ":npc_seed", ":cur_troop", "trp_knight_5_1"),

part in each string but It made no difference. I'm still getting ladies from the new factions with relatives from the old factions.
 
the references to factions are these right?

Code:
		(try_begin),
			(is_between, ":cur_troop", "trp_knight_1_1", "knight_2_1"),
			(store_sub, ":npc_seed", ":cur_troop", "trp_knight_1_1"),
			(assign, ":ancestor_seed", 1),

And I need to change the ancestor seed? By how much should it go up if I have half the lords and ladies in each faction?
 
jacobhinds said:
Yep, those are the ones. If you have half the lords and ladies it goes up by 3 (i meant 6 in my previous post, sorry). Any fewer and it's far easier just to assign those specific lords manually.

Okay, I'll try going back to the default values for everything that isn't those, and see if it works.

EDIT: Nope, the ladies seem to be tied to certain lords either way, because I keep getting ladies with relatives in another faction. But looking for the ladies using their name brings up nothing.

Maybe is it because I changed the IDs of the ladies but not the IDs for the lords?

Here's how they look.
http://pastebin.com/mGFeB2UW

EDIT2: NOPE, I renamed all ladies to have the same sort of "tag" than their respective lords but that changed nothing.
 
Heyho, nice Tutorial dude!

Ima almost made it without any error till process_troops with a weird type error:
Code:
File "process_troops.py", line 107, in <module>
   save_troops<>
File "process_troops.py", line 38, in save_troops<>
   for inventory_item in inventory_list
TypeError: 'int' object is not iterable


And those are the troops I added:
Code:
["darkknight_messenger", "Dark Knight Messenger", "Dark Knight Messenger", tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_gloves|tf_guarantee_horse|tf_guarantee_ranged, no_scene, reserved, fac_kingdom_7, [itm_sword_medieval_a,itm_leather_jerkin,itm_leather_boots,itm_courser,itm_leather_gloves,itm_light_crossbow,itm_bolts], str_7|agi_21|int_4|cha_4|level(25), wp(130), knows_common|knows_riding_7|knows_horse_archery_5, swadian_face_young_1, swadian_face_old_2 ],

["darkknight_deserter", "Dark Knight Deserter", "Dark Knight Deserter", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_ranged, no_scene, reserved, fac_deserters, [itm_bolts,itm_light_crossbow,itm_hunting_crossbow,itm_dagger,itm_club,itm_voulge,itm_wooden_shield,itm_leather_jerkin,itm_padded_cloth,itm_hide_boots,itm_padded_coif,itm_nasal_helmet,itm_footman_helmet], def_attrib|level(14), wp(80), knows_common|knows_riding_2|knows_ironflesh_1, swadian_face_young_1, swadian_face_old_2 ],

["darkknight_prison_guard", "Prison Guard", "Prison Guard", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_awlpike,itm_pike,itm_great_sword,itm_morningstar,itm_sword_medieval_b,itm_tab_shield_heater_c,itm_coat_of_plates,itm_plate_armor,itm_plate_boots,itm_guard_helmet,itm_helmet_with_neckguard,itm_bascinet,itm_guard_helmet,itm_leather_gloves], def_attrib|level(25), wp(130), knows_common|knows_shield_3|knows_ironflesh_3|knows_power_strike_3, swadian_face_young_1, swadian_face_old_2 ],

["darkknight_castle_guard", "Castle Guard", "Castle Guard", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_awlpike,itm_pike,itm_great_sword,itm_morningstar,itm_sword_medieval_b,itm_tab_shield_heater_c,itm_tab_shield_heater_d,itm_coat_of_plates,itm_plate_armor,itm_plate_boots,itm_guard_helmet,itm_helmet_with_neckguard,itm_bascinet,itm_guard_helmet,itm_leather_gloves], def_attrib|level(25), wp(130), knows_common|knows_shield_3|knows_ironflesh_3|knows_power_strike_3, swadian_face_young_1, swadian_face_old_2 ],

["darkknight_recruit", "Dark Knight Recruit", "Dark Knight Recruit", tf_guarantee_armor, no_scene, reserved, fac_kingdom_7, [itm_scythe,itm_hatchet,itm_pickaxe,itm_club,itm_stones,itm_tab_shield_heater_a,itm_leather_cap,itm_felt_hat,itm_felt_hat,itm_shirt,itm_coarse_tunic,itm_leather_apron,itm_nomad_boots,itm_wrapping_boots], def_attrib|level(4), wp(60), knows_common, swadian_face_younger_1, swadian_face_middle_2 ],

["darkknight_milita", "Dark Knight Militia", "Dark Knight Militia", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_bolts,itm_spiked_club,itm_fighting_pick,itm_boar_spear,itm_hunting_crossbow,itm_tab_shield_heater_a,itm_padded_cloth,itm_red_gambeson,itm_arming_cap,itm_arming_cap,itm_ankle_boots,itm_wrapping_boots], def_attrib|level(9), wp(75), knows_common, swadian_face_young_1, swadian_face_old_2 ],

["darkknight_footman", "Dark Knight Footman", "Dark Knight Footman", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_spear,itm_fighting_pick,itm_sword_medieval_b_small,itm_sword_medieval_a,itm_tab_shield_heater_b,itm_mail_with_tunic_red,itm_ankle_boots,itm_mail_coif,itm_norman_helmet], def_attrib|level(14), wp_melee(85), knows_common|knows_ironflesh_2|knows_shield_2|knows_athletics_2|knows_power_strike_2, swadian_face_young_1, swadian_face_old_2 ],

["darkknight_infantry", "Dark Knight Infantry", "Dark Knight Infantry", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_pike,itm_fighting_pick,itm_bastard_sword_a,itm_sword_medieval_a,itm_sword_medieval_b_small,itm_tab_shield_heater_c,itm_mail_with_surcoat,itm_haubergeon,itm_mail_chausses,itm_leather_boots,itm_segmented_helmet,itm_flat_topped_helmet,itm_helmet_with_neckguard], def_attrib|level(20), wp_melee(105), knows_common|knows_riding_3|knows_ironflesh_2|knows_power_strike_2|knows_shield_3|knows_athletics_3, swadian_face_middle_1, swadian_face_old_2 ],

["darkknight_sergeant", "Dark Knight Sergeant", "Dark Knight Sergeant", tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_awlpike,itm_bastard_sword_b,itm_morningstar,itm_sword_medieval_c,itm_tab_shield_heater_d,itm_coat_of_plates,itm_brigandine_red,itm_mail_boots,itm_iron_greaves,itm_flat_topped_helmet,itm_guard_helmet,itm_mail_mittens,itm_gauntlets], def_attrib|level(25), wp_melee(135), knows_common|knows_shield_4|knows_ironflesh_4|knows_power_strike_4|knows_athletics_4, swadian_face_middle_1, swadian_face_older_2 ],

["darkknight_foot_knight", "Dark Knight", "Dark Knight", tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_sword_medieval_c,itm_tab_shield_heater_d,itm_black_greaves,itm_black_armor,itm_black_helmet,itm_black_hood,itm_sword_of_war], def_attrib|level(31), wp_melee(300), knows_common|knows_shield_6|knows_ironflesh_7|knows_power_strike_6|knows_athletics_6, swadian_face_middle_1, swadian_face_older_2 ],

["darkknight_skirmisher", "Dark Knight Skirmisher", "Dark Knight Skirmisher", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_ranged, no_scene, reserved, fac_kingdom_7, [itm_bolts,itm_light_crossbow,itm_hunting_crossbow,itm_club,itm_voulge,itm_tab_shield_heater_a,itm_red_gambeson,itm_padded_cloth,itm_ankle_boots,itm_arming_cap,itm_arming_cap], def_attrib|level(14), wp(80), knows_common|knows_riding_2|knows_ironflesh_1, swadian_face_young_1, swadian_face_middle_2 ],

["darkknight_crossbowman", "Dark Knight Crossbowman", "Dark Knight Crossbowman", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_ranged, no_scene, reserved, fac_kingdom_7, [itm_bolts,itm_crossbow,itm_light_crossbow,itm_fighting_pick,itm_sword_medieval_a,itm_voulge,itm_tab_shield_heater_b,itm_leather_jerkin,itm_red_gambeson,itm_leather_boots,itm_ankle_boots,itm_norman_helmet,itm_segmented_helmet], def_attrib|level(19), wp_one_handed(90), knows_common|knows_riding_2|knows_ironflesh_1|knows_athletics_1, swadian_face_young_1, swadian_face_old_2 ],

["darkknight_sharpshooter", "Dark Knight Sharpshooter", "Dark Knight Sharpshooter", tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_ranged, no_scene, reserved, fac_kingdom_7, [itm_bolts,itm_arrows,itm_crossbow,itm_crossbow,itm_heavy_crossbow,itm_sword_medieval_b_small,itm_sword_medieval_a,itm_voulge,itm_tab_shield_heater_c,itm_haubergeon,itm_arena_armor_red,itm_leather_boots,itm_mail_chausses,itm_kettle_hat,itm_helmet_with_neckguard,itm_leather_gloves], str_24|agi_18|int_10|cha_10|level(28), wp_one_handed(400), knows_common|knows_power_draw_8|knows_ironflesh_3|knows_power_strike_2|knows_athletics_2, swadian_face_middle_1, swadian_face_older_2 ],

["darkknight_sniper", "Dark Knight Sniper", "Dark Knight Sniper", tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_ranged, no_scene, reserved, fac_kingdom_7, [itm_arrows,itm_sword_medieval_b_small,itm_sword_medieval_a,itm_tab_shield_heater_c,itm_khergit_bow,itm_black_greaves,itm_black_armor,itm_black_helmet,itm_black_hood], str_24|agi_18|int_10|cha_10|level(24), wp_one_handed(400), knows_common|knows_power_draw_8|knows_ironflesh_3|knows_power_strike_2|knows_athletics_5, swadian_face_middle_1, swadian_face_older_2 ],

["darkknight_man_at_arms", "Dark Knight Man at Arms", "Dark Knight Man at Arms", tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_horse|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_lance,itm_fighting_pick,itm_bastard_sword_b,itm_sword_medieval_b,itm_sword_medieval_c_small,itm_tab_shield_heater_cav_a,itm_haubergeon,itm_mail_with_surcoat,itm_mail_chausses,itm_norman_helmet,itm_mail_coif,itm_flat_topped_helmet,itm_helmet_with_neckguard,itm_warhorse,itm_warhorse,itm_hunter], def_attrib|level(21), wp_melee(100), knows_common|knows_riding_4|knows_ironflesh_2|knows_shield_2|knows_power_strike_3, swadian_face_young_1, swadian_face_old_2 ],

["darkknight_knight", "Dark Knight", "New troops", tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_gloves|tf_guarantee_horse|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_heavy_lance,itm_sword_two_handed_b,itm_sword_medieval_d_long,itm_morningstar,itm_morningstar,itm_sword_medieval_d_long,itm_tab_shield_heater_cav_b,itm_coat_of_plates_red,itm_cuir_bouilli,itm_plate_boots,itm_guard_helmet,itm_great_helmet,itm_bascinet,itm_charger,itm_warhorse,itm_gauntlets,itm_mail_mittens], def_attrib|level(28), wp_one_handed(150), knows_common|knows_riding_5|knows_shield_5|knows_ironflesh_5|knows_power_strike_5, swadian_face_middle_1, swadian_face_older_2 ],

["darkknight_mounted_knight", "Rider of Hell", "Rider of Hell", tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_gloves|tf_guarantee_horse|tf_guarantee_shield, no_scene, reserved, fac_kingdom_7, [itm_heavy_lance,itm_black_greaves,itm_black_armor,itm_black_hood,itm_black_helmet,itm_sword_viking_2,itm_steel_shield,itm_warhorse], def_attrib|level(36), wp_one_handed(150), knows_common|knows_riding_10|knows_shield_10|knows_ironflesh_10|knows_power_strike_10, swadian_face_middle_1, swadian_face_older_2 ],

Used Morgh's editor, any Idea's? o:

#edit: nvm forgot to delete some 0 from the female lords, but another problem appeared when i tried to add more towns:

Code:
Error unable to find chest-troop - town 24-26 seneschal

#edit2: dafuq i should go sleep, fixed everything now
 
chazzerberg said:
I did this tutorial without any errors, so thanks! There is one little problem that's bugging me! The faction troops i added keep saying 'surrender or die' when i speak to them in the castle or town. Can some one help me please?

check the module_dialogs.py, you need to include your new troops with the old ones OR add a special case for them in any conversation you want.

Dialogs works like this: game tests from up to bottom until it finds something that fits. As your new troop didn’t fit any RULE the game used the default one.

for more info:

http://forums.taleworlds.com/index.php/topic,142422.0.html

http://forums.taleworlds.com/index.php/topic,12733.0.html
 
The lines you mention in the tutorial don't match the lines I have in my files.
I can't even find what I need to find in the scripts.txt file.
 
Oh, I got it.
Now I have a new problem.

I clicked on Build Module after I did everything I was supposed to, but it didn't run so smoothly.
Some syntax errors are reported in the batch file, and I often see "NameError: name 'party_set_marshall' is not defined".
Some of the other files are fine-- though no changes were made, and I can't even find the new town.
 
jacobhinds said:
You've done everything right, it's not your fault. Someone who was working on Viking Conquest decided now was a good time to rename a single vital file called header_operations.py, and change the word marshall to marshal for no good reason. This is extremely frustrating because it broke a lot of stuff even outside of viking conquest, and due to weird compiling errors I didn't realise what was going on until I'd reinstalled the module system twice.  :neutral:

If you're using notepad ++, search through all the files simultaneously and replace every instance of "party_set_marshall" with "party_set_marshal". It shouldn't take long as there aren't many of them.

But damn, what a pain in the butt.
 
Nevermind, I give up. There's just too much crap that needs to be done/fixed. It'll take a miracle.
I'll just wait until a working Module System comes out.
Or at least a mod that has a seventh faction.
 
Beardedtrump said:
Nevermind, I give up. There's just too much crap that needs to be done/fixed. It'll take a miracle.
I'll just wait until a working Module System comes out.
Or at least a mod that has a seventh faction.

Just download this: http://forums.taleworlds.com/index.php/topic,324874.0.html
 
I followed this tutorial, and when I try to start a new game in the mod I made I get a runtime error. Has anyone else encountered this?

The tutorial itself was VERY helpful, thanks so much for making it!
EDIT: I have fixed my previous mistake. Now. however, I have an RGL problem- "Too many variables on mesh Great Helmet"
This sounds like a question for another board, so I'll post it elsewhere as well. Feel free to PM me with a solution or just to tell me I'm being an ass :lol:
 
Thanks kalarhan, but I found my error. I had edited the wrong file for a value.
Now that I have my game running, I can't help but notice that it's exactly like Native... None of the changes I've made appear to have taken effect. Is there something I need to "refresh" to affect the changes?
 
Thanks kalarhan, but I found my error. I had edited the wrong file for a value.
Now that I have my game running, I can't help but notice that it's exactly like Native... None of the changes I've made appear to have taken effect. Is there something I need to "refresh" to affect the changes?

once you finish your modules changes (the .py files), you need to compile them to create new text files (.txt) and copy them to your module folder. Some changes will also require a new savegame.
:arrow: http://forums.taleworlds.com/index.php/topic,240255.0.html
 
I ran the compiler and started a new game, but still no new faction in my mod. I used the tutorial you linked to me to make the mod, and I can't figure out what isn't happening that needs to happen.
:evil:
EDIT: wait.... wait..... wait for it... [playtest] yeah still no. GRR. I have somehow changed the faction colours, but that's all.

EDIT EDIT: The compiler doesn't seem to want to put the converted files in any folder I specify for it in module_info.py. (specifically: export_dir = "C:/Users/Daniel/Desktop/Mount&Blade Warband/Modules/Danny") Now that I have the problem pegged down, I will look for a solution.
Thanks for all your help, ladies and gentlemen!
 
Back
Top Bottom