Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // initial import
- import com.nolimitscoaster.*;
- public class LightTrigger extends Script implements TrackTriggerListener
- {
- /*
- * declaring name of triggers
- * replace what is in the quotes in the four lines below with the corresponding names
- */
- private static final String enterTriggerName = "name of enter trigger";
- private static final String exitTriggerName = "name of exit trigger";
- private static final String sceneObjectName = "name of scene object";
- private static final String lightName = "name of scene object";
- // instintiating TrackTrigger class
- private TrackTrigger enterTrigger;
- private TrackTrigger exitTrigger;
- // instintiating SceneObjects class
- private SceneObject sco;
- private SceneObjectElement ObjetLight;
- private SceneObjectLight spotLight;
- public bool onInit()
- {
- // error handling
- Coaster coaster = sim.getCoasterForEntityId(getParentEntityId());
- if (coaster == null)
- {
- System.err.println("This script must be attached to a coaster");
- return false;
- }
- enterTrig = coaster.getTrackTrigger(enterTriggerName);
- if (enterTrig == null)
- {
- System.err.println("TrackTrigger not found: '" + enterTriggerName + "'");
- return false;
- }
- enterTrig.addTrackTriggerListener(this);
- exitTrigger = coaster.getTrackTrigger(exitTriggerName);
- if (exitTrigger == null)
- {
- System.err.println("TrackTrigger not found: '" + exitTriggerName + "'");
- return false;
- }
- exitTrigger.addTrackTriggerListener(this);
- sco = sim.getSceneObject(sceneObjectName);
- if (sco == null)
- {
- System.err.println(scriptName + " is not in a scene object");
- return false;
- }
- spotLight = sco.getLightForName(lightName);
- if (spotLight == null)
- {
- System.err.println("No light named '" + lightName + "'' was found.");
- return false;
- }
- spotLight.setEnabled(false);
- return true;
- }
- public void onNextFrame(float fTickTime)
- {
- // do nothing
- }
- public void onTrainEntering(TrackTrigger trigger, Train train)
- {
- if (trigger == enterTrig)
- {
- // lights are enabled
- spotLight.setEnabled(true);
- } else if (trigger == exitTrigger) {
- // lights disable
- spotLight.setEnabled(false);
- }
- }
- public void onTrainLeaving(TrackTrigger trigger, Train train)
- {
- // do nothing
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement