Bonjour Endu,
Pour ton problème, je ne saurais dire car il nous manque des éléments pour bien tout comprendre. Quand tu reportes des scripts, pense à préciser si ce sont des scripts locaux ou globaux. Si un script est global, il peut être également utile de préciser comment il est lancé.
Par exemple, si tu lances un script global avec "StartScript" dans le "result" d'un dialogue de Hrundi, ce n'est plus un simple script global mais ça devient un script "ciblé". Ce qui veut dire que certaines instructions qui sont dans ce que tu penses être un global vont s'appliquer à Hrundi, comme si elles étaient dans son propre script. (Ce n'est qu'un exemple mais vérifie si ce n'est pas ce genre de mécanisme qui causerait ton problème).
Il y a par ailleurs des erreurs d'optimisation dans certains scripts. Par exemple :
if ( GetJournalIndex LON_hist01F < 40 )
Disable
endif
if ( GetJournalIndex LON_hist01F >= 40 )
Enable
endif
if ( GetJournalIndex LON_hist01F >= 45 )
Disable
endif
Si l'index du journal est à 45, c'est la 3ème condition que tu veux mais la deuxième est également vraie. Donc à chaque frame quand l'index est >= 45, le script fera un "enable" + un "disable" ! Ce qui ne serait pas le cas par exemple avec ceci :
if ( GetJournalIndex LON_hist01F >= 45 )
Disable
elseif ( GetJournalIndex LON_hist01F >= 40 )
Enable
elseif ( GetJournalIndex LON_hist01F < 40 )
Disable
endif
Si l'index est à 45, le script ne testera pas la suite puisque ce sont des "elseif" et que le premier "if" est vrai.
D'autre part, "DaysPassed" ne doit pas être utilisé comme tu le fais dans ton dernier script. C'est une variable globale qui est propre au jeu (même si avec Morrowind seul il faut la déclarer). Il faut donc que tu donnes un autre nom à ta variable locale ou que tu utilises "DaysPassed" de la bonne manière. Regarde page 120 du MSfD8 et si tu ne comprends toujours pas, pose la question dans "Les scripts me crispent".