TrainzOnline.nl
https://www.trainzonline.nl/forum/

NS voorsein digit
https://www.trainzonline.nl/forum/viewtopic.php?f=95&t=2064
Pagina 1 van 1

Auteur:  Anstonio [ 25 dec 2016 20:36 ]
Berichttitel:  NS voorsein digit

Ik zocht laatst naar het voorsein en plaatste hem op de baan en zag dat hij rood toonde. Het voorsein zonder cijferbak toont als beste geel. Ik was even in de seinen aan het kijken maar kon het stukje waarin het sein rood kon en mocht tonen niet vinden. Heeft of weet iemand welk stukje je moet verwijderen zodat die voorseinen met cijferbak geen rood meer kunnen tonen. Heb her en der de code al wat opgeruimd. Maar kom er niet uit waar het staat. Ben er na een paar uur naar de code kijken wel even klaar mee.

Code:

//
// CustomSignalScript.gs
// Version: 1.5
//
// Copyright (c) 2005 Rik Jongerius (RikJ)
//
// Do not distribute or use this script in you're own custom content without asking permision.
//
// Email: rikjongerius@hotmail.com
//
// Empty template to be filled for a specific signal.
// Do not forget to use the correct derived_*.gs file!
//
// Changelog:
// Date      | Changes
// ----------+--------------------------------------------
//  28-06-05 | Started with first implementation
//  16-08-10 | First version for light signals
//  16-08-10 | 1.5 Release
//

include "gs.gs"
include "Signal.gs"
include "SignalScript.gs"
include "interface.gs"
include "common.gs"
include "browser.gs"
include "aspects.gs"

class CustomSignalScript isclass SignalScript
{
   //Standard SignalAspect states
   define int AS_STOP      = 0x00;
   define int AS_CAUTION      = 0x01;
   define int AS_PROCEED      = 0x02;
   define int AS_OUTOFSERVICE   = 0x10;
   define int AS_ROZ      = 0x20;
   define int AS_HALFSPEED   = 0x11;

   //Standard groupaspect states
   define public int GA_STOP       = 0;
   define public int GA_CAUTION  = 1;
   define public int GA_PROCEED  = 2;

   //standard individualaspect states
   define public int IA_STOP        = 0;
   define public int IA_CAUTION   = 1;
   define public int IA_PROCEED   = 2;

   //Signal types
   define public int GA_HOME_SIGNAL         = 0;
   define public int GA_DISTANT_SIGNAL      = 1;
   define public int GA_LINK_SIGNAL           = 2;
   define public int GA_HOME_LINK_SIGNAL    = 3;   
   
   //Invisible signal return modes
   define public int RETURN_CAUTION                      = 0;
   define public int RETURN_CAUTION_AS_PROCEED   = 1;
   define public int RETURN_CAUTION_AS_STOP           = 2;

   //variables
   int ProceedMax40;         //max speed = 40 km/h
   int ProceedMax60;         //max speed = 60 km/h
   int ProceedMax80;         //max speed = 80 km/h
   int ProceedMax100;         //max speed = 100 km/h
   int ProceedMax120;         //max speed = 120 km/h
   int ProceedMax130;         //max speed = 130 km/h
   int CautionBrk40;                 //brake to 40 km/h
   int CautionBrk60;                 //brake to 60 km/h
   int CautionBrk80;                 //brake to 80 km/h
   int CautionBrk100;         //brake to 100 km/h
   int CautionBrk120;         //brake to 120 km/h
   int CautionBrk130;         //brake to 130 km/h
   int CautionBrk40Distance;   //brake to 40 km/h, but has not to be reached at next signal
   int CautionBrk60Distance;   //brake to 60 km/h, but has not to be reached at next signal
   int CautionBrk80Distance;   //brake to 80 km/h, but has not to be reached at next signal
   int CautionBrk100Distance;   //brake to 100 km/h, but has not to be reached at next signal
   int CautionBrk120Distance;   //brake to 120 km/h, but has not to be reached at next signal
   int CautionBrk130Distance;   //brake to 130 km/h, but has not to be reached at next signal
   
   bool _outofservice;
   bool _shortbrake;
   
   //assets
   
   //Functions

   public void Init(void)
   {
      //Interface.Log("Init custom signal...");
      inherited();
      
      _outofservice = false;
      
      //Initialize the signal here!

      //CUSTOM !! CUSTOM !! CUSTOM !!
         InitializeSignal(GA_HOME_SIGNAL,1,GA_STOP,GA_STOP,true);
         
         RegisterSignal(0,"default", false, true, Aspect.Stop());

         int[] temp;
         temp = new int[0];

//RED:         temp[0] = Aspect.Stop();
         RegisterAspects(Aspect.Stop(),Aspect.Stop(),temp,"SignalAspect Stop","Stop");
         
         temp[0] = Aspect.OutOfService();
         RegisterAspects(Aspect.OutOfService(),Aspect.OutOfService(),temp,"SignalAspect OutOfService","Line out of service");
         
//YELLOW:      temp[0] = Aspect.Caution();
         RegisterAspects(Aspect.Caution(),Aspect.Caution(),temp,"SignalAspect Caution","Caution");
         
         CautionBrk40 = Aspect.Caution();
         CautionBrk40 = Aspect.SetBrakeSpeed(CautionBrk40,40);
         temp[0] = CautionBrk40;
         RegisterAspects(CautionBrk40,CautionBrk40,temp,"SignalAspect Caution 40","Caution, brake to 40 km/h");
         
         CautionBrk60 = Aspect.SetBrakeSpeed(CautionBrk40,60);
         temp[0] = CautionBrk60;
         RegisterAspects(CautionBrk60,CautionBrk60,temp,"SignalAspect Caution 60","Caution, brake to 60 km/h");
         
         CautionBrk80 = Aspect.SetBrakeSpeed(CautionBrk40,80);
         temp[0] = CautionBrk80;
         RegisterAspects(CautionBrk80,CautionBrk80,temp,"SignalAspect Caution 80","Caution, brake to 80 km/h");
         
         CautionBrk100 = Aspect.SetBrakeSpeed(CautionBrk40,100);
         temp[0] = CautionBrk100;
         RegisterAspects(CautionBrk100,CautionBrk100,temp,"SignalAspect Caution 100","Caution, brake to 100 km/h");
         
         CautionBrk120 = Aspect.SetBrakeSpeed(CautionBrk40,120);
         temp[0] = CautionBrk120;
         RegisterAspects(CautionBrk120,CautionBrk120,temp,"SignalAspect Caution 120","Caution, brake to 120 km/h");
         
         CautionBrk130 = Aspect.SetBrakeSpeed(CautionBrk40,130);
         temp[0] = CautionBrk130;
         RegisterAspects(CautionBrk130,CautionBrk130,temp,"SignalAspect Caution 130","Caution, brake to 130 km/h");
         
         CautionBrk40Distance = Aspect.SetNextBrakingDistance(CautionBrk40,true);
         temp[0] = CautionBrk40Distance;
         RegisterAspects(CautionBrk40Distance,CautionBrk40Distance,temp,"SignalAspect Caution 40","Caution, brake to 40 km/h. Speed has not to be reached at next signal");
         
         CautionBrk60Distance = Aspect.SetNextBrakingDistance(CautionBrk60,true);
         temp[0] = CautionBrk60Distance;
         RegisterAspects(CautionBrk60Distance,CautionBrk60Distance,temp,"SignalAspect Caution 60","Caution, brake to 60 km/h. Speed has not to be reached at next signal");
         
         CautionBrk80Distance = Aspect.SetNextBrakingDistance(CautionBrk80,true);
         temp[0] = CautionBrk80Distance;
         RegisterAspects(CautionBrk80Distance,CautionBrk80Distance,temp,"SignalAspect Caution 80","Caution, brake to 80 km/h. Speed has not to be reached at next signal");
         
         CautionBrk100Distance = Aspect.SetNextBrakingDistance(CautionBrk100,true);
         temp[0] = CautionBrk100Distance;
         RegisterAspects(CautionBrk100Distance,CautionBrk100Distance,temp,"SignalAspect Caution 100","Caution, brake to 100 km/h. Speed has not to be reached at next signal");
         
         CautionBrk120Distance = Aspect.SetNextBrakingDistance(CautionBrk120,true);
         temp[0] = CautionBrk120Distance;
         RegisterAspects(CautionBrk120Distance,CautionBrk120Distance,temp,"SignalAspect Caution 120","Caution, brake to 120 km/h. Speed has not to be reached at next signal");
         
         CautionBrk130Distance = Aspect.SetNextBrakingDistance(CautionBrk130,true);
         temp[0] = CautionBrk130Distance;
         RegisterAspects(CautionBrk130Distance,CautionBrk130Distance,temp,"SignalAspect Caution 130","Caution, brake to 130 km/h. Speed has not to be reached at next signal");
         
         temp[0] = Aspect.ROZ();
         RegisterAspects(Aspect.ROZ(),Aspect.ROZ(),temp,"SignalAspect ROZ","ROZ");
         
//GREEN:
         temp[0] = Aspect.Proceed();
         RegisterAspects(Aspect.Proceed(),Aspect.Proceed(),temp,"SignalAspect Proceed","Proceed");
         
         ProceedMax40 = Aspect.Proceed();
         ProceedMax40 = Aspect.SetMaxSpeed(ProceedMax40,40);
         temp[0] = ProceedMax40;
         RegisterAspects(ProceedMax40,ProceedMax40,temp,"SignalAspect 40","Proceed with max. 40 km/h");

         ProceedMax60 = Aspect.SetMaxSpeed(ProceedMax40,60);
         temp[0] = ProceedMax60;
         RegisterAspects(ProceedMax60,ProceedMax60,temp,"SignalAspect 60","Proceed with max. 60 km/h");
         
         ProceedMax80 = Aspect.SetMaxSpeed(ProceedMax40,80);
         temp[0] = ProceedMax80;
         RegisterAspects(ProceedMax80,ProceedMax80,temp,"SignalAspect 80","Proceed with max. 80 km/h");
         
         ProceedMax100 = Aspect.SetMaxSpeed(ProceedMax40,100);
         temp[0] = ProceedMax100;
         RegisterAspects(ProceedMax100,ProceedMax100,temp,"SignalAspect 100","Proceed with max. 100 km/h");
         
         ProceedMax120 = Aspect.SetMaxSpeed(ProceedMax40,120);
         temp[0] = ProceedMax120;
         RegisterAspects(ProceedMax120,ProceedMax120,temp,"SignalAspect 120","Proceed with max. 120 km/h");
         
         ProceedMax130 = Aspect.SetMaxSpeed(ProceedMax40,130);
         temp[0] = ProceedMax130;
         RegisterAspects(ProceedMax130,ProceedMax130,temp,"SignalAspect 130","Proceed with max. 130 km/h");
         
//REGISTER MAIN LIGHTS
         RegisterAspectLight(0,0,Aspect.Stop(),GetAsset().FindAsset("red"),"licht_rood");
                  
         RegisterAspectLight(0,0,Aspect.Caution(),GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("yellow"),"licht_geel");
         RegisterAspectLight(0,0,Aspect.ROZ(),GetAsset().FindAsset("yellow"),"licht_geel_knipper");
         
         RegisterAspectLight(0,0,Aspect.Proceed(),GetAsset().FindAsset("green"),"licht_groen");
         RegisterAspectLight(0,0,ProceedMax40,GetAsset().FindAsset("green"),"licht_groen_knipper");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("green"),"licht_groen_knipper");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("green"),"licht_groen_knipper");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("green"),"licht_groen_knipper");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("green"),"licht_groen_knipper");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("green"),"licht_groen_knipper");

//REGISTER DIGITS
//DIGITS WITH YELLOW LIGHT
         //Register 4 to CautionBrk40:   Lights: 14,15,23,25,32,35,41,45,51,52,53,54,55,56,57
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_23");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_25");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_32");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_35");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_45");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_51");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_54");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_56");
         RegisterAspectLight(0,0,CautionBrk40,GetAsset().FindAsset("white"),"licht_cijfer_57");
      
         //Register 6 to CautionBrk60:   Lights: 12,13,14,15,16,21,24,27,31,34,37,44,47,55,56
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_21");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_24");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_27");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_31");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_34");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_37");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_44");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,CautionBrk60,GetAsset().FindAsset("white"),"licht_cijfer_56");
         
         //Register 8 to CautionBrk80:   Lights: 12,13,15,16,21,24,27,31,34,37,41,44,47,52,53,55,56
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_21");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_24");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_27");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_31");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_34");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_37");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_44");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,CautionBrk80,GetAsset().FindAsset("white"),"licht_cijfer_56");
         
         //Register 10 to CautionBrk100:   Lights: 11,12,13,14,15,16,17,32,33,34,35,36,41,47,52,53,54,55,56
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_11");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_17");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_32");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_33");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_34");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_35");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_36");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_54");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,CautionBrk100,GetAsset().FindAsset("white"),"licht_cijfer_56");
         
         //Register 12 to CautionBrk120:   Lights: 11,12,13,14,15,16,17,32,35,36,37,41,44,47,52,53,57
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_11");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_17");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_32");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_35");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_36");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_37");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_44");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,CautionBrk120,GetAsset().FindAsset("white"),"licht_cijfer_57");
         
         //Register 13 to CautionBrk130:   Lights: 11,12,13,14,15,16,17,31,37,41,44,47,52,53,55,56
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_11");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_17");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_31");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_37");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_44");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,CautionBrk130,GetAsset().FindAsset("white"),"licht_cijfer_56");
         
         //Register 4 to CautionBrk40Distance:   Lights: 14,15,23,25,32,35,41,45,51,52,53,54,55,56,57
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_14");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_15");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_23");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_25");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_32");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_35");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_41");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_45");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_51");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_52");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_53");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_54");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_55");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_56");
         RegisterAspectLight(0,0,CautionBrk40Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_57");
      
         //Register 6 to CautionBrk60Distance:   Lights: 12,13,14,15,16,21,24,27,31,34,37,44,47,55,56
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_12");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_13");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_14");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_15");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_16");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_21");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_24");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_27");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_31");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_34");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_37");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_44");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_47");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_55");
         RegisterAspectLight(0,0,CautionBrk60Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_56");
         
         //Register 8 to CautionBrk80Distance:   Lights: 12,13,15,16,21,24,27,31,34,37,41,44,47,52,53,55,56
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_12");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_13");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_15");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_16");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_21");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_24");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_27");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_31");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_34");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_37");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_41");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_44");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_47");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_52");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_53");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_55");
         RegisterAspectLight(0,0,CautionBrk80Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_56");
         
         //Register 10 to CautionBrk100Distance:   Lights: 11,12,13,14,15,16,17,32,33,34,35,36,41,47,52,53,54,55,56
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_11");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_12");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_13");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_14");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_15");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_16");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_17");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_32");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_33");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_34");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_35");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_36");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_41");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_47");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_52");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_53");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_54");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_55");
         RegisterAspectLight(0,0,CautionBrk100Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_56");
         
         //Register 12 to CautionBrk120Distance:   Lights: 11,12,13,14,15,16,17,32,35,36,37,41,44,47,52,53,57
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_11");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_12");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_13");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_14");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_15");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_16");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_17");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_32");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_35");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_36");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_37");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_41");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_44");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_47");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_52");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_53");
         RegisterAspectLight(0,0,CautionBrk120Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_57");
         
         //Register 13 to CautionBrk130Distance:   Lights: 11,12,13,14,15,16,17,31,37,41,44,47,52,53,55,56
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_11");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_12");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_13");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_14");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_15");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_16");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_17");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_31");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_37");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_41");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_44");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_47");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_52");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_53");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_55");
         RegisterAspectLight(0,0,CautionBrk130Distance,GetAsset().FindAsset("white"),"licht_cijfer_knipper_56");
         
         
//DIGITS WITH GREEN LIGHT
         //ProceedMax40 never has digit
         
         //Register 6 to ProceedMax60:   Lights: 12,13,14,15,16,21,24,27,31,34,37,44,47,55,56
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_21");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_24");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_27");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_31");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_34");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_37");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_44");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,ProceedMax60,GetAsset().FindAsset("white"),"licht_cijfer_56");
         
         //Register 8 to ProceedMax80:   Lights: 12,13,15,16,21,24,27,31,34,37,41,44,47,52,53,55,56
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_21");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_24");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_27");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_31");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_34");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_37");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_44");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,ProceedMax80,GetAsset().FindAsset("white"),"licht_cijfer_56");
         
         //Register 10 to ProceedMax100:   Lights: 11,12,13,14,15,16,17,32,33,34,35,36,41,47,52,53,54,55,56
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_11");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_17");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_32");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_33");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_34");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_35");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_36");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_54");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,ProceedMax100,GetAsset().FindAsset("white"),"licht_cijfer_56");
         
         //Register 12 to ProceedMax120:   Lights: 11,12,13,14,15,16,17,32,35,36,37,41,44,47,52,53,57
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_11");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_17");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_32");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_35");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_36");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_37");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_44");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,ProceedMax120,GetAsset().FindAsset("white"),"licht_cijfer_57");
         
         //Register 13 to ProceedMax130:   Lights: 11,12,13,14,15,16,17,31,37,41,44,47,52,53,55,56
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_11");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_12");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_13");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_14");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_15");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_16");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_17");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_31");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_37");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_41");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_44");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_47");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_52");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_53");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_55");
         RegisterAspectLight(0,0,ProceedMax130,GetAsset().FindAsset("white"),"licht_cijfer_56");
         
         RegisterTrainzStates(EX_STOP,Aspect.Stop());
         RegisterTrainzStates(EX_CAUTION,Aspect.Caution());
         RegisterTrainzStates(EX_PROCEED,Aspect.Proceed());

      //CUSTOM ^^ CUSTOM ^^ CUSTOM ^^"

      InitReady();
   }

   public int HandleCustomAspectChange(int SignalAspect, int AspectObject, int NextSignalAspect, int Direction)
   {
      int candidate;
      int brkvel = 0;
      int maxvel = 0;
      int tvel;
      
      //CUSTOM !! CUSTOM !! CUSTOM !!
      
      if (_outofservice)
      {
         return Aspect.OutOfService();
      }
      
      if (AspectObject == Aspect.Stop())
      {
         return Aspect.Stop();
      }
      if (Aspect.IsValid(NextSignalAspect))
      {
         brkvel = Aspect.GetMaxSpeed(NextSignalAspect);
      }
         
      maxvel = Aspect.GetMaxSpeed(SignalAspect);
      
      tvel = Aspect.GetMaxSpeed(AspectObject);
      
      if ((tvel != 0 and tvel < maxvel) or maxvel == 0)
      {
         maxvel = tvel;
      }
      
      Interface.Log("SA: " + SignalAspect + "MaxVel: " + maxvel + "BrkVel: " + brkvel);
      
      SignalAspect = Aspect.SetMaxSpeed(SignalAspect, maxvel);
      if (Aspect.IsValid(NextSignalAspect) and Aspect.GetSuperBasic(NextSignalAspect) != Aspect.Stop())
      {
         SignalAspect = Aspect.SetBrakeSpeed(SignalAspect, brkvel);
      }
      
      if ((brkvel and (maxvel == 0 or brkvel < maxvel)) or (Aspect.IsValid(NextSignalAspect) and Aspect.GetSuperBasic(NextSignalAspect) == Aspect.Stop()))
      {
         if (Aspect.GetSuperBasic(SignalAspect) == Aspect.Proceed())
         {
            SignalAspect = Aspect.SetBasic(SignalAspect, Aspect.Caution());
         }
      }
      
      if (Aspect.GetSuperBasic(SignalAspect) == Aspect.Caution() and _NextSignalIsRailEnd)
      {
         SignalAspect = Aspect.ROZ();
      }
      
      if (Aspect.GetBrakingDistance(NextSignalAspect) and Aspect.GetBasic(NextSignalAspect) == Aspect.Caution() and (maxvel == 0 or (maxvel > Aspect.GetBrakeSpeed(NextSignalAspect) and Aspect.GetBrakeSpeed(NextSignalAspect) != 0)))
      {
         if (Aspect.IsValid(NextSignalAspect))
         {
            SignalAspect = Aspect.GetWorstAspect(SignalAspect, NextSignalAspect);   
         }
      }
      
      SignalAspect = Aspect.SetBrakingDistance(SignalAspect, _shortbrake);
      
      if (Aspect.IsValid(NextSignalAspect))
      {
         SignalAspect = Aspect.SetNextBrakingDistance(SignalAspect, Aspect.GetBrakingDistance(NextSignalAspect));
      }

      //CUSTOM ^^ CUSTOM ^^ CUSTOM ^^

      return SignalAspect;
   }
   
   public int HandleConvertCustomAspect(int SignalAspect)
   {
      int TAspect;
      int maxvel;
      int brkvel;
      bool brakedist;
      
      Interface.Log("HandleConvertCustomAspect FROM: " + SignalAspect);
      if (Aspect.IsInvalid(SignalAspect))
      {
         return SignalAspect;
      }
      
      TAspect = Aspect.GetBasic(SignalAspect);
      
      maxvel = Aspect.GetMaxSpeed(SignalAspect);
      brkvel = Aspect.GetBrakeSpeed(SignalAspect);
      brakedist = Aspect.GetNextBrakingDistance(SignalAspect);
      switch(TAspect)
      {
         case AS_STOP:
         case AS_ROZ:
         case AS_OUTOFSERVICE:
         case AS_HALFSPEED:
            break;
         case AS_PROCEED:
            if (brkvel == 0)
            {
               TAspect = Aspect.SetMaxSpeed(TAspect, maxvel);
            }
            else if (maxvel > brkvel)      //Max passing speed is larger then brake speed, so display brake speed + yellow -> more restrictive
            {
               TAspect = Aspect.SetBrakeSpeed(Aspect.Caution(), brkvel);
            }
            else                     //brake speed is lower dan max passing speed, no braking needed
            {
               TAspect = Aspect.SetMaxSpeed(TAspect, maxvel);
            }
            break;
         case AS_CAUTION:
            if (!brakedist or brkvel != 0)
            {
               TAspect = Aspect.SetBrakeSpeed(TAspect,brkvel);            //Caution, set max speed of next signal;
               TAspect = Aspect.SetNextBrakingDistance(TAspect, brakedist);
            }
            break;
         default:
            break;
      }
      
      Interface.Log("TO: " + TAspect);      
      return TAspect;   //somethings wrong
   }
   
   public void HandleRequestModeInfo(Message Msg)
   {
      inherited(Msg);
   }
   
   public void HandleRequestModeInfoDistant(Message Msg)
   {
      inherited(Msg);
   }

   public int CustomReturnWorstAspect(int Aspect1, int Aspect2)
   {
      return Aspect.GetWorstAspect(Aspect1,Aspect2);
   }
   
   public int CustomLinkInvisibleSignalMode()
   {
      return RETURN_CAUTION;
   }
   
   //General description of object
   public string CustomBrowserSignalDescription()
   {
      StringTable strtable = me.GetAsset().GetStringTable();
      return strtable.GetString0("description_html");
   }
   
   //Names etc to show on the object. Appearance
   public string CustomBrowserAppearanceSettings()
   {
      string html;
      html = "<tr><td width=10></td><td width=120></td><td width=370>" + HTMLWindow.CheckBox("live://property/csscript.outofservice",_outofservice) + "Block is out of service</td></tr>";
      html = html + "<tr><td width=10></td><td width=120></td><td width=370>" + HTMLWindow.CheckBox("live://property/csscript.shortbrake",_shortbrake) + "Next signal is within braking distance</td></tr>";
      return html;
   }

   
      public void LinkPropertyValue(string p_ID)
   {
      string p_IDc;
      p_IDc.copy(p_ID);
      inherited(p_IDc);
      if (p_ID == "csscript.outofservice")
      {
         _outofservice = !_outofservice;
      }
      else if (p_ID == "csscript.shortbrake")
      {
         _shortbrake = !_shortbrake;
      }
   }
   
   public string GetPropertyType(string p_ID)
   {
      if (p_ID == "csscript.outofservice")
      {
         return "link";
      }
      else if (p_ID == "csscript.shortbrake")
      {
         return "link";
      }
      
      return inherited(p_ID);
   }
   
   //save and load functions for all the settings:
   
   public Soup GetProperties(void)
   {
      int i;
      Soup soup = inherited();
      
      soup.SetNamedTag("css_outofservice", _outofservice);
      soup.SetNamedTag("css_shortbrake", _shortbrake);
      
      return soup;
   }
   
   public void SetProperties(Soup soup)
   {
      inherited(soup);
      
      _outofservice = soup.GetNamedTagAsBool("css_outofservice");
      _shortbrake = soup.GetNamedTagAsBool("css_shortbrake");
   }
};   


Pagina 1 van 1 Alle tijden zijn GMT + 1 uur [ Zomertijd ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/