[WB] Warband Script Enhancer v4.9.5 for 1.174

Users who are viewing this thread

Hello',

Using Visual Studio 2017 Enterprise here and have had troubles compiling.
It appears you're using hand-written paths specific to your setup which prevented me to compile some projects of the solution.

After quite some researches, it appears the properties for projects `WSELib` & `WSELoader` use build dir `WSEBuild` instead of `BuildFiles`.
I had to replace all the occurences in the project properties, in the `Post-Build Event` section of each target for each projects.

The `WSEProfiler` project also holds a complete path which looks to be related to your own setup:
copy "$(TargetPath)" "D:\Dev\WSE\WSEBuild\WSEProfilerGUI.exe"

After fixing each of those issues, I managed to be able to compile all the projects of the solution.
 
It works if you just create WSEBuild manually, I guess this folder is incorrectly on the ignore list and therefore not in the repo.
Also worth mentioning that you need VS2013, or at least the 2013/v120 toolset.
 
The folder is not being created when not existing, and it appears to be deleted on compilation.
Fixing the links seem to have worked, you maybe should create a variable for this folder so you don't have this issue anymore in the future.

Using v140 toolset works well.
 
Updated
-Lua scripting support.
-Added operation send_post_message_to_url_advanced.
-Fixed operation dict_from_url_encoded_json.
-Operation dict_to_url_encoded_json now created json is writen in a single line.

WSE v4.5.0 (for Warband 1.170)

Thanks AgentSmith for awesome work on Lua scripting support https://forums.taleworlds.com/index.php/topic,363754.0.html

Since the GET is limited to url size,  you can use send_post_message_to_url_advanced to transmit a large amount of data, eg dictionaries.

Code:
("send_post_request",
    [
        (try_begin),
	  (dict_create, "$g_test_dict"),
            (dict_set_str, "$g_test_dict", "@key1", "@value"),
            (dict_set_int, "$g_test_dict", "@key2", 145),
            (dict_to_url_encoded_json, s3, "$g_test_dict"),
            (assign, reg1, 1),
            (str_store_string, s4, "@string"),
            (send_post_message_to_url_advanced, "@http://yoursite.com/json.php", "@Mount Blade HTTP", "@json={s3}&string={s4}&int={reg1}"),
        (try_end),
    ]), 

PHP:
$dict = json_decode(urldecode($_POST['json']))

 
Whelp, seems I can't use this because I have Warband version 1.171 LOL.

Still, I don't need it too urgently unless there is a way to use it to extend the distance to lords in the character window, or enable the zoom function during dialogs like in the face editor window. It would finally allow for Chaos Lord heads to fit in the conversation window in Warsword Conquest :razz:. But I have a feeling that's too much to hope for even with the ability to edit hardcoded functions, alas.
 
So i have version 1.172, i cant use this or any version of the program, which sucks because i really wanted to play floris evolved. Anyone have a download link for WSE 3.2.0 by any chance?
 
Hi, I'm trying to play some mods so I downloaded the wes loader 4.3.3, I have warband 1.172
Somehow the loader is asking me to activate the game... (I bought the game from steam and is already activated)
When I enter my code (4x4) the activation is denied...

Any idea what I can do?
 
Hey,

I have a question about the dict operations.
It saves a file and so on all good - I know how to load/save etc.

If I modify for example in dictonary:
Key is HP
and value is 5

I manually change out-of-game value to 50 and save.
Like: hp5 to hp50
As soon as I join and load the int back in, the dict seems to be broken.
If I do: hp5 to hp6 then all is fine but as soon as the INT length is bigger the dict breaks.

Why's that?
 
Updated
-Restored function of profiler.
-Fixed precision loss for agent_get_animation_progress, agent_get_scale, fst, get_water_level, party_stack_get_experience, position_get_vector_to_position, overlay_get_val operations. And for triggers: max rotation speed for ti_on_agent_turn and raw damage for ti_on_agent_hit.

WSE v4.5.3 (for Warband 1.170)
 
Updated
-More skins support for multiplayer profile. Required network_compatible = 0.
-Limit for multiplayer gold increased to 1000000000. Required network_compatible = 0.
-Added operation multiplayer_cur_profile_get_skin.

WSE v4.5.4 (for Warband 1.170)

Added very useful feature for fantasy multiplayer mods - you are no longer limited only to the male and female skin when choosing a character.

fFgLWG5kRXyaqZIcNDFKJA.png

-LmJjOyOQHyYivDOcmKQ1g.png
Game supports maximum 16 skins (maybe i break this limitation in future).

add skin

module_skins.py
Code:
 (
    "undead", 0,
    "undead_body", "undead_calf_l", "new_undead_handL",
    "undead_head", undead_face_keys,
    ["man_hair_s","man_hair_m","man_hair_n","man_hair_o", "man_hair_y10", "man_hair_y12","man_hair_p","man_hair_r","man_hair_q","man_hair_v","man_hair_t","man_hair_y6","man_hair_y3","man_hair_y7","man_hair_y9","man_hair_y11","man_hair_u","man_hair_y","man_hair_y2","man_hair_y4","shortlayer","shoulderhair","shortbob","straightshoulder","courthair","hairmessy","man_hair_cvi"],
    ["beard_e","beard_d","beard_k","beard_l","beard_i","beard_j","beard_z","beard_m","beard_n","beard_y","beard_p","beard_o",   "beard_v", "beard_f", "beard_b", "beard_c","beard_t","beard_u","beard_r","beard_s","beard_a","beard_h","beard_g",],
    ["hair_blonde", "hair_red", "hair_brunette", "hair_black", "hair_white"],
    ["beard_blonde","beard_red","beard_brunette","beard_black","beard_white"],
    [("undeadface",0xFFFFFFFF,["hair_blonde"],[0xffffffff, 0xffb04717, 0xff502a19]), ],
    [(voice_die, "snd_undead_die"),(voice_hit, "snd_undead_hit"),(voice_grunt, "snd_undead_grunt"),(voice_grunt_long, "snd_undead_grunt"),(voice_victory, "snd_undead_victory")],
    "skel_human", 1.0,
    psys_game_blood,psys_game_blood_2,
  ),

add troop flag

header_troops.py
Code:
tf_male           = 0
tf_female         = 1
tf_undead         = 2

add multiplayer troop to this skin

module_troops.py
Code:
["multiplayer_profile_troop_male","multiplayer_profile_troop_male","multiplayer_profile_troop_male", tf_hero|tf_guarantee_all, 0, 0,fac_commoners,
   [],
   0, 0, 0, 0x000000018000000136db6db6db6db6db00000000001db6db0000000000000000],
  ["multiplayer_profile_troop_female","multiplayer_profile_troop_female","multiplayer_profile_troop_female", tf_hero|tf_female|tf_guarantee_all, 0, 0,fac_commoners,
   [],
   0, 0, 0, 0x000000018000000136db6db6db6db6db00000000001db6db0000000000000000],
  ["multiplayer_profile_troop_undead","multiplayer_profile_troop_undead","multiplayer_profile_troop_undead", tf_hero|tf_undead|tf_guarantee_all, 0, 0,fac_commoners,
   [],
   0, 0, 0, 0x000000018000000136db6db6db6db6db00000000001db6db0000000000000000],


break network compability, enable skins and set num playable skins

module.ini
Code:
# set to 0 to break network compatibilty and enable advanced WSE features like composite network messages and more skins in multiplayer
network_compatible = 0
# set to 1 to enable more skins support for multiplayer profile
more_skins_support_for_multiplayer_profile = 1
# set num skins for multiplayer profile (minimum 2)
num_skins_for_multiplayer_profile = 3

for prevent player change option num_skins_for_multiplayer_profile to play wrong skins add this trigger

module_mission_templates.py
Code:
(ti_server_player_joined, 0, 0, [],
       [
         (store_trigger_param_1, ":player_no"),
         (player_get_gender, ":player_gender", ":player_no"),
         (try_begin),
        (ge, ":player_gender", 3), #num playable skins
        (player_set_skin, ":player_no", tf_male),
     (try_end),
         ]),

change game_profile_window for correct show profile character image

module_tableau_materials.py
Code:
  ("game_profile_window", 0, "tableau_with_transparency", 1024, 1024, 0, 0, 320, 480, [
    #(store_script_param, ":profile_no", 1),
 
    (multiplayer_cur_profile_get_skin, ":gender"),
 
    #(assign, ":gender", ":profile_no"),
    #(val_mod, ":gender", 2),
    (try_begin),
      (eq, ":gender", tf_male),
      (assign, ":troop_no", "trp_multiplayer_profile_troop_male"),
    (else_try),
      (eq, ":gender", tf_undead),
      (assign, ":troop_no", "trp_multiplayer_profile_troop_undead"),
    (else_try),
      (assign, ":troop_no", "trp_multiplayer_profile_troop_female"),
    (try_end),

   ................. #other code unchanged

add skins names for profile menu combobox (skin_<no>). Be sure add to language csv files!

module_string.py
Code:
("skin_0", "Male"),
("skin_1", "Female"),
("skin_2", "Undead"),

languages\en\game_strings.csv
Code:
str_skin_0|Male
str_skin_1|Female
str_skin_2|Undead
 
Last edited:
Back
Top Bottom