39-45 Stratégie > Jeux vidéo > Sudden Strike > Sudden Strike 2 > Aide de jeu > Tutoriel de l'éditeur > Partie C-1 
Créé le : 5/3/2005
Auteur : SergentPat

Tutorial : éditeur de missions
(partie C)



Tutorial éditeur (C)

 

C 1. Scripts

Faire les scripts c’est remplacer en partie l’IA, c’est être le patron, surtout en mission SOLO. Vous construisez votre scénario.

Présentation de la fenêtre modifier script :

(A)  ou l’on inscrit le nom du script.

(1)  La fenêtre des conditions.

(2)  La fenêtre des actions.

(3)  La fenêtre liste des conditions et actions disponibles.

En bref !

  • dans la boite 1, les conditions

  • dans la boite 2, les actions.

  • En trois, le lieu ou vous choisissez les conditions et actions.

Voilà ce qu’il est primordial de connaître sur l’articulation de cette fenêtre.

 


 

 

C 2. Exemple détaillé de script

Pour vous mettre dans le bain, rien de mieux qu'un exemple concret !

Exemple : le groupe de piétons C4 que vous avez déposé sur la carte doit 2 minutes après le début du jeu se rendre dans la zone 1 .

Vous avez tapé votre titre de script (1)

Vous avez sélectionné dans la fenêtre des choix " temps à partir du début de mission " une condition qui s'est inscrite dans sa boite (2).

Une petite fenêtre s'est ouverte vous donnant 3 possibilités vous avez choisi " Plus que " car on a dit que l'action serait X minutes après le début de la mission. 

Une autre petite fenêtre s'est ouverte vous demandant de définir une durée. On a dit 2 minutes, vous entrez cette donnée et vous cliquerez sur OK.

Dans cet exemple, vous en aurez fini avec les conditions.

 

Passons donc à l'ordre :

Cliquez sur la boite 2 ce qui a pour effet de vous présenter un contenu différent dans la dernière fenêtre, un contenu d'actions disponibles.

En utilisant dans l'ordre : définir zone IA 1 du groupe puis définir IA 2 du groupe et définir Comportement ia du groupe nous allons ordonner au groupe C4 d'aller dans la zone 1 et de défendre cette zone en mouvements aléatoires. (cette dernière condition " aléatoire " fera l'objet d'un commentaire ultérieur)

 

Nous finissons de paramètrer le comportement du groupe C4 dans " infanterie- Défendre zone " qui vous présente une nouvelle fenêtre ou vous faites votre choix final d'action à savoir ici en cochant la première ligne " mouvement aléatoire sur zone ". Il ne reste plus qu'à cliquer sur OK en bas.

Et à ajouter " retirer ce déclencheur " pour que cette action n'ai lieu qu'une fois.Cliquez sur OK en haut à gauche.Vous êtes ramené à la fenêtre " scripts " Vous cliquez encore sur OK en bas à droite. 

Remarquez les autres fonctions à droite dans cette fenêtre.

Ce script est terminé.

 


 

 

C 3. Quelques modèles de scripts courants

EVous trouverez ci-après quelques exemples de modèle de script.


 

Exemple 1 :

Envoyer au bout 1 heure 01 minute et 50 secondes le groupe C7 composé de fantassins défendre la zone 37.

 


 

 

Exemple 2 :

Ici quand 1 unité au moins du joueur joueur passe dans la zone 59 il y a un envoi de renforts pour ce joueur. Ce renfort est du type « renfort 4 » il entre par la porte « D »et se dirigera vers la zone 6 immédiatement.

Remarque : il y a une deuxième action liée : afficher texte « $e_successful : bla bla bla »

ceci se rapporte à un message préparé dans « options de missions » -> ‘objectifs’ qui trouve son application ici.

A l’occasion on aurait pu faire déplacer l’écran sur le terrain d’aviation.

 


 

 

Exemple 3 :

Ici un script pour l’aviation : Il y a plusieurs façons d’obtenir de l’aviation. Nous traitons la plus simple qui a déjà été abordée dans « options de missions » -> « joueurs ».

Il s’agit après 15 secondes de jeu d’envoyer 5 bombardiers du joueur joueur attaquer la zone 1 et d’atterrir ensuite à Zéro.

Zéro en l’occurrence représente l’aérodrome zéro c’est à dire rien. L’avion quittera la carte une fois sa mission accomplie.

 


 

 

Exemple 4 :

Ici à nouveau l’envoi d’un renfort 16 minutes après le début du jeu, un groupe Flak 1 entrera par la porte A et se dirigera immédiatement vers la zone 2.

 


 

 

Exemple 5 :

Envoi de 3 renforts différents dans 3 zones différentes 04 minutes après le début de la partie.

 


 

 

Exemple 6 :

Une autre façon de faire entrer un renfort. Ici le déclencheur de l’action n’est pas basé sur une notion de temps.

 


 

 

Exemple 7 :

Un script pour déclencher un tir de barrage mettant en œuvre les obusiers D1, qui tireront sur la zone 12 avec les lance-roquettes du groupe D2.

Tandis que les camions de ravitaillement du groupe D3 stationné dans la zone 11 tout proche devront assurer la logistique, tout cela lorsqu’il y aura au moins une unité du joueur joueur qui pénétrera dans la zone 12.

L’imprudent, il va y avoir un beau feu d’artifice, je le sens mal !

 


 

 

Exemple 8 :

Ici un script pour afficher un message sur la carte avec déplacement d’écran sur la zone conçernée.

 


 

 

Exemple 9 :

Un parachutage avec 2 avions, un chargé de troupes, l’autre de matériel.

 


 

 

Exemple 10 :

Un script pour les perdants…. pour sauver la situation. Vous êtes mauvais, il ne vous reste plus que 5 unités actives sur la carte et comme je suis bon prince, je vais vous envoyer en urgence des renforts « okaou » par la porte D vers la zone 6 immédiatement ! Pensez-vous pouvoir y arriver avec ça ?

 

 


 

 

Exemple 11 :

Vous glandez et on vous manifeste du mécontentement Sous la forme d’un télégramme annoncé par des signaux morse.

 


 

 

Exemple 12 :

vous gagnez ! le script a ne pas oublier ou la fin de la partie n’est pas annoncée. Victoire.

 


 

 

Exemple 13 :

Là le script pour les perdants – défaite . A ne pas oublier aussi.

 


 

 

 


 

 

C 4. Collection de scripts évolués

Suivent quelques scripts plus élaborés, souvent le fruit de l’expérience acquise lors des échanges entre joueurs sur les forums.

N'hésitez pas vous aussi, si vous avez des scripts intéressants à nous les envoyer ou les proposer dans le forum, les plus instructifs pourront ainsi être ajouté à la présente collection.

 


 

 

Organisation d'une patrouille :

Ici vont être expliqués les scripts pour organiser des patrouilles.

Avant tout il faut savoir que sur la version française du jeu les chronomètres Sont défaillants.

Donc abandonner les exemples donnés dans le dossier éditor du jeu.

Vous remarquerez que pour arriver à un résultat satisfaisant on est obligé de faire plusieurs scripts à suivre pour qu’une patrouille puisse fonctionner. (1)

 

C4 = on met le groupe en mouvement vers la zone 3

C4 z 1 2 3 = un peu plus tard on dit au groupe de patrouiller dans zones 1, 2 et 3

En dessous = C4 z 1- C4 z2 -C4 z3 ( un seul est présenté, les autres sont similaires), les ordres de changement de zone de patrouille.

Bien noter que dans ces 3 derniers scripts on n’active pas la fonction « retirer ce déclencheur » afin que l’opération soit effectuée perpétuellement ou tout du moins tant qu’il restera des unités de ce groupe en vie sur la carte.

Voilà, votre patrouille est prête, bien sur auparavant sur la carte vous avez Déposé votre groupe et vous avez crée vos différentes zones.

Astuces :

On peut aussi faire entrer les troupes sous forme de renforts par une porte, Cette porte peut être volontairement réduite sur le bord de la carte à un ou 2 drapeaux ou encore mise à l’intérieur de la carte ou elle n’aura qu’un seul drapeau ce qui a pour effet de distribuer au compte goutte l’arrivée des troupes sur le terrain.

Ainsi, on peut patrouiller toute une zone en créant un fort sentiment d’insécurité.

 


 

 

Ressusciter une unité :

Et pour finir voyons voir comment « ressusciter » des troupes.

Dans l’éditor cette fonction est évoquée mais pas expliquée.

La méthode que j’ai expérimentée fonctionne parfaitement. La base s’appuie sur la fonction « Vies » qui se trouve parmi les 6 caractéristiques de paramétrage d’une unité (arbre des outils, en bas)

Souvent on voit des unités avec 100 points de vie. On se dit, elle est plus balaize que celle qui n’en a que 30, logique ! mais faux.

Attribuons 4 points de vie à notre unité, ainsi elle fera quatre tours de piste. Sa première vie et 3 résurrections. Ceci est un exemple.

Attention ! pas de fonction « retirer ce déclencheur » ou alors tout et annulé.

Voir l’exemple de script s’y rapportant au-dessus.

Cette fonction est très intéressante et très peu utilisée. Couplée avec les patrouilles vous pouvez tenir en haleine le joueur très longtemps.

Bien sur toutes ces fonctions ne s’appliquent qu’au joueur ENNEMI dans le mode SOLO.

 

 


 

 

Considérations sur les tirs de barrage :

Introduction : Les tirs de barrage ont été déjà abordés dans la section « Scripts » cependant à l’usage il est apparu par retours sur le forum qu’un problème existait et des remèdes ont été trouvés. D’où la création de ce chapitre.

Pour qu’un tir de barrage puisse avoir lieu avec des obusiers ou des lances roquettes il faut que ces lanceurs portent un numéro de groupe spécifique et afin qu’ils puissent être ravitaillés soient dans une zone numérotée ( voir exemple dans la section susnommée). Le déclenchement de l’action dans mes exemples se produit lorsque au moins une unité du joueur joueur (vous) pénétrez dans une zone distincte laquelle subie aussitôt le tir de la batterie.

Imaginons que vous vouliez vous emparer de ces lanceurs, ce qui est logique et que vous y réussissiez vous allez vite constater que bien que vous soyez propriétaire des lanceurs après avoir éradiqué les servants, ces mêmes lanceurs vont continuer leurs tirs, même sans servants si vous pénétrez à nouveau dans la zone de déclenchement, ce qui est pour le moins fâcheux ! Cela est du au fait que ces obusiers portent un numéro de groupe distinctif.

Une première solution est apparue qui consiste à faire muter le numéro de groupe. Voici comment :

Deux scripts successifs dans un cas simple ou dans le premier on paramètre le tir des obusiers du groupe B2 sur la zone 21 suite à intrusion dans cette même zone.

Dans le second script on paramètre un changement de numéro de groupe ayant pour conséquence d’annuler les ordres du premier script. Les lanceurs sont sous votre contrôle après les avoir équipés de servants mais on ne peut plus revenir en arrière.

 

 

Deuxième solution : (Merci à Arzok pour sa contribution)

Les obusiers A1 qui se trouvent dans la zone 10 tireront lors d’une intrusion ennemie dans la zone 20 qui se trouve plus bas sur la carte.

Ils ne changeront pas de numéro de groupe même lorsque l’on en prendra le contrôle, il ne nous tirerons plus dessus tant que nous en  serons maître mais si d’aventure une contre attaque ennemie amenait à ce qu’ils repassent dans le camp adverse la fonction primitive est réactivé.

Intéressant non ?

Voici le script :

 


 

 

 


 

 

C 5. Valeur de cellules

Voici un élément particulièrement intéressant pour la réalisation d'un script, l'utilisation des cellules ou « variables ».

L'utilisation d'une valeur de cellule à un moment donné dans l'action du jeu va permettre le marquage d'un évènement dans le temps (temps écoulé depuis le début de la mission, chrono, compte à rebours) ou dans l'espace (zone) ou bien encore lorsqu'une unité est détruite. L'utilisation des cellules permet quasiment de tout faire.

Mais alors, qu’est-ce donc qu’une cellule ?

Une cellule, c'est comme une variable (mais êtes-vous familier des variables ?)

C'est un emplacement dans la mémoire de l'ordinateur, dans lequel on peut stoker un nombre entier non signé (pas de virgule, pas de signe – ou +).

On a droit à 100 emplacements (c'est-à-dire 100 variables, numérotés de 0 à 99) dans la mémoire de l'ordinateur.

Comment stoker une valeur dans une cellule ?

Dans le panneau action de l’éditeur : cliquez sur Valeur de la cellule

 

 

 

 

 

 

Définir un numéro de cellule. Taper 0 revient à nommer la cellule c_0. C'est son petit nom qui permettra de l'appeler et de tester son contenu (le nombre en mémoire dans cette cellule)

 

 

 

Vous avez le choix, vous tapez un nombre ou vous lui affectez la valeur contenue dans une autre cellule en sélectionnant Variable et en tapant son numéro.

 

Quelles sont les opérations possibles sur les cellules avec l’éditeur de SSII ?

-           Dans le panneau condition on peut tester la valeur de la cellule ou la comparer à une autre afin de déclencher une action.

 

  

-           Dans le panneau action on peut affecter une valeur à une cellule « Valeur de la cellule » ou lui ajouter ou retrancher une autre valeur (nombre ou une autre cellule) « Opération mathématique »

 

C_6 increase by Number 2       la valeur de c_6 est augmentée de 2

C_2 decrease by c_4      la valeur de c_2 est diminuée de la valeur de c_4

Mais à quoi servent les cellules dans les scripts de SSII ?

L’utilisation d’une valeur de cellule à un moment donné dans l’action du jeu peut permettre le marquage d’un évènement (objectif atteint, unités détruites, etc.). On pourra ainsi associer une valeur de cellule aux différentes conditions disponibles dans le script de l’éditeur et ainsi compléter les fonctions de l’éditeur ou remplacer celles qui ne fonctionnent pas.

Note sur le fonctionnement du moteur de SSII :

Toutes les 2,5 secondes environ, le « moteur » de SSII vérifie les conditions de tous les déclencheurs du script et exécute les actions quand les conditions sont remplies. Si, dans la liste des actions il trouve « retirer ce déclencheur », le déclencheur est retiré de la liste et n’est plus examiné même si les conditions se reproduisent. Si, par contre les mots « retirer ce déclencheur » ne figurent pas dans la liste des actions, les actions seront exécutées à chaque lecture du script (toutes les 2,5 secondes) tant que les conditions du déclencheur sont remplies.

 

 

Analysons maintenant quelques exemples :


 

Un premier exemple simple d'utilisation des cellules : Des conditions de victoire et défaite évoluées

Pour gagner une mission, le joueur doit détruire toutes les unités ennemies mais il perd la mission si toutes ses unités sont détruites, cependant au début de la mission le joueur n'a aucune unité présente sur la carte, elles n'arrivent (renfort) que 2 minutes après le début de la mission.

Si l'on met la condition de défaite ordinaire :

« Quand les unités Actif unités du joueur Joueur = exactement 0 

Retirer ce déclencheur

Fin de mission si Défaite »

 

Les unités du joueur n'étant pas encore arrivées sur la carte, la défaite lui sera accordée dès le début de la mission.

L'utilisation des valeurs de cellules va remédier à ce problème, on peut pour cela procéder comme suit :

Dès le début de la mission, il faut dans le script, régler la valeur initiale de la cellule.

« Début de la mission

Retirer ce déclencheur

let cell C_0 valeur : nombre 0 »

 

 

On va ensuite envoyer des renforts au joueur 2 minutes après le début de la mission.

« Temps à partir du début de la mission : = plus que 00.02.00

Retirer ce déclencheur

Envoyer au joueur joueur des renforts de type (X) par point d'entrée A vers la zone #1 au

bout de 00.00.00 »

 

 

Les 2 minutes écoulées, les unités du joueur (groupe A1) qui arrivent sur la carte par le point d'entrée A et se dirigent vers la zone 1 vont déclencher la commande de script suivant.

« Quand = plus que 0 unités du groupe A1 dans la zone # 1

Retirer ce déclencheur

Let cell C_0 valeur : nombre 1 »

 

Ainsi dès qu'une unité du joueur (groupe A1) entre dans la zone 1 la valeur de la cellule C_0 change et passe de sa valeur initiale 0 à 1.

Il faut maintenant définir la condition de défaite en conséquence.

« Quand les unités Actifs du joueur Joueur =  exactement 0 

et (and) Valeur de la cellule C_0 = exactement Nombre 1 

Retirer ce déclencheur

Fin de mission si Défaite »

On obtient alors l'effet recherché quand :

Les unités du joueur présentent sur la carte sont détruites, la condition de défaite se trouvant vérifiée peut être activée. Le joueur perd la mission.

 


 

Un deuxième exemple d'utilisation des cellules : Des messages appropriés.

 

Autre exemple d'utilisation de valeurs de cellules :

Imaginons que l'on souhaite afficher une série de textes d'instruction pour la mission du joueur dans un ordre précis sans utiliser les fonctions de temps de l'éditeur mais en se basant sur les zones.

Le scénario :

Le  joueur doit à l'aide d'une unité trouver un général quelque part sur la carte  afin de lui remettre un message.

Le joueur dispose d'un véhicule, ici une jeep (groupe B7) et ses instructions sont de trouver une maison dans laquelle réside le général actuellement.

 

Le décor est planté voyons maintenant comment procéder.

On place sur la carte 3 maisons à des endroits différents et l'on défini une zone pour chacune d'entre elles.

Maison 1 zone # 1

Maison 2 zone # 2

Maison 3 zone # 3

 

L'objectif à atteindre c'est que le joueur aille à la maison 1, un texte s'affiche lui expliquant que « Ce n'est pas ici que le général loge mais dans une autre maison avec un puits à côté ».

Évidement les deux autres maisons auront un puits. ;-)

Le joueur trouve la maison 2, un texte s'affiche « Ceci n'est pas non plus la bonne maison car celle du général à en effet un puits mais également un gros chêne à côté »

Plus d'hésitation possible le joueur trouve la maison 3 et un texte lui annonce que «  Le général est furieux d'avoir autant attendu ! »

 

Le problème est que la jeep (B7) du joueur ne va pas nécessairement trouver les maisons 1,2,3 dans l'ordre souhaité pour l'affichage des textes et c'est là qu'interviennent les valeurs de cellules afin que l'ordre d'affichage des textes soit respecté.

On va utiliser la cellule C_0 tout au long du script en changeant sa valeur quand cela sera nécessaire mais on aurait pu aussi bien prendre 3 cellules différentes (C_0, C_1, C_2) pour arriver au même résultat.

On règle donc en début de mission la valeur initiale de la cellule C_0 .

« Début mission

retirer ce déclencheur

let cell C_0 valeur : Nombre 0 »

 

Maintenant lorsque la jeep (B7) pénètre dans la zone # 1 de la 1ère maison, le texte s'affiche et la valeur de la cellule C_0 passe à 1.

« Quand plus que 0 unités du groupe B7 dans la zone # 1

retirer ce déclencheur

afficher texte « Ce n'est pas ici que le général loge? »

let cell C_0 valeur : Nombre 1 »

Lorsque la jeep (B7) pénètre dans la zone # 2 de la 2ème maison et que la valeur de la cellule C_0 = 1, le texte s'affiche et la valeur de la cellule C_0 passe à 2.

« Quand plus que 0 unités du groupe B7 dans la zone # 2

et valeur de la cellule C_0 = exactement Nombre 1

retirer ce déclencheur

afficher texte « Ceci n'est pas non plus la bonne maison? »

let cell C_0 valeur : Nombre 2 »

 

Lorsque la jeep (B7) pénètre dans la zone # 3 de la 3ème maison et que la valeur de la cellule C_0 = 2, le texte s'affiche.

« Quand plus que 0 unités du groupe B7 dans la zone # 3

et valeur de la cellule C_0 = exactement Nombre 2

retirer ce déclencheur

afficher texte « Le général est furieux d'avoir autant attendu ! »

 

Les textes ne pourront donc s'afficher pour les maisons 2 et 3 que si le joueur passe à la maison 1 avant et suit ainsi l'ordre préétabli à l'aide des différentes valeurs de cellules.

Si la jeep du joueur passe à la maison 2 ou 3 en premier aucun texte n'apparaîtra.

 

Mais on peut encore corser le script en faisant en sorte qu'un texte différent s'affiche si le joueur trouve la maison 2 ou 3 avant la maison 1.

Du style : « La concierge est dans l'escalier repassez plus tard »

Ou « Zut, une maison close, allez voir ailleurs »

Pour la maison 2 :

« Quand plus que 0 unités du groupe B7 dans la zone # 2

et valeur de la cellule C_0 = exactement Nombre 0

retirer ce déclencheur

afficher texte « La concierge est dans l'escalier? »

Pour la maison 3 :

« Quand plus que 0 unités du groupe B7 dans la zone # 3

et valeur de la cellule C_0 = exactement Nombre 0

retirer ce déclencheur

afficher texte « Zut, une maison close ? »

 

Encore plus élaboré : Le joueur doit collecter des objets en des lieux différents (d'après Le Papé).

 

Pour obtenir le soutien de l’aviation, le joueur doit envoyer un message à partir du relais radio abandonné par l’ennemi. Mais auparavant il doit récupérer une batterie dans une ferme, et un émetteur dans un atelier.

Sur la carte on place les bâtiments et on définit une zone pour chacun d’eux.

La ferme           zone #1

L’atelier            zone #2

Le relais radio   zone #3

 

Maintenant nous écrivons trois déclencheurs pour tester chaque fois que le joueur arrive dans l’une ou l’autre des trois zones.

 

 

Titre

 

arrive_zone_1

 

Condition

 

Quand plus que 0 unités du joueur joueur dans la zone # 1

 

Action

 

retirer ce déclencheur

 

 

 

C_0 Augmenter de Nombre 1 

 

 

Titre

 

arrive_zone_2

 

Condition

 

Quand plus que 0 unités du joueur joueur dans la zone # 2

 

Action

 

retirer ce déclencheur

 

 

 

C_0 Augmenter de Nombre 2 

 

 

Titre

 

arrive_zone_3

 

Condition

 

Quand plus que 0 unités du joueur joueur dans la zone # 2

 

Action

 

retirer ce déclencheur

 

 

 

C_0 Augmenter de Nombre 4 

 

Explication : La cellule c_O a la valeur 0 par défaut. Au fur et à mesure que le joueur va atteindre les objectifs désignés les valeurs 1, 2 ou 4 vont s’additionner à cette cellule. La cellule peut donc prendre les valeurs suivantes :

 

1

 

=

 

1

 

le joueur n’a trouvé que la batterie

 

2

 

=

 

2

 

le joueur n’a trouvé que le poste radio

 

3

 

=

 

1 + 2

 

le joueur n’a trouvé que la batterie et le poste radio

 

4

 

=

 

4

 

le joueur n’a trouvé que le relais radio

 

5

 

=

 

4 + 1

 

le joueur n’a trouvé que la batterie et le relais radio

 

6

 

=

 

4 + 2

 

le joueur n’a trouvé que le poste et le relais radio

 

7

 

=

 

4 + 2 + 1

 

le joueur a trouvé tous les éléments nécessaires. S’il est dans le relais radio le message est envoyé, vous pouvez lui attribuer un renfort aérien.

 

 

En testant la valeur de la cellule, nous pouvons envoyer au joueur le message approprié.

 

 

Titre

 

affiche_msg_1

 

Condition

 

Valeur de la cellule c_0 = exactement nombre 1

 

Action

 

retirer ce déclencheur

 

 

 

afficher texte « Vous avez trouvé une batterie, il vous faut maintenant un poste radio pour émettre »

 

 

Titre

 

affiche_msg_2

 

Condition

 

Valeur de la cellule c_0 = exactement nombre 2

 

Action

 

retirer ce déclencheur

 

 

 

afficher texte « Vous avez trouvé un poste radio, il vous faut maintenant une batterie pour émettre »

 

 

Titre

 

affiche_msg_3

 

Condition

 

Valeur de la cellule c_0 = exactement nombre 3

 

Action

 

retirer ce déclencheur

 

 

 

afficher texte « Vous avez une batterie et un poste radio rendez vous dans un relai radio pour émettre »

 

 

Titre

 

affiche_msg_4

 

Condition

 

Valeur de la cellule c_0 = exactement nombre 4

 

Action

 

retirer ce déclencheur

 

 

 

afficher texte « Ce relais radio a été abandonné par l’ennemi, mais en partant il a détruit l’émetteur radio et les batteries »

 

 

Titre

 

affiche_msg_5

 

Condition

 

Valeur de la cellule c_0 = exactement nombre 5

 

Action

 

retirer ce déclencheur

 

 

 

afficher texte « Vous avez trouvé le relais radio et vous possédez une batterie, il vous faut maintenant trouver un poste radio pour émettre »

 

 

Titre

 

affiche_msg_6

 

Condition

 

Valeur de la cellule c_0 = exactement nombre 6

 

Action

 

retirer ce déclencheur

 

 

 

afficher texte « Vous avez trouvé le relais radio et vous possédez un poste radio, il vous faut maintenant une batterie pour émettre »

 

 

Titre

 

affiche_msg_7

 

Condition

 

Valeur de la cellule c_0 = exactement nombre 7 et Quand plus que 0 unités du joueur joueur dans la zone #3

 

Action

 

retirer ce déclencheur

 

 

 

afficher texte « Vous pouvez envoyer un message au quartier général. Le soutien aérien ne va pas tarder »

 


 

 

Un troisième exemple d'application, le chronomètre : Une fonction buggée dans la version Fr de l’éditeur : « Chrono xx temps écoulé »

On a vu plus haut que le moteur de SSII lit tous les scripts et exécute ceux dont les conditions sont remplies toutes les 2,5 secondes environ. On peut donc imaginer un script dans lequel on va augmenter la valeur de la variable de 1 à chaque lecture du script. Cela nous donne un chronomètre où chaque unité vaut 2,5 secondes environ.


 

Titre

 

Chrono_c_80

 

je donne à mon chrono le nom de la cellule pour le retrouver facilement

 

Condition

 

Temps à partir du début de la mission : = plus que 00 :00 :00

 

attention, la condition « début de mission » n’est remplie qu’une fois, seule la condition « temps écoulé.. » sera toujours vraie.

 

Action

 

c_80 Augmenter de Nombre 1

 

Ne pas mettre l’instruction “retirer ce déclencheur” afin qu’à chaque lecture du script, (toutes les 2,5 secondes environ) la valeur de la cellule soit augmentée de 1.

 

Si nous voulons déclencher une action au bout de 20 secondes, nous savons que le script aura été lu 20 : 2,5 = 8 fois par le moteur de SSII, donc que la cellule c_2 aura atteint la valeur 8.

 

 

Titre

 

 

 

Ce que vous voulez

 

Condition

 

Valeur de la cellule c_2 exactly Number 8

 

Quand la cellule atteint la valeur 8, la condition est vraie. Cette condition n’a lieu qu’une fois, il n’est donc pas nécessaire de placer « retirer ce déclencheur » dans le panneau action.

 

Action

 

 

 

Ce que vous voulez

 

Ce script ne fonctionne qu’une seule fois au bout de 20 secondes. Mais souvent on se servira des chronomètres pour lancer des actions répétitives espacées dans le temps. Dans ce cas il faut modifier le script

 

Titre

 

 

 

Ce que vous voulez

 

Condition

 

Valeur de la cellule c_2 exactly Number 8

 

Quand la cellule atteint la valeur 8, la condition est vraie.

 

Action

 

Envoyez renfort

Lancer reconnaissance

 

Let cell c_2 valeur : Number 0

 

 

Ne mettez pas l’expression « retirer ce déclencheur », il sera relu à chaque fois et exécuté chaque fois que la cellule aura atteint la valeur 8 c'est-à-dire, toutes les 20 secondes. N’oubliez pas de remettre le chronomètre à zéro.

 


 

 

L'utilisation des valeurs de cellules peut s'appliquer à une grande quantité d'évènements d'une mission et venir de cette façon enrichir vos scripts.

Maintenant c'est à vous de jouer.

 

Sujet traité et présenté par Kolo, SergentPat, Le Papé et Arzok

 


 

Suite dans la partie D