Comment attacher des
objets à voler sur certains AI
Livres et parchemins
Comment équiper le joueur
Les passe-partout
Les échelles
Comment ajouter des propriétés physiques
à des objets
Donner une arme différente à
un Ai
Créer une potion d'invisibilité
Les lucioles (will-o-wisp, les boules de
lumière)
Dans la plupart des cas, les armes fournies dans les jeux sont suffisantes. Mais il est toujours agréable d'ajouter sa petite touche et ce n'est pas très difficile.
Dans ce tutoriel, je vais fournir une baguette de prêtre Marteleur à une brigande et lui dire de frapper les gens autour d'elle. Normalement les baguettes magiques ne sont pas des armes de poing mais on peut changer cela facilement. Vous pouvez choisir un tout autre AI et une autre arme si l'idée de celle qui frappe les gens avec une baguette magique ne vous plaît pas.
Avant de commencer…
Il faut savoir que les armes de projections sont plus compliquées à faire et mériteraient un tutoriel bien à part. Pour l'instant, je m'en tiens aux armes "de poing".
Tous les AI ne peuvent porter des armes et tous les objets ne peuvent
pas être utilisés comme arme.
Pour commencer, il faudra éviter les classes qui sont sous T3AIPawnHumanNonCombat.
Ils ne doivent pas avoir d'animations (de mouvements) de combat.
A éviter également les classes d'objets qui ne sont pas sensés être tenus,
c'est-à-dire qui n'ont pas de point d'attache (attachment
point) bien défini ; essayez avec une skillet
(poêle à frire), l'AI essaiera de la faire tenir en équilibre sur la paume
de sa main au lieu de la tenir par la poignée.
En fait, j'ai tout d'abord essayé d'équiper la brigande avec une poêle.
Cela n'a pas du tout marché. L'objet "Skillet" n'a pas un bon point d'attache,
et la voleuse a eu beaucoup de mal à me frapper.
J'ai bien compris le premier problème (la Skillet ne peut pas être tenu),
mais le deuxième est plutôt mystérieux pour moi. Peut-être qu'il y a un
rapport avec les propriétés de AIWeapon (MeleeAttackAngleSweep,
MeleeAttackNumberRays, MeleeWeaponRange).
Instructions
1. Il nous faut tout d'abord
un AI à qui donner une arme. Ouvrez l'Actor Class Browser
et placez le Ai de préférence au niveau du sol. J'ai choisi Pawn
> AIPawn > T3AIPawn > T3AIPawnHuman > T3AIPawnHumanCombat > ThugFemale
> ThugFemaleCity_FPants_01.
2. Nous avons besoin d'une arme. Avant
d'aller droit au but, il faut savoir si vous allez implémenter vos modifications
dans le gamesys (peut-être en créant une sous-classe pour l'objet que vous
voulez transformer en arme) ou en modifiant un paramètre de la classe dans
le niveau. Pour la simplicité, je vais choisir de ne modifier qu'un paramètre
de la classe mais si vous devez utiliser votre nouvelle classe d'arme plus
d'une fois, il est plus judicieux de modifier le gamesys.
Si vous avez choisi de modifier le gamesys, faites tous les changements
de la classe d'armes dans l'Actor Class Browser
au lieu de la boîte de dialogue Actor Properties.
Si vous n'êtes pas sûr de ce que vous devez faire, faites comme moi pour
le moment.
3. Si vous avez choisi de modifier le gamesys,
faites une sous-classe pour votre nouveau type d'arme et placez-la près
de votre AI sur la map (Peu importe où).
L'autre méthode est de placer une classe existante. J'ai choisi Actor
> WorldObj > SetDressing > AIParts > MagicWand > MagicWandHammer.
4. Quand on change la fonction d'un objet
existant comme celui-ci, il est sage de vérifier si il n'y a pas de Actor
Links à effacer. Faites un clic droit sur l'arme ou sa sous-classe puis
choisissez Actor Links. En effet, notre MagicWandHammer
(baguette magique de Marteleur) a un Actor Link
: c'est celui qui permet de faire l'effet magique habituelle de la baguette.
Comme nous allons la convertir en arme de poing, nous n'avons pas besoin
de ce link, vous pouvez l'effacer.
5. Ajoutons nos nouveaux paramètres. Faites
un clic droit sur l'arme à nouveau, cette fois-ci choisissez Actor
Properties. Déroulez le sous-menu de Properties
qui est le plus bas, faites un clic droit dessus puis choisissez Add
Property. La propriété que nous voulons ajouter se nomme bIsWeapon,
vous pouvez la trouver dans la catégorie Weapons.
6. Paramétrez Weapon >
bIsWeapon à True.
7. Ajoutez la propriété AIWeapon
> bPerfectlyAccurateWeapon. Changez-la à False.
C'est un paramètre de la baguette magique dont on ne se sert pas. Je ne
sais pas si ce paramètre a un effet quelconque sur les armes de point, mieux
vaut le désactiver.
8. Ajoutez 2 propriétés à votre future arme
: Weapon > WeaponStimulus et Weapon
> WeaponStimulusAmount. Paramétrez-les. Pour la baguette, je vais
utiliser StimulusType_Blunt et 1.
Pendant que vous y êtes, jetez un coup d'œil les autres types de stimuli
disponibles, c'est une liste intéressante.
9. Ajoutez la propriété Weapon
> WeaponStance. Paramétrez.
Il est important de savoir que tous les AI ne peuvent avoir toutes les positions
"armées". S'il n'y a pas d'animation pour l'arme choisie, l'AI n'essaiera
même pas de l'utiliser !
Par exemple, si on donne une matraque à un garde, cela n'a aucun effet car
le garde n'a pas d'animation pour la position de la matraque eWS_BLACKJACK.
Pour la baguette magique, j'ai choisi eWS_SWORD (épée).
La position eWS_MAGICWAND (baguette magique) aurait
pu sembler plus appropriée, mais la voleuse n'a pas d'animations de baguette
magique. Les animations de la baguette magique ne correspondent de toute
façon pas à une arme de poing.
10. Maintenant nous sommes sur le point de
donner l'arme à notre AI. Pas la peine d'aller dans l'écran d'équipement
des armes (Weapon Loadout), cela ne marchera pas
car notre arme n'est pas là. Ne me demandez pas pourquoi, c'est ainsi.
11. Faites un clic droit sur l'AI (pas l'arme
!) et choisissez Actor Links. Une fenêtre apparaît
avec toutes sortes de choses intéressantes comme les yeux et les dents.
Cliquez sur Add Link. Choisissez RigidAttachment
pour le type de link.
12. Nous devons à présent connaître le nom
de l'arme (faites cela seulement si vous suivez ma méthode. Si vous avez
créé une sous-classe, ce n'est pas la peine). Ouvrez les propriétés de votre
arme, regardez la barre de titre de la fenêtre de propriétés. Il devrait
y avoir un nom qui ressemble à ça
D_142 MyLevel.D_142__1(MagicWandHammer__1) (le
vôtre différera légèrement). Le morceau qui nous intéresse se trouve entre
parenthèses : dans mon cas, c'est MagicWandHammer__1.
13. Entrez le nom de l'arme dans le champ
TO. Si vous avez fait une sous-classe, entrez
le nom de la classe. (Grâce à la fonction Use Current
Archetype, la classe qui est sélectionnée dans l'Actor Class Browser
s'inscrit)
14. Cliquez sur OK.
Comme par magie, l'arme se met entre les pieds de l'AI.
15. Sélectionnez le link dans la fenêtre Actor
Links, cliquez sur Edit Selected Link.
Dans la boîte de dialogue, déroulez l'entrée de la propriété qui se trouve
le plus en bas, paramétrez m_parentBone sur M1
R Hand (c'est la main). C'est l'endroit du corps de l'AI où l'arme
sera mise.
16. Paramétrez m_attachmentBone
(c'est le point exact de l'arme qui sera attaché à l'AI) à HP_RightHand.
Les points d'attaches (attachment bones) varient selon l'objet choisi comme
arme.
17. Cliquez sur Done.
Et encore une fois sur Done pour fermer la fenêtre
Actor Links.
18. Sauvegardez et essayez votre niveau. Essayez
d'esquiver l'attaque de votre AI, puis laissez-vous faire pour voir comment
l'arme marche.
Notre arme n'est pas parfaite. L'animation est un peu étrange : la voleuse tend la baguette magique vers Garrett au lieu de le frapper ! Essayez avec d'autres armes si vous voulez pour en trouver une qui corresponde et que la voleuse peut avoir. (Désolé, la matraque ne fonctionne pas, j'ai essayé.)
Tutoriels sur T3ed
t3ed.tutoriel.free.fr