Modding Q&A [For Quick Questions and Answers]

Users who are viewing this thread

Status
Not open for further replies.
Ran into a weird issue - after my player character hits level 2 in my mod, they seem to gain bits of experience every second in seemingly random amounts - mostly little bits, sometimes hundreds at a time. If I had to guess, I'd say they're somehow gaining experience for everything that happens in the world.

I'm not sure why this is happening, or why it only happens after level 2 - I don't recall changing anything to do with experience gain. Does anybody have any idea what the problem might be?

I've altered some scripts and added some of my own, as well as added a couple of constants, but those were almost entirely to do with troop recruitment.

Edit: Nope, the problem seems to happen after a day has passed. Really weird.
 
TheCaitularity said:
Ran into a weird issue - after my player character hits level 2 in my mod, they seem to gain bits of experience every second in seemingly random amounts - mostly little bits, sometimes hundreds at a time. If I had to guess, I'd say they're somehow gaining experience for everything that happens in the world.

I'm not sure why this is happening, or why it only happens after level 2 - I don't recall changing anything to do with experience gain. Does anybody have any idea what the problem might be?

I've altered some scripts and added some of my own, as well as added a couple of constants, but those were almost entirely to do with troop recruitment.

I had a similiar issue when I was altering the game_start script, im assuming you broke something within the game_start script, note that without code we can't really help you - at most we can guess, and that isn't enough.

This is when backups come to play, roll back into the latest module that you didn't have bugs with, then compare with the latest version, check what you edited (I personally sort by time modified and use the Notepad +++ Plugin "Compare", however if you don't want to use that you can use a website like: https://text-compare.com/ but I wouldn't recommend that for large-scale work, debug and diagnose, repetitive work I know, but its how I figured out most of the issues I ran into.

In the other hand if you are modding with .txt files, then there isn't any way to help you unless its a known glitch, other than roll back to the latest .txt backups you had.
 
troycall said:
TheCaitularity said:
Ran into a weird issue - after my player character hits level 2 in my mod, they seem to gain bits of experience every second in seemingly random amounts - mostly little bits, sometimes hundreds at a time. If I had to guess, I'd say they're somehow gaining experience for everything that happens in the world.

I'm not sure why this is happening, or why it only happens after level 2 - I don't recall changing anything to do with experience gain. Does anybody have any idea what the problem might be?

I've altered some scripts and added some of my own, as well as added a couple of constants, but those were almost entirely to do with troop recruitment.

I had a similiar issue when I was altering the game_start script, im assuming you broke something within the game_start script, note that without code we can't really help you - at most we can guess, and that isn't enough.

This is when backups come to play, roll back into the latest module that you didn't have bugs with, then compare with the latest version, check what you edited (I personally sort by time modified and use the Notepad +++ Plugin "Compare", however if you don't want to use that you can use a website like: https://text-compare.com/ but I wouldn't recommend that for large-scale work, debug and diagnose, repetitive work I know, but its how I figured out most of the issues I ran into.

In the other hand if you are modding with .txt files, then there isn't any way to help you unless its a known glitch, other than roll back to the latest .txt backups you had.

Ah... yes, I did make quite a few alterations to game_start. Modding with the module system. I'll see what I can do with the 'compare' thing (pretty confident PSPad has a compare function between two files).

Edit:
Tried yesterday's backup and I'm not having the issue, so that's something.

It's happening after a day, which doesn't really make anything clearer. I'll post the major changes to game_start script here, in case that unearths anything useful.

Code:
...
     # Setting the random town sequence:
      (store_sub, ":num_towns", towns_end, towns_begin),
      (assign, ":num_iterations", ":num_towns"),
      (try_for_range, ":cur_town_no", 0, ":num_towns"),
        (troop_set_slot, "trp_random_town_sequence", ":cur_town_no", -1),
      (try_end),
      (assign, ":cur_town_no", 0),
      (try_for_range, ":unused", 0, ":num_iterations"),
        (store_random_in_range, ":random_no", 0, ":num_towns"),
        (assign, ":is_unique", 1),
        (try_for_range, ":cur_town_no_2", 0, ":num_towns"),
          (troop_slot_eq, "trp_random_town_sequence", ":cur_town_no_2", ":random_no"),
          (assign, ":is_unique", 0),
        (try_end),
        (try_begin),
          (eq, ":is_unique", 1),
          (troop_set_slot, "trp_random_town_sequence", ":cur_town_no", ":random_no"),
          (val_add, ":cur_town_no", 1),
        (else_try),
          (val_add, ":num_iterations", 1),
        (try_end),
      (try_end),

 #Initialize Male Village unique recruits
     (party_set_slot, "p_village_1", slot_center_volunteer_troop_type, "trp_bryton_countryman"),
     ...
     (party_set_slot, "p_village_100", slot_center_volunteer_troop_type, "trp_bryton_countryman"),

     (party_set_slot, "p_village_101", slot_center_volunteer_troop_type, "trp_bryton_countryman"),
     ...
     (party_set_slot, "p_village_110", slot_center_volunteer_troop_type_female, "trp_bryton_countrywoman"),

...

	  # Cultures:
      (faction_set_slot, "fac_culture_1",  slot_faction_tier_1_troop, "trp_bryton_countryman"),
      (faction_set_slot, "fac_culture_1",  slot_faction_tier_2_troop, "trp_bryton_militiaman"),
      (faction_set_slot, "fac_culture_1",  slot_faction_tier_3_troop, "trp_bryton_footman"),
      (faction_set_slot, "fac_culture_1",  slot_faction_tier_4_troop, "trp_bryton_bowman"),
      (faction_set_slot, "fac_culture_1",  slot_faction_tier_5_troop, "trp_bryton_yeoman"),
      (faction_set_slot, "fac_culture_1",  slot_faction_tier_5_troop_female, "trp_bryton_yeowoman"),

      (faction_set_slot, "fac_culture_2", slot_faction_tier_1_troop, "trp_vaegir_recruit"),
      (faction_set_slot, "fac_culture_2", slot_faction_tier_2_troop, "trp_vaegir_footman"),
      (faction_set_slot, "fac_culture_2", slot_faction_tier_3_troop, "trp_vaegir_veteran"),
      (faction_set_slot, "fac_culture_2", slot_faction_tier_4_troop, "trp_vaegir_infantry"),
      (faction_set_slot, "fac_culture_2", slot_faction_tier_5_troop, "trp_vaegir_knight"),
      (faction_set_slot, "fac_culture_2",  slot_faction_tier_5_troop_female, "trp_bryton_yeowoman"),
      
      (faction_set_slot, "fac_culture_3", slot_faction_tier_1_troop, "trp_shirokami_peasant_man"),
      (faction_set_slot, "fac_culture_3", slot_faction_tier_2_troop, "trp_khergit_skirmisher"),
      (faction_set_slot, "fac_culture_3", slot_faction_tier_3_troop, "trp_khergit_horseman"),
      (faction_set_slot, "fac_culture_3", slot_faction_tier_4_troop, "trp_khergit_horse_archer"),
      (faction_set_slot, "fac_culture_3", slot_faction_tier_5_troop, "trp_khergit_veteran_horse_archer"),
      (faction_set_slot, "fac_culture_3",  slot_faction_tier_5_troop_female, "trp_bryton_yeowoman"),
      

      (faction_set_slot, "fac_culture_4", slot_faction_tier_1_troop, "trp_nord_recruit"),
      (faction_set_slot, "fac_culture_4", slot_faction_tier_2_troop, "trp_nord_footman"),
      (faction_set_slot, "fac_culture_4", slot_faction_tier_3_troop, "trp_nord_trained_footman"),
      (faction_set_slot, "fac_culture_4", slot_faction_tier_4_troop, "trp_nord_warrior"),
      (faction_set_slot, "fac_culture_4", slot_faction_tier_5_troop, "trp_nord_veteran"),
      (faction_set_slot, "fac_culture_4",  slot_faction_tier_5_troop_female, "trp_bryton_yeowoman"),
      

      (faction_set_slot, "fac_culture_5", slot_faction_tier_1_troop, "trp_rhodok_tribesman"),
      (faction_set_slot, "fac_culture_5", slot_faction_tier_2_troop, "trp_rhodok_spearman"),
      (faction_set_slot, "fac_culture_5", slot_faction_tier_3_troop, "trp_rhodok_trained_spearman"),
      (faction_set_slot, "fac_culture_5", slot_faction_tier_4_troop, "trp_rhodok_veteran_spearman"),
      (faction_set_slot, "fac_culture_5", slot_faction_tier_5_troop, "trp_rhodok_sergeant"),
      (faction_set_slot, "fac_culture_5",  slot_faction_tier_5_troop_female, "trp_bryton_yeowoman"),
      

      (faction_set_slot, "fac_culture_6", slot_faction_tier_1_troop, "trp_sarranid_recruit"),
      (faction_set_slot, "fac_culture_6", slot_faction_tier_2_troop, "trp_sarranid_footman"),
      (faction_set_slot, "fac_culture_6", slot_faction_tier_3_troop, "trp_sarranid_archer"),
      (faction_set_slot, "fac_culture_6", slot_faction_tier_4_troop, "trp_sarranid_horseman"),
      (faction_set_slot, "fac_culture_6", slot_faction_tier_5_troop, "trp_sarranid_mamluke"),
      (faction_set_slot, "fac_culture_6",  slot_faction_tier_5_troop_female, "trp_bryton_yeowoman"),

...

      (try_for_range, ":village_no", villages_begin, villages_end),
        (call_script, "script_update_volunteer_troops_in_village", ":village_no"),
        (call_script, "script_update_volunteer_troops_in_village_female", ":village_no"),
      (try_end),
      
...
 
Post script_update_volunteer_troops_in_village_female and script_update_volunteer_troops_in_village.
I suspect that your modified recruit script grabs slot_center_volunteer_troop_type or slot_center_volunteer_troop_type_female (normally it uses slot_center_npc_volunteer_troop_type), doesn't do validation, and adds the player's troop as recruit to parties. Those parties then get added xp every two days, and as part of those parties the player gains exp over and over. Double-check where you are fetching and setting the value of new slots and make sure any slot that is used to store troop id is greater than 0 (the player troop). Also check for slot range overlaps, because stuff being overwritten isn't fun.
 
script_update_volunteer_troops_in_village
Code:
  #script_update_volunteer_troops_in_village
  # INPUT: arg1 = center_no
  # OUTPUT: none
  ("update_volunteer_troops_in_village",
    [
       (store_script_param, ":center_no", 1),
       (party_get_slot, ":player_relation", ":center_no", slot_center_player_relation),
       (party_get_slot, ":center_culture", ":center_no", slot_center_culture),


##	   (try_begin),
##		(eq, "$cheat_mode", 2),
##	    (str_store_party_name, s4, ":center_no"),
##	    (str_store_faction_name, s5, ":center_culture"),
##	    (display_message, "str_updating_volunteers_for_s4_faction_is_s5"),
##	   (try_end),

	   ##slot_center_volunteer_troop_type
       ##slot_faction_tier_1_troop

##       (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_1_troop),
       (party_get_slot, ":volunteer_troop", ":center_no", slot_center_volunteer_troop_type),
       (assign, ":volunteer_troop_tier", 1),
       (store_div, ":tier_upgrades", ":player_relation", 10),
       (try_for_range, ":unused", 0, ":tier_upgrades"),
         (store_random_in_range, ":random_no", 0, 100),
         (lt, ":random_no", 10),
         (store_random_in_range, ":random_no", 0, 2),
         (troop_get_upgrade_troop, ":upgrade_troop_no", ":volunteer_troop", ":random_no"),
         (try_begin),
           (le, ":upgrade_troop_no", 0),
           (troop_get_upgrade_troop, ":upgrade_troop_no", ":volunteer_troop", 0),
         (try_end),
         (gt, ":upgrade_troop_no", 0),
         (val_add, ":volunteer_troop_tier", 1),
         (assign, ":volunteer_troop", ":upgrade_troop_no"),
       (try_end),

       (assign, ":upper_limit", 8),
       (try_begin),
         (ge, ":player_relation", 4),
         (assign, ":upper_limit", ":player_relation"),
         (val_div, ":upper_limit", 2),
         (val_add, ":upper_limit", 6),
       (else_try),
         (lt, ":player_relation", 0),
         (assign, ":upper_limit", 0),
       (try_end),


##diplomacy begin
      (assign, ":percent", 100),
      (try_begin), #-30% if not owner
        (neg|party_slot_eq, ":center_no", slot_town_lord, "trp_player"),
        (val_sub, ":percent", 30),
      (try_end),
      (try_begin), #1%/4 renown
        (troop_get_slot, ":player_renown", "trp_player", slot_troop_renown),
        (val_div, ":player_renown", 4),
        (val_add, ":percent", ":player_renown"),
      (try_end),
      (try_begin), #1%/3 honour
        (assign, ":player_honour", "$player_honor"),
        (val_div, ":player_honour", 3),
        (val_add, ":percent", ":player_honour"),
      (try_end),
      (try_begin), #+5% if king
        (faction_get_slot, ":faction_leader", "fac_player_supporters_faction", slot_faction_leader),
        (eq, ":faction_leader", "trp_player"),
        (val_add, ":percent", 5),

        (try_begin), #-5% for each point of serfdom
          (faction_get_slot, ":serfdom", "fac_player_supporters_faction", dplmc_slot_faction_serfdom),
          (neq, ":serfdom", 0),
          (val_mul, ":serfdom", 5),
          (val_sub, ":percent", ":serfdom"),
        (try_end),

        (try_begin),  #+5% if king of village
          (store_faction_of_party, ":faction", ":center_no"),
          (eq, ":faction", "fac_player_supporters_faction"),
          (val_add, ":percent", 5),
        (try_end),
      (try_end),

      (try_begin),
        (gt, ":upper_limit", 0),
        (val_clamp, ":percent", 0, 201),
        (val_mul, ":upper_limit", ":percent"),
        (val_div, ":upper_limit", 100),
      (try_end),

##diplomacy end


       (val_mul, ":upper_limit", 3),
       (store_add, ":amount_random_divider", 2, ":volunteer_troop_tier"),
       (val_div, ":upper_limit", ":amount_random_divider"),

       (store_random_in_range, ":amount", 0, ":upper_limit"),
       (party_set_slot, ":center_no", slot_center_volunteer_troop_type, ":volunteer_troop"),
       (party_set_slot, ":center_no", slot_center_volunteer_troop_amount, ":amount"),
     ]),

script_update_for_volunteer_troops_in_village_female
  #script_update_volunteer_troops_in_village_female
  # INPUT: arg1 = center_no
  # OUTPUT: none
  ("update_volunteer_troops_in_village_female",
    [
      (store_script_param, ":center_no", 1),
      (party_get_slot, ":player_relation", ":center_no", slot_center_player_relation),
      (party_get_slot, ":center_culture", ":center_no", slot_center_culture),


##   (try_begin),
## (eq, "$cheat_mode", 2),
##     (str_store_party_name, s4, ":center_no"),
##     (str_store_faction_name, s5, ":center_culture"),
##     (display_message, "str_updating_volunteers_for_s4_faction_is_s5"),
##   (try_end),

  ##slot_center_volunteer_troop_type
      ##slot_faction_tier_1_troop

##      (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_1_troop),
      (party_get_slot, ":volunteer_troop", ":center_no", slot_center_volunteer_troop_type_female),
      (assign, ":volunteer_troop_tier", 1),
      (store_div, ":tier_upgrades", ":player_relation", 10),
      (try_for_range, ":unused", 0, ":tier_upgrades"),
        (store_random_in_range, ":random_no", 0, 100),
        (lt, ":random_no", 10),
        (store_random_in_range, ":random_no", 0, 2),
        (troop_get_upgrade_troop, ":upgrade_troop_no", ":volunteer_troop", ":random_no"),
        (try_begin),
          (le, ":upgrade_troop_no", 0),
          (troop_get_upgrade_troop, ":upgrade_troop_no", ":volunteer_troop", 0),
        (try_end),
        (gt, ":upgrade_troop_no", 0),
        (val_add, ":volunteer_troop_tier", 1),
        (assign, ":volunteer_troop", ":upgrade_troop_no"),
      (try_end),

      (assign, ":upper_limit", :cool:,
      (try_begin),
        (ge, ":player_relation", 4),
        (assign, ":upper_limit", ":player_relation"),
        (val_div, ":upper_limit", 2),
        (val_add, ":upper_limit", 6),
      (else_try),
        (lt, ":player_relation", 0),
        (assign, ":upper_limit", 0),
      (try_end),


##diplomacy begin
      (assign, ":percent", 100),
      (try_begin), #-30% if not owner
        (neg|party_slot_eq, ":center_no", slot_town_lord, "trp_player"),
        (val_sub, ":percent", 30),
      (try_end),
      (try_begin), #1%/4 renown
        (troop_get_slot, ":player_renown", "trp_player", slot_troop_renown),
        (val_div, ":player_renown", 4),
        (val_add, ":percent", ":player_renown"),
      (try_end),
      (try_begin), #1%/3 honour
        (assign, ":player_honour", "$player_honor"),
        (val_div, ":player_honour", 3),
        (val_add, ":percent", ":player_honour"),
      (try_end),
      (try_begin), #+5% if king
        (faction_get_slot, ":faction_leader", "fac_player_supporters_faction", slot_faction_leader),
        (eq, ":faction_leader", "trp_player"),
        (val_add, ":percent", 5),

        (try_begin), #-5% for each point of serfdom
          (faction_get_slot, ":serfdom", "fac_player_supporters_faction", dplmc_slot_faction_serfdom),
          (neq, ":serfdom", 0),
          (val_mul, ":serfdom", 5),
          (val_sub, ":percent", ":serfdom"),
        (try_end),

        (try_begin),  #+5% if king of village
          (store_faction_of_party, ":faction", ":center_no"),
          (eq, ":faction", "fac_player_supporters_faction"),
          (val_add, ":percent", 5),
        (try_end),
      (try_end),

      (try_begin),
        (gt, ":upper_limit", 0),
        (val_clamp, ":percent", 0, 201),
        (val_mul, ":upper_limit", ":percent"),
        (val_div, ":upper_limit", 100),
      (try_end),

##diplomacy end


      (val_mul, ":upper_limit", 3),
      (store_add, ":amount_random_divider", 2, ":volunteer_troop_tier"),
      (val_div, ":upper_limit", ":amount_random_divider"),

      (store_random_in_range, ":amount", 0, ":upper_limit"),
      (party_set_slot, ":center_no", slot_center_volunteer_troop_type_female, ":volunteer_troop"),
      (party_set_slot, ":center_no", slot_center_volunteer_troop_amount, ":amount"),
    ]),

Issue seems to be resolved - I found slot_center_volunteer_troop_type_female in module_constants may have been overwriting something, because I changed the number and I've been unable to recreate the XP issue (waiting it out and winning battles).
 
Can anyone share what the "ideal" export options are for weapons/armor from Blender for use in Warband?
I have a few models (quads) + UVs, I know I need to tick the "Triangulate Faces" option, but what else?

AXzS8qI.png

Thanks!
 
Greetings, wrwlf.
I'm not sure I understood what you mean by "ideal" right. I don't think there are any Warband specific options. Export UVs is for texturing. Triangulate is to convert faces to triangles. All options are more or less self-explanatory. If you place a mouse cursor over an option you will see a short description.
You can find more information here: https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Wavefront_OBJ
Everything depends on a situation. Example: you have an armour with mirror and subdivision surface modifiers. And you don't want to apply there modifiers for easier editing later. Then you can use apply modifiers during export.
If you want to export a vertex animated mesh you can use animation option (to export each frame as a separate .obj file and merge those in a vertex animation in OpenBRF) instead of using .md3.
But remember that for armours you need to use .smd format and not .obj.
I hope this helps.
 
Thanks Coal!

That's basically it. I guess since I have almost zero experience with 3D modelling/texturing I just want to make sure I get everything "right" the first time.
 
I need an answer to these three QUESTIONS with some bg info. Wonder if some smart person is able to do so.

1. I can create a whole troop tree using morgh's tools but how to get them recruited from my kingdom's villages?

2. If I want to combine several osp sources, kits etc, which is the easiest way to do so without having to read and write tooooo much?

Need to make clear that I don't know python,  have beginners knowledge about modsys, :oops: and so , currently mod for my own enjoyment.

Answering me is not an obligation but if you're willing, I won't stop You from this as it ain't harmful.  :grin:
 
1. If u are using only morghs than begin your own troop tree from swadian/vaegir/etc recruits
for example:
swadian recruit upgrades to swadian militia/custom unit 2
vaegir recruit upgrades to vaegir militia/custom unit 2
You hire recruits from other kingdoms in your villages and upgrade them into your custom troops. But i highly reccomend to use module system and make all correctly. There is guide about hiring  custom troops in own kingdom.

2. OSP is very easy to employ. write "load_mod_resouce = "osp name here" " in your module.ini and add item with help of morghs (copy item and then change meshes, flags, etc). Or you can easily add items with help of MS.

One thing you should know. MS is not a Python. It has it's own language and it is not very hard to learn. Only compiler is  real python.

Hope my answers were enougth for u :smile:



 
homicuda said:
1. If u are using only morghs than begin your own troop tree from swadian/vaegir/etc recruits
for example:
swadian recruit upgrades to swadian militia/custom unit 2
vaegir recruit upgrades to vaegir militia/custom unit 2
You hire recruits from other kingdoms in your villages and upgrade them into your custom troops. But i highly reccomend to use module system and make all correctly. There is guide about hiring  custom troops in own kingdom.

2. OSP is very easy to employ. write "load_mod_resouce = "osp name here" " in your module.ini and add item with help of morghs (copy item and then change meshes, flags, etc). Or you can easily add items with help of MS.

One thing you should know. MS is not a Python. It has it's own language and it is not very hard to learn. Only compiler is  real python.

Hope my answers were enougth for u :smile:

Thnx. But still..... Just need a link about the guide of custom troops if u don't mind. Please  :wink:
 
frozenpainter said:
How can I change upgrade price?
Svadian recruit----->swadian Militia (10 denar)  I want change 10 denar.

How do I ... ?

Start by opening file ID_scripts.py. It lists all the scripts in the game, its quick to search on it (as there is nothing else, just the name). See this example:
script_game_get_troop_wage = 19
script_game_get_total_wage = 20
script_game_get_join_cost = 21
script_game_get_upgrade_xp = 22
script_game_get_upgrade_cost = 23
script_game_get_prisoner_price = 24

Look at script 23, it seems like what you are looking for
Code:
  # script_game_get_upgrade_cost
  # This script is called from game engine for calculating needed cost upgrade
  # Input:
  # param1: troop_id,
  # Output: reg0 = needed cost for upgrade
  ("game_get_upgrade_cost",
    [
      (store_script_param_1, ":troop_id"),
      
      (store_character_level, ":troop_level", ":troop_id"),
      
      (try_begin),
        (is_between, ":troop_level", 0, 6),
        (assign, reg0, 10),
      (else_try),
        (is_between, ":troop_level", 6, 11),
        (assign, reg0, 20),
      (else_try),
        (is_between, ":troop_level", 11, 16),
        (assign, reg0, 40),
      (else_try),
        (is_between, ":troop_level", 16, 21),
        (assign, reg0, 80),
      (else_try),
        (is_between, ":troop_level", 21, 26),
        (assign, reg0, 120),
      (else_try),
        (is_between, ":troop_level", 26, 31),
        (assign, reg0, 160),
      (else_try),
        (assign, reg0, 200),
      (try_end),
      
      (set_trigger_result, reg0),
  ]),
^ comment is wrong on module_scripts.py ...

Now look at the code on module_scripts.py and test if that is what you need. And so on.

My Q&A on modding VC has a few "how do I find this thingy on module system" tutorials, if you want to check that out. The ability to find your own stuff is important, as we are talking about hundreds of thousands of lines of code
 
Thanks for answering my previous questions a few pages back. Now I'd like to know whether it is possible to remove the light of the sun in a
scene. Is there anyone who can answer this question for me  :smile:?
 
Quintillius said:
Now I'd like to know whether it is possible to remove the light of the sun in a
scene.
Add sf_no_shadows to the skybox flags (Skyboxes.py) and force this specific skybox when you like to disable the sunlight.
Another solution is to play around with shaders if you want a more dynamic solution.

if you don't need a skybox either, then you can just use this scene flag;
Code:
sf_indoors           = 0x00000001   #The scene shouldn't have a skybox and lighting by sun.
 
Quintillius said:
Though my scene is really bright now. Can I change some settings to reduce the brightness to an acceptable level?
It is defined in module_postfx.

TheCaitularity said:
I'm curious, is there a way to change the reqiurements for bows and throwing weapons to just be Strength as opposed to Power Draw/Throw? Or is that hardcoded into the weapon type?
It's hardcoded, however it can be bypassed by using WSE.
 
Can multimesh components' textures/materials be altered via script?

Let's say I have multimesh mm.1, mm.2, mm.3
If I wanted to only alter the material of mm.2, could I use the following:

Code:
cur_item_set_material               = 1978  # (cur_item_set_material, <string_no>, <sub_mesh_no>, [<lod_begin>], [<lod_end>]),
                                                               # Version 1.161+. Only call inside ti_on_init_item trigger. Replaces material that will be used to render the item mesh. Use 0 for <sub_mesh_no> to replace material for base mesh. LOD values are optional. If <lod_end> is used, it will not be loaded.

and call it with:

Code:
(cur_item_set_material, "material_name", 2)

I guess I cannot call this "dynamically" during a battle?
 
Status
Not open for further replies.
Back
Top Bottom