Modding Q&A [For Quick Questions and Answers]

Users who are viewing this thread

Status
Not open for further replies.
Hi everyone,

I'm really new in modding and well.. i'd never tried to mod a game so..

I want in the beginning to mix some mods into a brand new one with all the three mods features..

How can I do that? I want to mix the Graphical Pack mod and OSPW - Native pack mod (with Custom Commander & Diplomacy) but I really don' t know where to begin.. :cry:  :cry:

If anyone can tell me what tools I have to use and how I have to use it to mix those mods to a new one I'll be very grateful!!!! :grin:  :grin:  :grin:

Many anticipate thanks!!!!
 
Caba`drin said:
...may or may not have lost my mind. OpenBRF used to work fine. Now, whenever I load a .brf, it won't display any textures, and the "why the checkerboard pattern?" bit says that it can't understand the <insert correct pathway here>.dds file. I've re-downloaded OpenBRF again and no change. Any ideas what might I have mussed up unknowingly?
Do you get this for all .brf files? Even the ones from CommonRes and other mods?

My question: has anyone ever had parties sinking underground in the MapEditor? If yes, do you know what's causing it and how to fix it? I've noticed that it happens mostly on tiles that were mountains, but aren't any more.
 
Lumos said:
Caba`drin said:
...may or may not have lost my mind. OpenBRF used to work fine. Now, whenever I load a .brf, it won't display any textures, and the "why the checkerboard pattern?" bit says that it can't understand the <insert correct pathway here>.dds file. I've re-downloaded OpenBRF again and no change. Any ideas what might I have mussed up unknowingly?
Do you get this for all .brf files? Even the ones from CommonRes and other mods?
Yes, for every .brf I try to open. I've been solely trying to go through CommonRes ones to find Native materials that aren't defined in module_meshes that I might want to use...but, that's fairly difficult when you're looking at the checkerboard.

I'm wondering if I'll need to go into the registry and see if there are any OpenBRF lines that need to be purged.
 
OK, i had once asked a question about playing a sound when giving an order to bots. (Sound shall come even if there are no bots) I used this formation kit, as i was told, and i found out where i think would be the best place to add my code. so, that is what i now made

Code:
	(0, 0, 0, [(game_key_clicked, gk_order_3)], [
		(try_begin),
			#(eq, "$gk_order", 0),
			(neq, "$gk_order", gk_order_1),
			(neq, "$gk_order", gk_order_2),
			(neq, "$gk_order", gk_order_3),
			(assign, "$gk_order", gk_order_3),
			(assign, "$native_display", 0),
		(else_try),
			(eq, "$gk_order", gk_order_1),	#CHARGE
			(assign, "$fclock", 1),
			(multiplayer_send_int_to_server,multiplayer_event_sound_made_by_player,"snd_man_warcry")
			(call_script, "script_player_order_formations", mordr_charge),
			(assign, "$gk_order", 0),
		(else_try),
			(eq, "$gk_order", gk_order_2),	#SPREAD OUT
			(assign, "$fclock", 1),
			(call_script, "script_player_order_formations", mordr_spread_out),
			(assign, "$gk_order", 0),
		(else_try),
			(eq, "$gk_order", gk_order_3),	#BLUNT WEAPONS
			(assign, "$gk_order", 0),
		(try_end),
	]),

(that was is commented with CHARGE is it, ill add sound to the others when it works...)
So, i also followed this tutorial: http://forums.taleworlds.com/index.php/topic,94854.0.html
and now that i did everything, i always get "cuple is not callable object" or something like that. What can i do?
 
Also, you needn't actually use the formations...in fact, you probably shouldn't if this is for multiplayer...you can remove the  (assign, "$fclock", 1) lines and the script calls to the formations as those make the formations work. What you needed from this was the key tracking.
 
OK, ill delete those lines. Next tasks: editing this that the sounds are different for the different factions, any tips for that? And a test showed me that i dont hear any sound... i did just the things in the tutorial i posted. But it doesnt work... anyone who can help?
 
The relations of the royalty are finally getting figured out, but there's one more thing. The game only displays 10 relations. Since the guys in my mod are kinda prolific, some of them are getting left out.

I found the relevant code in module scripts and strings, but I don't understand it well enough to set it to display more than that. Any pointers?

Module_scripts:
Code:
      
(try_begin),
        (this_or_next|is_between, ":troop_no", kings_begin, kingdom_ladies_end),
        (eq, ":troop_no", "trp_player"),
        (neg|is_between, ":troop_no", pretenders_begin, pretenders_end),
        (assign, ":num_relations", 0),

        (try_begin),
          (call_script, "script_troop_get_family_relation_to_troop", "trp_player", ":troop_no"),
          (gt, reg0, 0),
          (val_add, ":num_relations", 1),
        (try_end),
        (try_for_range, ":aristocrat", kings_begin, kingdom_ladies_end),
          (call_script, "script_troop_get_family_relation_to_troop", ":aristocrat", ":troop_no"),
          (gt, reg0, 0),
          (val_add, ":num_relations", 1),
        (try_end),
        (try_begin),
          (gt, ":num_relations", 0),
          (try_begin),
            (eq, ":troop_no", "trp_player"),
            (str_store_string, s49, "str__family_"),
          (else_try),
            (troop_get_slot, reg1, ":troop_no", slot_troop_age),
            (str_store_string, s49, "str__age_reg1_family_"),
          (try_end),
          (try_begin),
            (call_script, "script_troop_get_family_relation_to_troop", "trp_player", ":troop_no"),
            (gt, reg0, 0),
            (str_store_troop_name_link, s12, "trp_player"),
            (val_sub, ":num_relations", 1),
            (try_begin),
              (eq, ":num_relations", 0),
              (str_store_string, s49, "str_s49_s12_s11_end"),
            (else_try),
              (str_store_string, s49, "str_s49_s12_s11"),
            (try_end),
          (try_end),
          (try_for_range, ":aristocrat", lords_begin, kingdom_ladies_end),
            (call_script, "script_troop_get_family_relation_to_troop", ":aristocrat", ":troop_no"),
            (gt, reg0, 0),
            (try_begin),
              (neg|is_between, ":aristocrat", kingdom_ladies_begin, kingdom_ladies_end),
              (eq, "$cheat_mode", 1),
              (str_store_troop_name_link, s12, ":aristocrat"),
              (call_script, "script_troop_get_relation_with_troop", ":aristocrat", ":troop_no"),
              (str_store_string, s49, "str_s49_s12_s11_rel_reg0"),
            (else_try),
              (str_store_troop_name_link, s12, ":aristocrat"),
              (val_sub, ":num_relations", 1),
              (try_begin),
                (eq, ":num_relations", 0),
                (str_store_string, s49, "str_s49_s12_s11_end"),
              (else_try),
                (str_store_string, s49, "str_s49_s12_s11"),
              (try_end),
            (try_end),
          (try_end),
        (try_end),
      (try_end),
Module_strings:
Code:
  ("_age_reg1_family_", "^Age: {reg1}^Family:"),
  ("s49_s12_s11_rel_reg0", "{s49} {s12} ({s11}, rel: {reg0}),"),
  ("s49_s12_s11", "{s49} {s12} ({s11}),"),
 
You asked a big question.

In answer: it's not easy. You have to use the official module system, and after you've learned that, you'll have to get the source code for all the mods you want and then carefully try to integrate them together. All in all, it would probably take you a month or so, if you really got to it.

If you're determined to try it, then start by following this tutorial. http://forums.taleworlds.com/index.php/topic,5408.0.html Come back once you've done that and the other ones, and then we can see about moving forward.

Personally though, I'd highly advise you to just go play Floris Mod Pack instead, which has already combined most of the ones you wanted.

http://forums.taleworlds.com/index.php/board,197.0.html
 
Many thanks for your answer, Llew2!!
I knew that will not be easy to do all that.. but.. now i'll check out the link you've posted and i'll try to learn how to do what I want to do..! :grin:

About the Floris Mod Pack.. I've already looked at it and downloaded it too (in all the two version, basic and expanded) but it crashes really often!!

it crashes at every location change(e.g. world map-tavern, city-inside court, everywhere-troop tree, fighting and so on..) but my pc can support all that stuff.. checked the bug thread but can't figure the solution.. so I thought to mix only the mods that really I want to play..and..here me are!! XD

well..after this never-ending tale I want to thank you for answering and I will let you know if I will solve my problem!!

obviously if someone can help.. I'm here!!

thanks again!!

 
Patta said:
OK, i had once asked a question about playing a sound when giving an order to bots. (Sound shall come even if there are no bots) I used this formation kit, as i was told, and i found out where i think would be the best place to add my code. so, that is what i now made

Code:
	(0, 0, 0, [(game_key_clicked, gk_order_3)], [
		(try_begin),
			#(eq, "$gk_order", 0),
			(neq, "$gk_order", gk_order_1),
			(neq, "$gk_order", gk_order_2),
			(neq, "$gk_order", gk_order_3),
			(assign, "$gk_order", gk_order_3),
			(assign, "$native_display", 0),
		(else_try),
			(eq, "$gk_order", gk_order_1),	#CHARGE
			(assign, "$fclock", 1),
			(multiplayer_send_int_to_server,multiplayer_event_sound_made_by_player,"snd_man_warcry"),
			(call_script, "script_player_order_formations", mordr_charge),
			(assign, "$gk_order", 0),
		(else_try),
			(eq, "$gk_order", gk_order_2),	#SPREAD OUT
			(assign, "$fclock", 1),
			(call_script, "script_player_order_formations", mordr_spread_out),
			(assign, "$gk_order", 0),
		(else_try),
			(eq, "$gk_order", gk_order_3),	#BLUNT WEAPONS
			(assign, "$gk_order", 0),
		(try_end),
	]),

(that was is commented with CHARGE is it, ill add sound to the others when it works...)
So, i also followed this tutorial: http://forums.taleworlds.com/index.php/topic,94854.0.html
and now that i did everything, i always get "cuple is not callable object" or something like that. What can i do?

this stiull is the problem. I followed the tutorial and it just doesnt work... Any suggestions? And any help how to change the sound according to the faction, so that every faction has its own sounds?
 
Caba`drin said:
Yes, for every .brf I try to open. I've been solely trying to go through CommonRes ones to find Native materials that aren't defined in module_meshes that I might want to use...but, that's fairly difficult when you're looking at the checkerboard.
I had the same problem. Mtarini proposed that I use a different texture (which is in a different DXT format) but, as with you, I couldn't read anything. You have probably tried to update OpenBRF to no avail. I solved my problem by buying a new computer... :smile:
Caba`drin said:
I'm wondering if I'll need to go into the registry and see if there are any OpenBRF lines that need to be purged.
... But I've never thought about the registry. The problem has to be somewhere!
 
@Lumos...thanks for posting. In a perverse sense of comradery, I'm glad to hear someone else has experienced this. I'll report back if I find anything playing in the registry. EDIT Grumble, Grumble. Deleted every Registry Key instance that referred to openBRF, rebooted, installed/unzipped openBRF to a new location. No dice.

@Patta

Here's the formations-derived code, stripped down to what you need to work with
Code:
    (ti_before_mission_start, 0, 0, [], [
        (assign, "$gk_order", 0),
    ]),

    (0, .3, 0, [(game_key_clicked, gk_order_1)], [
        (eq, "$gk_order", gk_order_1),    #next trigger set MOVE menu?
        (game_key_is_down, gk_order_1),    #BUT player is holding down key?
        (assign, "$gk_order", 0),
    ]),

    (0, 0, 0, [(game_key_clicked, gk_order_1)], [
        (try_begin),
            (eq, "$gk_order", 0),
            (assign, "$gk_order", gk_order_1),
        (else_try),
            (eq, "$gk_order", gk_order_1),    #HOLD        
            #Code for "HOLD!" goes here
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_2),    #ADVANCE
            #Code for "Forward 10!" goes here
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_3),    #HOLD FIRE
            #Code for "Hold Fire!" goes here
            (assign, "$gk_order", 0),
        (try_end),
    ]),
    
    (0, 0, 0, [(game_key_clicked, gk_order_2)], [
        (try_begin),
            (eq, "$gk_order", 0),
            (assign, "$gk_order", gk_order_2),
        (else_try),
            (eq, "$gk_order", gk_order_1),    #FOLLOW
            #Code for "Follow Me!" goes here
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_2),    #FALL BACK
            #Code for "Back 10!" goes here
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_3),    #FIRE AT WILL
            #Code for "Fire at Will!" goes here
            (assign, "$gk_order", 0),
        (try_end),
    ]),
    
    (0, 0, 0, [(game_key_clicked, gk_order_3)], [
        (try_begin),
            (eq, "$gk_order", 0),
            (assign, "$gk_order", gk_order_3),
            (assign, "$native_display", 0),
        (else_try),
            (eq, "$gk_order", gk_order_1),    #CHARGE
            #Code for "CHARGE!" goes here
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_2),    #SPREAD OUT
            #Code for "Spread Out!" goes here
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_3),    #BLUNT WEAPONS
            #Code for "Use Blunts!" goes here
            (assign, "$gk_order", 0),
        (try_end),
    ]),
    
    (0, 0, 0, [(game_key_clicked, gk_order_4)], [
        (try_begin),
            (eq, "$gk_order", gk_order_1),    #STAND GROUND
            #Code for "Stand Ground!" goes here            
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_2),    #STAND CLOSER
            #Code for "Move Closer!" goes here
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_3),    #ANY WEAPON
            #Code for "Any Weapon" goes here
            (assign, "$gk_order", 0),
        (try_end),
    ]),
    
    (0, 0, 0, [(game_key_clicked, gk_order_5)], [
        (try_begin),
            (eq, "$gk_order", gk_order_1),    #RETREAT
            #Code for "Retreat!" goes here
            (assign, "$gk_order", 0),
        (else_try),
            (eq, "$gk_order", gk_order_2),    #MOUNT
            #Code for "Mount!" goes here
            (assign, "$gk_order", 0),
        (try_end),
    ]),
    
    (0, 0, 0, [(game_key_clicked, gk_order_6)], [
        (try_begin),
            (eq, "$gk_order", gk_order_2),    #DISMOUNT
            #Code for "Dismount!" goes here
            (assign, "$gk_order", 0),
        (try_end),
    ]),

As for getting it to work with multiplayer, this where my expertise falls of...I think: you'll need to have another server-side trigger that takes the event and actually plays the sound. But that should be in the tutorial.

As for different factions, you just need a try-block in the "code for <order> goes here" parts. Something like:
Code:
(multiplayer_get_my_player, ":player"),
(player_get_troop_id, ":player_troop", ":player"), 
(store_troop_faction, ":faction", ":player_troop"),
(try_begin),
    (eq, ":faction", "fac_kingdom_1"),
    (assign, ":sound", "snd_for_kingdom_1"),
(else_try),
    (eq, ":faction", "fac_kingdom_2"),
    (assign, ":sound", "snd_for_kingdom_2"),
###Etc, Etc
(try_end),
(multiplayer_send_int_to_server,multiplayer_event_sound_made_by_player,":sound"),
 
thx, this should help me a lot. I did everythig what was said in the tutorial, but it doesnt work... but i see, when considering the tutorials thread, that i'm not the opnly one with this problem...
 
Status
Not open for further replies.
Back
Top Bottom