Différences entre les versions de « GECK : 9 - Créatures et Personnages »
m |
m (Partie IX - Créatures et Personnages déplacé vers GECK : 9 - Créatures et Personnages) |
||
(5 versions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:GECK : Tutoriaux|9 - Créatures et Personnages]] | |||
[[Catégorie:GECK : Tutoriel pas à pas|9 - Créatures et Personnages]] | |||
<div style="text-align: center; font-size: 1.2em; width: 100%; background: transparent; background-color: #eeeeee; border: 1px solid #888888;"> | |||
[[GECK : 8 - Créer un intérieur complexe : Page 2| Page Précédente]] :: | |||
[[GECK : Tutoriel pas à pas| Page Principale]] :: | |||
[[GECK : 10 - Dialogues et quêtes| Page Suivante]] | |||
</div> | |||
== Implémenter des créatures de base == | == Implémenter des créatures de base == | ||
Ligne 9 : | Ligne 19 : | ||
'''Créatures de base :''' | '''Créatures de base :''' | ||
[[Image:GECKWiki_Creatures01.jpg|thumb|left|La fenêtre d'édition d'un rataupe.]]Chaque type de créature du jeu, radscorpion, brahmine, etc... a une créature de base. Son ID commence généralement par "Cr". C'est la créature "à sec", sans modifications d'aucune sorte. Elle ne s'adaptera pas au niveau du joueur, sera de niveau fixe, avec un inventaire déterminé. Si elle est tuée dans le jeu elle ne réapparaitra que si la case "Respawns" n'est pas cochée dans ses | [[Image:GECKWiki_Creatures01.jpg|thumb|left|La fenêtre d'édition d'un rataupe.]]Chaque type de créature du jeu, radscorpion, brahmine, etc... a une créature de base. Son ID commence généralement par "Cr". C'est la créature "à sec", sans modifications d'aucune sorte. Elle ne s'adaptera pas au niveau du joueur, sera de niveau fixe, avec un inventaire déterminé. Si elle est tuée dans le jeu elle ne réapparaitra que si la case "Respawns" n'est pas cochée dans ses caractéristiques (c'est le cas la plupart du temps). | ||
Par exemple, mettons un rataupe de base dans la station effondrée. Dans la fenêtre Cell View, double-cliquez sur la cellule qui correspond à la station effondrée (MONMetro03 dans MonPremierModSimple). | Par exemple, mettons un rataupe de base dans la station effondrée. Dans la fenêtre Cell View, double-cliquez sur la cellule qui correspond à la station effondrée (MONMetro03 dans MonPremierModSimple). | ||
Ligne 269 : | Ligne 279 : | ||
[[Image:GECKWiki_NPC011.jpg|thumb|left|Une fenêtre d'édition d'arme : Weapon.]]Nous allons créer son Fusil de sniper : Dans Item/Weapon/Weapons, double cliquez sur WeapSniperRifle et une fois la fenêtre d'édition ouverte, modifiez son ID en MONWeapSniperRifle et confirmez Create A new Form. Ouvrez la fenêtre d'édition de ce nouvel objet : dans le champ Name, mettez Fusil de Sniper de Gordon. Augmentez son poids (weight) à 12, augmentez ses dommages critiques Dmg Ctit à 50, et son Crit%Mult à 10. Validez. | [[Image:GECKWiki_NPC011.jpg|thumb|left|Une fenêtre d'édition d'arme : Weapon.]]Nous allons créer son Fusil de sniper : Dans Item/Weapon/Weapons, double cliquez sur WeapSniperRifle et une fois la fenêtre d'édition ouverte, modifiez son ID en MONWeapSniperRifle et confirmez Create A new Form. Ouvrez la fenêtre d'édition de ce nouvel objet : dans le champ Name, mettez Fusil de Sniper de Gordon. Augmentez son poids (weight) à 12, augmentez ses dommages critiques Dmg Ctit à 50, et son Crit%Mult à 10. Validez. | ||
Ligne 422 : | Ligne 435 : | ||
Vous pouvez aller tester votre Marchand Ingame. | Vous pouvez aller tester votre Marchand Ingame. | ||
<div style="text-align: center; font-size: 1.2em; width: 100%; background: transparent; background-color: #eeeeee; border: 1px solid #888888;"> | |||
[[GECK : 8 - Créer un intérieur complexe : Page 2| Page Précédente]] :: | |||
[[GECK : Tutoriel pas à pas| Page Principale]] :: | |||
[[GECK : 10 - Dialogues et quêtes| Page Suivante]] | |||
</div> |
Version actuelle datée du 8 juin 2010 à 18:34
Implémenter des créatures de base
Dans notre mod, nous allons utiliser plusieurs types de créatures : créatures génériques, créatures de niveau, et créatures uniques. Cela permet d'affiner le levelling des monstres du mod. Au lieu d'avoir 100% des créatures de niveau, certaines seront fixes, d'autres pas.
Créatures de base :
Chaque type de créature du jeu, radscorpion, brahmine, etc... a une créature de base. Son ID commence généralement par "Cr". C'est la créature "à sec", sans modifications d'aucune sorte. Elle ne s'adaptera pas au niveau du joueur, sera de niveau fixe, avec un inventaire déterminé. Si elle est tuée dans le jeu elle ne réapparaitra que si la case "Respawns" n'est pas cochée dans ses caractéristiques (c'est le cas la plupart du temps).
Par exemple, mettons un rataupe de base dans la station effondrée. Dans la fenêtre Cell View, double-cliquez sur la cellule qui correspond à la station effondrée (MONMetro03 dans MonPremierModSimple).
Dans l'arborescence des objets, allez dans Actors/Creature/MutatedAnimal/Molerat et faites glisser un "CrMoleRat" près des voies de la station. Ce rataupe réapparaitra à intervalles réguliers, toujours à cet endroit.
Attention à ne pas modifier la créature de base, car vous risqueriez de modifier toutes les créatures du jeu. Vous pouvez modifier les caractéristiques de la Référence de votre rataupe dans la station, mais pas son objet de base.
Créatures Mortes :
Il existe aussi des créatures déjà mortes dès le début du jeu. Leur ID commence souvent par "Dead". Dans la liste des Molerat, faites glisser un DeadMoleRat à un autre endroit de la station. Il apparaitra une fois (case respawn décochée), et déjà mort.
Créatures uniques :
Les créatures uniques sont des créatures avec des caractéristiques spécifiques, pour les besoins d'une quête, ou juste pour varier le type de créature. Par exemple, créons un "Rataupe brutal". Double-cliquez sur CrMolerat dans la liste des objets de la fenêtre Object, et changez son ID en "MONCrMolerat". Validez avec OK et répondez oui à la question qui vous est posée pour créer votre propre objet de base.
Double-cliquez sur MONCrMolerat dans la liste et mettez Rataupe Brutal dans le champ "Name", décochez la case "Respawn" pour qu'il n'apparaisse qu'une fois.
Dans l'onglet Stats, changez sa force (Strength à 8), son Endurance à 8, sa chance à 8, son Combat Skill à 60, sa santé (health) à 80.Son attack Damage à 30 et son Attack reach à 40. Baissez sa Turning speed à 100 et foot weight à 7 pour le rendre plus lourd. Base scale à 1.30 pour le rendre plus gros, fatigue à 60, et speed mult à 80 pour qu'il soit moins rapide.
Dans son inventaire, rajoutez une viande miracle de rataupe "MoleRatWonderMeat" (dans Game Effects/Ingestible), qui donnera une petite récompense.
Validez avec OK.
Faites glisser un MONCrMolerat de la fenêtre Objet à un tunnel éloigné de votre station.
Maintenant allez tester dans le jeu : vous devez trouver un rataupe mort, un rataupe normal qui réapparaitra plus tard une fois mort, et un Rataupe brutal unique.
Gérer les Créatures de Niveau
Créatures de Niveau :
En concevant le mod, il faut se demander quels niveaux doivent avoir les montres, particulièrement ceux qui sont sur l'île. Quelle opposition rencontrera un joueur de niveau 1 ? Un joueur de niveau 10 ? un joueur de niveau 20 ? Mettre des monstres de niveaux fixe peut rendre le challenge trop facile ou trop ardu selon le niveau du joueur. C'est pour cela qu'on été créés les mosntres de niveau. En fonction du niveau du joueur, c'est tel monstre qui apparaitra.
Nous allons mettre par exemple un monstre de niveau existant dans le jeu : un fangeux de niveau, le lvlmirelurk. En fonction du niveau du joueur, ce sera un fangeux, un chasseur de fangeux, ou un roi fangeux qui sortira.
Chargez le worldspace contenant votre île, et centrez la vue sur 0,0. Cherchez un coin humide pour les fangeux, ici, au bord de l'eau. Allez dans l'arborescence de la fenêtre Object du GECK sous Actors/Creature/Animal, et cherchez un lvlMirelurk. Faites le glisser derrière la station de métro, près de l'eau. Ensuite, mettez à d'autres endroits au bord de l'eau une créature fangeux de base CrMirelurk1 ou CrMirelurk2(Actors/Creature/MutatedAnimals/...), pour que tous vos fangeux n'aient pas le même niveau.
Pour plus de réalisme, mettez des oeufs de fangeux à certains endroits au bor de l'eau. Dans le filtre de la fenêtre Object, ecrivez mirelurk et cliquez sur All tout en bas de la fenêtre pour voir tous les objets en rapport avec les fangeux. Placez quelques oeufs (containers) MirelurkEggClutchCont01, ou des coquilles cassées MirelurkEggBroken01.
Procédez de même en mettant quelques radscorpions de base et de niveau dans le canyon vers l'abri, et quelques bestioles plus inoffensives sur la route entre la station et pale pass (rataupe, chien,...).
Encounter Zones :
Pour limiter la montée en niveau des monstres, nous allons utiliser une encounter zone que nous créérons pour l'occasion. Allez dans le menu World et selectionnez Encounter Zones. Cliquez droit sur la liste et selectionnez New. Rentrez une ID unique, par exemple MONEncounterZone. A Minimum Level, mettez 2, Cochez "Never Resets" pour que le niveau des monstres reste le même que lors de votre première visite. Appuyez sur OK pour valider.
Maintenant, allez dans le menu World, puis dans Worldspaces : selectionnez celui de votre île (ici MONPawnIsland5cells). Dans le menu déroulant EncounterZone, selectionnez celui que vous venez de créer. Validez par OK.
Dans le menu World, selectionnez Cells : Ensuite, selectionnez les cellules correspondant aux deux stations de métro que nous avons faites au début : MONMetro01 et MONMetro03. Dans l'onglet "Interior Data", ouvrez le menu Encounter Zone, et remplacez "NONE" par celui que vous venez de créer.
Ainsi, toutes ces zones de votre mod obéiront aux règles de niveau que vous avez défini avec votre encounter zone.
Testez l'Equilibrage des monstres :
En testant le mod, vous remarquerez que les lvlWastelandMolerat ne donnent pas que des rataupes, mais aussi des YaoGuai et même des robots de l'enclave. Or, sur une île où il n'y a pas trop d'allées et venues (venant de nulle part), les robots de l'enclave font tache. Double cliquez sur un des lvlWastelandMolerat, puis sur Edit Base pour voir l'objet de base. Dans la partie template, cliquez sur Edit pour voir la liste de niveau EncWatelandMolerat et voir les monstres générés suivant les niveaux. Vous pouvez d'ailleurs simuler la génération : Rentrez le niveau du joueur dans Preview Level, puis appuyez sur le bouton "Preview calculate result" pour voir ce que l'ordinateur a généré. Faites plusieurs essais à plusieurs niveaux.
Pour arranger cela, créons nos propres monstres et listes de niveau en partant de ceux du lvlWastelandMolerat. Si vous avez gardé la fenêtre d'edition de la liste de Niveaux EncWastelandMolerat, rajoutez votre préfixe (par exemple MONEncWastelandMolerat), puis validez avec OK. A la question vous demandant si vous voulez copier l'objet, répondez Yes ! Maintenant ouvrez votre liste de niveaux MONEncWastealndMolerat (dans Actors/Creature/levelled Creature), et faites un clic droit sur le EncRobotArmyWasteland, puis selectionnez "delete" pour l'effacer de votre liste de niveaux. Procédez de même pour l'autre robot EncWastelandTough. Décochez la case "calculate from All Levels =>PC level". Appuyez sur OK pour valider votre liste de niveaux.
Maintenant que la liste de niveaux est faite, ouvrez la fenêtre d'édition de votre monstre de niveau MONlvlWastelandMolerat, et dans la partie template, cherchez et selectionnez MONEncWastelandMolerat dans la liste déroulante.
Créez un Boss
Ceux qui ont jeté un oeil au mod MonPremierModSimple ces derniers temps ont pu voir un magnifique SuperBéhémoth dans la salle de l'Atrium de l'Abri 666. Dans le mod, ce sera le père d'une famille de l'abri que s'est injecté une dose massive de JEK pour ouvrir la porte de l'abri.
Dans l'arborescence de la fenêtre Object, allez dans Actors/Creature/SuperMutant et double cliquez sur CrSuperMutantBehemoth. Changez son ID en rajoutant le préfixe de votre mod (MONCrSuperMutantBehemoth), validez avec OK et confirmez ensuite la demande avec Yes. Ouvrez votre nouveau "MONCrSuperMutantBehemoth", et changez son nom en Béhémoth affaibli. Dans le champ script, allez en haut de la liste et mettez "NONE", car ce n'est pas un "vrai" béhémoth du jeu, il ne comptera pas pour les achievements.
Dans l'onglet Stats, changez le level à 1 (ce sera bien suffisant dans l'espace confiné de l'abri !), mettez sa santé (Health) à 1000, baissez Attack Damage à 10, Attack Reach à 70, Fatigue à 10, et rapetissez le en mettant Base Scale à 0.77.
Dans l'onglet Inventory, enlevez tout ce qui n'est pas sensé appartenir à un habitant d'abri : l'arme BehemothFireHydrant, lootammomissiles, lootammofatman,... laissez juste un lootgunpistolsall75, un lootammogeneric100, un lootcaps75levelled,...
Une fois qu'il est terminé, chargez la cellule de l'Abri 666 et placez-le au centre de la grande salle de l'Atrium.
Implémenter des personnages
Comme les créatures, les personnages peuvent être uniques, ou de niveau. De la même manière, varier les types de NPC est essentiel.
Créer un NPC simple : le chef du village
- Dans la fenêtre Object, cliquez dans l'aborescence sur Actors/NPC.
- Faites un clic droit dans la liste des EditorID, dans le menu contextuel, selectionnez New.
- La fenêtre NPC Apparait : rentrez une ID unique pour votre NPC, avec le préfixe de votre mod, par exemple "MONPalePassChefDonStark". Si vous faites beaucoup de NPC pour votre mod, il serait judicieux de hierarchiser les ID pour vous y retrouver. Après le préfixe de votre mod, vous pouvez préciser avec quelques lettres la ville du NPC (ici palepass pour retrouver tous les habitants de la ville), sa faction, son grade, etc...et son nom.
- Dans le champ Name, rentrez le nom du NPC tel qu'il apparaitra dans le jeu.
- Validez la création de votre NPC avec OK.
Vous pouvez maintenant retrouver votre NPC dans l'arborescence de la fenêtre Object, soit dans Actors/NPC. Double cliquez sur l'EditorID pour terminer l'edition et retrouver votre fenêtre NPC :
Onglet Traits :
- Choisissez sa race dans le menu déroulant Race (par exemple, CaucasianOld).
- Selectionnez dans le menu déroulant Voice la voix appropriée (Par exemple, MaleOld01).
- Dans le menu déroulant Class, choisissez la classe de votre NPC, suivant ce qu'il fait dans le jeu, ici, VillageLeader, chef de village.
Onglet Stats
- Dans de cadre Levelling, mettez le niveau du NPC dans le champ Level, par exemple 15 (si vous voulez qu'il suive le niveau du joueur, cochez PC Level Mult).
- COmpétences : soit vous les rentrez une à une, soit vous cochez la case auto calculate stats. Une bonne méthode est de cocher la case pour voir les stats correspondant au niveau choisi, puis de décocher la case et de modifier les valeurs qui vous semblent mal adaptées à votre perso.
Onglet Ai Data
Cet onglet est très important car il gère le comportement de votre NPC :
AI Attributes : Le chef du village est aussi chef des gardes, et défendra les habitants jusqu'à son dernier souffle. Mettez Aggression à Aggressive, Confidence à Foolhardy, et Assistance à Helps Firends and Allies.
Onglet Inventory
Cet onglet détermine l'inventaire du joueur. Dans Fallout3, la majorité des NPC utilisent des levelled lists de vêtements ou d'armures, et les items divers. Nous utiliserons pour commencer les objets de base, qui sont plus parlants visuellement. Dans l'arborescence de la fenêtre Object, cherchez Item/Armor qui contient toutes les armures et les vêtements du jeu. Allez dans WastelandClothing01 et faites glisser l'objet OutfitMerc01 dans l'inventaire du NPC (il peut y avoir quelques messages d'erreur, validez par oui à chaque fois). Allez dans Hair et faites glisser des lunettes GlassesShade dans l'inventaire. Une fois notre chef de village habillé (une touche improbable !), rajoutons une arme, dans Items/Weapon/Weapons faites glisser un fusil calibre 12 "WeapShotgunCombat". Dans Items/Ammo, faites glisser un ou deux AmmoShotgunShell Enfin, rajoutez des ingrédients de la section Game Effect/Ingestible, un PorknBeans dont vous mettrez le Count à -1, pour qu'il ne manque jamais de nourriture.
Pour chaque objet de l'inventaire, vous pouvez modifier son nombre (count, -1 pour renouvellage infini de l'objet), son éventuel propriétaire (owner : NPC ou faction), et sa santé (health) en pourcentage (pour les armes et armures).
Onglet Face
Ces onglets servent à modeler le visage de votre NPC :
Curseur Age : déplacez-le pour voir les changements opérés sur le visage, puis laissez le à 60 par exemple.
Curseur Completion : donne un teint plus ou moins clair ou foncé.
Curseur Hair Lenght : donne des cheveux plus ou moins longs.
Hair color : couleur de cheveux.
Bouton Generate : génère un autre visage au hasard.
Bouton Save : Sauve le visage pour le rétablir éventuellement ensuite avec Restore.
Restore : Rétablit le dernier visage sauvé.
Apply : Applique les changements opérés.
Onglet Face Advanced
Cet onglet permet de modifier un par un tous les paramètres du visage en détail. Par exemple, il y a 4 réglages pour les yeux, 5 réglages pour les joues, 9 pour la bouche,...
S'il serait fastidieux de passer par cet onglet pour tous vos NPC, n'hésitez pas à personnaliser ici vos personnages les plus importants, pour qu'ils aient "une vraie gueule" ! Un petit conseil aussi pour qu'un personnage soit plus reconnaissable, c'est de forcer un peu le trait vers la caricature : poussez un peu les curseurs vers les extrèmes pour certains paramètres (ex une machoire très carrée),...
Onglet Head Parts
Choisissez ici parmi les coiffures pour garnir le crâne de piaf de votre NPC, et aussi les moustaches, boucs, ou favoris. Cliquez droit dans la liste, selectionnez New, et choisissez parmi les ajouts listés dans la nouvelle fenêtre. Vous devrez revenir à l'onglet Face pour voir le changement.
Créer les deux gardes du village
Pour nous simplifier la tâche, nous allons les créer à partir du chef du village : Dans la fenêtre Object, retrouvez le chef MONPalePassChefDonStark, et double cliquez dessus. Changez son ID MonPalePassGarde01 et validez. Répondez Yes à la fenêtre qui suit pour créer un nouveau NPC.
Double cliquez sur le garde nouvellement créé, et changez son champ name : Garde de Pale Pass, sa race (par exemple Asian), sa voix Voice Type en MaleAdultDefault01, sa classe en Security Officer. Dans l'onglet Stats, mettez son Level à 8, cochez la case Auto calculate stats. Dans l'onglet Inventory, changez son arme (dans la catégorie Item/Weapon/Weapons) en WeaponAssaultRifle, et son ammo en Ammo556mm (catégorie Items/Ammo). Rajoutez 3 grenades WeapGrenadeFrag. Vous pouvez aussi changer sa nourriture dans la catégorie Game effects/Ingestibles.Diminuez son nombre de capsules à une poignée.
Ensuite allez dans l'onglet Face et cliquez sur Generate pour générer aléatoirement un autre visage.
Validez vos choix.
Pour le Deuxième garde, ouvrez la fenêtre d'édition du premier garde que vous venez de faire, et changez son ID. Procédez à quelques changements.
Placez le garde 01 au premier étage de la banque, et le garde 02 au milieu du croisement, il patrouillera dans le village.
Les habitants de la Maison Commune
Les habitants de la maison commune seront une famille de trois personnes, les Chadwick père, mère et fille, ainsi que le Chef du Village Don Stark. Pour faire les habitants du village, nous allons les faire tous à partir du père.
Le père:
Faites un NPC en faisant un clic droit dans la fenêtre Object, dans Actors/NPC : Selectionnez New et rentrez l'ID du père, MONPalePassVillageois04. Donnez-lui comme Name Herbert Chadwick. Choisissez sa race, sa voix, et mettez comme classe Villager. Dans l'onglet AI Data, selectionnez Unaggressive pour Agression, Average pour Confidence, et Helps Allies. Dans son inventaire, faites glisser une robe "OutfitPrewarSpring2Dirty" depuis Items/Armor. Ensuite, faites son visage dans l'onglet Face et Face Advanced. Donnez lui un age d'environ 50.
La mère
Double cliquez sur l'ID du père dans la fenêtre Object/Actors/NPC, et changez son ID en MONPalePassVillageois05. Cliquez sur OK (à la question Create a new Form, répondez Yes pour créer un nouveau NPC). Double cliquez sur ce nouveau NPC et changez son champ name en Helen Chadwick, cochez la case Female pour en faire une femme. Choisissez sa race, sa voix, et mettez comme classe Villager. Dans l'onglet AI Data, selectionnez Unaggressive pour Agression, Average pour Confidence, et Helps Nobody. Dans son inventaire, faites glisser une robe "OutfitPrewarSpring2Dirty" depuis Items/Armor. Ensuite, faites son visage dans l'onglet Face et Face Advanced. Donnez lui un age d'environ 40. Cliquez sur OK pour valider vos changements.
La fille
Double cliquez sur l'ID de la mère dans la fenêtre Object/Actors/NPC, et changez son ID en MONPalePassVillageois06. Cliquez sur OK (à la question Create a new Form, répondez Yes pour créer un nouveau NPC). Double cliquez sur ce nouveau NPC et changez son champ name en Katie Chadwick, cochez la case Female pour en faire une femme. Choisissez sa race (soit celle de la mère ou celle du père, mais qui finit par Child, sa voix (FemaleChild01), et mettez comme classe Villager. Dans l'onglet AI Data, selectionnez Unaggressive pour Agression, Average pour Confidence, et Helps Nobody. Dans son inventaire, faites glisser une robe "KIDOutfitPrewarChildOld" depuis Items/Armor. Ensuite, faites son visage dans l'onglet Face et Face Advanced, ne le changez que très peu par rapport à celui de la mère, pour qu'elle lui ressemble. Mettez son age au minimum. Cliquez sur OK pour valider vos changements.
Faites glisser ces trois NPC depuis la fenêtre Objet (Actors/NPC) jusque dans la fenêtre Render, dans la cellule d'intérieur MONPalePassMaisonCommune. Placez-les à l'intérieur de la maison.
Les Raiders de Pawn island
Les raiders sont généralement des NPC basés sur un Template qui sert de modèle : par exemple, le Raider avec un Gun, comme on dit dans les Cités à la mode de chez nous, est un NPC Raider1GunHF basé sur un Template de Raider1GunAFFTemplate. Il tirera ses caractéristiques d'inventaire, d'IA, de packages,... de son modèle template.
1er Raider : Justement, prenons un Raider1GunHF. Comme la quête du sniper prévoit la detection de la mort des 4 raiders, ce Raider doit avoir son ID unique. Double cliquez donc sur Raider1GunHF dans Actors/NPC. Changez son ID en MONRaider1GunHF, et appuyez sur OK. A la question Create a New Form, répondez Yes. Faites glisser ce raider dans le Dinerstop. ne vous inquiétez pas s'il est en slip, tous ses paramètres sont dans le Template qui l'habillera en jeu. Dans le cadre Template Data, décochez Base Stats : vous pouvez modifier ses caractéristiques de base. Décochez respawn pour éviter qu'elle réapparaisse une fois morte, et changez son nom (Name) en Punkette à Chien. Validez avec OK.
2ème Raider : Double cliquez sur le Raider2GunHM dans Actors/NPC, et renommez-le en MONRaider2GunHM. Validez avec OK et répondez Yes à la question Create a New Form pour créer un nouveau NPC. Ouvrez la fenêtre d'édition de ce nouveau NPC, et dans l'onglet Template Data, décochez Use Stats. Vous pouvez maintenant modifier son onglet Stats : Montez son niveau à 7. Dans l'onglet Face, changez son age à plus de 30, et changez son visage avec le bouton generate. Dans Head Parts, changez sa coiffure et enlevez ses favoris. Validez vos changements avec OK. Faites glisser ce nouveau Raider près de la caravane du camp de Raiders. Dans le cadre Template Data, décochez Base Stats : vous pouvez modifier ses caractéristiques de base. Décochez respawn pour éviter qu'il réapparaisse une fois mort, et changez son nom (Name) en Punk à Chien. Validez avec OK.
3ème Raider : Double cliquez sur le Raider3MeleeAAM, et changez son ID en MONraider3MeleeAAM. Validez et confirmez votre nouveau NPC. Faites quelques changements si vous en avez envie comme pour le 2ème Raider. placez-le près de l'entrée du camp. Dans le cadre Template Data, décochez Base Stats : vous pouvez modifier ses caractéristiques de base. Décochez respawn pour éviter qu'il réapparaisse une fois mort, et changez son nom (Name) en Punk à Chien. Validez avec OK.
4ème Raider : Le quatrième Raider sera le chef des Raiders, le méchantissime Rodriguez qui porte de l'Objet de la quête : le Fusil de Sniper de Gordon. Dans Actors/NPC, double cliquez sur Raider3SpecialHM,et changez son ID pour créer un NPC MONRaiderRodriguez. Validez la question Create a New Form. Ouvrez la fenêtre d'Edition de ce nouveau NPC, et remplacez son ActorBase dans le cadre TemplateData par NONE (le NPC sera vraiment unique). Dans l'onglet Traits, changez sa classe en RaiderSmallGuns. Dans l'onglet Stats, mettez son Niveau à 15 et cochez la case Auto Calc Stats pour adapter ses stats ; décochez la et changez sa chance (Luck) à 8. Dans l'Onglet AI Packages supprimez les deux packages présents et faites glisser un package DefaultStayAtEditorLocationWeaponsDrawn depuis Actor Data/Package (le raider sera à sa position d'origine, arme sortie). Faites glisser ce fusil dans l'inventaire du Raider Rodriguez. Dans l'onglet Inventory de Rodriguez, supprimez tout sauf RaiderLoot. Mettez une armure ArmorMetal depuis Items/Armor dans son inventaire, des munitions de 308 Ammo308Caliber depuis Items/Ammo,depuis Game Effect/Ingestibles, mettez des pommes dandyboy, dont vous mettrez le count à -1, et du Jet et un medkit
Les chiens des Punks à Chiens
Dans Actors/Creature/Animal, cherchez la creature CrDogRaider,et changez son ID en MONCrDogRaider01. Validez avec OK et confirmez Create a New Form. Double cliquez sur votre nouveau Chien. Changez son nom en Sultan, ou tout autre nom de chien ridicule. Décochez reSpawn. Dans le cadre Template Data, décochez Use Stats, et changez le niveau de sultan à 5. Validez avec OK.
Faites deux autres chiens en modifiant l'ID et le nom du premier chien MONCrDogRaider01 en MON...02 et MON...03, changez leur nom et leur niveau aussi pour plus de variété. Faites un 4ème chien, mais avec la santé à 0 (il sera mort).
Mettez ces quatre chiens dans le camp de raider et devant le camp.
Le Fusil de Sniper de Gordon
Nous allons créer son Fusil de sniper : Dans Item/Weapon/Weapons, double cliquez sur WeapSniperRifle et une fois la fenêtre d'édition ouverte, modifiez son ID en MONWeapSniperRifle et confirmez Create A new Form. Ouvrez la fenêtre d'édition de ce nouvel objet : dans le champ Name, mettez Fusil de Sniper de Gordon. Augmentez son poids (weight) à 12, augmentez ses dommages critiques Dmg Ctit à 50, et son Crit%Mult à 10. Validez.
Les Survivants de l'Abri 666
Créez un nouveau NPC avec une ID MONTinkinsonFille, et mettez Shirley Tinkinson dans son champ Name. Choississez la race AfricanAmerican, cochez Female, et mettez FemaleAdult02 comme voix, et VaultDweller comme classe. Dans son inventaire, mettez un VaultLabcoat et un Pipboy (dans Item/Armor), un demonte pneu WeapTireIron, 1 Potatocrisps, -1 PorNBeans, 1 RadAway et un RadX (Dans GameEffects/Ingestible).
A partir du NPC de la fille, créez un nouveau NPC avec une ID MONTinkinsonEmma, et mettez Emma Tinkinson dans son champ Name. Choississez la race Ghoul, cochez Female, et mettez FemaleGenericGhoul comme voix, et VaultDweller comme classe. Dans son inventaire, mettez un vêtement OutfitWasteland03 et un Pipboy (dans Items/Armor), des ingrédients WaterPurified et MoleratMeat -1 (dans Game Effects/Ingestible), et un fusil d'assaut WeapAssaultRifle (dans Items/Weapon/Weapons) à 30% de santé. Dans Face, comme age, mettez 38, Dark pour Complexion, et noir comme couleur de cheveux . Dans HeadParts mettez hairGhoul03.
Factions
Dans Fallout3 comme dans Oblivion, les factions ne sont plus seulement de vraies organisations sociales comme la Confrerie de l'Acier, mais aussi un moyen de regrouper plusieurs NPC dans un même groupe (famille, habitant d'une même ville, ...), reconnaissable par le jeu, et opposables à d'autres. Par exemple, une faction AmisDeRobert, qui sera ennemi avec la faction AmisDeRoger. Dans notre mod, nous utiliserons les factions pour différencier les NPC : les habitants de Pale Pass, les Survivants de l'Abri66, Les Gardes de Pale Pass, les Raiders de Pawn Island.
Dans le menu Character, cliquez sur Faction. Passez en revue quelques factions sans faire de changements, pour voir leurs différences. Maintenant, faites un clic droit dans la liste des factions, et faites New. Rentrez l'ID de la faction des habitants de Pale Pass : MONFactionPalePassChadwick. Mettez Famille Chadwick dans le champ Name (pour vous repérer uniquement, puisque la faction sera invisible en jeu). Depuis la fenêtre Objets/Actors/NPC, faites glisser les trois membres de la famille Chadwick (les MONPalePassVillageois) dans le cadre Members de la fenêtre. Cliquez sur OK.
Faites une faction MONFactionPalePass. Mettez Habitants de Pale Pass dans le champ Name. Cliquez sur OK. Faites glisser les gardes de PalePass, le chef de village Stark, et les 3 membres de la famille Chadwick.
Faites une faction MONFactionPalePassGardes, avec les mêmes paramètres et comme nom Gardes de Pale Pass. Faites glisser depuis la fenêtre Object les deux gardes MONPAlePassGarde et aussi MONPalePassChefStark.
Faites une faction MONFactionAbri666 et appelez-là Survivants de l'Abri 666. Faites glsser depuis la fenêtre Object les NPC MONTinkinsonEmma et MONTinkinsonFille.
Faites une faction MONfactionRaiders, et appelez-là Punks à Chiens. Cochez (Hidden From PC, et) Evil (la faction est d'alignement mauvais). Faites glisser dedans les 4 raiders ( 3 punks à chiens et Rodriguez). Faites aussi glisser les 4 chiens que nous avons créé plus haut.
Cochez les cases Hidden From PC (cachées du joueur), et Track Crime (traquent le crime).
Affiliations entre factions :
Chaque faction peut avoir une attitude neutre, amie ou ennelie envers une autre faction du jeu. La conséquence directe est que certains membres peuvent en attaquer d'autres à vue, selon leur IA. Ces paramètres sont rentrés dans le cadre interfaction Relations, en bas à gauche de la fenêtre Faction. Passez donc en revue les 4 factions que nous avons créé, et modifiez celles qui en ont besoin :
- Faction des Habitants de Pale Pass : Laissez vide.
- Faction Famille Chadwick : Faites un clic droit dans le tableau vide interfaction relations, et selectionnez New. Le nom de la faction apparait dans le tableau. Dans la liste déroulante en dessous du tableau, faites défiler et choisissez la faction MONPalePassGardes : cochez Friend (ami). Faites à nouveau un clic droit et New dans le tableau, et selectionnez dans la liste déroulante en dessous la faction des Punks à Chiens MONFactionRaiders
Packages AI
Vous aurez constaté que vos <npc n'ont pas des comportements très naturels. Pour cela, il faut leur rajouter des packages AI. Un package dit à l'IA (intelligence artificielle) du NPC ce qu'il doit faire (dormir, rester sur place, manger, combattre,...), à quelle heure et pendant combien de temps, à quel endroit,... Les packages AI sont listés dans la fenêtre Object sous Actor Data/packages. Il faut les faire glisser de la fenêtre Object dans la fenêtre d'édition du NPC pour les activer. Validez avec OK dans la fenêtre NPC.
Dans la liste de package, c'est le premier package de la liste dont les conditions sont réunies qui est éxécuté. Par exemple, si vous avez un package Eat12a13 (manger de 12 à 13h), et un deuxième package DefaultSandbox (le perso interagit avec son environnement à tout moment de la journee), et qu'il est 15h en jeu, c'est 2éme package, qui remplit les conditions, qui sera éxécuté. La règle veut que les packages les plus importants et prioritaires soient en premier, et les moins importants en dernier. Veillez à ce que les conditions des packages soient adaptées au comportement que vous voulez pour le NPC.
packages default et sandbox
Certains packages génériques ont été créés pour les occupations de tous les jours des NPC. Ces packages commencent par default. Par exemple, les packages sandbox permettent aux NPC d'interagir avec les objets autour d'eux : chaises, etc...
Par exemple, ouvrons la fenêtre d'edition du NPC herbert Chadwick : double cliquez sur MONPalePassVillageois04 dans Actors/NPC. Cliquez sur son onglet AI Packages. Maintenant, dans la fenêtre Object, allez dans ActorData/Packages et cherchez le package DefaultSandboxEditorLocation512. Faites le glisser jusqu'à la liste de packages de la fenêtre de votre NPC. Herbert fera maintenant les activités du package sandbox : interagir avec les objets de sa cellule : s'assoir sur des chaises, manger, dormir sur un des lits,...
Passez en revue les packages de vos NPC et ajoutez leur les packages suivants :
MONPalePassVillageois05 (Helen Chadwick) : DefaultSandboxEditorLocation512
MONPalePassVillageois06 (Katie Chadwick) : DefaultSandboxEditorLocation512
Packages des gardes
Le chef du village et les deux gardes auront des packs Guard. Nous les ferons sur mesure.
Par exemple, dans Actors/NPC, double cliquez sur MONPalePassChefDonStark (Don Stark), puis cliquez sur son onglet packages. Dans la liste vide des package de votre NPC, faites un clic droit et selectionnez New : une fenêtre de package s'ouvre. Rentrez son ID, par exemple MONPackGuardStark, et dans le menu contextuel Package Type, selectionnez Guard. Guard Location doit être coché, avec Near Editor Location, et un radius de 0. Appuyez sur OK pour valider. Validez par OK la fenêtre NPC de Don Stark. Il gardera le point où il est.
Faites de même pour les deux gardes MONPalePassGarde01 qui sera à l'intérieur de la banque éventrée, et MONPalePassGarde02 qui sera à l'entrée est du village. Faites leur un package propre, par exemple MONPackGarde01, pour pouvoir les adapter ensuite.
Il est aussi possible de ne les faire garder leur position qu'à certaines heures. Par exemple éditez la fenêtre du garde 1, et ouvrez son package Guard en double cliquant dessus dans l'onglet AI Packages. Dans la fenêtre package, cliquez sur l'onglet Schedule, et mettez time : 22, duration : 10. Validez le package avec OK. Le garde sera de faction de 22h à 8h. Le reste du temps il éxécutera le package suivant dans sa liste. Rajoutons-lui un autre package : Dans l'onglet AI PAckage, faites un clic droit en dessous du premier et cliquez sur New. Rentrez son ID : MONPackGarde01Sandbox. Dans le menu Package Type en haut à droite, selectionnez Sandbox. Dans le cadre Wander Location, laissez near Editor Location, mettez le radius à 256 (il fera toutes ses actions dans un rayon de 256 autour de la banque). Validez avec OK. Regardez la liste des packages du garde. Le package qui a les conditions les plus importantes doit être en premier (Guard, seulement de 22h à 8h). Il doit donc être en premier dans la liste pour être éxécuté en priorité. Dans la AI Package List de la fenêtre NPC du garde, cliquez sur le package Sandbox que vous venez de faire, et cliquez sur une des flèches au dessus du cadre. Le package sera mis en deuxième. Validez vos changements avec OK.
Packages des raiders "punks à chiens"
Les raiders Punks à chiens ont déjà des packages activés dans leur templates.
Faire d'un NPC un Marchand
Le marchand du village se tiendra dans la cellule MONPalePassMagasin. Chargez cette cellule, et crééz un NPC avec comme ID "MONPalePassVendeur". Validez par OK. Donnez lui un nom, une race (je l'ai mis asiatique, avec pour nom Chi Woo).
- Dans son Onglet AI, vérifiez bien qu'il est noté Unaggressive, et que dans le cadre Autocalc Services (non coché), cochez les cases Food, Chems, Stimpacks, Alcohol, miscenalleous. Validez avec OK.
- Ajoutez lui un package de vente. Ouvrez la fenêtre d'edition du Vendeur (de l'objet de base), et selectionnez l'onglet AI Package. Faites un clic droit dans la liste vide et selectionnez new. Donnez une ID à votre package : MONPackageVendeur, et selectionnez comme type de package Travel, Near Editor Location. Dans l'onglet Flags, cochez Continue if PC near, Must Reach Location, and Offers Services. Pour qu'il ouvre et ferme les portes du magasin à clé mettez When At Location : Unlock Doors et pour Package End : Lock Doors. Dans l'onglet Schedule, mettez une heure de début : 8, et une duration de 12.
- Créez une clé qui servira à fermer le magasin : Double cliquez sur une clé existante (dans Item/Key) et changez sin ID en MONKeyPalePassVendeur. Comme nom, mettez Clé de Chi Woo. Validez et répondez oui à Create a New Form. Allez dans l'intérieur MONPalePAssMagasin et double cliquez sur la porte d'entrée. Dans l'ognglet Lock, cochez Locked et mettez le level en facile. Dans la liste déroulante Key, mettez votre clé, et validez avec OK. Pas la peine de le faire pour la porte extérieure, c'est automatique.
- Pour qu'un marchand vende des objets, il doit avoir un coffre contenant tous ces objets, dans la cellule ou il vend, et hors de portée du joueur. Nous devons donc prendre un container, dans WorldObjects/Container, parmi ceux qui commencent par Vendorchest... Double cliquez l'un d'eux pour l'éditer. Renommez son ID en "MONVendorChestBuriedChiWoo" par exemple, et validez avec OK. A la question vous demandant "Create a new Form", répondez Yes. Double cliquez sur votre nouveau container dans la fenêtre Objet pour l'éditer et changer son inventaire. Supprimez tout ce qu'il contient pour l'instant et repérez les objets qui figurent dans le magasin. Dans le champ Filter, mettez VendorChest, puis cliquez sur All tout en bas de l'arborescence. Parmi les VendorChests Verts, faites glisser dans l'inventaire du container 1 VendorChestCapsMedium (il faut obligatoirement des caps), 1 VendorChestFoodAndDrink, 1 VendorChestStimpacks. Allez aussi dans la section Misc Item de la fenetre Object pour y mettre des exemplaires des objets dans l'étalage. Vous pouvez mettre des objets à l'unité en les glissant dans le container. Vérifiez que la case Respawns est bien cochée, et fermez la fenêtre avec OK.
- Faites glisser ensuite le coffre de la fenêtre Objet à la fenêtre Render, près du magasin ( et en dehors). Double cliquez dessus dans la fenêtre Render pour éditer sa référence : cochez la case "Persistent Reference". Appuyez sur OK.
- Relions ensuite le coffre au vendeur : Double cliquez sur ensuite sur la référence du Vendeur dans la fenêtre Render pour l'éditer, et cliquez sur l'Onglet Merchant Container. Cliquez sur le bouton Select Reference in Render Window, pour faire apparaitre une cible rouge. Double cliquez sur le coffre dès qu'elle est blanche. Appuyez sur OK.
Quête et Dialogue pour le marchand : showbartermenu
Pour accéder au dialogue de marchand, il faut créer une quête. Dans Fallout3, ce sont généralement les quêtes relatives aux lieux (DialogMegaton, Etc...) qui contiennent les dialogues appelant le menu de marchant, via la commande ShowBarterMenu.
Cette quête contiendra un topic réservé au dialogue de notre marchand, et nous nous en servirons plus tard pour ajouter des infos relatives à PalePass.
- Dans la fenêtre Object, allez dans Actor Data/Quest. Faites un clic droit dans la liste des quêtes, et selectionnez New. La fenêtre de Quete s'ouvre. Dans le champ Name, mettez le nom de la quête : Pale Pass. Rentrez en dessous l'ID de cette quête : MONDialogPalePass. Mettez Priority à 25, cochez Start Game Enabled, et Allow Conversation Topics. Validez avec OK.
- Toujours dans la liste de quêtes de la fenêtre Object, double-cliquez sur votre nouvelle quête. Cliquez sur l'onglet Topic. DAns la liste des Editor ID de l'Onglet Topic, faites un clic-droit et selectionnez Addtopic, puis dans la liste qui vient d'ouvrir, faites un clic droit, New, et rentrez l'ID du topic de marchand de palepass : MONTopicPalePassMarchand. Validez avec OK. Retrouvez le dans la liste de topics toujours ouverte et cliquez dessus : Rentrez la demande du joueur : "Qu'est-ce que vous avez à vendre ?". Mettez Priority à 30, et cochez Top Level. Appuyez sur OK.
- Dans l'Onglet Topic de la fenêtre Quest, votre nouveau topic figure dans la liste d'EditorID : Cliquez dessus pour le selectionner, et faites un clic droit dans la liste vide Info, et selectionnez New.
- La fenêtre New Response s'ouvre : entrez dans Response Text la réplique du NPC Marchand : "Faites votre choix.". Cliquez sur OK. Une fenêtre de correction s'ouvre, fermez-la avec le bouton Cancel. Dans le champ Emotion, choisissez Happy, et mettez à 50. Cliquez sur OK. Il faut maintenant indiquer dans le cadre conditions qui dit la phrase, sinon tous les NPC du jeu la diront ! Mettons comme condition à cette info que le NPC doit être notre marchand : Faites un clic droit dans la liste des conditions, et faites New. Dans la fenêtre Condition Item qui s'ouvre, selectionnez GetIsID comme Condition parameter, MONPalePassVendeur comme Function Parameter, et == 1. Votre permière info est créée !
- Dans la partie Prompt de la fenêtre ou figure votre info (cliquez dessus), entrez la phrase que le joueur dira en réponse à la question "Vous voulez acheter quelque chose ?" : "Montrez-moi ce que vous avez."
- Il ne reste qu'à indiquer le résultat de ce dialogue : l'ouverture de la fenêtre d'achats. Dans le cadre ResultScript (begin), marquez la commande ShowBarterMenu.
- Cliquez sur OK pour valider vos changements et fermez la fenêtre Quest.
- Sauvez votre Mod
Vous pouvez aller tester votre Marchand Ingame.