Aller au menu - Aller au contenu

Icône [TF] Entités spécifiques

Mise à jour : 24/01/2012
Difficulté : Facile Facile
2 942 visites depuis 7 jours, dont 16 sur ce chapitre classé 54/786
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Zones de régénération

Entité étudiée
EntitéTypeDescription
func_regenerate Bloc Permet de créer une zone de régénération en munitions, métal et santé


Image utilisateur
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



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 !

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.

Munitions, métal et soins

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 :

ImageEntitéInformations
Image utilisateur http://developer.valvesoftware.com/wik [...] mmopack_small Fournit 20.5% de munitions et métal
Image utilisateur http://developer.valvesoftware.com/wik [...] mopack_medium Fournit 50% de munitions et métal
Image utilisateur http://developer.valvesoftware.com/wik [...] ammopack_full Fournit 100% de munitions et métal
Image utilisateur http://developer.valvesoftware.com/wik [...] althkit_small Fournit 20.5% de vie
Image utilisateur http://developer.valvesoftware.com/wik [...] lthkit_medium Fournit 50% de vie
Image utilisateur http://developer.valvesoftware.com/wik [...] ealthkit_full Fournit 100% de vie

Filtre d'activation

Entité étudiée
EntitéTypeDescription
filter_activator_tfteam 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 ^^ .

Je ne reviens pas sur le fonctionnement de cette entité, elle fonctionne comme filter_activator_team.

Chambres de respawn

Entités étudiées
EntitéTypeDescription
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


Image utilisateur
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 ^^ .

Le model employé pour les poignées arrondies est models/props_spytech/glass_door_handle001a.mdl ;) .


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 (func_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 ;)

Forcer le respawn

Entité étudiée
EntitéTypeDescription
game_forcerespawn 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é.
Chapitre précédent Sommaire Chapitre suivant

Partager

1 commentaire pour "[TF] Entités spécifiques"
Note moyenne : 3.89 / 4 (103 votes)
Pseudo Commentaire
Hors ligne Prizor # Posté le 27/02/2008 à 11:26:15
Avatar

Nice work !
Super tuto, bien utile, merci et bravo ! ;)

Voir tous les commentaires