Mod:Scripts

De Wikipédia 2197
Sauter à la navigation Sauter à la recherche

Ce tutoriel vous expliquera la base de création de scripts dans Nous Aurons. Pour coder des dialogues, il est préférable de suivre les étapes de ce tutoriel.

Ce tutoriel utilise principalement l'éditeur de niveaux (Level Editor).

Outils requis

Avant de commencer

Prenez le temps de consulter la section Scripting du fichier "readme" de l'éditeur de Fallout Tactics (anglais).

Termes à connaître

Player

Chaque entité (personnage ou objet interactif) est associée à un player, qu'il soit contrôlé par le joueur ou non. Chaque player est lié à une team, et plusieurs players peuvent avoir la même team. Il y a un nombre illimité de players.

Bulb.svg  Il est possible d'assigner des comportements spéciaux (IA) à chaque player, comme par exemple de fuir le joueur ou de l'attaquer même s'il est à l'autre bout de la carte. 



Dans Nous Aurons, les players de base sont:

  1. Scenary : Tout ce qui fait partie du décor et n'a pas un comportement particulier. Comportement: passif.
  2. Joueur : Tout personnage contrôlé par le joueur.
  3. Animaux : Animaux de la carte. Comportement: Amicaux par défaut, hostiles si le joueur dépèce un animal ou a de la viande crue sur lui sans ossements pour les distraire.
  4. Humains : Personnages variés. Comportement: Neutres par défaut, hostiles si blessés en présence du joueur.'
  5. Ennemis : Personnages variés. Comportement: Hostiles par défaut, amicaux dans certaines circonstances scriptées.'
  6. Amis : Personnages variés. Comportement: Amicaux par défaut, hostiles si blessés en présence du joueur.'
  7. Banque : Entités scriptées. Comportement: Jamais hostiles.

Team

Chaque team détermine l'alignement (de hostile à amical) d'un player vis-à-vis les autres. Cet alignement va de -10 (complète hostilité, point rouge dans la minicarte) à 10 (complète amicalité, point vert dans la minicarte). 0 désigne la neutralité (point gris dnas la minicarte).

Quantity

Quantity réfère à une grande liste de conditions possibles pour les personnages, À peu près tout ce qui fait partie de la fiche de ceux-ci (exemple : Force, Dextérité, Âge, Sexe, % de Points de Vie, Vivant ou Mort, Dons, Électricité, etc.) peut-être vérifié (compté) dans une des conditions commençant par: Quantity -.

Waypoint

Un waypoint est une borne invisible ajoutée dans un lieu avec l'Éditeur de niveaux. Chaque waypoint a un nom de code et un index, et plusieurs waypoints peuvent partager le même nom. Il est possible de programmer un déplacement de personnages en programmant une série de waypoints.

Zone

Les zones ont une forme cubique (avec une largeur, longueur et hauteur) et un nom de code unique. Plusieurs conditions déterminent la présence ou les caractéristiques de personnages dans des zones. Elles sont ajoutées dans l'onglet

 Zone 

de l'Éditeur de niveaux

Exit Grid

Zone verte en bordure d'un lieu qui permet, lorsqu'on marche au milieu de celle-ci, de quitter le lieu en cours pour rejoindre la carte.

Créer un script

Ouvrir le fichier du lieu (éditeur de niveaux)

  1. Ouvrez le dossier Game/ puis FT Improver.EXE.
    Alert.svg  Utiliser FT Tools.exe à la place résultera en une erreur. 


  2. Passez les vidéos en cliquant dessus.
  3. Cliquez sur
    ⦿  MORE 
    .
  4. Cliquez sur
    ⦿  LEVEL EDITOR 
    .
  5. Accédez au menu
     File 
    puis
     Open 
    .
  6. Ouvrez le fichier du lieu précédemment créé qui doit se terminer par .ent.

Accéder aux scripts

Les scripts sont stockés et codés dans l'Éditeur de niveaux.

  1. Cliquez sur l'onglet
     Level 
    .
  2. Cliquez sur
     Triggers... 
    en bas à gauche.

Ajouter un script

Dans l'Éditeur de niveaux, un script est une série de conditions menant (si elles sont toutes vraies) à une série d'actions. Attention: Il n'existe pas de "ou" (or) dans l'Éditeur. Vous pouvez créer autant de scripts que nécessaire, mais ceux-ci ne fonctionnent que dans le lieu dans lequel ils ont été ajoutés.

Bulb.svg  Pour chaque script, ajoutez une courte description qui est facile à comprendre (exemple: FUITE ENNEMIS - 1 mort) 



Conditions

Il existe 20 conditions. Celles qui ne sont pas recommandées sont barrées.

  • Always: Condition par défaut, elle est toujours vraie. Pratique quand on veut produire une action qui démarre automatiquement, comme l'assignation de variables.
  • Never: Elle est toujours fausse. Utile pour désactiver un script temporairement.
  • Speech Occured: Une fenêtre de dialogue au nom de code spécifié s'est ouverte. Peut être déclenché par scripts en utilisant l'action Force Speech.
  • Skill Use Occured: Un personnage au nom de code spécifié a utilisé une compétence.
  • Variable: Une variable spécifiée a une valeur déterminée.
  • Timer: Un compteur au nom de code spécifié a atteint une valeur déterminée.
  • Quantity - Team: Nombre d'éléments (< > ou =) d'un même type d'une team spécifiée.
  • Quantity - Player: Nombre d'éléments (< > ou =) d'un même type d'un player spécifié.
  • Quantity - Player Kills: Comparaison entre deux players du nombre de personnages tués.
  • Quantity - Unit: Nombre d'éléments (< > ou =) d'un même type d'une entité spécifiée.
  • Object Script State: État (activé ou non) d'un objet interactif, comme un interrupteur ou une porte.
  • WeaponMode is: Ces modes ne sont pas utilisés dans Nous Aurons
  • World mode of play is: Le mode de jeu de Nous Aurons est toujours CTB.
  • Gui Open: Fenêtre ouverte par le joueur. Inv (Sac), Main, Char (État), Loot (Fouille), Steal (Vol), Barter (Échange), Options (Options), Skilldex (Agir), Pipboy (GPSP) et Speech (Dialogue).
  • Right Click on Tab: Inutile.
  • All Alive at Exit Grid: Vraie si tous les personnages encore vivants dans l'équipe du joueur sont dans des Exit Grid, les zones vertes en bordure du lieu servant à atteindre la carte du jeu.
  • Can See: Vraie si le personnage d'un player est capable d'en voir un d'un autre player. Les personnages qui utilisent la Compétence Discrétion ne déclenchent pas cette condition.
  • Brain Extraction Complete: Inutile.
  • MP - Game Timed Out: Nous Aurons ne fonctionne pas en mode Multiplayer.
  • Main Actor Alive: Comme la partie s'arrête quand le personnage principal meurt, cette condition équivaut à Always.

Actions

Il existe 61 conditions. Celles qui ne sont pas recommandées sont barrées.

  • Center view: Centre la vue sur une entité spécifiée. Le reste du temps, la vue peut être changée librement par le joueur.
  • Player Retreat Zone: Assigne une Retreat Zone à un player (zone dans laquelle les personnages d'un player se rendront si gravement blessés).
  • Player Move State - Deactivate: Désactive un player. Il disparaît.
  • Player Move State - Stationary: Hors combat, rend les personnages d'un player statiques. Si désactivés, ils apparaissent.
  • Player Move State - Perimeter: Hors combat, assigne un Perimeter à un player (zone dans laquelle les personnages essaient de rester).
  • Player Move State - Wander: Hors combat, assigne un périmètre à un player (zone dans laquelle il erre).
  • Player Move State - Follow: Hors combat, assigne le nom de code d'un personnage à un player. Les personnages de ce player essaient de le suivre.
  • Player Move State - WayPoint: Hors combat, assigne le premier WayPoint (index 0) d'un nom spécifié aux personnages d'un player. Ils marcheront (dépendamment de leur Priority) vers ce premier WayPoint et vers d'autres WayPoints du même nom s'ils existent.
    Alert.svg  Si le script est marqué comme
     ✓Preserve 
    , les personnages ne marcheront jamais au delà de l'index 0.
     


  • Player Move State - Flee: Donne l'ordre aux personnages d'un player de se sauver dans une zone spécifiée.
  • Player Priority - Move State: Priorité accordée par les personnages d'un player au déplacement. Au dessus de 5, les personnages courent au lieu de marcher. En bas de 4, ils font quelques pas, s'arrêtent, font quelques pas, s'arrêtent, etc.
  • Player Priority - Aggression: Chance que les personnages d'un player en attaquent un autre. L'alignement de leur team doit être assignée comme agressive pour que ça fonctionne.
  • Player Priority - Communication: Distance à laquelle les personnages d'un player se rendent compte que les autres personnages de leur player sont attaqués. À 0, ils ne réagissent jamais, à 10, leur "vision" couvre toute la carte.
  • Player Priority - Mobility:
  • Player Priority - Kill Player:
  • Player Priority - Kill Unit:
  • Set Variable:
  • Set Timer:
  • Stop Timer:
  • Show Timer:
  • Wait:
  • Add Objective:
  • Complete Objective:
  • Set Death Text: Non utilisé.
  • End Mission:
  • Goto Mission:
  • Toggle Exit Grids: Les Exit Grids sont toujours fonctionnelles dans Nous Aurons.
  • Set Click Speech:
  • Set Random Speech:
  • Play Wav:
  • Kill Entity:
  • Set object script state:
  • Set Team Alignment Matrix:
  • Display World Text:
  • Start Combat Mode: Le mode de jeu de Nous Aurons est toujours CTB.
  • Add Reputation: Utilisé par les scripts généraux pour déterminer l'électricité disponible.
  • Add Experience:
  • Add Experience to Player:
  • Force Speech:
  • Change Team:
  • Change Player:
  • Move Unit:
  • Give Item to NPC:
  • Give Item from NPC to Human:
  • Lock/Unlock Door:
  • Jam/Unjam Minimap: Utilisé par les scripts généraux en fonction de l'électricité disponible.
  • Ping Minimap:
  • Add text to Debrief text list: Utilisé seulement à la fin du jeu.
  • Display Debrief window and text: Utilisé seulement à la fin du jeu.
  • Zone of death:
  • Play Bink Movie:
  • Modify RecruitPool list:
  • Add items to QuarterMaster list: Utilisé par les scripts généraux pour mettre des objets dans la glacière.
  • Set Mission State:
  • Open Mission: Utiliser plutôt Set Mission State.
  • Mission Complete:
  • Set Random Encounter Enable:
  • Brain Extraction: Inutile
  • MP - Team with the Most Wins: Nous Aurons ne fonctionne pas en mode Multiplayer.
  • MP - Team with the Least Wins: Nous Aurons ne fonctionne pas en mode Multiplayer.
  • MP - Team Meeting Condition Wins: Nous Aurons ne fonctionne pas en mode Multiplayer.
  • MP - Team Victory: Nous Aurons ne fonctionne pas en mode Multiplayer.


Bulb.svg  Chaque série d'action peut être exécutée une seule fois, ou à chaque fois que les conditions sont remplies. Pour se faire, cochez
 Preserve 
à droite de
 ✔ Conditions 
   Actions 
 



Importer/Exporter des scripts