Author Topic: [TUTO] teleporteur  (Read 1469 times)

lehezee

  • Poseur de brushs
  • Posts: 119
    • http://www.darkside-c.fr
[TUTO] teleporteur
« on: April 26, 2008, 12:15:55 PM »
Salut a tous, pour mon premier TUTO je vais vous expliquer comment faire un teleporteur en 2 parties (Mapping et scripting), pour les debutant ne vous inquietez pas du script il est facile:

1ere Partie: MAPPING

Pour cela je vais créé 2 cube pour bien nous faire voir que l'on peut se teleporter de n'importe où a n'importe quel endroit et pour le verifier, je vais mettre des light de couleur differente :D
Puis je vais mettre des socles dans chaque cube qui nous laissera dire que sa sera certainement un teleporteur comme ceci:



Ensuite faites un brush au-dessus du socle (ATTENTION: il faut que le brush ne touche AUCUN autre mur) puis le mettre en trigger_multiple (click droit-> trigger-> multiple), cela signifiera que lorsque l'on passera a l'interieur de ce trigger, on se fera instantanément teleporté:



Selectionnez le trigger et faite apparaitre la fenetre des ENTITY (touche N),et lui mettre la clé/valeur:
targetname/enter (Vous devez mettre cette valeur pour tout les teleporteur que vous allez faire)
target/ teleport1 (Vous pouvez mettre ce que vous voulez pour le target)
Comme ceci:



Normalement vous allez voir apparaitre un trait de toutes les couleur qui sort de la boite comme cela :blink:



Ne vous inquitez pas c'est normal !
Maintenant nous allons créé un script origin (click droit-> script-> origin) qui determinera la ou l'on sera teleporté  :D

Un cube rouge va apparaitre, mettez le dans l'autre salle et lui mettre ceci:
targetname/teleport1 (Il faut mettre la valeur que vous avez mis pour le target du trigger).

Sur cod2radiant vous devriez voir un trait rouge apparaitre qui relie le trigger au script_origin comme cela:



Repetez la meme operation depuis la creation du trigger pour faire le teleporteur de l'autre salle en prenant toujours soin que le trigger ne touche AUCUN autre brush et en mettant un autre target au trigger du 2ieme teleporteur et par conséquant la meme chose pour le script_origin, vous devriez obtenir un truc comme ceci:



Et voila c'est fini pour la partie mapping.

Petite astuce: Si vous voulez que il faut appuyer sur [UTILISER] pour se teleporté, faite un trigger use_touch a la place du trigger multiple

2eme Partie: SCRIPTING

Pour le script c'est facile il suffit que vous telechargiez ce FICHIER.GSC de le decompréssé et de mettre "teleportenter.gsc" dans votre main/maps/mp.
Ensuite il faut que votre map le prenne en compte, pour cela ouvré votre mp_MAMAP.gsc et introduisez-lui cette ligne:

Code: [Select]
maps\mp\teleportenter::main();
Voila le script est deja fini  :lalala

Voici ceux qu'il y a dans mon .gsc:

Code: [Select]
main()
{
maps\mp\_load::main();
maps\mp\teleportenter::main();

game["allies"] = "american";
game["axis"] = "german";
game["attackers"] = "allies";
game["defenders"] = "axis";
}

Vous pouvez telechargé toute la map ainsi que le .map ICI

Vous pouvez allez voir ce que sa donne en video  ICI

J'espere que vous aurez compris comment faire, je viendrais de temps en temps pour voir si vous avez des problemes
« Last Edit: April 26, 2008, 01:49:53 PM by lehezee »


Juli-One

  • Legomaniaque
  • Posts: 1286
    • http://
[TUTO] teleporteur
« Reply #1 on: April 26, 2008, 05:02:15 PM »
C'est très bien j'ai testé et ça marche. Mais ce qui aurait été encore mieux c'est d'expliquer le script du teleporteur  ;)

Mais c'est très bien pour un premier tuto  :D
« Last Edit: April 26, 2008, 05:02:28 PM by Juli-One »

Florent

  • Legomaniaque
  • ****
  • Posts: 1468
    • http://www.florent-poujol.fr
[TUTO] teleporteur
« Reply #2 on: April 26, 2008, 05:38:32 PM »
Code: [Select]
main()
{

  entTransporter = getentarray("enter","targetname");
  if(isdefined(entTransporter))
  {
    for(lp=0;lp<entTransporter.size;lp=lp+1)
      entTransporter[lp] thread Transporter();
  }


}


Transporter()
{
  while(true)
  {
    self waittill("trigger",other);
    entTarget = getent(self.target, "targetname");

    wait(0.10);
    other setorigin(entTarget.origin);
    other setplayerangles(entTarget.angles);
    wait(0.10);
  }
}

C'est pas compliqué, chaques triggers attendent d'être touché puis déplaces l'orifin u joueur qui l'a touché (donc déplacent le joueur) au coordonnée du sa cible, le script_origin.



Sur Achnaccary, j'avais ça :
Code: [Select]
main()
{
thread trig_teleport_castle(1);
thread trig_teleport_castle(2);
thread trig_teleport_castle(3);
thread trig_teleport_castle(4);

level.org_castle[1] = (-5555, 5140, -540);
level.org_castle[2] = (-5390, 5140, -540);
level.org_castle[3] = (-5233, 5140, -540);
level.org_castle[4] = (-5064, 5140, -540);

thread trig_teleport_exercice(1);
thread trig_teleport_exercice(2);
thread trig_teleport_exercice(3);
thread trig_teleport_exercice(4);

level.org_exercice[1] = (-650, 1440, -384);
level.org_exercice[2] = (-820, 1440, -384);
level.org_exercice[3] = (-820, 1300, -384);
level.org_exercice[4] = (-650, 1300, -384);
}

trig_teleport_castle(id)
{
trig = getent("trig_teleport_chateau " + id, "targetname");

while(1)
{
  trig waittill("trigger", player);
  player TeleportPlayer(level.org_castle[id]);
  
  wait 0.5;
}
}

trig_teleport_exercice(id)
{
trig = getent("trig_teleport_exercice " + id, "targetname");

while(1)
{
  trig waittill("trigger", player);
  player TeleportPlayer(level.org_exercice[id]);
  
  wait 0.5;
}
}

TeleportPlayer(org)
{
dest = spawn("script_model", org);
self.origin = (org);
self linkto(dest);
wait 0.1;
self unlink();
dest delete();
}

L'idée ici était que lorsqu'un joueur touchait un trigger, cela faisait spawner un script_origin au coordonnées prévues, cela liait le joueur au script_origin, ce qui faisait le déplacer jusqu'à lui après quoi le joueur était dé-lié puis le script_origin supprimé.

lehezee

  • Poseur de brushs
  • Posts: 119
    • http://www.darkside-c.fr
[TUTO] teleporteur
« Reply #3 on: April 27, 2008, 11:47:13 PM »
je n'avais pas expliquer le script car le tuto est aussi fait pour les debutant donc je pense que l'on s'enfiche tant que ca marche ;) mais merci kan meme davoir expliké le script pour les plus curieux.
« Last Edit: April 27, 2008, 11:49:06 PM by lehezee »


chtigreg

  • Tailleur de maps
  • Posts: 286
[TUTO] teleporteur
« Reply #4 on: September 13, 2008, 05:07:54 PM »
salut,

aucun interet ce gadget.....pas réaliste...c'est pas Halo2 mais cod2 !!

Vous passez du coté obscure de la force les gars !!

mais je m'incline devant l'ingéniosité !!

a+

chtigreg

Florent

  • Legomaniaque
  • ****
  • Posts: 1468
    • http://www.florent-poujol.fr
[TUTO] teleporteur
« Reply #5 on: September 13, 2008, 06:31:57 PM »
Dans certain cas on s'en tape du réalisme.

Les maps elles-même ne sont pas toujours réalistes dans leur agencement.
De plus en jeu sans mod, il faut un paquet de balle impressionnant pour tuer un gars.

Les CoD n'ont jamais prétendus être réalistes (pas totalement du moins).
Si le script nous permet de faire de la téléportation, eh bien pourquoi pas ici c'est effectivement l'ingéniosité qui compte.  ;)  

[sc]zombie

  • Poseur de brushs
  • Posts: 236
    • http://callofdutymap.hebergratuit.com
[TUTO] teleporteur
« Reply #6 on: May 12, 2011, 11:45:43 PM »
Bonjour,
 
 Le site sur lequel est le fichier .gsc n’existe plus.  Alors je voudrais avoir un autre lien pour télécharger le fichier.
 
 Merci d’avance.
 
[sc]zombie




chtigreg

  • Tailleur de maps
  • Posts: 286
[TUTO] teleporteur
« Reply #7 on: May 13, 2011, 09:57:24 PM »
ce sera plus pédagogique de le refaire toi même cher ami. d'autant plus que tu n'as que des copiers/coller à faire....tout est décrit avec les ajouts de Florent.
et je crains que le fichier soit perdu, à moins que quelqu'un l'ai conservé dans ses sauvegardes. ou autre solution : trouver une map avec ce .gsc pour le récupérer.

[sc]zombie

  • Poseur de brushs
  • Posts: 236
    • http://callofdutymap.hebergratuit.com
[TUTO] teleporteur
« Reply #8 on: May 31, 2011, 10:41:21 AM »
Bonjour,

 J'ai un petit problème, quand je crait le burch en l'air et que je le mettre en trigger/multiple et que je le désélectionne, il disparait et quand je mais targetname/enter, target/ teleport1 auqu'un trait multicolore apparait et quand je mes le scrip/origin, targetname/teleport1 auqu'un trait rouge n'apparait alors que tout sa marchais avant.
 
 Pouvez-vous m'aider.
 
 Merci d'avance.
[sc]zombie




[sc]zombie

  • Poseur de brushs
  • Posts: 236
    • http://callofdutymap.hebergratuit.com
[TUTO] teleporteur
« Reply #9 on: June 02, 2011, 02:20:39 PM »
bonjour,

 j'ai réussi a créer le teleporteur, le teleporteur ma permi de sauver ma map sinon elle serait nul.

 merci pour ce tuto.

 [sc]zombie
[sc]zombie