Aller au contenu

Veuillez patientez...

  • Pub bloquée :(

[Tuto] Halo 2 : Anniversary - Les Scripts


Nakira

Messages recommandés

Tutoriel Forge – Les Scripts

La forge de Halo 2 Anniversary nous offre de nouvelles possibilités. La plus importante d’entre toutes est très certainement l’ajout des scripts. Ce tutoriel vous permettra d’appréhender de manière vivante et simple ce nouvel outil. Vous êtes prêts ? C’est parti.

Qu’est-ce qu’un script ?

Je vous parle de script mais vous ne savez peut-être pas de quoi il s’agit. Ou alors vous le savez déjà, mais quoiqu’il en soit il est important de définir ce que c’est. Un script, c’est une action

qui va s’exécuter en fonction d’un évènement donné, suivant une méthode donnée. En clair, vous appuyez sur un bouton et ça fait plein de jolis trucs sous vos yeux ébahis (mais pas que !).

Les impulsions, les états et les canaux.

Les scripts ont un fonctionnement relativement simple dans Halo : un objet (un interrupteur par exemple) peut envoyer une impulsion pour modifier l’état d’un canal X. Un canal est un objet virtuel, vous pouvez imaginer ça comme un fil électrique.

Il peut avoir deux états : Activé (le courant passe) ou Désactivé (le courant ne passe pas). Tous les objets qui sont « branchés » sur ce canal prendront alors son état.

Il existe des objets pour envoyer des impulsions sur les canaux. Chaque objet envoie une impulsion particulière. Il existe trois impulsions différentes :

  • Active
  • Désactive
  • Change

Concrètement, l’impulsion Active va mettre le canal X à l’état Activé. Désactive le mettra à Désactivé et Change va simplement inverser l’état du canal (si celui-ci était à Activé, il sera à Désactivé et vice-versa).

Donc nous avons trois impulsions différentes et deux états distincts : Activé et Désactivé.

Il existe 64 canaux différents, et tous sont à Désactivé par défaut.

Les outils

La forge de Halo 2 : Anniversary intègre le scripting sur tous ses objets. Lorsque vous avez sélectionné un objet, appuyez sur B et allez dans le menu « Script ».

Tous les objets ont les trois champs ci-dessous au minimum :

  • Canal d'apparition
  • Disparition autorisée
  • Retardateur/Données utilisateur

Les objets au scripting plus avancé (Gadgets de carte, Interrupteurs, retardateurs, Déclencheurs, Lumières, etc.) ont les deux champs suivants en plus :

  • Canal de puissance
  • Canal de transmission

Par défaut, la plupart de ces valeurs sont à -1, ce qui signifie que l'option est désactivée.

Les champs d’action

Nous avons donc vu les cinq options que les objets peuvent posséder. Mais seuls trois d’entre eux réagissent aux impulsions.

Canal d'apparition : le champ d’action Apparition détermine si l’objet est présent sur la map (Activé) ou absent (Désactivé).

Canal de puissance : le champ d’action Puissance détermine si l’objet émet (Activé) ou non (Désactivé). C’est un script un peu plus avancé, c’est normal si ça ne vous parle pas pour le moment.

Canal de transmission : le champ d’action Transmission est un peu particulier. Il détermine le canal sur lequel l’objet émet ou reçoit une impulsion. Un objet émetteur modifiera l’état du canal avec une impulsion. Pour un objet récepteur, il s’agit du champ d’action qui détermine si l’objet est actif (Activé) ou inactif (Désactivé).

Chaque champ d’action prend en paramètre un numéro de canal. Le champs d’action prendra alors l’état (Activé/Désactivé) du canal choisi.

Les objets émetteurs

Je vous ai parlé des objets émetteurs précédemment. Voici la liste complète des objets émetteurs ainsi que leurs actions respectives. Les objets émetteurs sont séparés en trois catégories.

Les Interrupteurs : les Interrupteurs envoient une impulsion après qu’ils sont activés par le joueur (en restant appuyé sur la touche d’action de leur manette). Ils sont donc déclenchés selon le bon vouloir du joueur.

Interrupteur-Active : met le canal choisit dans le champ d’action Transmission à Activé.

Interrupteur-Désactive : met le canal choisit dans le champ d’action Transmission à Activé.

Interrupteur-Change : Inverse l’état du canal choisit dans le champ d’action Transmission (Activé devient Désactivé et inversement).

Les Retardateurs : les Retardateurs envoient une impulsion après un temps donné, spécifié dans l’option Retardateur/Données utilisateur.

Retardateur-Active : met le canal choisit dans le champ d’action Transmission à Activé toutes les X secondes.

Retardateur-Désactive : met le canal choisit dans le champ d’action Transmission à Désactivé toutes les X secondes.

Retardateur-Change : Inverse l’état du canal choisit dans le champ d’action Transmission toutes les X secondes.

Retardateur-Active-Une fois : met le canal choisit dans le champ d’action Transmission à Activé après X secondes une seule fois.

Retardateur-Désactive-Une fois : met le canal choisit dans le champ d’action Transmissionà Désactivé après X secondes une seule fois.

Retardateur-Change-Une fois : Inverse l’état du canal choisit dans le champ d’action Transmissionaprès X secondes une seule fois.

Les Déclencheurs : les Déclencheurs envoient une impulsion en fonction d’un évènement donné. Ces évènements sont déclenchés selon les actions du joueur, sans que celui-ci ait besoin d’appuyer sur un bouton. Ces évènements doivent être définis par une zone dans laquelle se passe l’action.

Active si entrée : met le canal choisit à Activé lorsqu’un joueur entre dans la zone.

Désactive si entrée : met le canal choisit à Désactivé lorsqu’un joueur entre dans la zone.

Change si entrée : Inverse l’état du canal choisit lorsqu’un joueur entre dans la zone.

Active si sortie : met le canal choisit à Activé lorsqu’un joueur sort de la zone.

Désactive si sortie : met le canal choisit à Désactivé lorsqu’un joueur sort de la zone.

Change si sortie : Inverse l’état du canal choisit lorsqu’un joueur sort de la zone.

Active si stationnaire : met le canal choisit à Activé lorsqu’un joueur arrête de bouger dans la zone.

Désactive si stationnaire: met le canal choisit à Désactivé lorsqu’un joueur arrête de bouger dans la zone.

Change si stationnaire : Inverse l’état du canal choisit lorsqu’un joueur arrête de bouger dans la zone.

Active si destruction : met le canal choisit à Activé lorsqu’un objet dans la zone est détruit.

Disparition Autorisée ?

Il est possible de contrôler le spawn et de despawn des objets sur la map (quel que soit l’objet) grâce aux scripts.

Chaque objet possède donc le paramètre Canal d’apparition. Si le canal spécifié dans Canal d’apparition est à Activé, l’objet sera sur la map. Si il est à Désactivé, l’objet ne sera pas sur la map : il sera despawn… à condition que l’option Disparition Autorisée soit à Vrai.

Du fait que tout les canaux sont à Désactivé par défaut (comme je l’ai dit au début), si vous assignez un canal sur le Canal d’apparition de l’objet, celui-ci sera par défaut despawn. Pour contourner ce problème, il suffit de mettre quelque part sur la map un Retardateur-Active-Une fois paramétré à 0 seconde, qui met le canal à Activé, et l’objet sera présent en début de partie.

Canal de puissance

Le Canal de puissance n’est jamais utilisé sur les objets autres que les objets de scripting (Interrupteurs, Retardateurs, Déclencheurs). Ce champ d’action détermine si l’objet de scripting peut envoyer une impulsion ou non. Si le canal spécifié dans le champ d’action Canal de puissance est à Désactivé, l’objet ne pourra pas envoyer son impulsion, quoiqu’il arrive.

Cette fonctionnalité est très utile, notamment pour déclencher des Retardateurs après l’action d’un joueur, chose bien pratique avec les Gadgets de carte.

Les Gadgets de carte

Les Gadgets de carte sont des objets un peu particuliers qui ont une animation. Ce sont tous les objets autres que ceux de scripting qui possèdent les options Canal de puissance et Canal de transmission :

  • Porte de garage
  • Lumières
  • Zone d’explosion
  • Tour EMP

Ces objets s’activent si le canal spécifié dans le champ d’action Canal de transmission est à Activé. Ils ne se remettent pas à Désactivé automatiquement. Pour une porte de garage, ce n’est pas forcément gênant. Mais pour les explosions ou les tours EMP, si on ne les remet à Désactivé, ils ne seront plus utilisables.

Pour remettre automatiquement ces objets à Désactivé, il faut remettre le canal choisi à Désactivé au bout d’un certain temps après l'activation. Voici un exemple, afin de vous expliquer plus concrètement comment faire.

Vous avez besoin de trois objets : une tour EMP, un Interrupteur-Active et un Retardateur-Désactive.

On veut que l'Interrupteur mette le canal n°1 dans l’état Activé. On met donc le Canal de transmission à 1. On met également le Canal de transmission de la tour EMP à 1, afin qu’elle dépende de l’état du canal n°1. Si le canal n°1 est à Activé, la tour s’active. Si il est à Désactivé, elle se remet à l’état initial.

A ce stade là, lorsque vous appuierez sur l'Interrupteur, la tour s’activera et lancera sa décharge EMP. Une fois la décharge finie, la tour sera inutilisable car elle est déjà Activé . Il faut donc la remettre à Désactivé pour la réinitialiser. Admettons qu’on veuille qu’elle soit réutilisable au bout de 60 secondes.

Pour ce faire, il faut faire en sorte que notre Retardateur-Désactive mette le canal n°1 à Désactivé 60 secondes après l’impulsion du Interrupteur-Active. On met donc le Canal de puissance du Retardateur à 1 pour que le compte à rebours se déclenche dès que le canal passe à Activé. On met donc le Gadgets de carte à 60 pour que le compte à rebours dure 60s. Enfin, on met le Canal de transmission à 1 pour que le Retardateur envoie le signal Désactivé au canal n°1 à la fin du compte à rebours.

Ainsi, le canal repasse à Désactivé et la tour EMP est remise à zéro.

Nous avons maintenant vu deux points importants : comment réinitialiser des objets animés et comme utiliser le Canal de puissance.

Et maintenant ?

Maintenant, vous avez en votre possession tout ce qu’il faut pour pouvoir scripter sur la forge de Halo 2 : Anniversary. Enfin, pas tout à fait, il vous manque quand même pas mal d’infos

importantes et surtout de l'expérience, si vous ne voulez pas exploser votre manette contre votre écran parce que ça ne marche pas. Je vais donc à partir de maintenant vous donner des informations et rappels importants. Des exemples vidéo seront mis en ligne par la suite.

  • Tous les canaux sont à « Désactivé » par défaut.
  • Les objets animés ne se remettent pas à zéro automatiquement.
  • Vous ne pouvez pas tester les scripts impliquant les spawns et despawn d’objet en forge : il faut les tester en partie perso.
  • Les portes garages sont fermées par défaut, c'est leur état Désactivé. Lorsqu'elles sont ouvertes (abaissées), l'état du canal est Activé.


Si vous avez des questions, si quelque chose n’est pas clair, que j'ai oublié un point qui vous semble important ou que j’ai dis quelque chose de faux ou qui ne correspond pas à ce que vous expérimentez, faites le moi savoir. Ce tuto est voué à évoluer.

Lien vers le commentaire

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
  • Pub bloquée :(
×
×
  • Créer...