Vue avec le testeur

Créer un testeur de variable

 

Ici l'on va créer un testeur de variable, c'est très utile pour suivre son script et repéré très facilement les bugs.

On veux que si tous les hommes d'une équipe soit monter dans le camion, une phrase s'affiche à l'écran du joueur, pour se faire on fait un mission toute simple, et l'on créer un script de comptage et l'on va comparer si le nombre de soldat dans le camion est égal au nombre de soldats dans le camion avant montage plus l'équipe qui monte en cargaison, si ils sont égaux l'on affiche la phrase "Chargement terminer".

Une fois créer le script l'on lance la mission et l'on regarde ce qu'il se passe. Mais les hommes ont beau être a l'intérieur de véhicule la phrase ne s'affiche pas. Alors l'on va tester notre script savoir ou ça coince avec le testeur.

Voici la mission avec le script intégrer, à décomprésser dans votre dossier "C:\Documents and Settings\NomDUtilisateur\Mes documents\ArmA Other Profiles\PseudoDuJeu\missions"

Mission

Lancer la mission et vous le constater aussi que rien ne s'affiche. Alors il faut modifier le script, pour se faire allé dans le dossier sus mensioner puis dans Compte.Intro et vous éditer script.sqs avec un éditeur de text de type NotePad.

En terme de script tout se joue ici:

?((_list + _sol) == _alpha):GoTo "Suite"

si mon script bug et vu qu'il n'y a eu aucun message d'erreur c'est que cette condition n'est pas remplie, donc l'on va créer un testeur dans se script qui va nous afficher en temps réel la valeur des variables _list, _sol, _alpha.

Voici la commande pour faire un testeur:

Hint Format ["Variable = %1", _variable] // affichera la variable à l'écran même si elle n'est pas encore définie

 

Avec ceci vous allez afficher l'intérieur d'une variable à l'écran quelque soit le type de donnée qu'elle rescelle.

Astuce: Le retour à la ligne est le classique \n comme en langage C, ainsi pour afficher deux variables il suffis d'écrire ceci:

Hint Format ["Variable 1 = %1\nVariable 2 = %2", _variable1, _variable2]

Ainsi de suite.

Attention: pour que le testeur affiche le résultat en temps réel il faut que la Commande Hint Format soit dans un boucle.

Alors pour notre script l'on va tester les variables et les afficher à l'écran, ce qui donne:

 

#Chargement
Hint Format ["Unites du Camion = %1\nUnites du Groupe = %2\nAddition = %3", _list,_sol,_alpha]
~0.5
?((
_list + _sol) == _alpha):GoTo "Suite"
GoTo "Chargement"

Je lance la mission et vois ça:

CUTV1

 

J'ai bien le nombre de soldat en équipage dans le camion, deux, un conducteur et un tirreur, j'ai bien le nombre de soldat dans mon escouade, 9, Mais mon addition ne bouge pas.

Je sais par expérience pour avoir fait souvant cette erreur qu'une variable si on ne la défini pas elle ne le fera pas toute seulle, donc si je veux que _alphe bouge, il faut que je le face, je relis le script et vois que j'ai mis _alpha = 0 avant ma boucle, mais que je ne l'ai pas recalculer dans la boucle. Je corrige ça et sa donne:

#Chargement
Hint Format ["Unites du Camion = %1\nUnites du Groupe = %2\nAddition = %3", _list,_sol,_alpha]
~0.5
?((
_list + _sol) == _alpha):GoTo "suite"
_crew2 = Crew _camion
_Alpha = Count _crew2
GoTo "Chargement"

 

J'enregistre le script, relance la mission et là j'ai bien Addition qui vari. Voila un exemple pour utiliser le testeur, il vous sera bien utile pour gagner du temps de test sans bug apparant mais aussi sans réaction du jeu.

Page d'Acceuil
Edition
Commandes
Page Script
Aides
Pages Missions
Page Campagne
Page Lien