Page 1 sur 2

Procédure de test : guetter les éventuels soucis des scripts

Posté : 13 août 2012, 17:58
par Gerauld
Amis testeurs, bonjour.
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
Exemple de script CORRECT et garanti sans risque :

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
Il faut faire la même chose avec l'instruction registerforsingleupdategametime et regarder entre les lignes event onupdategametime() et le endevent qui suit si l'instruction est présente entre une ligne commençant par if et la ligne endif suivante.

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.")
c'est un oubli de traduction (ça nous arrive à tous donc c'est pas grave).
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.")
Vous recherchez ensuite les instructions messagebox. Idem, si vous voyez :messagebox("My taylor is rich"), c'est un oubli. Mêmes règles que pour les notifications.

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....

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 13 août 2012, 18:40
par maga83
Bin tiens, les mannequins....

Les modders ont la sale habitude de copier/coller les scripts des mannequins du jeu vanilla qui n'est pas adapté pour les mods (les mannequins perdent leurs armures, bougent, etc...).

Et même avec le patch qui va bien, ça marche pas...

Les bons modders ont rendu les mannequins indépendants des scripts de base en les isolants, c'est à dire qu'ils sont indépendants des scripts de base du jeu.

A la sortie, il y a une centaine de mods "maisons pour joueur" avec des mannequins foireux, et une dizaine qui ont des mannequins qui ne bougent pas un cil.

Exemple :

--> http://www.confrerie-des-traducteurs.fr ... 88&t=13292

Mannequins indépendants, pas de problème.

--> http://www.confrerie-des-traducteurs.fr ... 94&t=13415

Mannequins qui bougent, perdent leurs armures.

Note : j'ai donné ces exemples car c'est les mods que je connais le mieux.

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 13 août 2012, 21:52
par Snipass
Moi je ne crache jamais sur la main qu'on me tend donc donne nous donc tes conseils si ça nous permet de tester les mods de façons plus approfondies cela n'en sera que meilleur pour la communauté.

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 13 août 2012, 22:12
par Gerauld
Il faudrait creuser un peu du côté de ce que Maga83 a signalé. C'est très intéressant de pouvoir détecter facilement les soucis de mannequins vus que ceux-ci sont très répandus. Tu aurais des détails concernant les scripts et comment repérer facilement des mannequins ayant potentiellement des soucis? On ajoutera ça au premier post. Cela m'évitera de devoir télécharger les deux mods pour jouer aux jeu des septs différences si tu connais déjà la réponse. Ce serait sympa.

Pour ma part, je prépare une bafouille courte et compréhensible sur certaines instructions qui laissent des traces dans les saves. Pas besoin de s'y connaître, il suffit de repérer le ou les mot(s) indésirable(s) dans le fichier texte pour que le script devienne suspect...et en cas de doute le présenter dans un sujet de la salle de recherche pour qu'un scripteur y jette éventuellement un coup d’œil pour confirmer. Pas besoin de savoir comment le script fonctionne.
Si ça permet par la suite de faire retour des informations à l'auteur du mod pour qu'il corrige, ce sera bien.

Si, à l'instar de Maga83, certains ont des idées de trucs qui seront mis dans le premier post, n'hésitez pas à partager vos expériences lors des tests ou autres. Si on arrive à se faire une petite check-list facile à suivre ce serait bien.

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 13 août 2012, 22:17
par Snipass
Le problème avec les mannequins je l'ai connu avec la dovakhin hideout, mannequins volants, qui changent de pièce, j'en avais même qui changeaient de postures, comme s'ils avaient été des PNJ normaux mais mis sur pause à mon entrée dans la maison xD

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 14 août 2012, 11:42
par maga83
Gerauld a écrit : Tu aurais des détails concernant les scripts et comment repérer facilement des mannequins ayant potentiellement des soucis?
Il me semble, d'après les modders qui expliquent tout dans le readme (rare), qu'ils intègrent directement ce patch :

--> http://skyrim.nexusmods.com/mods/10652

Mais pas comme un autre mod mais comme un script unique accroché à leur ESM, je sais, c'est confus mais je ne suis pas modder donc te donner une réponse claire va être dur pour moi.

Pour le repérage des mods avec mannequins, c'est à l'utilisation "in game" que tu vois si il est bien fait ou pas.

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 19 août 2012, 21:41
par Gerauld
Je viens de regarder le mod dont tu as donné le lien, à savoir le script fix pour mannequin. Il semble, d'après les commentaires, causer des soucis à certains avec Dawnguard. Une affaire à suivre de près cependant tant ce fix est nécessaire.

EDIT : premier post édité avec quelques petits trucs. Si certains désirent des scripts avec des instructions à chercher et s'exercer à trouver les soucis potentiels, je peux poster des exemples complets sans donner la solution.

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 25 août 2012, 10:38
par Gerauld
En mélangeant le principe d'une check-list et celui du modèle de rapport de test dispo sur la Conf', on pourrait proposer à nos admins une fiche de rapport de test Skyrim comme suit :
► Afficher le texte
Il ne manque plus que vos avis/idées/modifications/griefs/chèques, pour faire un truc pratique, efficace, pouvant être proposé à nos excellentissimes gardiens du temple...et permettant de ne rien oublier dans le test...N'étant pas testeur, je ne peux que proposer une ébauche.

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 16 oct. 2012, 21:53
par anumar
J'avais pas vue le poste aaaaah merci tout plein pour les bon conseils.

Re: Procédure de test : guetter les éventuels soucis des scr

Posté : 07 août 2014, 19:33
par Tsukasa31
Il est toujours d'actualité ? o.o