X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Guide aux factions émergentes

    Note : il s'agit d'un très vieux tutoriel de ma part que je partage ici, je n'assume ni son manque de professionnalisme, ni son suivi.


    Les Factions émergentes dans M2TW




    I/ Informations Générales
    A/ Coder l’évènement
    Pour ceux qui jouent à M2TW, et qui avancent dans la campagne, vous avez du remarquer que deux factions, les mongoles et les timurides, apparaissent en cours de campagne. Ce système est déja connu de RTW (voir ici)
    La grande différence avec rome total war, c'est que les hordes ou factions émergentes peuvent apparaître n'importe où sur la carte et non sur les bords de la carte.
    L'apparition est controlée dans 2 fichiers : campaign_script et dans descr_events. Intéressons-nous d'abord au second:

    Code:
    ; ------------ CORE GAME EVENT --------------
    event historic mongols_invasion_warn
    date 128 144

    C'est évènement "lance" l'action codée dans le campaign_script.txt

    Code:
    ;-- Mongols invasions --
    monitor_event EventCounter EventCounterType mongols_invasion_warn
    and EventCounter > 0
    ; ADD SCOUTING INVASION
    add_events
    event counter mongols_invasion
    date 4 8
    end_add_events
    if I_EventCounter mongols_invasion_warn == 2
    terminate_monitor
    end_if
    end_monitor
    La code lié à ça lance alors la suite du script



    B/ « Personnaliser » cet évènement
    D'autres factions que les mongoles et les timurides peuvent apparaître, pour cela elles doivent être dans le descr_strat.txt sans régions, armée ou arbre généalogique. Voila le modèle mongol :
    Code:
    faction mongols, balanced henry
    ai_label default 
    dead_until_resurrected
    denari 10000
    denari_kings_purse 3000
    Ne pas oublier le dead_until_resurrected et de mettre la faction dans non-playable au début du descr_strat.

    Voila comment doit être la faction dans le descr_sm_factions.txt :
    Code:
    faction                        mongols, spawned_on_event
    culture                        middle_eastern
    religion                    islam
    ........
    custom_battle_availability    yes
    horde_min_units                10
    horde_max_units                20
    horde_max_units_reduction_every_horde 10
    horde_unit_per_settlement_population    250
    horde_min_named_characters    2
    horde_max_percent_army_stack 80
    horde_disband_percent_on_settlement_capture    0
    horde_unit                    Mongol Infantry
    horde_unit                    Mongol Foot Archers
    horde_unit                    Mongol Heavy Archers
    horde_unit                    Mongol Heavy Lancers
    can_sap                        yes
    prefers_naval_invasions        no
    can_have_princess            no
    has_family_tree                yes
    La place et l'année de l'apparition sont codées soit dans le descr_events.txt ou dans le campaign_script.txt






    II/ Rendre d'autres factions émergentes
    Pour ce tuto je vais prendre une faction d’un mod, le leinster (ou Irlande) et je vais la rendre émergente.
    A/ Coder l’évènement
    • Dans le descr_events.txt

    Coder une apparition dans le descr_events.txt est simple et plus rapide que dans le campaign_script, mais il y a moins d’options disponible pour l’apparition.
    Code:
    event    emergent_faction    leinster
    date    6 8
    region     Dublin_Province
    Cela va faire apparaître la faction Leinster entre les tours 6 et 8 dans la région de Dublin

    Ne pas oublier de modifier historic_events.txt.strings.bin dans data/text pour ajouter un message d'événement.
    Utiliser le strings.bin converter d'Alpaca pour générer un fichier texte et ajouter des lignes semblables:
    Code:
    {THE_LEINSTER_EMERGE_BODY} Le leinster est arrive, cela…
    {THE_LEINSTER_EMERGE_TITLE} Le leinster arrive !
    Ligne 1 : Texte dans le message
    Ligne 2 : Titre du message
    Supprimer ensuite l'ancien historic.events.txt.strings.bin et une nouvelle version contenant les lignes ajoutées sera crée en lancant le jeu.

    • Dans le campaign_script


    C’est un peu plus compliqué, mais au final c’est presque la même chose.
    Code:
    ;-- Leinster invasion  --
    monitor_event EventCounter EventCounterType leinster_invasion_warn
    and EventCounter > 0
    ; ADD SCOUTING INVASION
    add_events
    event    counter    leinster_invasion
    date    6 8
    end_add_events
    if I_EventCounter leinster_invasion_warn == 2
    terminate_monitor
    end_if
    end_monitor
    La différence ? On peut rajouter des conditions à l’apparition, comme l’obtention d’un territoire par une faction ou encore plein d’autres idées.


    B/ Personnaliser l’évènement
    Tout d’abord il faut changer les lignes concernant le Leinster du descr_strat, en ne laissant que cela :
    Code:
    faction leinster, fortified stalin
    ai_label default 
    dead_until_resurrected
    denari 1000
    denari_kings_purse 3000
    Attention : pensez à mettre la region de Dublin que possède déja le Leinster aux rebels, ainsi que les bâtiments et l’armée qui vont avec (assurez vous que les noms des généraux sont existant pour les rebels, dans le fichiers descr_names.txt qui est dans le data). Faîtes de même dans le fichier descr_regions.txt (dans data/world/maps/base) :
    Code:
    Dublin_Province
        Dublin
        leinster
        Irish_Rebels
        10 232 10
        silver, atlantic, explorers_guild
        5
        7
        religions { catholic 96 orthodox 0 islam 0 judaism 0 pagan 2 heretic 2 }
    Et changez la ligne où il y a leinster en england ou scotland.

    Ensuite allez dans le descr_sm_factions.txt, changez l’ancienne partie du leinster en :

    Code:
    faction                        leinster, spawned_on_event
    culture                        northern_european
    religion                    catholic
    ........
    custom_battle_availability    yes
    horde_min_units                10
    horde_max_units                20
    horde_max_units_reduction_every_horde 10
    horde_unit_per_settlement_population    250
    horde_min_named_characters    2
    horde_max_percent_army_stack 80
    horde_disband_percent_on_settlement_capture    0
    horde_unit                    Spear Militia
    horde_unit                    Galloglaich
    horde_unit                    Border Horse
    horde_unit                    Irish Kerns
    can_sap                        yes
    prefers_naval_invasions        no
    can_have_princess            yes
    has_family_tree                yes

    custom_battle_availability : signifie que la faction est disponible en bataille personnalisée et sur le multi ( le nbre max de factions pour les batailles perso est 25)
    horde_disband_percent_on_settlement_capture : pourcent d’unités de la horde qui se dispersent au moment de la capture d’une cité.
    can_sap: peut se cacher dans la carte de campagne
    prefers_naval_invasions : préfère les invasions navales (ou attaques navales)
    can_have_princess : peut avoir des princesses
    has_family_tree : peut avoir un arbre de famille (pour plus d’infos regardez : ici )
    horde_unit : unités don’t dispose la horde quand elle apparaît


    Des images arrivent dès que mon jeu voudra bien se lancer :lol :
Chargement...
X