Search results

  1. Azremen

    Warband Script Enhancer 2 (v1.0.8.9)

    But if i already downloaded the files from dropbox, does that mean its redundant files?
    launcher has self update thats why it has a connection like that.
  2. Azremen

    Warband Script Enhancer 2 (v1.0.8.9)

    Raising ironflesh attribute button not clickable and reading str based attributes not readable after adding sf_inactive flag on other hardcoded skills is bugged for me in my own module here is what i did
    Code:
    skills = [
      ("trade","Trade",sf_base_att_cha|sf_effects_party|sf_inactive,10,"Every level of this skill reduces your trade penalty by 5%%. (Party skill)"),
      ("leadership","Leadership",sf_base_att_cha|sf_inactive,10,"Every point increases maximum number of troops you can command by 5, increases your party morale and reduces troop wages by 5%%. (Leader skill)"),
      ("prisoner_management","Prisoner Management",sf_base_att_cha|sf_inactive,10,"Every level of this skill increases maximum number of prisoners by %d. (Leader skill)"),
      ("herding", "Herding", sf_base_att_int, 10, "Ability to herd animals and breed them."),
      ("prospecting", "Prospecting", sf_base_att_int, 10, "Ability to prospect ores (as prospecting level gets higher, you get more quality from ores) and search for natural resources."),
      ("forestry", "Forestry", sf_base_att_int, 10, "Ability to plant, fertilize the trees and gather saplings from them."),
      ("labouring", "Labouring", sf_base_att_str, 10, "Ability to mine and cut down."),
      ("persuasion","Persuasion", sf_base_att_int|sf_inactive,10, "This skill helps you make other people accept your point of view. It also lowers the minimum level of relationship needed to get NPCs to do what you want. (Personal skill)"),
      ("engineer", "Engineer", sf_base_att_int, 10, "This skill allows you to construct buildings and siege equipments."),
      ("first_aid", "First Aid", sf_base_att_int, 10, "Ability to tend bleeding."),
      ("surgery", "Surgery", sf_base_att_int, 10, "Ability to do surgeries and fix limbs."),
      ("wound_treatment", "Wound Treatment", sf_base_att_int, 10, "Ability to treat tended wounds."),
      ("inventory_management", "Inventory Management", sf_base_att_int|sf_inactive, 10, "Increases inventory capacity by +6 kg per skill level."),
      ("spotting","Spotting",sf_base_att_int|sf_effects_party|sf_inactive,10,"Party seeing range is increased by 10%% per skill level. (Party skill)"),
      ("pathfinding","Path-finding",sf_base_att_int|sf_effects_party|sf_inactive,10,"Party map speed is increased by 3%% per skill level. (Party skill)"),
      ("tactics","Tactics",sf_base_att_int|sf_effects_party|sf_inactive,10,"Every two levels of this skill increases starting battle advantage by 1. (Party skill)"),
      ("tracking", "Tracking", sf_base_att_int, 10, "Tracks become more informative."),
      ("trainer", "Trainer", sf_base_att_int, 10, "Increase amount of experience gained. (Train someone to get experience for this skill.)"),
      ("tailoring", "Tailoring", sf_base_att_agi, 10, "Ability to sew clothes and make heraldry."),
      ("weapon_smithing", "Weapon Smithing", sf_base_att_int, 10, "Ability to forge weapons."),
      ("armour_smithing", "Armour Smithing", sf_base_att_int, 10, "Ability to knit armors and forge armor plates."),
      ("white_smithing", "White Smithing", sf_base_att_int, 10, "This skill allows you to mint coins. (You need to be in a kingdom and kingdom's official to mint coin.)"),
      ("looting","Looting",sf_base_att_agi|sf_effects_party|sf_inactive,10,"This skill increases the amount of loot obtained by 10%% per skill level. (Party skill)"),
      ("horse_archery", "Horse Archery", sf_base_att_agi, 10, "Reduces damage and accuracy penalties for archery and throwing from horseback."),
      ("riding", "Riding", sf_base_att_agi, 10, "Enables you to ride horses of higher difficulty levels and increases your riding speed and manuever."),
      ("athletics", "Athletics", sf_base_att_agi, 10, "Improves your running speed."),
      ("shield", "Shield", sf_base_att_agi, 10, "Gives ability to repair shield and reduces the durability damage to shields by 8%%"),
      ("weapon_master", "Weapon Master", sf_base_att_agi, 10, "Gives ability to repair weapons and reduces the durability damage to weapons by 3%%"),
      ("reserved_9","Reserved Skill 9",sf_base_att_agi|sf_inactive,10,"This is a reserved skill."),
      ("reserved_10","Reserved Skill 10",sf_base_att_agi|sf_inactive,10,"This is a reserved skill."),
      ("reserved_11","Reserved Skill 11",sf_base_att_agi|sf_inactive,10,"This is a reserved skill."),
      ("reserved_12","Reserved Skill 12",sf_base_att_agi|sf_inactive,10,"This is a reserved skill."),
      ("reserved_13","Reserved Skill 13",sf_base_att_agi|sf_inactive,10,"This is a reserved skill."),
      ("power_draw","Power Draw",sf_base_att_str,10,"Lets character use more powerful bows. Each point to this skill (up to four plus power-draw requirement of the bow) increases bow damage by 14%%. (Personal skill)"),
      ("power_throw","Power Throw",sf_base_att_str,10,"Each point to this skill increases throwing damage by 10%%. (Personal skill)"),
      ("power_strike","Power Strike",sf_base_att_str,10,"Each point to this skill increases melee damage by 8%%. (Personal skill)"),
      ("ironflesh","Ironflesh",sf_base_att_str,10,"Each point to this skill increases hit points by +2. (Personal skill)"),
      ("reserved_14","Reserved Skill 14",sf_base_att_str|sf_inactive,10,"This is a reserved skill."),
      ("reserved_15","Reserved Skill 15",sf_base_att_str|sf_inactive,10,"This is a reserved skill."),
      ("reserved_16","Reserved Skill 16",sf_base_att_str|sf_inactive,10,"This is a reserved skill."),
      ("reserved_17","Reserved Skill 17",sf_base_att_str|sf_inactive,10,"This is a reserved skill."),
      ("reserved_18","Reserved Skill 18",sf_base_att_str|sf_inactive,10,"This is a reserved skill."),
    ]
  3. Azremen

    WB Coding Scaling Scene Props In Multiplayer

    Hi, Eärendil brought me here. The neg^multiplayer_is_server thing is very misleading. This is processed by the Python-based compiler when generating the weird lines that end up in the .txt files and it only works at all because the bits of both numbers don't touch.

    Python:
    >>> hex(0x80000000 | 417)
    '0x800001a1'
    >>> hex(0x80000000 ^ 417)
    '0x800001a1'

    The game sees the same M&B operation code / opcode. So what? Why? ¯\_(ツ)_/¯

    An exclusive OR (XOR) works like a plain OR whenever both bits are not one, see the truth table here and compare XOR with OR. So using this for flags is a bit like falling sideways while going down a rail but sticking the landing; ^ technically produces the same result, but when you want to combine flags in a bitfield with the rest of a number you really want to use the | operation to merge all the 1 bits from top and bottom into the same number, you don't really want that your bits return zero whenever the top and bottom bits are one, even if in this case does not happen, so you don't get this unintentional behavior with these particular module system numbers.

    And I don't want to sound mean, but don't think the precision argument has any merit in this case because you are not shifting/rotating bits left or right, they stay in place, and they are of the same type/size. Sounds a bit like programming snake oil.

    Python:
    10000000000000000000000000000000 # 0x80000000 => 2147483648 in decimal => neg
                           110100001 #      0x1a1 =>        417 in decimal => multiplayer_is_server
    -------------------------------- # ----------
    10000000000000000000000110100001 # 0x800001a1 = (0x80000000 | 0x1a1) which is the same as doing (0x80000000 | 417)


    In the table above, if you do an OR operation, as long as there is some 1 in the input (e.g. 1|1, 0|1, 1|0) it will output one, for XOR if both are one (1^1) will be zero, this is generally used to negate or toggle boolean variables easily. Turning True into False and vice versa.

    TL;DR: Don't get me wrong, XOR is very useful for many other low-level and fun operations, but it shouldn't be used for concatenating flags. I can use other unrelated operations that also give the same result and look cool, but that doesn't make it right.

    Python:
    >>> hex(0x80000000 + 417)
    '0x800001a1'
    >>> hex((0x80000000 - ~417) - 1)
    '0x800001a1'
    >>> hex(~(~0x80000000 & ~417)) # swy: same as OR, but obfuscated with NAND
    '0x800001a1'

    Hope that helps at least a bit. :party:
    I see now. Didn't think that way before.

    Edit: I just updated and collision grew but not texture and use symbol's area when I approach from green side. Here is whole code

    Code:
    ("game_receive_network_message",
        [
            (store_script_param, ":player_id", 1),
            (store_script_param, ":event_type", 2),
            (try_begin),
                (neg|multiplayer_is_server),
                (try_begin),
                    ... # I hid this part so its more clearer
                (else_try),
                    (eq, ":event_type", client_event_player_set_scene_prop_scale),
                    (set_fixed_point_multiplier, 1000),
                    (try_for_prop_instances, ":prop_instance",  "spr_barrier_20m"),
                        (scene_prop_get_slot, ":prop_slot_x", ":prop_instance", scene_prop_slot_scale_x),
                        (scene_prop_get_slot, ":prop_slot_y", ":prop_instance", scene_prop_slot_scale_y),
                        (scene_prop_get_slot, ":prop_slot_z", ":prop_instance", scene_prop_slot_scale_z),
                        (gt, ":prop_slot_x", 0),
                        (gt, ":prop_slot_y", 0),
                        (gt, ":prop_slot_z", 0),
                        (prop_instance_set_scale, ":prop_instance", ":prop_slot_x", ":prop_slot_y", ":prop_slot_z"),
                        (rebuild_shadow_map),
                    (try_end),
                (try_end),
            (else_try),

    Code:
    ("spawn_boundaries",
        [
            (set_fixed_point_multiplier, 1000),
            (init_position, pos0),
            (get_scene_boundaries, pos1, pos2),
            (position_get_x, ":pos1x",pos1),
            (position_get_x, ":x", pos2),
            (val_add, ":x", ":pos1x"),
            (val_div, ":x", 2),
            (position_get_x, ":pos1y",pos1),
            (position_get_y, ":y", pos2),
            (val_add, ":y", ":pos1y"),
            (val_div, ":y", 2),
            (try_for_range, ":count", 0, 4),
                (try_begin),
                    (eq, ":count", 0), #north
                    (store_mul, ":newy", ":y", 2),
                    (store_div, ":minusy", ":newy", 8),
                    (val_sub, ":newy", ":minusy"),
                    (position_set_x, pos0, ":x"),
                    (position_set_y, pos0, ":newy"),
                    (position_set_z_to_ground_level, pos0),
                    (set_spawn_position, pos0),
                    (spawn_scene_prop, "spr_barrier_20m"),
                    (prop_instance_get_scale, pos1, reg0),
                    (position_get_scale_x, reg1, pos1),
                    (val_mul, reg1, 100),
                    (position_get_scale_y, reg2, pos1),
                    (position_get_scale_z, reg3, pos1),
                    (val_mul, reg3, 100),
                    (position_set_scale_x, pos1, reg1),
                    (position_set_scale_z, pos1, reg3),
                    (position_get_scale_x, reg4, pos1),
                    (position_get_scale_y, reg5, pos1),
                    (position_get_scale_z, reg6, pos1),
                    (prop_instance_set_scale, reg0, reg4, reg5, reg6),
                    (prop_instance_set_position, reg0, pos0),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_x, reg4),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_y, reg5),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_z, reg6),
                (else_try),
                    (eq, ":count", 1), #east
                    (store_mul, ":newx", ":x", 2),
                    (store_div, ":minusx", ":newx", 8),
                    (val_sub, ":newx", ":minusx"),
                    (position_set_x, pos0, ":newx"),
                    (position_set_y, pos0, ":y"),
                    (position_set_z_to_ground_level, pos0),
                    (set_spawn_position, pos0),
                    (spawn_scene_prop, "spr_barrier_20m"),
                    (prop_instance_get_scale, pos1, reg0),
                    (position_get_scale_x, reg1, pos1),
                    (position_get_scale_y, reg2, pos1),
                    (val_mul, reg2, 100),
                    (position_get_scale_z, reg3, pos1),
                    (val_mul, reg3, 100),
                    (position_set_scale_y, pos1, reg2),
                    (position_set_scale_z, pos1, reg3),
                    (position_get_scale_x, reg4, pos1),
                    (position_get_scale_y, reg5, pos1),
                    (position_get_scale_z, reg6, pos1),
                    (prop_instance_set_scale, reg0, reg4, reg5, reg6),
                    (prop_instance_set_position, reg0, pos0),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_x, reg4),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_y, reg5),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_z, reg6),
                (else_try),
                    (eq, ":count", 2), #south
                    (store_mul, ":newy", ":y", 2),
                    (val_div, ":newy", 16),
                    (position_set_x, pos0, ":x"),
                    (position_set_y, pos0, ":newy"),
                    (position_set_z_to_ground_level, pos0),
                    (set_spawn_position, pos0),
                    (spawn_scene_prop, "spr_barrier_20m"),
                    (prop_instance_get_scale, pos1, reg0),
                    (position_get_scale_x, reg1, pos1),
                    (val_mul, reg1, 100),
                    (position_get_scale_y, reg2, pos1),
                    (position_get_scale_z, reg3, pos1),
                    (val_mul, reg3, 100),
                    (position_set_scale_x, pos1, reg1),
                    (position_set_scale_z, pos1, reg3),
                    (position_get_scale_x, reg4, pos1),
                    (position_get_scale_y, reg5, pos1),
                    (position_get_scale_z, reg6, pos1),
                    (prop_instance_set_scale, reg0, reg4, reg5, reg6),
                    (prop_instance_set_position, reg0, pos0),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_x, reg4),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_y, reg5),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_z, reg6),
                (else_try),
                    (eq, ":count", 3), #west
                    (store_mul, ":newx", ":x", 2),
                    (val_div, ":newx", 16),
                    (position_set_x, pos0, ":newx"),
                    (position_set_y, pos0, ":y"),
                    (position_set_z_to_ground_level, pos0),
                    (set_spawn_position, pos0),
                    (spawn_scene_prop, "spr_barrier_20m"),
                    (prop_instance_get_scale, pos1, reg0),
                    (position_get_scale_x, reg1, pos1),
                    (position_get_scale_y, reg2, pos1),
                    (val_mul, reg2, 100),
                    (position_get_scale_z, reg3, pos1),
                    (val_mul, reg3, 100),
                    (position_set_scale_y, pos1, reg2),
                    (position_set_scale_z, pos1, reg3),
                    (position_get_scale_x, reg4, pos1),
                    (position_get_scale_y, reg5, pos1),
                    (position_get_scale_z, reg6, pos1),
                    (prop_instance_set_scale, reg0, reg4, reg5, reg6),
                    (prop_instance_set_position, reg0, pos0),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_x, reg4),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_y, reg5),
                    (scene_prop_set_slot, reg0, scene_prop_slot_scale_z, reg6),
                (try_end),
            (try_end),
        ]),

    Code:
    (ti_after_mission_start, 0, 0, [],
    [
        (try_begin),
            (multiplayer_is_server),
            (call_script, "script_spawn_skyboxes"),
            (call_script, "script_spawn_boundaries"),
        (try_end),
        (try_begin),
            ... # I hid this part so its more clearer
        (try_end),
    ])

    Code:
    (ti_server_player_joined, 0, 0, [],
    [
        (store_trigger_param, ":player_id", 1),
    
        (player_set_team_no, ":player_id", multi_team_default),
    
        (multiplayer_send_message_to_player, ":player_id", client_event_player_set_scene_prop_scale),
        ... # I hid this part so its more clearer
    ])

  4. Azremen

    WB Coding Scaling Scene Props In Multiplayer

    I have not ever learned about ^, so perhaps it can be mentioned in the Modding Guide. As for the rest, it depends on what you are modding? NW, PK or Native?
    No our own module from scrap.
    In Warband I only know of the negation via neg|<operation>. I wasn't aware of that either and it seems to work as he does not get any error at compiling. I would however rather not drop it at the modding guide because I don't think it brings any additional advantage at MaBL compared to the regular negation, it should have the same effect (to make sure of that I would however test the whole thing also with a regular |).
    Check bitshifting tutorials on the internet. OR operation makes some values missing in some big numbers and XOR represents them better. Only difference between them is precise things. There is no performance or functionality differences.
  5. Azremen

    WB Coding Scaling Scene Props In Multiplayer

    A few things:
    1. make sure not to make typos (^) such as in neg^multiplayer_is_server,
    2. you can insert the server check command in the first square bracket field such as in 0, 0, [],
    3. I am not sure at all, but you may try using the rebuild_shadow_map operation since it also rebuilds collision (apparently). I must stress I am not sure if that is the case; I only remember it from Dalion's message on Discord many months ago, so I may be wrong,
    4. I also am not sure if your ti_after_mission_start trigger type is the right choice for what you want to achieve. After the initialization of props it may not be possible to easily spawn, modify and use scripted properties of new ones without introducing some server/ client network events,
    5. on a side note, skybox can be set with set_skybox so I do not know how you want to spawn them.
    1. Thank you for your reply but '^' is not a typo its xor and as far as i know its more precise when it comes to negations.
    2. Thanks will try that.
    3. If this works i will let you know.
    4. You can't spawn it before mission starts
    5. I have been updating the time dynamically and set skybox is one time for using so i have to use skyboxes as scene props.

    EDIT: It didn't work when i execute rebuild shadow map operation, results are the same.
  6. Azremen

    WB Coding Scaling Scene Props In Multiplayer

    Putting the sokf_moveable flag on the scene props you're scaling might help - at least it did for me when I was moving props around via code.
    Its already moveable flagged. Just editted my message to show it.
  7. Azremen

    WB Coding Scaling Scene Props In Multiplayer

    Hello fellow modders, I have been modding for some quite time and I haven't able to solve this issue. Issue is when I scale a scene prop in multiplayer via scripts after mission started their textures doesn't scale and physics of the object get messy. Question is how can I prevent physics get...
  8. Azremen

    Warband Script Enhancer 2 (v1.0.8.9)

    Yo I have been trying to make a scrap module and I think I might be deleted some hardcoded stuff from somewhere. I try to disconnect from server and get into singleplayer map via finish_mission and change_screen_map but game crashes. Here is the rgl log:
    Code:
    [17:02:46] Build: Release
    [17:02:46] Mount&Blade Warband WSE2 version: 1.174 1070 May 30 2022 23:08:10
    [17:02:46] Havok version: 2013.1.0-r1
    [17:02:46] FMOD Ex version: 4.44.64
    [17:02:46] Command line: --module Setting Sun --no-intro
    [17:02:46] Initializing timer...
    [17:02:46] Collecting system info...
    [17:02:46] Dumping system info...
    [17:02:46] -- OS: Windows 10
    [17:02:46]  - Version: 10.0.19044
    [17:02:46]  - Arch: x64
    [17:02:46] -- CPU: 11th Gen Intel(R) Core(TM) i5-11400H @ 2.70GHz (GenuineIntel)
    [17:02:46]  - Count: 6 (HT)
    [17:02:46] -- Memory: 16164 MB
    [17:02:46]  - Available: 7983 MB
    [17:02:46] -- GPU: Intel(R) UHD Graphics
    [17:02:46]  - Memory: 1024 MB
    [17:02:46]  - Driver Version: 27.20.100.9365
    [17:02:46] -- GPU: NVIDIA GeForce RTX 3050 Laptop GPU
    [17:02:46]  - Memory: 4095 MB
    [17:02:46]  - Driver Version: 30.0.15.1295
    [17:02:46] Initializing language...
    [17:02:46] WARNING: Duplicate language string ui_retreated_battle
    [17:02:46] WARNING: Duplicate language string ui_midnight
    [17:02:46] WARNING: Duplicate language string ui_chest
    [17:02:46] WARNING: Duplicate language string ui_group_rename
    [17:02:46] WARNING: Duplicate language string ui_show_framerate
    [17:02:46] WARNING: Duplicate language string ui_off
    [17:02:46] WARNING: Duplicate language string ui_antialiasing
    [17:02:46] WARNING: Duplicate language string ui_module_newer_than_application
    [17:02:46] WARNING: Duplicate language string ui_module_older_than_application
    [17:02:46] WARNING: Duplicate language string ui_difficulty_rating_percentage
    [17:02:46] WARNING: Duplicate language string ui_general_options
    [17:02:46] WARNING: Duplicate language string ui_video_options
    [17:02:46] WARNING: Duplicate language string ui_controls
    [17:02:46] WARNING: Duplicate language string ui_maximum_framerate
    [17:02:46] WARNING: Duplicate language string ui_estimated_performance
    [17:02:46] WARNING: Duplicate language string ui_invalid_username
    [17:02:46] WARNING: Duplicate language string ui_control_block_direction
    [17:02:46] WARNING: Duplicate language string ui_control_attack_direction
    [17:02:46] WARNING: Duplicate language string ui_command_line
    [17:02:46] Loading language files...
    [17:02:46] Initializing resource manager...
    [17:02:46] Initializing network manager...
    [17:02:46] Initializing task pool...
    [17:02:46] Initializing sound...
    [17:02:46] Initializing physics...
    [17:02:46] Initializing mission...
    [17:02:46] Initializing game key manager...
    [17:02:46] Initializing render thread manager...
    [17:02:46] Using Direct3D9Ex
    [17:02:46] Adapter: X8R8G8B8 1920x1080 144Hz
    [17:02:46] Loading resource blacklist...
    [17:02:46] Loading core resources...
    [17:02:46] Initializing renderer...
    [17:02:46] Loading font...
    [17:02:46] Initializing window manager...
    [17:02:46] Creating game windows...
    [17:02:46] Initializing device...
    [17:02:46] -- Behavior flags: 0x56
    [17:02:46] -- Device Caps
    [17:02:46]  - DeviceType: 0x1
    [17:02:46]  - VertexShaderVersion: 0xFFFE0300
    [17:02:46]  - PixelShaderVersion: 0xFFFF0300
    [17:02:46]  - DevCaps: 0x1BBEF0
    [17:02:46]  - DevCaps2: 0x51
    [17:02:46]  - Caps: 0x20000
    [17:02:46]  - Caps2: 0xE0020000
    [17:02:46]  - Caps3: 0x7A0
    [17:02:46]  - VS20Caps: 0x1
    [17:02:46]  - PS20Caps: 0x1F
    [17:02:46]  - PrimitiveMiscCaps: 0x2FCEF2
    [17:02:46]  - RasterCaps: 0x7732191
    [17:02:46]  - ZCmpCaps: 0xFF
    [17:02:46]  - SrcBlendCaps: 0x3FFF
    [17:02:46]  - DestBlendCaps: 0x3FFF
    [17:02:46]  - AlphaCmpCaps: 0xFF
    [17:02:46]  - TextureFilterCaps: 0x3030700
    [17:02:46]  - StretchRectFilterCaps: 0x3000300
    [17:02:46]  - VertexTextureFilterCaps: 0x3030700
    [17:02:46]  - PresentationIntervals: 0x8000000F
    [17:02:46]  - MaxTextureWidth: 16384
    [17:02:46]  - MaxTextureHeight: 16384
    [17:02:46]  - MaxAnisotropy: 16
    [17:02:46]  - MaxPrimitiveCount: 16777215
    [17:02:46]  - MaxVertexIndex: 16777215
    [17:02:46]  - MaxStreams: 16
    [17:02:46]  - MaxStreamStride: 255
    [17:02:46]  - NumSimultaneousRTs: 4
    [17:02:46] Adapter: X8R8G8B8 1920x1080 144Hz
    [17:02:46] Back buffer: X8R8G8B8 1024x788 0X
    [17:02:46] Depth stencil: D24X8 1024x788 0X
    [17:02:47] Loading post effect shaders (HDR: 0, DoF: 0, FXAA: 0, PP: 0)...
    [17:02:48] Resizing window...
    [17:02:48] Adapter: X8R8G8B8 1920x1080 144Hz
    [17:02:48] Back buffer: X8R8G8B8 1920x1017 0X
    [17:02:48] Depth stencil: D24X8 1920x1017 0X
    [17:02:48] Loading settings...
    [17:02:49] Loading module resource ani_crouch_down
    [17:02:49] Loading resource test
    [17:02:49] Loading resource textures_face_gen
    [17:02:49] Loading resource shaders
    [17:02:49] Loading resource textures
    [17:02:49] Loading resource ccoop_extra_ui_textures
    [17:02:49] Loading resource materials
    [17:02:49] Loading resource materials_face_gen
    [17:02:49] Loading resource ccoop_extra_ui_materials
    [17:02:49] Loading resource uimeshes
    [17:02:49] Loading resource meshes_face_gen
    [17:02:49] Loading resource helpers
    [17:02:49] Loading resource map_tree_meshes
    [17:02:49] Loading resource map_icon_meshes
    [17:02:49] Loading resource particle_meshes
    [17:02:49] Loading resource skeletons
    [17:02:49] Loading resource tree_meshes
    [17:02:49] Loading resource xtree_meshes
    [17:02:49] Loading resource grass_meshes
    [17:02:49] Loading resource plant_meshes
    [17:02:49] Loading resource body_meshes
    [17:02:49] Loading resource object_meshes
    [17:02:49] Loading resource object_bodies
    [17:02:49] Loading resource goods_meshes
    [17:02:49] Loading resource item_meshes1
    [17:02:49] Loading resource horse_a
    [17:02:49] Loading resource arabian_horses
    [17:02:49] Loading resource arabian_castle
    [17:02:49] Loading resource food
    [17:02:49] Loading resource beards
    [17:02:49] Loading resource armors_b
    [17:02:49] Loading resource armors_c
    [17:02:49] Loading resource armors_d
    [17:02:49] Loading resource armors_e
    [17:02:49] Loading resource armors_f
    [17:02:49] Loading resource armors_g
    [17:02:49] Loading resource armors_h
    [17:02:49] Loading resource armors_i
    [17:02:49] Loading resource boots_b
    [17:02:49] Loading resource boots_c
    [17:02:49] Loading resource helmets
    [17:02:49] Loading resource helmets_b
    [17:02:49] Loading resource village_houses
    [17:02:49] Loading resource village_houses_a
    [17:02:49] Loading resource village_houses_b
    [17:02:49] Loading resource hair
    [17:02:49] Loading resource deneme
    [17:02:49] Loading resource interiors_a
    [17:02:49] Loading resource interiors_b
    [17:02:49] Loading resource interiors_c
    [17:02:49] Loading resource arena
    [17:02:49] Loading resource map_icons_b
    [17:02:49] Loading resource castle_a
    [17:02:49] Loading resource dungeon
    [17:02:49] Loading resource stone_houses
    [17:02:49] Loading resource snowy_houses
    [17:02:49] Loading resource snowy_castle
    [17:02:49] Loading resource helmets_d
    [17:02:49] Loading resource helmets_e
    [17:02:49] Loading resource helmets_f
    [17:02:49] Loading resource castle_b
    [17:02:49] Loading resource square_keep
    [17:02:49] Loading resource anim_b
    [17:02:49] Loading resource shields
    [17:02:49] Loading resource shields_b
    [17:02:49] Loading resource weapon_meshes_c
    [17:02:49] Loading resource xtree_meshes_b
    [17:02:49] Loading resource map_icons_c
    [17:02:49] Loading resource pictures
    [17:02:49] Loading resource user_interface_b
    [17:02:49] Loading resource user_interface_c
    [17:02:49] Loading resource scene_encounter_spot
    [17:02:49] Loading resource interior_thirsty_lion
    [17:02:49] Loading resource scene_small_tavern
    [17:02:49] Loading resource weapon_meshes1
    [17:02:49] Loading resource weapon_meshes_b
    [17:02:49] Loading resource houses1
    [17:02:49] Loading resource wall_meshes1
    [17:02:49] Loading resource town_houses
    [17:02:49] Loading resource doors
    [17:02:49] Loading resource churches
    [17:02:49] Loading resource town_houses_b
    [17:02:49] Loading resource castle_c
    [17:02:49] Loading resource castle_d
    [17:02:49] Loading resource castle_e
    [17:02:49] Loading resource castle_f
    [17:02:49] Loading resource castle_g
    [17:02:49] Loading resource castle_h
    [17:02:49] Loading resource castle_i
    [17:02:49] Loading resource gatehouse
    [17:02:49] Loading resource viking_houses
    [17:02:49] Loading resource fake_houses
    [17:02:49] Loading resource town_houses_c
    [17:02:49] Loading resource banners
    [17:02:49] Loading resource map_flags
    [17:02:49] Loading resource map_flags_b
    [17:02:49] Loading resource map_flags_c
    [17:02:49] Loading resource map_flags_d
    [17:02:49] Loading resource particles_2
    [17:02:49] Loading resource prisons
    [17:02:49] Loading resource prisons_b
    [17:02:49] Loading resource interiors_d
    [17:02:49] Loading resource costumes_b
    [17:02:49] Loading resource costumes_c
    [17:02:49] Loading resource arena_costumes
    [17:02:49] Loading resource boots_a
    [17:02:49] Loading resource terrain_borders
    [17:02:49] Loading resource terrain_borders_b
    [17:02:49] Loading resource terrain_borders_c
    [17:02:49] Loading resource skyboxes
    [17:02:49] Loading resource object_b
    [17:02:49] Loading resource tree_e_meshes
    [17:02:49] Loading resource destroy
    [17:02:49] Loading resource destroy_snowy
    [17:02:49] Loading resource xtree_meshes_c
    [17:02:49] Loading resource grass_meshes_b
    [17:02:49] Loading resource interiors_steppe
    [17:02:49] Loading resource grooming_horse
    [17:02:49] Loading resource town_houses_d
    [17:02:49] Loading resource horses_b
    [17:02:49] Loading resource ani_horse_mounted
    [17:02:49] Loading resource deneme2
    [17:02:49] Loading resource horse_skeleton
    [17:02:49] Loading resource steppe_fake_houses
    [17:02:49] Loading resource weapon_meshes_d
    [17:02:49] Loading resource tableau_shields
    [17:02:49] Loading resource heraldic_armors
    [17:02:49] Loading resource spear
    [17:02:49] Loading resource weapons_e
    [17:02:49] Loading resource weapons_f
    [17:02:49] Loading resource instruments
    [17:02:49] Loading resource sarranid_armors
    [17:02:49] Loading resource custom_banner
    [17:02:49] Loading resource simple_primitives
    [17:02:49] Loading resource ani_man_walk
    [17:02:49] Loading resource ani_twohanded
    [17:02:49] Loading resource ani_onehanded
    [17:02:49] Loading resource ani_death
    [17:02:49] Loading resource ani_stand_guardsman
    [17:02:49] Loading resource ani_human_mounted
    [17:02:49] Loading resource ani_lady_stand
    [17:02:49] Loading resource ani_poses
    [17:02:49] Loading resource ani_stand_shopkeeper
    [17:02:49] Loading resource ani_man_cheer
    [17:02:49] Loading resource ani_stand_onhorse
    [17:02:49] Loading resource ani_throw_stone
    [17:02:49] Loading resource ani_strikes
    [17:02:49] Loading resource ani_equip_arms
    [17:02:49] Loading resource ani_run_p
    [17:02:49] Loading resource ani_run_forward_left_right
    [17:02:49] Loading resource uni_strikes3
    [17:02:49] Loading resource ani_walk_sideways
    [17:02:49] Loading resource ani_run_sideways
    [17:02:49] Loading resource ani_stand
    [17:02:49] Loading resource ani_crouch_down
    [17:02:49] Loading resource ani_low_walk
    [17:02:49] Loading resource ani_turn_man
    [17:02:49] Loading resource ani_attacks_single
    [17:02:49] Loading resource ani_lancer
    [17:02:49] Loading resource ani_attacks
    [17:02:49] Loading resource ani_kicks
    [17:02:49] Loading resource ani_parry_attack
    [17:02:49] Loading resource ani_walk_backward
    [17:02:49] Loading resource ani_run_lookingsides
    [17:02:49] Loading resource ani_defends
    [17:02:49] Loading resource ani_walk_lookingsides
    [17:02:49] Loading resource ani_jump
    [17:02:49] Loading resource ani_wedding
    [17:02:49] Loading resource arabian_props
    [17:02:49] Loading resource uni_jump
    [17:02:49] Loading resource uni_stances
    [17:02:49] Loading resource uni_equip
    [17:02:49] Loading resource uni_strike
    [17:02:49] Loading resource uni_throws
    [17:02:49] Loading resource uni_fistswing
    [17:02:49] Loading resource uni_lord_stand
    [17:02:49] Loading resource uni_defence
    [17:02:49] Loading resource uni_sideways
    [17:02:49] Loading resource dart
    [17:02:49] Loading resource armors_new_a
    [17:02:49] Loading resource armors_new_b
    [17:02:49] Loading resource armors_new_heraldic
    [17:02:49] Loading resource armors_new_arena
    [17:02:49] Loading resource crossbows
    [17:02:49] Loading resource arabian_armors
    [17:02:49] Loading resource rock
    [17:02:49] Loading resource costumes_d
    [17:02:49] Loading resource nordic_helmets
    [17:02:49] Loading resource sarranid_helmets
    [17:02:49] Loading resource sarranid_armor
    [17:02:49] Loading resource raw_materials
    [17:02:49] Loading resource khergit_lady_dress
    [17:02:49] Loading resource vaegir_helmets
    [17:02:49] Loading resource gauntlets_new
    [17:02:49] Loading resource sarranid_lady_dress
    [17:02:49] Loading resource sarranid_boots
    [17:02:49] Loading resource bride_dress
    [17:02:49] Loading resource full_plate_armor
    [17:02:49] Loading resource weapon_meshes_e
    [17:02:49] Loading resource fur_armors_a
    [17:02:49] Loading resource ui_server_filter
    [17:02:49] Loading resource warhorse_new
    [17:02:49] Loading resource ship
    [17:02:49] Loading resource arabian_houses
    [17:02:49] Loading resource object_c
    [17:02:49] Loading resource tree_f
    [17:02:49] Loading resource interiors_arabian
    [17:02:49] Loading resource arabian_village
    [17:02:49] Loading resource valleyProps
    [17:02:49] Loading resource workshops
    [17:02:49] Loading resource barrier_primitives
    [17:02:49] Loading resource town_houses_e
    [17:02:49] Loading resource wb_mp_objects_a
    [17:02:49] Loading resource prisonCart
    [17:02:49] Loading resource ccoop_extra_ui_meshes
    [17:02:50] Loading music...
    [17:02:50] Loading textures...
    [17:02:52] WARNING: Failed to find suitable shader for sea_shader_ffp
    [17:02:52] Reading module data...
    [17:02:52] Loading item modifiers...
    [17:02:52] Loading flora kinds...
    [17:02:52] Loading ground specs...
    [17:02:52] Loading skyboxes...
    [17:02:52] Reading settings data...
    [17:02:52] Loading sounds...
    [17:02:52] Unable to map sound snd_release_crossbow_medium
    [17:02:52] Unable to map sound snd_release_crossbow_far
    [17:02:52] Unable to map sound snd_bullet_hit_body
    [17:02:52] Unable to map sound snd_player_hit_by_bullet
    [17:02:52] Loading particle systems...
    [17:02:52] Loading skins...
    [17:02:52] Loading scene props...
    [17:02:52] Loading menus...
    [17:02:52] Loading tableau materials...
    [17:02:52] Loading presentations...
    [17:02:52] Unable to map presentation prsnt_game_start
    [17:02:52] Unable to map presentation prsnt_game_escape
    [17:02:52] Loading scripts...
    [17:02:52] Loading map icons...
    [17:02:52] Loading strings...
    [17:02:52] Loading quick strings...
    [17:02:52] Loading meshes...
    [17:02:52] Loading item kinds...
    [17:02:52] Loading conversations...
    [17:02:52] Loading mission templates...
    [17:02:52] Loading party templates...
    [17:02:52] Loading post effects...
    [17:02:52] Loading actions...
    [17:02:52] WARNING: Failed to get skeleton animation equip_musket
    [17:02:52] WARNING: Failed to get skeleton animation man_reload
    [17:02:52] WARNING: Failed to get skeleton animation spear_thrust_overhead
    [17:02:52] WARNING: Failed to get skeleton animation reload_pistol_new
    [17:02:52] WARNING: Failed to get skeleton animation musket_upper_swing
    [17:02:52] WARNING: Failed to get skeleton animation musket_thrust_forward
    [17:02:52] WARNING: Failed to get skeleton animation musket_thrust_forward_parry
    [17:02:52] WARNING: Failed to get skeleton animation equip_pistol
    [17:02:52] Initializing lua...
    [17:02:52] Loading post effect shaders (HDR: 0, DoF: 0, FXAA: 0, PP: 0)...
    [17:02:52] Loading time: 6058
    [17:02:52] WARNING: This module does not have a valid "main_menu_background" mesh, loading default "main_menu_nord" mesh!
    [17:02:57] Creating game...
    [17:02:57] Loading setting data...
    [17:02:57] Starting game...
    [17:02:57] Initializing meta mission...
    [17:03:01] Starting map scene_1 in mode mp_scene
    [17:03:02] Loading post effect shaders (HDR: 0, DoF: 0, FXAA: 0, PP: 0)...
    [17:06:10] Starting map scene_1 in mode mp_scene
    [17:06:56] Starting map scene_1 in mode mp_scene
    [17:17:09] Creating game...
    [17:17:09] Loading setting data...
    [17:17:09] Starting game...
    [17:17:09] Loading map...
    [17:17:09] Initializing map...
    [17:17:09] Initializing meta mission...
    [17:17:09] Launching game...
    [17:17:11] EXCEPTION_ACCESS_VIOLATION (0xC0000005, 0x00000000, 0xD5554000)
    [17:17:11] Dumping call stack...
    [17:17:11] - 0x00B430BA mb_warband_wse2.exe+0x7B30BA (luaG_todeep+0x121CDA)
    [17:17:11] - 0x008DCE75 mb_warband_wse2.exe+0x54CE75 (??+0x0)
    [17:17:11] - 0x008306C3 mb_warband_wse2.exe+0x4A06C3 (??+0x0)
    [17:17:11] - 0x0082FE9F mb_warband_wse2.exe+0x49FE9F (??+0x0)
    [17:17:11] - 0x0085B95B mb_warband_wse2.exe+0x4CB95B (??+0x0)
    [17:17:11] - 0x0085B3C3 mb_warband_wse2.exe+0x4CB3C3 (??+0x0)
    [17:17:11] - 0x007F5482 mb_warband_wse2.exe+0x465482 (??+0x0)
    [17:17:11] - 0x008028CA mb_warband_wse2.exe+0x4728CA (??+0x0)
    [17:17:11] - 0x00801A9C mb_warband_wse2.exe+0x471A9C (??+0x0)
    [17:17:11] - 0x0080250C mb_warband_wse2.exe+0x47250C (??+0x0)
    [17:17:11] - 0x0098DD09 mb_warband_wse2.exe+0x5FDD09 (??+0x0)
    [17:17:11] - 0x00B42B93 mb_warband_wse2.exe+0x7B2B93 (luaG_todeep+0x1217B3)
    [17:17:11] - 0x75AEFA29 KERNEL32.DLL+0x1FA29 (BaseThreadInitThunk+0x19)
    [17:17:11] - 0x77777A9E ntdll.dll+0x67A9E (RtlGetAppContainerNamedObjectPath+0x11E)
    [17:17:11] - 0x77777A6E ntdll.dll+0x67A6E (RtlGetAppContainerNamedObjectPath+0xEE)
    [17:17:11] - 0x77777A6E ntdll.dll+0x67A6E (RtlGetAppContainerNamedObjectPath+0xEE)
    [17:17:11] Dumping memory status...
    [17:17:11] Commit size: 2007 MB
    [17:17:11] Working set size: 1958 MB
    [17:17:11] Available size: 6592 MB
    [17:17:11] Heap #0 (process): 1812 MB
    [17:17:11] Heap #1: 2 MB
    [17:17:11] Heap #2: 92 MB
    [17:17:11] Heap #3: 0 MB
    [17:17:11] Closing log file...

    EDIT: Managed it to fix by adding map free in module_triggers.py and adding map icon of icon_player to module_map_icons.py
  9. Azremen

    Warband Modding Community Survey

    To get a hype I would like to suggest a modding contest under scripting discipline. Subject of the scripting should be debatable (poll) because of many people would participate in such a way. I suggest a flying script to make yourself medieval iron man, scripted missions like in Evlat or even a mini mod. To be in short we should start from basic ones like medieval iron man or such. Thanks in advance!
  10. Azremen

    Warband Script Enhancer 2 (v1.0.8.9)

    Check bDismountHorseOnUse config option.
    It seems it is false on users' config.ini s that I asked. I am trying to figure out why. It should be true to being able to dismount as far as I know.
  11. Azremen

    Warband Script Enhancer 2 (v1.0.8.9)

    Its basic native with adimi tools on server side. I will provide troops.py's indices on this post after i get them.
    EDIT:
    Code:
    ["khergit_veteran_horse_archer_multiplayer","Khergit Horse Archer","Khergit Horse Archers",tf_mounted|tf_guarantee_all,0,0,fac_kingdom_3,
       [itm_sword_khergit_1,itm_nomad_bow,itm_arrows,
        itm_khergit_armor,itm_leather_steppe_cap_a,itm_hide_boots,itm_steppe_horse], str_15|agi_18|def_attrib_multiplayer|level(21),wpe(70,142,60,100),knows_common_multiplayer|knows_riding_2|knows_power_draw_5|knows_horse_archery_3|knows_athletics_3|knows_shield_1,khergit_face_middle_1, khergit_face_older_2],
  12. Azremen

    Warband Script Enhancer 2 (v1.0.8.9)

    There is reports of being unable to dismount from horse on Native with WSE2 installed on dedicated. Users said they use wse2 and unable to dismount from horse. They were a part of khergit faction on deathmatch. Other factions reproduces same issues.
  13. Azremen

    Warband Script Enhancer 2 (v1.0.8.9)

    I could help with wse2 launcher. If some of fellow modders agree to help me. If interested please P.M. me. If there is no support either I will do it anyways and let you people know.
  14. Azremen

    Warband Script Enhancer 2 (v1.0.8.9)

    If you change the physics engine, does it mean its gonna be a different game than warband? In technical manner of speaking of course.
  15. Azremen

    Mount & Blade: Warband Syntax helper for Microsoft Visual Studio Code

    Hello fellow modding community members! I am Azremen (a.k.a. Revan) and I have ported Shcherbyna's Syntax helper for Sublime Text 3 to Microsoft Visual Studio Code with my friend Sart. I've consulted this matter with Shcherbyna and decided to publish this version with you. All directives have...
  16. Azremen

    [Plugin] MB Warband API (Sublime Text 3 Syntax Plugin)

    Repository link is dead. Can you update it? Thanks in advance.
  17. Azremen

    Monitor for any changes in your code and automatically compile module system.

    Great! Keep the good work on!
  18. Azremen

    OSP Code QoL Day and Night Cycle

    Hello fellow modders! I have managed to make a day and night cycle in a mission for scenes. Here is my work. It is free for use and no need to credit me as an author. It is designed to work in multiplayer but you can change it a little bit to a single player design. Note: If you want...
  19. Azremen

    WB Coding Raising Troop Attributes in both client and server side

    Sorry for Double posting but I had find the answer and I would like to share it with you. My findings is that you have to warn the client side about the troop skill changes and attributes. And i have a last build which works correctly according to these. Tested it and I would guarantee the success.

    So I have removed multiplayer_event_send_stats from game_receive_network_message in module_scripts.py and changed others to connect them via game variables -which is attributes and skills- not custom.


    Code:
    (neg|multiplayer_is_server),
    (eq, ":event_type", server_event_set_stats),
    (store_script_param, ":stat", 3),
    (store_script_param, ":value", 4),
    
    (multiplayer_get_my_player, ":player_id"),
    (player_is_active, ":player_id"),
    (player_get_agent_id, ":agent_id", ":player_id"),
    (neg|agent_is_non_player, ":agent_id"),
    (agent_is_active, ":agent_id"),
    (agent_is_human, ":agent_id"),
    (agent_is_alive, ":agent_id"),
    
    (player_get_troop_id, ":troop_id", ":player_id"),
    
    (try_begin),
        (this_or_next|neq, ":stat", ca_strength),
        (this_or_next|neq, ":stat", ca_agility),
        (this_or_next|neq, ":stat", ca_intelligence),
        (neq, ":stat", ca_charisma),
        (troop_raise_skill, ":troop_id", ":stat", ":value"),
    (try_end),
    
    (try_begin),
        (this_or_next|eq, ":stat", ca_strength),
        (this_or_next|eq, ":stat", ca_agility),
        (this_or_next|eq, ":stat", ca_intelligence),
        (eq, ":stat", ca_charisma),
        (troop_raise_attribute, ":troop_id", ":stat", ":value"),
    (try_end),


    Code:
    ("character_sheet", prsntf_manual_end_only, 0,
    [
        (ti_on_presentation_load,
        [
            (set_fixed_point_multiplier, 1000),
    
            (create_mesh_overlay, reg0, "mesh_character_window"),
            (position_set_x, pos0, 0),
            (position_set_y, pos0, 0),
            (overlay_set_position, reg0, pos0),
            (position_set_x, pos0, 1000),
            (position_set_y, pos0, 1000),
            (overlay_set_size, reg0, pos0),
    
            (multiplayer_get_my_player, ":player_id"),
            (player_get_troop_id, ":trp_id", ":player_id"),
    
            (store_attribute_level, reg1, ":trp_id", ca_strength),
            (store_attribute_level, reg2, ":trp_id", ca_agility),
            (store_attribute_level, reg3, ":trp_id", ca_intelligence),
    
            (assign, ":start_x", 50),
            (assign, ":mid_x", 175),
            (assign, ":cur_y", 200),
    
            (create_text_overlay, reg0, "@Strength:"),
            (overlay_set_color, reg0, 0x000000),
            (position_set_x, pos0, ":start_x"),
            (position_set_y, pos0, ":cur_y"),
            (overlay_set_position, reg0, pos0),
    
            (create_text_overlay, "$g_presentation_character_button_sheet_obj_1", "@{reg1}"),
            (overlay_set_color, "$g_presentation_character_button_sheet_obj_1", 0x000000),
            (position_set_x, pos0, ":mid_x"),
            (position_set_y, pos0, ":cur_y"),
            (overlay_set_position, "$g_presentation_character_button_sheet_obj_1", pos0),
    
            (val_sub, ":cur_y", escape_menu_item_height),
    
            (create_text_overlay, reg0, "@Agility:"),
            (overlay_set_color, reg0, 0x000000),
            (position_set_x, pos0, ":start_x"),
            (position_set_y, pos0, ":cur_y"),
            (overlay_set_position, reg0, pos0),
    
            (create_text_overlay, "$g_presentation_character_button_sheet_obj_2", "@{reg2}"),
            (overlay_set_color, "$g_presentation_character_button_sheet_obj_2", 0x000000),
            (position_set_x, pos0, ":mid_x"),
            (position_set_y, pos0, ":cur_y"),
            (overlay_set_position, "$g_presentation_character_button_sheet_obj_2", pos0),
    
            (val_sub, ":cur_y", escape_menu_item_height),
    
            (create_text_overlay, reg0, "@Intelligence:"),
            (overlay_set_color, reg0, 0x000000),
            (position_set_x, pos0, ":start_x"),
            (position_set_y, pos0, ":cur_y"),
            (overlay_set_position, reg0, pos0),
    
            (create_text_overlay, "$g_presentation_character_button_sheet_obj_3", "@{reg3}"),
            (overlay_set_color, "$g_presentation_character_button_sheet_obj_3", 0x000000),
            (position_set_x, pos0, ":mid_x"),
            (position_set_y, pos0, ":cur_y"),
            (overlay_set_position, "$g_presentation_character_button_sheet_obj_3", pos0),
    
            (presentation_set_duration, 1000000),
        ]),
        #(ti_on_presentation_event_state_change,
        #[
        #    (store_trigger_param_1, ":object"),
        #
        #    (presentation_set_duration, 0),
        #]),
        (ti_on_presentation_run,
        [
            (store_trigger_param_1, ":cur_time"),
    
            (try_begin),
                (this_or_next|key_clicked, key_escape),
                (this_or_next|game_key_clicked, gk_character_window),
                (key_clicked, key_xbox_start),
                (gt, ":cur_time", 200),
                (presentation_set_duration, 0),
            (else_try),
                (multiplayer_get_my_player, ":player_id"),
                (player_get_troop_id, ":trp_id", ":player_id"),
                (store_attribute_level, reg0, ":trp_id", ca_strength),
                (store_attribute_level, reg1, ":trp_id", ca_agility),
                (store_attribute_level, reg2, ":trp_id", ca_intelligence),
    
                (overlay_set_text, "$g_presentation_character_button_sheet_obj_1", "@{reg0}"),
                (overlay_set_text, "$g_presentation_character_button_sheet_obj_2", "@{reg1}"),
                (overlay_set_text, "$g_presentation_character_button_sheet_obj_3", "@{reg2}"),
            (try_end),
        ]),
    ]),

    If you have read all of the codes and understand it you would be wondering that there is no triggering event happens to raise skill or attribute. Which I do it in some circumstances. So to test it you have to just raise your attributes in multiplayer by using like this:
    Code:
    (multiplayer_send_2_int_to_player, ":player_id", server_event_set_stats, "skl_athletics", ":addition"),
    and this:
    Code:
    (multiplayer_send_2_int_to_player, ":player_id", server_event_set_stats, ca_agility, ":addition"),

    instead of athletics or agility you could use whatever you want as skill or attribute.
  20. Azremen

    WB Coding Raising Troop Attributes in both client and server side

    Hello fellow modders I wish to ask a question about one operation in a spesific situation on warband. So I was using troop raise skill and troop raise attribute on server side which troop was in use by a player. I couldn't test it properly if it affects agility or athletics skill properly for...
Top Bottom