Recent content by Balgy

  1. Balgy

    [NC2021] Division C #Week 1

    Germany - Greece 12-0

    Screens follow, Greece forfeited second map
    Confirmed. Germany - Greece 12-0.
  2. Balgy

    [NC2021] Single Elim or Group Stage Vote

    Team name: Greece
    Single Elimination or Group stage?: Group stage
  3. Balgy

    INT Skirmish Open [Nation's Cup 2021] Announcement & Signups

    BANNER: -
    NATION: Greece
    CAPTAIN: Balgy - TW - Steam
    CO-CAPTAIN: AlekoTheGreek - TW - Steam

    ROSTER:
  4. Balgy

    Strange SyntaxError HELP

    This error means that you have an encoding that is not supported.

    For starters, do you have any non ASCII characters on your module_dialogs file?
  5. Balgy

    Removing the world map

    Thank you all for your answers. I will try my best to make this work. Any help is always appreciated.
  6. Balgy

    Removing the world map

    Would it be possible to entirely remove (or hide) the world map so that the game progresses with a scene after a scene after a scene? Could I turn Native into a full 3rd person rpg or would the bugs overwhelm me?
  7. Balgy

    Campaign map for multiplayer.

    Trebor said:
    does anybody know about a way to bring a campaign map into a multiplayer server? i have an idea of a way to make a certain type of mod where teams or sides can fight over towns and regions on a map.

    This has come up a thousand times. No, the game engine does not support co-op campaigns of any kind and therefore a fully functional campaign map cannot be implemented in a multiplayer server.

    There are to ways I can think of for you to achieve what you have in mind.
    1. Expand the game's network engine yourself.
    2. Use a webpage along with your server. What do I mean...

    You have a webpage with your map and there are regions controlled by different "clans" of players. Then you schedule events on your server with battles clan vs clan and the winner gets the area. So, you go into your site and change it manualy or even better with some programming knowledge you can write a script that does it automatically.
  8. Balgy

    Is there a way to edit scenes ingame (SP) without editor?

    Albertus Magnus said:
    Hi everyone!

    I'm curious if I can edit a scene in SP via scripts or menu or something.
    Are there any commands that can add a sceneprop via the ID and the location/rotation/scale to a scene and save the scn-file?

    Back when I tried to create an SP part for Age of Blades I created different scenes for the possible combinations of buildings you could build, but that didn't seem to be a proper solution...

    Scenes are only partly defined in the scripts and an .sco file is assigned to them.

    To edit that file well... you need some kind of editor.

    Now... to add a prop into a scene at some point in-game, you 'd need to write a new script for doing that.

    There are quite a few operations that refer to scene_props and can come in quite handy.
    Check header_operations.py for a list.

    Just quoting some below:

    # Scene prop general operations

    prop_instance_get_scene_prop_kind          = 1853  # (prop_instance_get_scene_prop_type, <destination>, <scene_prop_id>)
                                                        # Retrieves the scene prop for the specified prop instance.
    scene_prop_get_num_instances                = 1810  # (scene_prop_get_num_instances, <destination>, <scene_prop_id>),
                                                        # Retrieves the total number of instances of a specified scene prop on the current scene.
    scene_prop_get_instance                    = 1811  # (scene_prop_get_instance, <destination>, <scene_prop_id>, <instance_no>),
                                                        # Retrieves the reference to a scene prop instance by it's number.

    scene_prop_enable_after_time                = 1800  # (scene_prop_enable_after_time, <scene_prop_id>, <time_period>),
                                                        # Prevents usable scene prop from being used for the specified time period in 1/100th of second. Commonly used to implement "cooldown" periods.

    set_spawn_position                          = 1970  # (set_spawn_position, <position>),
                                                        # Defines the position which will later be used by (spawn_scene_prop), (spawn_scene_item), (spawn_agent) and (spawn_horse) operations.
    spawn_scene_prop                            = 1974  # (spawn_scene_prop, <scene_prop_id>),
                                                        # Spawns a new scene prop instance of the specified type at the position defined by the last call to (set_spawn_position). Operation was supposed to store the prop_instance_id of the spawned position in reg0, but does not do this at the moment.

    prop_instance_get_variation_id              = 1840  # (prop_instance_get_variation_id, <destination>, <scene_prop_id>),
                                                        # Retrieves the first variation ID number for the specified scene prop instance.
    prop_instance_get_variation_id_2            = 1841  # (prop_instance_get_variation_id_2, <destination>, <scene_prop_id>),
                                                        # Retrieves the second variation ID number for the specified scene prop instance.

    replace_prop_instance                      = 1889  # (replace_prop_instance, <scene_prop_id>, <new_scene_prop_id>),
                                                        # Replaces a single scene prop instance with an instance of another scene prop (usually with the same dimensions, but not necessarily so). Can only be called in ti_before_mission_start trigger in module_mission_templates.py.
    replace_scene_props                        = 1890  # (replace_scene_props, <old_scene_prop_id>, <new_scene_prop_id>),
                                                        # Replaces all instances of specified scene prop type with another scene prop type. Commonly used to replace damaged walls with their intact versions during normal visits to castle scenes. Can only be called in ti_before_mission_start trigger in module_mission_templates.py.
    scene_prop_fade_out                        = 1822  # (scene_prop_fade_out, <scene_prop_id>, <fade_out_time>)
                                                        # Version 1.153+. Makes the scene prop instance disappear within specified time.
    scene_prop_fade_in                          = 1823  # (scene_prop_fade_in, <scene_prop_id>, <fade_in_time>)
                                                        # Version 1.153+. Makes the scene prop instance reappear within specified time.

    prop_instance_set_material                  = 2617  # (prop_instance_set_material, <prop_instance_no>, <sub_mesh_no>, <string_register>),
                                                        # Version 1.161+. 4research. give sub mesh as -1 to change all meshes' materials.

    # Scene prop manipulation

    scene_prop_get_visibility                  = 1812  # (scene_prop_get_visibility, <destination>, <scene_prop_id>),
                                                        # Retrieves the current visibility state of the scene prop instance (1 = visible, 0 = invisible).
    scene_prop_set_visibility                  = 1813  # (scene_prop_set_visibility, <scene_prop_id>, <value>),
                                                        # Shows (value = 1) or hides (value = 0) the scene prop instance. What does it do with collision? 4research.
    scene_prop_get_hit_points                  = 1815  # (scene_prop_get_hit_points, <destination>, <scene_prop_id>),
                                                        # Retrieves current number of hit points that the scene prop instance has.
    scene_prop_get_max_hit_points              = 1816  # (scene_prop_get_max_hit_points, <destination>, <scene_prop_id>),
                                                        # Retrieves the maximum number of hit points that the scene prop instance has (useful to calculate the percent of damage).
    scene_prop_set_hit_points                  = 1814  # (scene_prop_set_hit_points, <scene_prop_id>, <value>),
                                                        # Sets the number of hit points that the scene prop has. Both current and max hit points are affected. Only makes sense for sokf_destructible scene props.
    scene_prop_set_cur_hit_points              = 1820  # (scene_prop_set_cur_hit_points, <scene_prop_id>, <value>),
                                                        # Version 1.153+. Sets current HP amount for scene prop.
    prop_instance_receive_damage                = 1877  # (prop_instance_receive_damage, <scene_prop_id>, <agent_id>, <damage_value>),
                                                        # Makes scene prop instance receive specified amount of damage from any arbitrary agent. Agent reference is apparently necessary to properly initialize ti_on_scene_prop_hit trigger parameters.
    prop_instance_refill_hit_points            = 1870  # (prop_instance_refill_hit_points, <scene_prop_id>),
                                                        # Restores hit points of a scene prop instance to their maximum value.
    scene_prop_get_team                        = 1817  # (scene_prop_get_team, <value>, <scene_prop_id>),
                                                        # Retrieves the team controlling the scene prop instance.
    scene_prop_set_team                        = 1818  # (scene_prop_set_team, <scene_prop_id>, <value>),
                                                        # Assigns the scene prop instance to a certain team.
    scene_prop_set_prune_time                  = 1819  # (scene_prop_set_prune_time, <scene_prop_id>, <value>),
                                                        # Not documented. Not used in Native. Taleworlds comment: Prune time can only be set to objects that are already on the prune queue. Static objects are not affected by this operation.

    prop_instance_get_position                  = 1850  # (prop_instance_get_position, <position>, <scene_prop_id>),
                                                        # Retrieves the prop instance current position on the scene.
    prop_instance_get_starting_position        = 1851  # (prop_instance_get_starting_position, <position>, <scene_prop_id>),
                                                        # Retrieves the prop instance starting position on the scene (i.e. the place where it was positioned when initialized).
    prop_instance_set_position                  = 1855  # (prop_instance_set_position, <scene_prop_id>, <position>, [dont_send_to_clients]),
                                                        # Teleports prop instance to another position. Optional flag dont_send_to_clients can be used on the server to prevent position change from being replicated to client machines (useful when doing some calculations which require to move the prop temporarily to another place).
    prop_instance_animate_to_position          = 1860  # (prop_instance_animate_to_position, <scene_prop_id>, position, <duration-in-1/100-seconds>),
                                                        # Moves prop instance to another position during the specified time frame (i.e. animates). Time is specified in 1/100th of second.
    prop_instance_get_animation_target_position = 1863  # (prop_instance_get_animation_target_position, <pos>, <scene_prop_id>)
                                                        # Retrieves the position that the prop instance is currently animating to.
    prop_instance_stop_animating                = 1861  # (prop_instance_stop_animating, <scene_prop_id>),
                                                        # Stops animating of the prop instance in the current position.
    prop_instance_get_scale                    = 1852  # (prop_instance_get_scale, <position>, <scene_prop_id>),
                                                        # Retrieves the current scaling factors of the prop instance.
    prop_instance_set_scale                    = 1854  # (prop_instance_set_scale, <scene_prop_id>, <value_x_fixed_point>, <value_y_fixed_point>, <value_z_fixed_point>),
                                                        # Sets new scaling factors for the scene prop.
    prop_instance_enable_physics                = 1864  # (prop_instance_enable_physics, <scene_prop_id>, <value>),
                                                        # Enables (value = 1) or disables (value = 0) physics calculation (gravity, collision checks) for the scene prop instance.
    prop_instance_initialize_rotation_angles    = 1866  # (prop_instance_initialize_rotation_angles, <scene_prop_id>),
                                                        # Should be called to initialize the scene prop instance prior to any calls to (prop_instance_rotate_to_position).
    prop_instance_rotate_to_position            = 1865  # (prop_instance_rotate_to_position, <scene_prop_id>, <position>, <duration-in-1/100-seconds>, <total_rotate_angle_fixed_point>),
                                                        # Specified prop instance will move to the target position within the specified duration of time, and within the same time it will rotate for the specified angle. Used in Native code to simulate behavior of belfry wheels and rotating winches.
    prop_instance_clear_attached_missiles      = 1885  # (prop_instance_clear_attached_missiles, <scene_prop_id>),
                                                        # Version 1.153+. Removes all missiles currently attached to the scene prop. Only works with dynamic scene props.
  9. Balgy

    Modding Q&A [For Quick Questions and Answers]

    kalarhan said:
    Balgy said:
    I basically need something to count each time the function is called and then store this value to a variable that can be used for something else.

    I do not do any crazy stuff, I just need this counting to show up so that I can print it, compare it etc.

    http://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than-the-one-that-created-them

    Oh thanks, that came in handy.
  10. Balgy

    Modding Q&A [For Quick Questions and Answers]

    kalarhan said:
    Balgy said:
    So, I want to make a variable that changes value each time a certain function is called.

    What? More details  :razz:

    if its a simple call you can do the normal
    Code:
    variable = function()
    
    def function():
      return something

    if its not a call you can always update the global variable (memory) in a "hack way". No idea why you would do that for MBScript tho, its not like you are using a producer-consumer algorithm, locks, or anything like that, or are you?

    I basically need something to count each time the function is called and then store this value to a variable that can be used for something else.

    I do not do any crazy stuff, I just need this counting to show up so that I can print it, compare it etc.
  11. Balgy

    Modding Q&A [For Quick Questions and Answers]

    This is more of a python question rather than a module system related one, although it is still somewhat connected to the game.

    So, I want to make a variable that changes value each time a certain function is called.
    Anyone knows how can I achieve that?
  12. Balgy

    Does everyone know how to create a custombattle scenes ???

    HarryPham123 said:
    well im making a mod about 30 years wars but i have a main propplem is making a custom battle map. I have made a lot of custom battle map as i want but these map that i made it  dont show up as i expected so everyone know how to made a custom battle map if you know pls tell how to made it  :smile:

    First, you need to add your scene to module_scenes.py. After you have done this it should be looking somewhat like this:

    Code:
    ("your_scene_name",sf_generate,"none", "none", (0,0),(120,120),-100,"0x30401ee300059966000001bf0000299a0000638f", 
        [],[], "outer_terrain_plain"),
    Name it however you like.

    Then, you need to go over to module_game_menus.py.
    Search for the menu named "custom_battle_scene".
    Bellow the last scene add yours so it should be looking like this:

    Code:
    (
        "custom_battle_scene",menu_text_color(0xFF000000)|mnf_disable_all_keys,
        "(NO_TRANS)",
    	
        "none",
        [],
        [
    
          ("quick_battle_scene_1",[],"{!}quick_battle_scene_1",
           [
               (set_jump_mission,"mt_ai_training"),
               (jump_to_scene,"scn_quick_battle_scene_1"),(change_screen_mission)        
    		]
           ),
          ("quick_battle_scene_2",[],"{!}quick_battle_scene_2",
           [
               (set_jump_mission,"mt_ai_training"),
               (jump_to_scene,"scn_quick_battle_scene_2"),(change_screen_mission)        
    		]
           ),
          ("quick_battle_scene_3",[],"{!}quick_battle_scene_3",
           [
               (set_jump_mission,"mt_ai_training"),
               (jump_to_scene,"scn_quick_battle_scene_3"),(change_screen_mission)        
    		]
           ),
          ("quick_battle_scene_4",[],"{!}quick_battle_scene_4",
           [
               (set_jump_mission,"mt_ai_training"),
               (jump_to_scene,"scn_quick_battle_scene_4"),(change_screen_mission)        
    		]
           ),
          ("quick_battle_scene_5",[],"{!}quick_battle_scene_5",
           [
               (set_jump_mission,"mt_ai_training"),
               (jump_to_scene,"scn_quick_battle_scene_5"),(change_screen_mission)        
    		]
           ),
         ("your_scene_name",[],"{!}your_scene_name",
           [
               (set_jump_mission,"mt_ai_training"),
               (jump_to_scene,"scn_your_scene_name"),(change_screen_mission)        
    		]
           ),
    	   
          ("go_back",[],"{!}Go back",
           [(change_screen_quit),
            ]
           ),
          ]
      ),

    Now, you should be able to select it as a custom battle scene.
  13. Balgy

    Modding Questions

    Nuwat said:
    The problem with that link is that it wants me to edit module_dialogs, which is not an existing file in the Floris mod. I have noticed that Floris has a 'conversations.txt' file, but uses a different code style compared to module_dialogs. Perhaps I need to move the module_dialogs from the Module System folder to Floris? But I feel as if that would mess with a lot of settings already in Floris.

    You will always need some module system to work with. Edditing the txt files is a task taken only by the bravest and the ones with the most patience, you won't find a lot -or any- tutorials and not many people know how to do this.

    Using a module system can be really helpfull and you can follow all the tutorials and use the OSPs on this forum.

    I do not remember wether floris' source code was released but same goes for your 3rd question. To change code-related stuff for items you must edit module_items.py from the coresponding module system.

    Nuwat said:
    I have noticed that Floris has a 'conversations.txt' file, but uses a different code style compared to module_dialogs.

    It doesn't use a different code style. All the txt files are compiled from the python files in the module system.
  14. Balgy

    Modding Q&A [For Quick Questions and Answers]

    Ikaguia said:
    TRCY_Maresal said:
    TRCY_Maresal said:
    Balgy said:
    An indentation error in python is raised when there is a problem with code "spacing",

    Meaning, you have hit the spacebar somewhere that you shouldn't.

    Is "]" symbol become a problem? Because I have a problem from "]" in module_troops before upgrades. (Not different error)
    I cannot open computer now for take screen shot because I will go to school

    ??
    no, that ] shouldnt be a problem, your file should look like this:
    Code:
    #from *** import *
    #from *** import *
    #from *** import *
    #################
    ##     MANY THINGS      ##
    #################
    
    troops = [
        ["troop",...],
        ["another_troop",...],
        ...
        ["yet_another_troop",...],
    ]
    
    upgrades

    but you probably have an exta ] somewhere in the code(probably the line just before the one the compiler is complaining about)

    Well, brackets out of place usually raise Syntax Errors...

    The only thing I can think of that would cause you an indentation error in if one of your "upgrade" in the upgrade section has a space before it. Noone of them should have one.
  15. Balgy

    Modding Q&A [For Quick Questions and Answers]

    An indentation error in python is raised when there is a problem with code "spacing",

    Meaning, you have hit the spacebar somewhere that you shouldn't.
Top Bottom