Entités étudiées
| Entité | Type | Description |
|---|
| info_player_teamspawn |
Point |
Point de départ d'un joueur dans Team Fortress² |
| func_respawnroom |
Bloc |
Définit une chambre de respawn. Utilisé pour les maps de type CP |
| func_respawnroomvisualizer |
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 respawn
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
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 !
La porte secondaire
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

.
Délimitation de la chambre
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
Et pour finir...
...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 (f
unc_respawnroom) pour laquelle l'entité sera effective

. Les autres propriétés n'ont pas grand intérêt.
Vous devez mettre du nodraw partout, sauf sur la face visible, où vous devez appliquer la texture
overlays/no_entry