X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Script année + âge

    Ma question est simple :

    Comme vous le savez, dans le "desc.strat", on peut faire correspondre le nombre de tour au nombre d'année. Seul problème, si je met 0.25 (soit 4 tours par an) et bien l'âge de mes généraux et autres personnages ne suit pas et ils continuent de vieillir d'un an par tour. Donc, où se trouve le fichier pour modifier la vitesse de vieillesse des persos ?

  • #2
    Bon personne ne m'a répondu depuis mais j'avais trouvé la solution tout seul et je sais que ça peut en intéressé plus d'un qui joue sur des mods où le nombre de tours ne leur correspond pas. Surtout quand leurs généraux vieillissent a la vitesse de la lumière, c'est pas l'idéal nous sommes d'accord car moi j'aime suivre un général sur une durée d'au moins 150 tours. Un personnage qu'on a entraîné, avec lequel on a gagner des guerres et dont la suite est au top niveau, ça fait toujours plaisir de le garder le plus longtemps possible. Bref, les 2 fichiers à modif sont le "campaign_script" et le "desc_strat", faire une copie des deux au passage d'ailleurs.
    Vous jouez sur un mod que vous aimez et 1 tour correspond a 6 mois, 1 an ou 2 ans dans le pire des cas, avec cette solution vous pouvez mettre n'importe quel nombre de mois mais nous allons commencez par 4 tours par an. Allez dans votre dossier C:\Program Files\SEGA\Medieval II Total War\mods, choisissez votre mod, en l'occurence De Bello Mundi pour moi et la custom campaign Medium : C:\Program Files\SEGA\Medieval II Total War\mods\DBM\data\world\maps\campaign\custom\world wide_campaign_MEDIUM

    Trouvez ce paragraphe dans le "campaign script" (en général il ressemble a ça) :

    ;;;;;;;;;;;;;;;;;;;1 turn = 1 year, summer-winter

    declare_counter turn ;0=summer, 1=winter
    set_counter turn 0

    monitor_event PreFactionTurnStart I_CompareCounter turn = 0
    console_command season summer
    end_monitor

    monitor_event PreFactionTurnStart I_CompareCounter turn = 1
    console_command season winter
    end_monitor

    monitor_event FactionTurnEnd FactionType slave
    if I_CompareCounter turn = 1
    set_counter turn -1
    end_if
    inc_counter turn 1
    console_command season winter
    end_monitor

    Nous constatons qu'il y a que 1 tour par an, pour le changer en 4 tour par an il faut faire comme ça :

    ;;;;;;;;;;;;;;;;;;;4 turn = 1 year, summer-winter

    declare_counter month
    set_counter month 1 ;set to January

    monitor_event PreFactionTurnStart FactionIsLocal ; set the season for each month
    if I_CompareCounter month == 1 ;January
    console_command season winter
    end_if

    if I_CompareCounter month == 2 ;February
    console_command season winter
    end_if

    if I_CompareCounter month == 3 ;March
    console_command season summer
    end_if

    if I_CompareCounter month == 4 ;April
    console_command season summer
    end_if

    inc_counter month 1 ;advance the month
    if I_CompareCounter month == 5 ;start a new year
    set_counter month 1
    end_if
    end_monitor

    monitor_event FactionTurnEnd FactionType slave
    and I_CompareCounter month < 4
    console_command season summer
    end_monitor

    Si vous voulez 6 tours par an :

    ;;;;;;;;;;;;;;;;;;;6 turn = 1 year, summer-winter

    declare_counter month
    set_counter month 1 ;set to January

    monitor_event PreFactionTurnStart FactionIsLocal ; set the season for each month
    if I_CompareCounter month == 1 ;January
    console_command season winter
    end_if

    if I_CompareCounter month == 2 ;February
    console_command season winter
    end_if

    if I_CompareCounter month == 3 ;March
    console_command season summer
    end_if

    if I_CompareCounter month == 4 ;April
    console_command season summer
    end_if

    if I_CompareCounter month == 5 ;May
    console_command season summer
    end_if

    if I_CompareCounter month == 6 ;June
    console_command season summer
    end_if

    inc_counter month 1 ;advance the month
    if I_CompareCounter month == 7 ;start a new year
    set_counter month 1
    end_if
    end_monitor

    monitor_event FactionTurnEnd FactionType slave
    and I_CompareCounter month < 6
    console_command season summer
    end_monitor


    Laissez les noms des mois tel quel, ne modifiez pas, vous pouvez parcontre remplacer summer par winter ou winter par summer a votre guise. La seconde partie, tout le monde l'a connaît, on l'a tous fait tellement c'est simple. Ouvrez le descr_strat et modifiez la ligne timescale ( c'est au tout début du fichier, autant pour la version vanilla que les mods) :

    start_date 513 summer
    end_date 870 winter
    timescale 1.00

    Remplacez le 1.00 par 0.25 si vous avez mit 4 tours par an ou par 0.16 si vous avez mit 6 tours par an, quoique pour ce dernier je ne suis pas sûr car je ne met jamais 6/an mais le chiffre devrait être sensiblement le même au dixième chiffre après la virgule. Si en 6 tours par an ça bug alors mettez bien ça : 0.1666666666666667
    Voilà, maintenant vos généraux comme vos agents vieilliront au nombre de tours correspondant.

    Ce bidouillage est tiré de "Aging & Season script" 12 tours par an. Il s'adresse uniquement aux bidouilleurs comme moi ou aux noobs du modding qui ne trouve pas de solutions.
    Dernière modification par ALG, 26-08-2013, 10h55.

    Commentaire


    • #3
      Si vous n'avez pas le paragraphe, il vous suffit de l'ajouter directement dans le fichier texte, tout en haut, de façon que ça ressemble à ça (vous pouvez évidemment changer chiffres et saisons à loisir!). Votre perso ne vieillit pas (j'ai passé 10 tours pour vérifier, mon roi n'a pas pris un an) et pas de bug dans le jeu (à priori)

      ;
      ; Campaign script
      ;
      script

      ;;;;;;;;;;;;;;;;;;;4 turn = 1 year, summer-winter

      declare_counter month
      set_counter month 1 ;set to January

      monitor_event PreFactionTurnStart FactionIsLocal ; set the season for each month
      if I_CompareCounter month == 1 ;January
      console_command season winter
      end_if

      if I_CompareCounter month == 2 ;February
      console_command season winter
      end_if

      if I_CompareCounter month == 3 ;March
      console_command season summer
      end_if

      if I_CompareCounter month == 4 ;April
      console_command season summer
      end_if

      inc_counter month 1 ;advance the month
      if I_CompareCounter month == 5 ;start a new year
      set_counter month 1
      end_if
      end_monitor

      monitor_event FactionTurnEnd FactionType slave
      and I_CompareCounter month < 4
      console_command season summer
      end_monitor

      Commentaire


      • #4
        Je vois pas la différence avec ce que j'ai dis. Fais attention à respecter le nombre de tours du descr_strat avec celui du script car tu risques d'avoir des crashs sur le long terme.

        Commentaire


        • #5
          Tu avais juste pas précisé ce qu'il fallait faire si on trouvait pas le paragraphe (oui, c'est tout con mais ça évite des questions...)

          Commentaire


          • #6
            Salut, je suis nouveau sur le forum et j'ai pu constater ce petit sujet qui m'intéresse.

            Néanmoins je ne parviens pas a modifier la prise d age par mes généraux

            Je m'explique, soit un an tous les 2 tours soit ils ne vieillissent pas

            Y a t il une solution ? je joue sur AJV 3.1

            Merci de vos reponse

            Commentaire

            Chargement...
            X