Jump to content
  • Welcome to NGBC Community

    Register now to gain access to all of our features.
    Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, create your own club and invite your friends, manage your profile and so much more.

    Even if it is not mandatory, once registered, please to  create a thread to introduce yourself and don't be shy, participate to the website.

    This message will be removed once you have signed in.

    IMPORTANT : If you had an account on our old website,  click on "Existing user ? sign in" and on "Forgot your password" - you will receive an email to recreate your password for the old account. Once you recover your acocunt think to update your informations.

  • CoD4 - Porte [ouvrir et fermer]


    4t4chris
     Share

    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

     Share



×
×
  • Create New...

Important Information

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