Jump to content

CoD4 - Porte [ouvrir et fermer]


4t4chris
 Share

Recommended Posts

Dans Radiant

Dessinez un brush (porte) 
par défaut : 96 de haut / 56 de haut / 2 epaisseur
Screenshot_1.jpg

à l'opposé de la poignée, dessinez un brush (qui touche la porte, c'est la charnière ou axe de rotation) de la même hauteur de la porte , mais de largeur 1 unité avec la texture (tools, origin)
Screenshot_3.jpg

comme ceci
Screenshot_2.jpg

Une fois fait, dé sélectionnez tous les éléments.

Sélectionnez la porte en premier , puis le brush Origin, et dans votre écran 2D (clic droit souris) allez dans Script>brushmodel

Screenshot_4.jpg

Les 2 éléments vont prendre la couleur bleue.

Screenshot_5.jpg

Maintenant nous allons dessiner un brush Trigger , de la même hauteur de la porte mais plus grand devant et derrière.
(c'est la zone, ou le joueur, verra un message pour ouvrir et ou fermer la poste)
une fois le brush dessiné et toujours sélectionné, depuis l'écran 2D , clic droit souris pour ouvrir le menu et allez dans trigger>use_touch.

Screenshot_6.jpg

Avec le Trigger séléctionné , appuyez sur la touche "N" pour ouvrir la fenêtre "Entity", et entrez les Clé (key) /Valeurs (value) suivantes :

Key: targetname
Value: door_trig

Key: hintstring
Value: PLATFORM_HOLD_TO_USE

Key: cursorhint
Value: HINT_ACTIVATE

Key: count
Value: 90
(90 ou -90 suivant l'angle d'ouverture)

Screenshot_6b.jpg

Maintenant, le Trigger est configuré,
il suffit de lier le Trigger à la porte (et à la charnière), et comme la porte et la charnière sont déjà une famille de script_brushmodel, nous sélectionnons tout d'abord le Trigger, puis une seule pièce de la porte, et appuyez sur "W".
Une LIGNE bleue avec une flèche pointant du Trigger vers la porte devrait maintenant être visible. Et tous les brush doivent être sélectionnés. Porte, charnière et trigger.

Screenshot_8.jpg


Côté SCRIPT
(le joueur peut ouvrir et ou fermer la porte)

Récupérez le contenu du scrip,
et copiez le dans un fichier nommé "mp_votremap_doors.gsc", dans le dossier "..\raw\maps\mp\

main()
{
     thread player_closing_doors();
}

player_closing_doors()
{
    doors = getentarray("door_trig","targetname");
    for(i=0; i<doors.size; i++)
    {
         doors[i] thread door_think();
    }
}

door_think()
{
     self.doormoving = false;
     self.doorclosed = true;
     self.doormodel = getent(self.target, "targetname");
     while(1)
     {
          self waittill("trigger");
          if(!self.doormoving)
          {
                self thread door_move();
          }
     }
}

door_move()
{
     self.doormoving = true;
     if(self.doorclosed)
     {
         self.doormodel playsound("metal_open");
         self.doormodel rotateyaw(self.count, 2, 0.5, 0.5);
         self.doormodel waittill("rotatedone");
         self.doorclosed = false;
     }
else
     {
          self.doormodel playsound("metal_close");
          self.doormodel rotateyaw((self.count * -1), 2, 0.5, 0.5);
          self.doormodel waittill("rotatedone");
          self.doorclosed = true;
     }
     self.doormoving = false;
}

 

Mise à jour de vos fichiers

1) Votre fichier : ..\raw\maps\mp\mp_votremap.gsc
ajoutez la ligne suivante :

maps\mp\mp_votremap_doors::main();

 

2) Votre fichier de Zone : \zone_source\mp_votremap.csv
ajoutez la ligne suivante :

rawfile,maps/mp/mp_votremap_doors.gsc


Compiletools

bouton_compil_1.jpg
bouton_compil_3.jpg


et testez votre porte dans le jeu !


Screenshot_9.jpg


Voir la totalité de tutoriel

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.