Entité |
Type |
Description |
---|---|---|
Bloc |
Permet de créer une zone de régénération en munitions, métal et santé |
Dans les salles de réapparition de Team Fortress² se trouvent souvent des grosses armoires grises qui distribuent munitions, métal et santé : ce sont des zones de régénération .
Ces zones de régénération sont constituées de deux entités : l'armoire et la zone pour laquelle la régénération en munitions, métal et santé est active.
L'armoire n'est rien d'autre un prop_dynamic dont le model est models/props_gameplay/resupply_locker.mdl. Il ne faut pas oublier de donner un nom a l'entité, car on l'utilisera avec le func_regenerate !
C'est l'entité qui symbolise la zone dans laquelle la régénération sera active. Cette entité possède 3 propriétés intéressantes :
Team : soit Blue (juste pour l'équipe Bleue), soit Red (juste pour l'équipe Rouge), soit Any (pour les deux équipes)
Start Disabled : ça peut toujours être utile ça
Associated Model : c'est ici qu'intervient le nom du prop_dynamic. C'est pour dire au model de s'ouvrir ou de se fermer.
Il est important de disperses par-ci par-là des recharges en munitions, métal et quelques trousses de soin. Voici les différentes entités point qui permettent de les placer :
Image |
Entité |
Informations |
---|---|---|
Fournit 20.5% de munitions et métal |
||
Fournit 50% de munitions et métal |
||
Fournit 100% de munitions et métal |
||
Fournit 20.5% de vie |
||
Fournit 50% de vie |
||
Fournit 100% de vie |
Entité |
Type |
Description |
---|---|---|
Point |
Permet de définir un filtre d'activation en fonction de l'équipe |
filter_activator_tfteam ressemble beaucoup au filter_activator_team , hormis qu'elle est faite pour Team Fortress² .
La propriété Team peut prendre trois valeurs : Blue, Red et Any. La valeur Any n'est pas vraiment utile, puisque le but de cette entité est de dissocier les deux team .
Entité |
Type |
Description |
---|---|---|
Point |
Point de départ d'un joueur dans Team Fortress² |
|
Bloc |
Définit une chambre de respawn. Utilisé pour les maps de type CP |
|
Bloc |
Permet d'afficher un signale "Interdit" à l'équipe adverse et l'empêche de pénétrer dans la chambre de respawn |
Les chambres de respawn de TF² sont un peu spéciales. Valve semble avoir trouvé amusant que les faire quasi toutes suivant un même schéma. Il n'est bien sur pas obligatoire de suive ce schéma à la lettre et faire comme bon vous semble. Moi je vais quand même vous expliquer comment sont faites les chambres "classiques"
Il n'y a rien de bien compliqué dans la création d'une chambre de ce type. Il suffit simplement de mettre une porte qui laisse sortir et entrer les membres d'une équipe, mais qui empêche les membres de l'autre équipe de renter.
Les points de départ se définissent avec les entités info_player_teamspawn. Il suffit ensuite d'indiquer l'équipe pour laquelle ces points sont associés. C'est la propriété Team. Je reviendrai sur les autres propriétés, plus tard .
La porte principale est celle qui laisse entrer et sortir. C'est en fait un prop_dynamic parenté avec un func_door, le func_door lui-même motorisé par un trigger_multiple. En clair, rien de bien compliqué. Il convient néanmoins d'appliquer une filtre d'activation sur le trigger_multiple, pour que le porte ne s'ouvre que si c'est un membre que l'équipe qui veut passer, et non un membre de l'équipe adverse. C'est ici que va intervenir le filter_activator_tfteam vu précédemment.
Le prop_dynamique utilise le model models/props_gameplay/door_slide_large_door.mdl (le gros respawn de ctf_2fort par exemple). Ce prop est parenté au func_door, habillé de nodraw. Je vous laisse le soin de créer cela par vous même .
Le trigger_multiple ouvrira la porte au moment de l'output OnStartTouchAll et la fermera lors de l'output OnEndTouchAll. N'oubliez pas de spécifier l'entité filter_activator_tfteam dans sa propriété Filter Name !
C'est une porte comme il y a dans ctf_2fort, qui sépare les points de respawn de la zone de régénération. C'est une simple porte qu'on ne sait ouvrir que d'un coté. Bref, un ou plusieurs func_door et un trigger_multiple d'un seul coté. Un truc simple quoi .
Il convient de donner un nom et quelques propriétés à chaque chambre de respawn. Pour cela, on englobe la totalité de la chambre dans un func_respawnroom. Il ne reste plus qu'à éditer deux petites propriétés :
Name : nom de la chambre. C'est très important, surtout pour les maps comme cp_well où les respawn changent.
Team : Blue, Red ou Any
...le func_respawnroomvisualizer. C'est cette entité qui fera apparaître un signal "Interdit", et qui empêchera que l'équipe adverse n'entre dans la chambre.
Il faut placer cette entité bloc, en nodraw, sur toute la largeur et la hauteur de la porte (la taille du func_door en fait). Ensuite il faut renseigner sa propriété Associated Respawn Room avec le nom de la chambre de respwn (func_respawnroom) pour laquelle l'entité sera effective . Les autres propriétés n'ont pas grand intérêt.
Entité |
Type |
Description |
---|---|---|
Point |
Oblige tous les joueurs à réapparaître. Les constructions sont aussi détruites. |
Une petite entité qui peut s'avérer amusante est game_forcerespawn. Une fois déclenchée, tous les joueurs réapparaissent et les constructions des ingénieurs sont détruites. Les bombes collantes du démoman sont aussi enlevées. Les joueurs réapparaissent, mais ne sont pas tués. C'est un peut comme la Sudden death (Mort Subite).
Pour appeller l'entité, il suffit d'utiliser son input ForceRespawn. Et en bonus, vous pouvez choisir d'échanger les teams avec l'input ForceRespawnSwitchTeams.
Vous pouvez aussi utiliser l'output OnForceRespawn pour détecter l'activation de l'entité.