Entités |
Type |
Description |
---|---|---|
Bloc |
Zone dans laquelle la téléportation est effective |
|
Point |
Destination du téléporteur |
|
Point |
model qui peut être parenté, être masqué, bouger, s'animer... (on en a déjà parlé, mais ici il revient en force) |
Réaliser un téléporteur simple est quelque chose de très facile. La zone de téléportation se défini avec l'entité-bloc trigger_teleport. Voici les 2 propriétés utiles disponibles pour cette entité :
Start Disabled : mettez No si vous ne voulez pas que le téléporteur soit désactivé par défaut
Remote Destination : le nom de l'entité qui fait office de destination
Pour créer la destination, on utilise l'entité info_teleport_destination. Cette entité n'a pas de propriétés spécifiques, excepté qu'elle peut être parentée.
Et tu fais tout un mini-tuto pour me dire ça '
Attendez ! Nous allons faire un téléporteur DeLuxe, avec un model animé et tout. Un peu de patience .
Nous allons utiliser un model de téléporteur. Allez le chercher, c'est models/props_combine/combine_teleportplatform.mdl. Insérez-le au moyen d'un prop_dynamic.
Ne changez pas les propriétés, celles par défaut sont bonnes. Spécifiez simplement un nom, via la propriété Name. Mettez model_tele_combine.
Comment va-t'on s'y prendre pour activer le téléporteur quand le joueur est dedans ?
Avec un trigger_multiple, tout simplement. Je vous ai dit que le trigger_teleport comprenait la propriété Start Disabled. Nous allons la mettre sur Yes. Une fois le joueur dans le trigger_multiple, celui-ci va activer le trigger_teleport qui téléportera le joueur
Voici l'image. En dessous se trouve le trigger_teleport. Le long bloc vertical est donc le trigger_multiple.
Voilà les paramètres des deux triggers :
Name : trigger_tele_combine
Start Disabled : Yes
Remote Destination : teleport_destination
Delay Before Reset : 10
Nous nous occuperons des outputs après. Il faut faire en sorte que quand un joueur se trouve dans le trgigger_multiple, un autre joueur ne puisse pas rentrer. Bah oui, chacun son tour, on fait un téléporteur professionnel, on ne rentre pas comme des bourrins à 20 en même temps !
Pour ça, je vais créer un func_wall_toggle, habillé de toolsinvisible. Mettez-lui wall_tele_combine comme nom, et cochez son flag Starts Invisible.
Pour ajouter du réalisme, on va ajouter deux ambient_generic. Un pour la fermeture du téléporteur, et un autre pour la "mise à feu" du téléporteur.
Voici les paramètres :
Name : son_tele_open_combine
Sound Name : ambient/levels/citadel/pod_open1.wav
Max Audible Distance : 1000
Name : son_tele_start_combine
Sound Name : ambient/levels/citadel/portal_open1_adpcm.wav
Max Audible Distance : 1000
Pour les deux, cochez les flags Start Silent et Is NOT Looped.
Voici tous les outpits du trigger_multiple :
Output named |
Targets entities |
Via this input |
Parameter |
Delay |
---|---|---|---|---|
OnTrigger |
model_tele_combine |
SetAnimation |
close |
0.00 |
OnTrigger |
wall_tele_combine |
Toggle |
<none> |
0.00 |
OnTrigger |
son_tele_open_combine |
PlaySound |
<none> |
0.00 |
OnTrigger |
son_tele_start_combine |
PlaySound |
<none> |
3.00 |
OnTrigger |
trigger_tele_combine |
Enable |
<none> |
5.00 |
OnTrigger |
trigger_tele_combine |
Disable |
<none> |
8.00 |
OnTrigger |
model_tele_combine |
SetAnimation |
open |
10.00 |
OnTrigger |
son_tele_open_combine |
PlaySound |
<none> |
10.00 |
OnTrigger |
wall_tele_combine |
Toggle |
<none> |
10.30 |
Le petit gars arrive. Il entre dans le trigger_multiple. Ce trigger va alors tout commander. Il commence par dire à model_tele_combine de redéfinir son animation (SetAnimation). Son animation va devenir close. Dans la même seconde, son_tele_open_combine est joué, et wall_tele_combine est activé (Toggle).
A ce stade, les autres joueurs ne peuvent pas rentrer dans le téléporteur. Le joueur en est prisonnier. Après 3 secondes, son_tele_start_combine est joué, et deux secondes plus tard, le téléporteur (trigger_tele_combine) est activé. Le joueur est alors téléporté.
Deux secondes plus tard, le trigger_teleport est re-désactivé, et prêt à être réutilisé. Et pour finir, le téléporteur (model_tele_combine) se réouvre (SetAnimation > open), son_tele_open_combine est une nouvelle fois joué (pour accompagner l'ouverture du téléporteur). Et enfin, wall_tele_combine est togglé, et redevient inactif. Toute la machinerie est prête à fonctionner de nouveau
Et voilà, votre téléporteur est fini . Prochaine étape : réaliser le même téléporteur que celui du docteur Kleiner, mais ça, je vous laisse faire, je suis fatigué .