[No Limits 2] Tuto sur les scripts

KingRCT3 a dit:
Je pense que tu dois mettre le dossier "Lumière" dans le dossier de ton parc NL2. :mrgreen:

Non, parce que c'est un parc. il faut regarder comment c'est fait. Les lampes, les nlsco, les scripts... Puis copier/coller les éléments nécessaires dans son parc.

En l’occurrence, il faut copier le script 'OnboardLumiereTrigger.nlvm' et l’attribuer au coaster et non à l'objet light que l'on veut allumer. Dans le nouveau parc, on pose un lumière que l'on appelle 'lampe' dans les propriétés, on pose deux triggers, un 'on' et un 'off' et voilà !  :-) 

Mais là encore, il serait judicieux de lire le script histoire de comprendre de quoi il se compose.  :-)
 
J'ai regardé la vidéo de meletou1, j'ai un peu compris, j'essaie d'installer des light packs via le workshop de steam impossible de récupérer ce que j'ai téléchargé  :?
 
Bonsoir, voilà j'ai un petit soucis.

Je n'arrive pas à trouver le moyen de créer une lampe clignotante. J'ai cherché dans l'éditeur, j'ai télécharger des créations, mais je ne peut pas prélever les objets ni les scripts... Du coup je ne sais plus trop comment faire et je n'ai rien trouvé dans les pages de ce sujet.

La solution serait que je crée moi même les sripts, mais je ne maîtrise pas Java, et quand je regarde vos scripts, tout le monde dit que c'est simple mais ça m'a l'air vachement complexe quand même. ^^

Quelqu'un aurait il une solution?

Merci d'avance.  :-)
 
Boub08 a dit:
Bonsoir, voilà j'ai un petit soucis.

Je n'arrive pas à trouver le moyen de créer une lampe clignotante. J'ai cherché dans l'éditeur, j'ai télécharger des créations, mais je ne peut pas prélever les objets ni les scripts... Du coup je ne sais plus trop comment faire et je n'ai rien trouvé dans les pages de ce sujet.

La solution serait que je crée moi même les sripts, mais je ne maîtrise pas Java, et quand je regarde vos scripts, tout le monde dit que c'est simple mais ça m'a l'air vachement complexe quand même. ^^

Quelqu'un aurait il une solution?

Merci d'avance.  :-)

Tu veut simplement la faire clignoter ta lampe ou tu veux faire un strobe ?
 
Moi j'ai quelques scripts qu'il me faudrait pour mon projet mais impossible de mettre la main dessus ou de comprendre le fonctionnement de certains !  :|
Les seuls scripts que j'ai réussi à faire marcher jusque ici sont ceux de la musique OnBoard et un script d'objets attachés à un mine train. Ceux que j'aimerai trouver sont :

      -Allumage de projecteurs au passage du train (je comprends pas comment il marche)
      -Musiques pas OnBoard (genre des hauts parleurs)

Et aussi, j'ai une question : C'est quel script pour les customs trains ?
 
Un script qui fait clignoter une lampe contrôlée par deux triggers.


StroboTrigTuto.jpg


On crée un objet (1) avec un point light nommé 'lumiere' (3) que l'on nomme 'lampe'(2) dans ses propriétés.
On ajoute deux triggers, un 'on' et un 'off'.

On ajoute le script ci-dessous au coaster : StroboTrig.nlvm

Il est pas compliqué vous devriez le comprendre.

Dans le public class, on crée des variables.
Dans le bool onInit, on les paramètres.
Et dans le void onNextFrame on crée un cycle de 500ms dans lequel on allume jusqu'à 250 et après on éteint. On peut diminuer le cycle, ça clignotera plus vite...  :mrgreen:

Code:
import com.nolimitscoaster.*;

public class StroboTrig extends Script implements TrackTriggerListener
{
			private SceneObject sco;
  		private SceneObjectLight spotLight;
	
			private TrackTrigger startTrig;
      private TrackTrigger stopTrig;
      private static final String startTriggerName  = "on";
			private static final String stopTriggerName  = "off";
			
      
   		private static float startTime  = 0.0f;
			
  		private int state;
 			private static final int STATE_IDLE = 0;
  		private static final int STATE_OPENING = 1;
  		private static final int STATE_CLOSING = 2; 

	
	public bool onInit()
	{
		Coaster coaster = sim.getCoasterForEntityId(getParentEntityId());
		 if (coaster == null){
			System.err.println("Le script doit etre attache au coaster ");
			return false;
		 }
       startTrig = coaster.getTrackTrigger(startTriggerName);
		 if (startTrig == null){
		 System.err.println("TrackTrigger manquant: '" + startTriggerName + "'");
			return false;
		 }
		 startTrig.addTrackTriggerListener(this);

       stopTrig = coaster.getTrackTrigger(stopTriggerName);
		 if (stopTrig == null){
			System.err.println("TrackTrigger manquant: '" + stopTriggerName + "'");
			return false;
		 }
		 stopTrig.addTrackTriggerListener(this);

     
     
     	sco = sim.getSceneObject("lampe");
    	spotLight = sco.getLightForName("lumiere");
			spotLight.setEnabled(false);
    
		 	
      state = STATE_IDLE;         

      return true;

     }
     
     

 float cycle = 500;
    public void onNextFrame(float fTickTime)
     {
				
      	if (state == STATE_IDLE)
		    {
          startTime=0;
				}
				
				if (state == STATE_OPENING)
		    {
          float t = System.currentTimeMillis() % cycle;
          startTime = 0;
          
          if (t >= 0 && startTime <= 250) 
	   				{
	      			spotLight.setEnabled(true);
	      		}
	      		
	      	if (t >= 250 && startTime <= 500) 
	   				{
	      			spotLight.setEnabled(false);
	      		}
	      		
	      }
				
				if (state == STATE_CLOSING)
		    {
          startTime=0;
          spotLight.setEnabled(false);
          
        }
        
      }

           

	public void onTrainEntering(TrackTrigger trigger, Train train)
	{
		     if (state == STATE_IDLE)
		     {
				 }
		     
		     if (trigger == startTrig)
         {
          state = STATE_OPENING;
				 }
					
		     else if (trigger == stopTrig)
         {
					state = STATE_CLOSING;
				 }
                           
     

  }
  
  
  public void onTrainLeaving(TrackTrigger trigger, Train train)
		{

		}
		
}
 
Merci beaucoup pour le script yoyo.  :mrgreen:

EDIT: le script marche très bien. Merci encore. ^^
 
Quelqu'un sait comment garder la 'External Track Camera' fixe sur un axe ?
J'aimerais avoir des images comparables à un drone.
Faudrait lui bloquer l'axe qui l'a fait incliner quand le rail monte ...
 
Bonjour ! quelqu'un connait il un tuto pour apprendre les scripts java orientés objet 3d, parce que les tuto sur open classrooms par exemple n'ont pas grand chose en rapport avec les scripts utilisés pour NL2 si ce n'est pour la forme générale du code et les fonctions principales mais par exemple, je cherche a effectuer un simple mouvement de translation mais je ne sais pas quelle méthode utiliser ! même en regardant sur les scripts des flat rides par défaut j'ai du mal a distinguer les différentes parties des mouvement !  :-)
 
Bonjour à tous, j'espère enfin poser ma question au bon endroit  :lol: !!!
Je suis nouveau sur le forum, j'espère que la question n'a pas déjà été posée (en tout cas je ne l'ai pas trouvée). J'ai un problème avec mes coaster scriptés. J'aimerais faire une double station du même type que space mountain mission 2, mais je n'arrive pas à avoir le bon script. Le coaster avance, s'arrête sur un brake après le switch, le switch va vers la gauche et mon coaster recule pour aller dans la gare de droite. Est ce que quelqu'un sait comment régler ça ?
P.S: J'utilise le script generator de musickid53
Merci d'avance 
 
Si je ne me trompes pas, il n'y a pas besoin de script du tout, ça devrait marcher automatiquement.  :wink: Et bienvenue au passage !