Queslques pistes pour détecter avec le bloc-note des dangers potentiels dans les scripts et un petit mot sur les mannequins de la part de Maga83.
N'hésitez pas à poster pour compléter ou corriger ce post.

Tout d'abord, si le mod est livré avec un bsa, il va falloir regarder ce qu'il y a dedans avec :
BSA BROWSER
Il suffit d'ouvrir le bsa, de sélectionner les fichiers à extraire et de cliquer sur extract dans le menu.
1er petit truc à regarder : les dangers potentiels pour les saves
S'il y a des fichiers avec comme extension *.psc dans le mod ou son bsa, il suffit d'ouvrir le fichier et de rechercher le mot exact :
registerforupdate
Si ce termes est présent dans le fichier, il y a de grandes chances que le mod laisse des traces indélébiles dans les sauvegardes.
Dans ce cas, il convient de vérifier la présence du mot suivant dans entre la ligne event onupdate() et la ligne endevent qui suit : unregisterforupdate().
S'il est absent, le script laisse des traces dans les saves. S'il est présent dans ce bloc. Il y a de grandes chances pour que le scripteur ait fait attention.
Il faut faire la même vérification avec l'instruction : registerforupdategametime. S'il est présent, rechercher entre les lignes event onupdategametime() et la ligne endevent qui suit si l'instruction unregisterforupdategametime est présente. Si elle est absente => trace dans la save à coup sûr.
On continue avec une vérification plus poussée
Ce coup-ci, on va chercher une instruction et voir comment elle est utilisée en regardant les lignes au dessus et en dessous. Cette instruction remplace de manière plus propre le très vilain registerforupdate.
Il faut chercher le mot exact : registerforsingleupdate
Il est possible qu'il apparaisse plusieurs fois dans le script. Ce n'est pas toujours le cas.
Le script est fait de blocs appelés event. Le premier registerforsingleupdate est, s'il est dans le script, souvent placé entre les lignes :
- event oninit() et la ligne endevent suivante.
- Event OnEffectStart(... et la ligne endevent suivante.
...
Celui-ci ne nous intéressera pas de toute façon. Au suivant.
Il doit y avoir dans le script une ligne event onupdate(). C'est entre cette ligne et la ligne endevent suivante qu'il faut chercher le registerforsingleupdate.
Il faut maintenant vérifier que le scripteur vérifie une condition avant de refaire un registerforsingleupdate.
Il faut donc juste vérifier si le registerforsingleupdate se trouve entre un ligne commençant par if et le 1er endif qui suit cette ligne. Si c'est le cas, c'est bon. Sinon => script suspect. Risque pour la save.
Exemple de script qui se rappelle lui-même en boucle :
Code : Tout sélectionner
event oninit()
...
...
registerforsingleupdate(1)
endevent
...
...
...
event onupdate()
...
...
registerforsingleupdate(1)
endevent
Code : Tout sélectionner
event oninit()
...
...
registerforsingleupdate(1)
endevent
...
...
...
event onupdate()
...
...
if mavariable.getvalueint() == 1
...autre instructions ou pas ....
registerforsingleupdate(1)
... autres instructions ou pas....
endif
endevent
A ce point, avec le bloc-notes et la fonction recherche, vous avez donc vérifié que les scripts du mod que vous testez ne comprend pas de risques au niveau des scripts qui s'appellent en boucle et polluent les saves.
Tant qu'à avoir le script ouvert, vous pouvez également vérifier que le traducteur n'a pas oublié des textes susceptibles d'apparaitre à l'écran.
Pour cela, il faut chercher tout d'abord l'instruction : notification
Si vous voyez un truc du genre :
Code : Tout sélectionner
notification("I have " + mygold + " coins and " + myducks + " ducks.")
Il suffit de remplacer le texte entre guillemets par la version française. Ne pas toucher à ce qui n'est pas entre guillements.
Il est possible de changer l'ordre des trucs entre guillements pour les besoins de la traduction. L'exemple ne s'y prête pas mais on pourrait mettre :
Code : Tout sélectionner
notification("J'ai " + myducks + " canards et " + mygold + " pièces d'or.")
A ce stade, le testeur a vérifié que le mod ne présentait pas une des source de dangers potentiels pour les saves et que les scripts étaient bien traduits.
Maintenant, il est temps de lancer le jeu pour voir ce que le mod a dans le ventre... Le meilleur moment.
Un truc de Maga83 : bien vérifier in-game le fonctionnement des mannequins ajoutés par le mod.
S'ils se balladent, dupliquent des objets, se retrouvent à poil dès que vous revenez de vos aventures ou s'il y a quoi que ce soit d'anormal, le signaler. Il existe un script fix pour les mannequins qui est inclus dans certains mods et qui résout ces problèmes. Il semblerait que des personnes aient eu des soucis de CTD avec l'utilisation du script fix et de Dawnguard. Il convient quand même de signaler les soucis de mannequins.
Si le mod ajoute de quoi exposer ces armes, bien tester chaque emplacement. Il arrive, lors de la duplication que l'activateur permettant de reprendre l'arme soit trop dans le mur et donc innaccessible au moment de reprendre l'arme. (Cependant, un tcl par la console devrait permettre de récupérer l'outil...). C'est presque rien à corriger mais c'est toujours embêtant.
Pour la suite, donnez vos trucs, astuces, vérifications à faire....