Former une escouade.

Retour au sommaire.

Tutorial AI Scripting Basic Training: Squad Scripting Tutorial by Seeded[USAF]
Traduit et adapté par Tropheus.

1/ Les bases.

Ouvrir codradiant et se mettre en grille 8.
Faites une petite pièce texturée comme vous le vouez.
Créer un Info_Player_Start. (en vue 2D clic-droit/info/player_start)
Touche "N" pour ouvrir la fenêtre entité Puis donnez les Keys et Values suiavntes :
targetname / chainme // ou tout autre chose là c'est vous qui voyez!!!

2/ Créer l'escouade.

Dans la vue 2D, clic-droit/actor/l'allié que vous voulez.
Ici j'ai choisi 3 coéquipiers : un portant un Bar, un médecin et un rifleman.
Pour chacun d'eux appuyer sur la touche "N" et entrez les Keys / Values suivantes.
target / chainme
Vous verez apparaître une flèche reliant chaque soldat à l'Info_Player_Start.
Pour personnaliser un peu plus vos soldats, vous pouvez leur donner le nom  que vous voulez. il vous suffit d'écrire dans la fenêtre entité.
script_friendname / Tropheus . Vous verez ainsi apparaître le nom du soldat lorsque vous pointerez votre arme dessus.

3/ Mise au point sur les Pathnodes.

Tout d'abord, il faut absolument vous sortir de la tête que les pathnodes vous serviront à faire bouger votre escouade. Les Pathnodes sont utilisés pour indiquer au jeu par où les entités peuvent passer. Les autres Noeuds (cover_crouch par exemple) sont les noeuds dont vous vous servirez pour donner forme à vos déplacements. Ce sont eux qui indiqueront au jeu ce qu'il faut faire.
Par exemple vous avez une entité cover_crouch d'un coté de la map et un cover_left de l'autre côté. Entre les deux vous installez un champ de mine. Pour que votre Bot aille de l'un à l'autre vous devez construire le chemin avec des info_pathnode tout autour du champ. Et ceci sans avoir besoin de "targeter" les  Nodes les uns aux autres car le jeu le fait de lui même.

Bon, maintenant que vous y êtes voici la suite.

Tout d'abord vous allez créer un brush avec la texture "trigger_AI" dans lequel vous allez inclure votre Info_Player_Start. Ceci aura pour effet de lier tout de suite (dès le spwan) les Soldats au joueur, mais si vous ne voulez pas que cela se fasse dès le spawn vous pouvez déplacer ce trigger de façon à le mettre où vous voulez.
Touche "N" et dans le menu sélectionnez "trigger_friendlychain", ensuite vous pouvez fermer la fenêtre. Ceci liera les coéquipiers au joueur. Vous aurez une équipe qui réagira ensemble.
Maintenat créons 3 nouvelles entités qui seront le but de déplacement des AI et le comportement qu'ils devront avoir.
Dans la vue 2D, clic-droit/node/cover_crouch. par exemple.
targetname / auto31 // ou tout ce que vous voulez.
target / auto32
pour la seconde
targetname / auto32
target / auto33
pour la troisième
targetname / auto33
Ici pas de target car se sera la fin de ce mouvement particulier.

Nous avons donc 3 entités (Node) et 3 AI. Chaque AI s'assignera d'elle même à un noeud et elles ne s'agglutineront pas toutes autour d'un seul Noeud.

Bien les noeuds sont connectés, retournons sur le Trigger_AI.
Touche "N"
target / auto31
Cela provoquera lorsque activerez le trigger. Vous créerez donc l'escouade mais en plus elle se dirigera vers le Noeud auto31 en se repartissant entre les différents noeuds.

Bien si vous compilez et jouez, vous verrez que les sodats bougeront jusqu'à leur position.

4/ le mouvement suivant.

Bien comme vous êtes arrivé jusqu'ici san savoir de surcharge intellectuelle vous devriez pouvoir comprendre la suite sans trop de problème.
Créons un secpond "Trigger_AI" proche du dernier Noeud que nous avions créé. Vous sélectionnez "trigger_friendlychain" comme précedemment.
Vous ajouterez 3 nouveaux neouds avec la seule différence queles targetname sera "auto41", "auto42" et "auto 43". Vous les lierez (avec un anneau ah non c'est pas le même film pardon !!!) de la mêm façon qu'avant.
Sans oublier de targeter le trigger sur le premier noeud "auto41" par exemple.

Si vous tentez de jouer maintenant, vous ne verez rien de plus qu'à l'étape précedante. On va y remédier.

5/ Les Pathnodes.

Comme on l'a dit plus haut, les pathnodes sont utilisés pour définir le chemin à prendre. C'est pourquoi votre escouade ne dépasse pas les premier noeuds. Ils ne savent tout simplement pas quoi faire.Vous devez donc définir leur chemin. Pour cela, placez des Pathnodes tout au long du chemin. (Un par carré de 8X8 semble-t'il).
Maintenant que vous l'avez fait vous verrez vos soldats se diriger vers les seconds points lorsque vous passerez le second trigger.

6/ Un petit script pour la route.

Mais rien de bien extraordinaire juste de quoi équiper votre joueur.

main()
{

maps\_load::main();

level.player takeallweapons();
level.player giveWeapon("m1carbine");
level.player giveWeapon("thompson");
level.player giveWeapon("colt");
level.player giveWeapon("fraggrenade");
level.player switchToWeapon("thompson");

}

7/ Le fichier .bat.

C'est dans ce fichier que nous allons ajouter une commande supplémenatire. En effet afin que le jeu puisse connecter les nodes entre eux, vous allez ajouter ceci dans votre liste de commande.

@echo off
rem tuto de Tropheus
coduosp +set g_connectpaths 1 +set fs_game tutorial +map tutorial

et codsp si c'est une map pour COD.

RESUME
Bien nous avons ici les bases des mouvements d'une escouade. Bien sûr on peut aller plus loin, mais tout d'abord je vous laisse vous initier avec cette première partie.

En résumé, tout ce que vous avez à faire, c'est de dire à votre escouade où aller, comment y aller et qu'elle comportement  elle doit adopter.

Tropheus