Téléportation

Principe

Entités

Type

Description

trigger_teleport

Bloc

Zone dans laquelle la téléportation est effective

info_teleport_destination

Point

Destination du téléporteur

prop_dynamic

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

Mise en place

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.

Image utilisateur

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.

Image utilisateur

Voilà les paramètres des deux triggers :

Trigger_teleport :
  • Name : trigger_tele_combine

  • Start Disabled : Yes

  • Remote Destination : teleport_destination

Trigger_multiple :
  • 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.

Image utilisateur

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 :

Son 1
  • Name : son_tele_open_combine

  • Sound Name : ambient/levels/citadel/pod_open1.wav

  • Max Audible Distance : 1000

Son 2
  • 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.

Les connexions

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é :D .

Image utilisateur