Faire apparaitre des ennemis.
Texte original : Spawning AI's in sp map
Auteur : HAUI
Du site : Manstein leveldesign
Traduction et interprétation par Tropheus.
Nous allons ici apprendre à faire
apparaitre des ennemis.
Vous savez celui qui vient
vous tirer dans le dos alors que 2 secondes plus tôt il
n'était pas là ! Celui qui apparait toujours lorsque
vous avez les maains occupées à autre chose comme
à ouvrir une porte par exemple.
Il y a deux possibilité pour faire
naitre des enemis. nous verrons ici la première qui est
la moins compliquée.
La
seconde façon "naissance après la mort d'un
enemi" (plus compliquée) sera expliquée dans
un autre tutorial.
1/ MAPPING
Vous allez construire une map assez longue
(comme un couloir) (512 X 144) que vous allez appelez "test_spawn".
Vous allez placer un info_player_start dans un des coin comme
d'habitude, de la lumière.
Ensuite, vous
allez placer votre ennemi à apparaitre dans le coin opposé.
Pour cela placer un "AI_Actor" un parallélépipède
rectangle gris apparait dans la vue 3D. Tant que vous l'avez sélectionné,
appuyé sur la touche "n" et donnez lui les Key /Value suivantes
:
$targetname
/ enemyspawner #group / 1 #set / 1 model / human/german_panzer_obershutze.tik |
Maintenant cet ennemi doit courir vers
une destination avant de vous attaquer.
Vous allez donc placer entre vous et votre ai_actor un info_pathnode auquel
vous donnerez les valeurs suivantes :
$targetname / enemyspawnerdestination #group / 1 #set / 1 |
Notez qu'il faut mettre le même #group et #set que pour l'enemyspawner.
Pour activer le tout il vous faut maintenant un "trigger_multiple" à placer ici entre l'info_pathnode et vous. (sur l'image j'ai mis un mur pour bien montrer où se fait l'activation).
Donc vous allez lui donnez les valeurs suivantes :
$targetname
/ enemyspawnertrigger #set / 1 cnt / 1 |
Voici ce que vous pouvez voir dans les vues 2D et 3D
Votre map est maintenant prête. Il ne vous reste plus qu'à la compiler.
2/ SCRIPTING
Toujours pareil prenez notepad ou un autre éditeur de texte et tapez ceci.
exec global/ai.scr
exec global/loadout.scr maps/test_spawn.scr
main:
thread global/ai.scr::spawngroup #1 #1
level waittill prespawn
exec global/ambient.scr test_spawn
level waittill spawn
$player item weapons/colt45.tik
$player ammo pistol 1000
level.script="map/test_spawn.scr"
end
Explications.
exec global/ai.scr
exec global/loadout.scr maps/test_spawn.scr
main:
thread global/ai.scr::spawngroup #1 #1//l'apparition
du personnage se fera lorsque vous passerez par le trigger_multiple.
level waittill prespawn
exec global/ambient.scr test_spawn
level waittill spawn
$player item weapons/colt45.tik
$player ammo pistol 1000
level.script="map/test_spawn.scr"
end
Vous enregistrez le tout sous test_spawn.scr et le tour est joué.
3/ VARIANTES.
a/ Nombre d'enemis.
Vous pouvez avoir plusieurs ennemis dont l'apparition est activée par le trigger_multiple. Il vous suffit de positionner autant d'ai_actor que vous voulez avec les mêmes valeurs qu'au-dessus sauf pour le #group.
b/ La valeur #set.
La valeur #set détermine quelle "vague" d'ennemis sera activer. Vous pouvez avoir plusiseurs système de "spawning". Dans ce cas, si vous avez plus d'un ai_actor, info_pathnode, trigger_multiple vous devez donnez à chaque groupe, une unique valeur #set (1, 2, 3 ...)
c/ La valeur #group.
Cette valeur determine combien d'ennemi doivent apparaitre en passant le trigger. Vous pouvez avoir 3 ou plus encore d'ennemis à apparaitre.
NDT : je ne suis pas sûr de ma traduction sur cette dernière phrase. Cependant, si la valeur #set est indispensable au fonctionnement du système de spawn, la valeur #group elle ne l'est pas. en effet si vous avez qu'une seule Ai à spwaner ce n'est pas nécessaire. aussi dan sle script ceci ce traduit par :
thread global/ai.scr::spawngroup #1 la dernière valeur a disparu.Il existe d'autres façons de faire apparaitre des AI sur la map, mais c'est cette manière qui est la plus académique et la plus simple. Cependant elle semble aussi très sensible aux mauvaises manipulation de valeur et risque tout à coup de vous lacher. Maintenant si vous travaillez correctement tout doit bien ce passer.
Je pense aussi qu'il est possible de faire apparaitre des allié des cette même façon.Dans le jeu ça se traduit par :
- avant le spawn
- et après le passage du trigger.
retour au sommaire
![]()