[No Limits 2] Tuto sur les scripts

Le point de départ de la lumière vient du centre de l'objet, donc si tu veux faire par exemple un projecteur sur sketchup, arrange toi a ce que le verre qui diffuse la lumière soit le centre de ton objet (autrement dit qu'il se situe a x=0,y=0,z=0)
Apres dans NL2, c'est aussi tres facilement modifiable ta juste a definir ton point de lumière et tu choisi tes coordonnées de point de départ de la diffusion de la lumière (dans "common") :mrgreen:
 
Oui après plusieurs essais j'ai réussi a faire mes points de lumières .
Cela dit ça reste très chant , il faudrait trouver un moyen , comme un plugin qui donne les coordonnées a un endroit dans sketchup par exemple.

Maintenant faut que je trouve comment faire des " flash " et tout :p
 
Gary roach prod a dit:
qui donne les coordonnées a un endroit dans sketchup par exemple.

Maintenant faut que je trouve comment faire des " flash " et tout :p

Pour l'éclairage, j'ai laissé tomber l'idée de placer des lampes avec l’éditeur. Si c'est à l’intérieur, cela  devient une horreur entre la difficulté à y voir quelque chose et des problèmes avec la fonction 'lock' qui n'est pas foutue de rester fixée.  :cry:
J’utilise pas Ketshup  mais je pense que comme tout logiciel il a des références x, y, z. Places deux trois ref dans ton parc et relèves leur positions. Après dans Ketshup tu fais à l'identique, tu places tes objets, lampes, etc, ...
On obtient leur positions qu'il suffit de leur donner dans NL2.

Un flash ? Si c'est d'un stroboscope que tu parles, j'ai ouvert une page 'scripts lumières' sur mon site ...  :-)
 
Rock ? C'est certainement l'un de ceux que j'ai pas ridé de chez Disney, c'est ça ? (j'irai voir la vidéo...)
Si c'est juste pour les déclencher, utilises-le Contrôle d’une lumière sans ajouter de Triggers (LumiereTrigger). Sinon, il faut les programmer en mode automate comme le script qui va venir tout soudainement sur mon site.  :wink:

(PS: J'aime bien ton site sauf que Wix, ... ben c'est Wix :-) )
 
J'ai réussi a jouer avec les Script du mystic manor de vince ours , pour les strobe et déclanchement On par trigger c'est franchement nickel .
En fait ce qui me faudrait ici c'est un script qui fait :
The light 1 ( on 1* / off 14* )
The light 2 ( off 1* / on 1* / off 13* )

Etc en gros elles s'allument une par une , il y en  à 14 . chaque lumière s'allume une demie seconde.

( pour le site , Wix est le seul editeur sympa et gratuit que j'ai trouvé ^^ )
 
Hello ! Je cherche un sript qui, avec l'aide d'un trigger déclenche un son mais non pas à une postion mais sur l'objet lui-même (en son centre) pour que je puisse le diffuser sur plusieurs objets (son synchronisé :wink:) (mon objet en question est une alarme que j'ai placée à plusieurs endroits). Les seuls scripts que j'ai sont sound et soundtrigger qui déclenchent un son seulement sur une position et l'autre est staticsound qui est un son en bouclequi ne se déclenche donc pas avec un trigger. Si quelqu'un aurait ce type de script qu'il me fasse signe  :-).
 
Voilà un code à placer dans un fichier "SpeakerSound.nlvm", ou alors avec le nom que tu veux, mais il faudra modifier le nom de la classe pour qu'il marche  :wink:

Concernant son utilisation, tu n'as à modifier uniquement les 3 constantes, à savoir le nom de ton fichier (et éventuellement son chemin si il ne se situe pas dans le même répertoire que ton script), le nom de ton trigger et le nom du coaster. Ensuite tu attache ce script a ton objet NL2SCO et c'est bon. Tu peux alors placer autant d'objets que tu le souhaite avec ce NL2SCO, ils joueront tous le son en même temps  :-)

Code:
import com.nolimitscoaster.*;

public class SpeakerSound extends Script implements TrackTriggerListener
{
	//Constantes
	private static final String SoundName = "sound.ogg";
	private static final String TriggerName = "SpeakerSoundTrigger";
	private static final String CoasterName = "Coaster";
	
	//Variables membres
	private SceneObject mSco;
	private TrackTrigger mStartSoundTrigger;
	private StaticSound mSound;

	//Initialisation
	public bool onInit()
	{
		mSco = sim.getSceneObjectForEntityId(getParentEntityId());
		if (mSco == null)
		{
			System.err.println("This script must be attached to a scene object");
			return false;
		}
		Coaster coaster = sim.getCoaster(CoasterName);
		if (coaster == null)
		{
			System.err.println("Coaster not found: '" + CoasterName + "'");
			return false;
		}
		mStartSoundTrigger = coaster.getTrackTrigger(TriggerName);
		if (mStartSoundTrigger == null)
		{
			System.err.println("TrackTrigger not found: '" + TriggerName + "'");
			return false;
		}
		mStartSoundTrigger.addTrackTriggerListener(this);
		mSound = StaticSound.loadFromFile(SoundName, StaticSound.FLAG_SHARED);
		if (mSound == null)
		{
			System.err.println("File not found: '" + SoundName + "'");
			return false;
		}
		
		mSound.setPosition(mSco.getTranslation());
		
		return true;
	}
	
	public void onNextFrame(float tick)
	{
	}
	
	public void onTrainEntering(TrackTrigger trigger, Train train)
	{
		if (trigger == mStartSoundTrigger)
		{
			mSound.play();
		}
	}
	
	public void onTrainLeaving(TrackTrigger trigger, Train train)
	{
	}
}