Elvas Tower: New signalling functions - Elvas Tower

Jump to content

Posting Rules

All new threads will be started by members of the Open Rails team, Staff, and/or Admins. Existing threads started in other forums may get moved here when it makes sense to do so.

Once a thread is started any member may post replies to it.
  • 8 Pages +
  • « First
  • 3
  • 4
  • 5
  • 6
  • 7
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

New signalling functions OR specific signalling functions added in version 2266 Rate Topic: -----

#41 User is offline   Buttercup 

  • Conductor
  • Group: Status: Contributing Member
  • Posts: 426
  • Joined: 24-July 08
  • Gender:Male
  • Country:

Posted 16 July 2017 - 08:49 AM

View Postroeter, on 18 October 2014 - 09:31 AM, said:

TrainHasCallOn() is a function which can be used in the sigscr file to check if a train is allowed to 'call on' into a platform - that is it is allowed into a platform where there already is another train.
It is linked to the $CallOn command which can be used in timetables - this sets that a train is indeed allowed to 'call on'.


Is there an example where this function is used in a signal script?

#42 User is offline   eugenR 

  • Conductor
  • Group: Status: Contributing Member
  • Posts: 472
  • Joined: 15-April 13
  • Gender:Male
  • Simulator:MSTS
  • Country:

Posted 18 July 2017 - 01:10 PM

View PostButtercup, on 16 July 2017 - 08:49 AM, said:

Is there an example where this function is used in a signal script?

See manual Chapter 10.15.3 and ...4

#43 User is offline   Buttercup 

  • Conductor
  • Group: Status: Contributing Member
  • Posts: 426
  • Joined: 24-July 08
  • Gender:Male
  • Country:

Posted 19 July 2017 - 05:09 AM

View PosteugenR, on 18 July 2017 - 01:10 PM, said:

See manual Chapter 10.15.3 and ...4


I need to see an actual signal script where it is used. I have not been able to get it to work.

#44 User is offline   Jovet 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 2,240
  • Joined: 14-January 08
  • Gender:Male
  • Location:Omaha, Nebraska.
  • Simulator:MSTS/Open Rails
  • Country:

Posted 19 July 2017 - 06:43 AM

View PostButtercup, on 19 July 2017 - 05:09 AM, said:

I need to see an actual signal script where it is used. I have not been able to get it to work.

You could post your scripting attempt(s), if you want.

It seems to me, just from its description but not having tried it, that it should be part of the check of whether a signal should be at Danger. Like the enabled variable, it should be NOT-ted, since I'll presume it's non-zero when a train is called-on and the signal should be showing a call-on indication.

#45 User is offline   roeter 

  • Vice President
  • Group: Status: Elite Member
  • Posts: 2,419
  • Joined: 25-October 11
  • Gender:Male
  • Country:

Posted 21 July 2017 - 02:42 AM

View PostButtercup, on 19 July 2017 - 05:09 AM, said:

I need to see an actual signal script where it is used. I have not been able to get it to work.


Here is a fairly straightforward script :

SCRIPT ChLEinffrei
// CHL Einfahrsignal
// freie Fahrt Fahrbegriff 1, wenn Signal enabled, Block frei und die Weichen für diese Route gestellt sind 

	extern float	block_state ();
	extern float	state;
	extern float	enabled;

	float			blockfrei;

	blockfrei = -1;
	if (block_state() ==# BLOCK_CLEAR )
	{
		blockfrei = 1;
	}
	else if (block_state() ==# BLOCK_OCCUPIED && TRAINHASCALLON_RESTRICTED() && APPROACH_CONTROL_POSITION(300))
	{
		blockfrei = 2;
	}

// If required, show the 'stop' indication.
        if (!enabled || !route_set() || blockfrei < 0)
	{
		state = SIGASP_STOP;
	}
// Signal is enabled and the block ahead is clear 
	else
	{
		state = SIGASP_CLEAR_2;
	}


This script uses TRAINHASCALLON_RESTRICTED() which has a number of advantages over TRAINHASCALLON() :
  • The call-on test is only performed if the route from the signal leads into a platform.
    If signals of this type are also used on 'free line' locations (i.e. on normal running lines not leading into platforms), the behaviour at such locations is not affected.
  • The call-on test is only linked to specific timetable commands ($callon, $attach, $pickup and $transfer), behaviour in activity mode is not affected.


In this example, the signal has no special aspect in case of call on, and so the actual value of 'blockfrei' (German for 'blockclear') is not used - there's only a check on <0.
If the signal does have a specific aspect, the actual value of 'blockfrei' can be used to set the normal 'clear' aspect (if blockfrei == 1) or the call-on aspect (if blockfrei == 2).
Because there is no special aspect, approach control is applied in case of calling-on with the signal held at danger until the train is at 300m. distance from the signal.

Regards,
Rob Roeterdink

#46 User is offline   Buttercup 

  • Conductor
  • Group: Status: Contributing Member
  • Posts: 426
  • Joined: 24-July 08
  • Gender:Male
  • Country:

Posted 21 July 2017 - 04:47 AM

Thank you for the responses.

#47 User is offline   JBM37156 

  • Apprentice
  • Group: Status: Switchman
  • Posts: 8
  • Joined: 19-February 20
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 20 February 2020 - 04:42 AM

I posted the below elsewhere on the forum but wasn't sure if it's in the correct part so will apologise in advance for duplication and any assistance appreciated!


Hi all,

Been an open rails user on and off for a few years now, have rekindled my interest by attempting a timetable for Scottish Capitals Express route.

This is my second timetable as 5 years ago I wrote one for North Wales Coast.

I can't for the life of me figure out how to get the signal Scripts to be able to allow a loco to pass a signal and attach to a train in a platform.

Every amendment to the sigscr file has caused the signals to cease working. Usually holding the train so it won't pass them or in one case running all trains pass them at danger although this happening did prove my pickup command had worked!

Has anyone successfully amended the SCE sigscr file or similar? The making tracks produced files appear to be written differently to the original style MSTS scr files hence why maybe I am going wrong.

Thanks for reading anyhow.


J

#48 User is offline   MatarazzoT 

  • Apprentice
  • Group: Status: Switchman
  • Posts: 10
  • Joined: 20-February 20
  • Gender:Male
  • Location:Rio de Janeiro, Brazil.
  • Simulator:Openrails
  • Country:

Posted 23 February 2020 - 11:45 AM

Signalling for sure in Open Rails can be tricky sometimes, I'm having a problem (might not be just me) with the signals itself, when you are in activity or explore mode, and with bidirectional signals, when your train free the last railcar of the signal facing opposite direction, it clears, but in timetable mode, the signalling keeps in red (stop), why this is happening? can someone experienced this before?

Cheers,
Thiago.

#49 User is offline   eugenR 

  • Conductor
  • Group: Status: Contributing Member
  • Posts: 472
  • Joined: 15-April 13
  • Gender:Male
  • Simulator:MSTS
  • Country:

Posted 25 February 2020 - 05:47 PM

View PostJBM37156, on 20 February 2020 - 04:42 AM, said:

I posted the below elsewhere on the forum but wasn't sure if it's in the correct part so will apologise in advance for duplication and any assistance appreciated!


Hi all,

Been an open rails user on and off for a few years now, have rekindled my interest by attempting a timetable for Scottish Capitals Express route.

This is my second timetable as 5 years ago I wrote one for North Wales Coast.

I can't for the life of me figure out how to get the signal Scripts to be able to allow a loco to pass a signal and attach to a train in a platform.

Every amendment to the sigscr file has caused the signals to cease working. Usually holding the train so it won't pass them or in one case running all trains pass them at danger although this happening did prove my pickup command had worked!

Has anyone successfully amended the SCE sigscr file or similar? The making tracks produced files appear to be written differently to the original style MSTS scr files hence why maybe I am going wrong.

Thanks for reading anyhow.


J


Hi,
with this Timetable, the Train "Blockzug is waiting at Testingen until 12:20
The second Train is waiting at the red Entrance-Signal of Testingen until the Blockzug has stopped at the Plattform.


;;#comment;#comment;Blockzug;Re 6/6 solo
#comment;;CHSignale_LN;;;
#path;;;;quer;sehen
#consist;;;;re66greensolo;re66greensolo
#comment;;;;;
#start;;;;11:59:40;12:00
#note;;;;;
;;;;;
Testingen;$hold;;;12:20;12:02 $callon
;;;;;
;;;;;
;;;;;
#dispose;;;;$static;


In the sigscr.dat is for this entrance-signal a State defined for entrance on a ocuppied track:

		else if ( block_state() ==# BLOCK_OCCUPIED  && TrainHAsCallOn_Restricted())  //Einfahrt auf besetztes Geleise
		{ 
			if ((route_set() ) || (this_state ==# SIGASP_STOP_AND_PROCEED)) //Route freigegeben
			{
				state = SIGASP_STOP_AND_PROCEED;
				draw_state = 6;
			}	
			else 
			{
				state = SIGASP_STOP;
				draw_state = 0;	
			}
		}


This state is shown if the Block is occupied and the Train has Callon at this station

#50 User is offline   LeoGarcia 

  • Hostler
  • Group: Status: Active Member
  • Posts: 50
  • Joined: 01-October 18
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 07 April 2020 - 05:08 PM

View Postroeter, on 31 May 2014 - 03:07 AM, said:

TrainHasCallOn function

(...)

The use of this function must be combined with a check for blockstate ==# BLOCK_OCCUPIED.

Note: this function must NOT be used in combination with blockstate ==# JN_OBSTRUCTED.

Example (part of script only) :

if (enabled && route_set() )
{
     if (block_state == #BLOCK_CLEAR)
     {
     // normal clear, e.g.
             state = #SIGASP_CLEAR_1;
     }
     else if (block_state == #BLOCK_OCCUPIED && TrainHasCallOn() )
     {
     // clear on occupied track and CallOn allowed
            state = #SIGASP_STOP_AND_PROCEED;
     }
     else
     {
     // track is not clear or CallOn not allowed
            state = #SIGASP_STOP;
     }
}


Hi, I am using a route where, now, I need to implement the TrainHasCallOn. For some reason that, I guess, is irrelevant, the route has five script files. The word "OCCUPIED" is not used in any of them. I attached it:

File sigscr.dat

///////////////////////////////////////////////////////////////////////////////
SCRIPT UKSemHome

// UK Semephore (Home)

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;

	if (!enabled ||								// Not enabled/cleared to show natural state?
		block_state() !=# BLOCK_CLEAR ||		// Block ahead not clear?
		!route_set())							// Switch not set as per link?
	{
		state = SIGASP_STOP;
	}
	else
	{
		state = SIGASP_CLEAR_2;
	}

// Get draw state
	draw_state = def_draw_state (state);


///////////////////////////////////////////////////////////////////////////////
SCRIPT UKSemDist

// UK Semephore (Distance)

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	dist_multi_sig_mr ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;

	if ( //!enabled ||							// Not enabled/cleared to show natural state?
		!route_set() ||							// Switch not set as per link?
		dist_multi_sig_mr (SIGFN_NORMAL, SIGFN_DISTANCE) ==# SIGASP_STOP)
	{
		state = SIGASP_APPROACH_2;
	}
	else
	{
		state = SIGASP_CLEAR_2;
	}

// Get draw state
	draw_state = def_draw_state (state);


// End of File


File sigscr_A1.dat:

///////////////////////////////////////////////////////////////////////////////
SCRIPT UKSemHome

// UK Semephore (Home)

	extern float	block_state ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;

	if (enabled								// Not enabled/cleared to show natural state?
		&& block_state() ==# BLOCK_CLEAR					// Block ahead not clear?
	)							
	{
		state = SIGASP_CLEAR_2;
	}
	else
	{
		state = SIGASP_STOP;
	}

// Get draw state
	draw_state = def_draw_state (state);


//------------------------------------------------------------
SCRIPT UKSemDist

	extern float def_draw_state();
	extern float dist_multi_sig_mr();
	extern float state;
	extern float draw_state;

	if (dist_multi_sig_mr(SIGFN_NORMAL, SIGFN_DISTANCE) ==# SIGASP_STOP)
		state = SIGASP_APPROACH_2;
	else
		state = SIGASP_CLEAR_2;
	draw_state = def_draw_state(state);

//------------------------------------------------------------
SCRIPT ARSemLink

	extern float block_state();
	extern float route_set();
	extern float def_draw_state();
	extern float state;
	extern float draw_state;
	extern float enabled;

	if (enabled && block_state() ==# BLOCK_CLEAR && route_set())
		state = SIGASP_CLEAR_2;
	else
		state = SIGASP_STOP;
	draw_state = def_draw_state(state);

//------------------------------------------------------------
SCRIPT ArSemDistL

	extern float route_set();
	extern float def_draw_state();
	extern float dist_multi_sig_mr();
	extern float state;
	extern float draw_state;

	if (!route_set() ||
		next_sig_lr (SIGFN_NORMAL) ==# SIGASP_STOP
	)
		state = SIGASP_APPROACH_2;
	else
		state = SIGASP_CLEAR_2;
	draw_state = def_draw_state(state);

//------------------------------------------------------------
SCRIPT FARamapo

	extern float route_set();
	extern float def_draw_state();
	extern float state;
	extern float draw_state;

	if (!route_set())
		state = SIGASP_APPROACH_2;
	else
		state = SIGASP_CLEAR_2;
	draw_state = def_draw_state(state);

//------------------------------------------------------------
SCRIPT ArSemDesvio

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	extern float	opp_sig_mr();

	if (enabled && route_set() && opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP
	)							
	{
		state = SIGASP_STOP_AND_PROCEED;
	}
	else
	{
		state = SIGASP_STOP;
	}

// Get draw state
	draw_state = def_draw_state (state);

//------------------------------------------------------------
SCRIPT ArSemManiobrasMult

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	extern float	opp_sig_mr();

	if (enabled &&
		route_set() &&
		(opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP ||
		block_state() ==# BLOCK_CLEAR))
	{
		if (opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP &&
			block_state() ==# BLOCK_CLEAR
		)
			state = SIGASP_CLEAR_2;
		else
			state = SIGASP_RESTRICTING;
	}
	else
		state = SIGASP_STOP;
	draw_state = def_draw_state(state);

//------------------------------------------------------------
SCRIPT ArSemManiobras

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	extern float	opp_sig_mr();

	if (enabled &&
		route_set() &&
		opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP
	){
		state = SIGASP_RESTRICTING;
		}
	else{
		state = SIGASP_STOP;
	}
		
	draw_state = def_draw_state(state);

//------------------------------------------------------------
SCRIPT ArSemAbsolutaMult

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	extern float	opp_sig_mr();

	if (enabled &&
		route_set() &&
		(opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP ||
		block_state() ==# BLOCK_CLEAR))
	{
		if (opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP &&
			block_state() ==# BLOCK_CLEAR
		)
			state = SIGASP_CLEAR_2;
		else
			state = SIGASP_RESTRICTING;
	}
	else
		state = SIGASP_STOP;
	draw_state = def_draw_state(state);
	
SCRIPT ArSemDesvioAAOM

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	extern float	opp_sig_mr();

	if (enabled &&
		(opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP ||
		block_state() ==# BLOCK_CLEAR))
	{
		if (opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP &&
			block_state() ==# BLOCK_CLEAR &&
			route_set()
		)
			state = SIGASP_CLEAR_2;
		else{
			
			if(route_set())
			{
				state = SIGASP_STOP_AND_PROCEED;
			}
			else
			{
				state = SIGASP_RESTRICTING;
			}
		}
	}
	else
		state = SIGASP_STOP;
	draw_state = def_draw_state(state);

//------------------------------------------------------------

SCRIPT ArSemAbsAAOM

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	extern float	opp_sig_mr();

	if (enabled &&
		(opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP ||
		block_state() ==# BLOCK_CLEAR))
	{
		if (opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP &&
			block_state() ==# BLOCK_CLEAR &&
			route_set()
		)
			state = SIGASP_CLEAR_2;
		else{
			
			if(route_set())
			{
				state = SIGASP_STOP_AND_PROCEED;
			}
			else
			{
				state = SIGASP_RESTRICTING;
			}
		}
	}
	else
		state = SIGASP_STOP;
	draw_state = def_draw_state(state);

//------------------------------------------------------------

SCRIPT ArSemManiobrasAAOM

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	extern float	opp_sig_mr();

	if (enabled &&
		(opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP ||
		block_state() ==# BLOCK_CLEAR))
	{
		if (opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP &&
			block_state() ==# BLOCK_CLEAR &&
			route_set()
		)
			state = SIGASP_CLEAR_2;
		else{
			
			if(route_set())
			{
				state = SIGASP_STOP_AND_PROCEED;
			}
			else
			{
				state = SIGASP_RESTRICTING;
			}
		}
	}
	else
		state = SIGASP_STOP;
	draw_state = def_draw_state(state);

//------------------------------------------------------------


File sigscr_enanas.dat:

///////////////////////////////////////////////////////////////////////////////
// Signal Type Logic Scripts
//
///////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////
SCRIPT SenalEnCir

// Pantalla Principal (Home) 2 estados
// válida para:	Salida de ramales
//			Salida de estación

	extern float	block_state ();
	extern float	route_set ();
	extern float	next_sig_lr ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	float			next_state;

	if (!enabled ||								// Not enabled/cleared to show natural state?
		block_state() !=# BLOCK_CLEAR ||				// Block ahead not clear?
		!route_set())							// Switch not set as per link?
	{
		state = SIGASP_STOP;
	}
	else
	{
		state = SIGASP_APPROACH_2;
	}

// Get draw state
	draw_state = def_draw_state (state);
/////////////////////////////////////////////////////////////////////////////////////////////////
SCRIPT ArSemAbsAAOM2

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;
	extern float	opp_sig_mr();

	if (enabled &&
		(opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP ||
		block_state() ==# BLOCK_CLEAR))
	{
		if (opp_sig_mr(SIGFN_NORMAL) == SIGASP_STOP &&
			block_state() ==# BLOCK_CLEAR &&
			route_set()
		)
			state = SIGASP_CLEAR_2;
		else{
			
			if(route_set())
			{
				state = SIGASP_STOP_AND_PROCEED;
			}
			else
			{
				state = SIGASP_RESTRICTING;
			}
		}
	}
	else
		state = SIGASP_STOP;
	draw_state = def_draw_state(state);
///////////////////////////////////////////////////////////////////////////////
// End of File


File sigscr-mec.dat:

///////////////////////////////////////////////////////////////////////////////
SCRIPT UKSemHome

// UK Semephore (Home)

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;

	if (!enabled ||								// Not enabled/cleared to show natural state?
		block_state() !=# BLOCK_CLEAR ||		// Block ahead not clear?
		!route_set())							// Switch not set as per link?
	{
		state = SIGASP_STOP;
	}
	else
	{
		state = SIGASP_CLEAR_2;
	}

// Get draw state
	draw_state = def_draw_state (state);


///////////////////////////////////////////////////////////////////////////////
SCRIPT UKSemDist

// UK Semephore (Distance)

	extern float	block_state ();
	extern float	route_set ();
	extern float	def_draw_state ();
	extern float	dist_multi_sig_mr ();
	extern float	state;
	extern float	draw_state;
	extern float	enabled;

	if ( //!enabled ||							// Not enabled/cleared to show natural state?
		!route_set() ||							// Switch not set as per link?
		dist_multi_sig_mr (SIGFN_NORMAL, SIGFN_DISTANCE) ==# SIGASP_STOP)
	{
		state = SIGASP_APPROACH_2;
	}
	else
	{
		state = SIGASP_CLEAR_2;
	}

// Get draw state
	draw_state = def_draw_state (state);


// End of File


File sigscr-UK-RI.dat:

//------------------------------------------------------------
//
// Created by SigMexx V1.4.3
//
// contains following scripts:
//	- RI-Feather
//	- BannerRepeaterHome (unused)
//	- BannerRepeaterDistant (unused)
//	- RA-OFF-Indicator (unused)
//	- Theatre-BAY (unused)
//	- Theatre-DM (unused)
//	- Theatre-DR (unused)
//	- Theatre-UM (unused)
//	- Theatre-UR (unused)
//	- Theatre-1 (unused)
//	- Theatre-2 (unused)
//	- Theatre-3 (unused)
//	- info-1
//	- info-2
//	- info-3
//	- info-4
//	- Clackbox-BAY (unused)
//	- Clackbox-DM (unused)
//	- Clackbox-DR (unused)
//	- Clackbox-UM (unused)
//	- Clackbox-UR (unused)
//	- Clackbox-1 (unused)
//	- Clackbox2 (unused)
//	- Clackbox3 (unused)
//	- TRACKSTART

//------------------------------------------------------------
SCRIPT RI-Feather

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT BannerRepeaterHome

	extern float route_set();
	extern float next_sig_lr();
	extern float sig_feature();
	extern float draw_state;

	if ((next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP) || !route_set())
		draw_state = 0;
	else if (sig_feature(SIGFEAT_USER2))
		draw_state = 2;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT BannerRepeaterDistant

	extern float route_set();
	extern float next_sig_lr();
	extern float sig_feature();
	extern float draw_state;
	float next_state;

	if (sig_feature(SIGFEAT_USER1))
		next_state = next_sig_lr(SIGFN_DISTANCE);
	else
		next_state = next_sig_lr(SIGFN_NORMAL);
	if ((next_state <# SIGASP_CLEAR_1) || !route_set())
		draw_state = 0;
	else if (sig_feature(SIGFEAT_USER2))
		draw_state = 2;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT RA-OFF-Indicator

	extern float next_sig_lr();
	extern float sig_feature();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP)
		draw_state = 0;
	else if (sig_feature(SIGFEAT_USER1))
		draw_state = 2;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Theatre-BAY

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Theatre-DM

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Theatre-DR

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Theatre-UM

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Theatre-UR

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Theatre-1

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Theatre-2

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Theatre-3

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT info-1

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT info-2

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT info-3

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT info-4

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT info-5

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT info-6

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT info-7

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT info-8

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Clackbox-BAY

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Clackbox-DM

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Clackbox-DR

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Clackbox-UM

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Clackbox-UR

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Clackbox-1

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Clackbox2

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT Clackbox3

	extern float route_set();
	extern float next_sig_lr();
	extern float draw_state;

	if (next_sig_lr(SIGFN_NORMAL) ==# SIGASP_STOP || !route_set())
		draw_state = 0;
	else
		draw_state = 1;

//------------------------------------------------------------
SCRIPT TRACKSTART

	extern float state;
	extern float draw_state;

	state = SIGASP_STOP;
	draw_state = 0;



The route has an unique sigcfg.dat file:

SIMISA@@@@@@@@@@JINX0G0t______

LightTextures ( 1
	LightTex ( "ltex"			"SigLight.ace"		0 0 1 1 )
)

LightsTab ( 6
	LightsTabEntry (
		"Red Light"
		colour ( 255 255 40 40 )
	)
	LightsTabEntry (
		"Amber Light"
		colour ( 255 255 200 0 )
	)
	LightsTabEntry (
		"Green Light"
		colour ( 255 0 255 0 )
	)
	LightsTabEntry (
		"Verde Azulado"
		colour ( 255 0 255 200 )
	)
	_LightsTabEntry (
		"White Light"
		colour ( 255 255 255 255 )
	)
      LightsTabEntry (
		"Incoloro Light"
		colour ( 255 243 170 102 )
	)
)

SignalTypes ( 6
SignalType ( "ArSemLink"
		SignalFnType ( NORMAL )
		SignalFlags ( SEMAPHORE )
		SemaphoreInfo ( 0.5 )
		SignalLightTex ( "ltex" )
		SignalLights ( 2
			SignalLight ( 0
				"Red Light"
				Position ( -0.25 0 -0.01 )
				Radius ( 0.4 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
			SignalLight ( 1
				"Verde Azulado"
				Position ( -0.25 0 -0.01 )
				Radius ( 0.4 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
		)
		SignalDrawStates ( 2
			SignalDrawState ( 0
				"Red"
				DrawLights ( 1
					DrawLight ( 0 )
				)
				SemaphorePos ( 0 )
			)
			SignalDrawState ( 1
				"Green"
				DrawLights ( 1
					DrawLight ( 1 )
				)
				SemaphorePos ( 1 )
			)
		)
		SignalAspects ( 2
			SignalAspect (
				STOP
				"Red"
			)
			SignalAspect (
				CLEAR_2
				"Green"
			)
		)
		SignalNumClearAhead ( 1 )
	)
SignalType ( "ArSemDesvio"
		SignalFnType ( NORMAL )
		SignalFlags ( SEMAPHORE )
		SemaphoreInfo ( 0.5 )
		SignalLightTex ( "ltex" )
		SignalLights ( 2
			SignalLight ( 0
				"Red Light"
				Position ( -0.21 0 -0.01 )
				Radius ( 0.4 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
			SignalLight ( 1
				"Verde Azulado"
				Position ( -0.21 0 -0.01 )
				Radius ( 0.4 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
		)
		SignalDrawStates ( 2
			SignalDrawState ( 0
				"Bloqueado"
				DrawLights ( 1
					DrawLight ( 0 )
				)
				SemaphorePos ( 0 )
			)
			SignalDrawState ( 1
				"Abierto"
				DrawLights ( 1
					DrawLight ( 1 )
				)
				SemaphorePos ( 1 )
			)
		)
		SignalAspects ( 2
			SignalAspect (
				STOP
				"Bloqueado"
			)
			SignalAspect (
				STOP_AND_PROCEED
				"Abierto"
				SpeedKPH ( 25 )
			)
		)
		SignalNumClearAhead ( 1 )
	)
SignalType ( "ArSemAbsAAOM2"
		SignalFnType ( NORMAL )
		SignalFlags ( SEMAPHORE )
		SemaphoreInfo ( 0.5 )
		SignalLightTex ( "ltex" )
		SignalLights ( 2
			SignalLight ( 0
				"Red Light"
				Position ( -0.13 0 0 )
				Radius ( 0.5 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
			SignalLight ( 1
				"Verde Azulado"
				Position ( -0.13 0 0 )
				Radius ( 0.5 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
		)
		SignalDrawStates ( 2
			SignalDrawState ( 0
				"Rojo"
				DrawLights ( 1
					DrawLight ( 0 )
				)
				SemaphorePos ( 0 )
			)
			SignalDrawState ( 1
				"Libre"
				DrawLights ( 1
					DrawLight ( 1 )
				)
				SemaphorePos ( 1 )
			)
		)
		SignalAspects ( 2
			SignalAspect (
				STOP
				"Rojo"
			)
			SignalAspect (
				CLEAR_2
				"Libre"
			)
		)
		SignalNumClearAhead ( 1 )
	)
SignalType ( "SenalEnCir"
		SignalFnType ( NORMAL )
		SignalLightTex ( "ltex" )
		SignalLights ( 2
			SignalLight ( 0 "Red Light"
				Position ( -0.178 0 0 )
				Radius ( 0.6 )
			)
			SignalLight ( 1 "Incoloro Light"
				Position ( -0.178 0 0 )
				Radius ( 0.4 )
			)
		)
		SignalDrawStates ( 2
			SignalDrawState ( 0
				"Peligro"
				DrawLights ( 1
					DrawLight ( 0 )
				)
				SemaphorePos ( 0 )
			)
			SignalDrawState ( 1
				"Incoloro"
				DrawLights ( 1
					DrawLight ( 1 )
				)
				SemaphorePos ( 1 )
			)
		)
		SignalAspects ( 2
			SignalAspect (STOP                     "Peligro"  )
			SignalAspect (APPROACH_2               "Incoloro" )
		)
		SignalNumClearAhead ( 1 )
	)

	SignalType ( "UKSemHome"
	
		SignalFnType ( NORMAL )
		SignalLightTex ( "ltex" )
		SemaphoreInfo ( 0.5 )
		SignalFlags ( SEMAPHORE )

		SignalLights ( 2
			SignalLight ( 0 "Red Light"
				Position ( -0.18 0.00 -0.01 )
				Radius ( 0.5 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
			SignalLight ( 1 "Verde Azulado"
				Position ( -0.18 0.00 -0.01 )
				Radius ( 0.5 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
		)
		SignalDrawStates ( 2
			SignalDrawState ( 0
				"Red"
				DrawLights ( 1
					DrawLight ( 0 )
				)
				SemaphorePos ( 0 )
			)
			SignalDrawState ( 1
				"Green"
				DrawLights ( 1
					DrawLight ( 1 )
				)	
				SemaphorePos ( 1 )
			)
		)
		SignalAspects ( 2
			SignalAspect ( STOP				"Red" )
			SignalAspect ( CLEAR_2				"Green" )
		)
		SignalNumClearAhead ( 1 )
	)

		SignalType ( "UKSemDist"
	
		SignalFnType ( DISTANCE )
		SignalLightTex ( "ltex" )
		SemaphoreInfo ( 0.5 )
		SignalFlags ( SEMAPHORE )

		SignalLights ( 2
			SignalLight ( 0 "Amber Light"
				Position ( -0.18 0.00 -0.01 )
				Radius ( 0.5 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
			SignalLight ( 1 "Green Light"
				Position ( -0.18 0.00 -0.01 )
				Radius ( 0.5 )
				SignalFlags ( SEMAPHORE_CHANGE )
			)
		)
		SignalDrawStates ( 2
			SignalDrawState ( 0
				"Yellow"
				DrawLights ( 1
					DrawLight ( 0 )
				)	
				SemaphorePos ( 0 )
			)
			SignalDrawState ( 1
				"Green"
				DrawLights ( 1
					DrawLight ( 1 )
				)	
				SemaphorePos ( 1 )
			)
		)
		SignalAspects ( 2
			SignalAspect ( APPROACH_2				"Yellow" )
			SignalAspect ( CLEAR_2					"Green" )
		)
		SignalNumClearAhead ( 1 )
	)
)

SignalShapes ( 34
SignalShape (
		"portico_CDE_A_N.s"
		"Portico Cruz del Eje-A-N"
		SignalSubObjs ( 4
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ARSemLink" )
			)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Central"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ARSemLink" )
			)
			SignalSubObj ( 2
				"HEAD3"
				"Brazo Derecho Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ARSemLink" )
			)
			SignalSubObj ( 3
				"HEAD4"
				"Brazo Derecho Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ArSemDesvio" )
			)
		)
	)
SignalShape (
		"portico_CDE_A1_S.s"
		"Portico Cruz del Eje-A1-S"
		SignalSubObjs ( 5
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Izquierdo Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ARSemLink" )
			)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Izquierdo Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ARSemLink" )
			)
			SignalSubObj ( 2
				"HEAD3"
				"Brazo Central Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ArSemDesvio" )
			)
			SignalSubObj ( 3
				"HEAD4"
				"Brazo Central Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ArSemDesvio" )
			)
			SignalSubObj ( 4
				"HEAD5"
				"Brazo Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )
				SigSubSType ( "ArSemDesvio" )
			)
		)
	)
SignalShape (
		"senalT_aAD.s"
		"Torre Senales aAD"
		SignalSubObjs ( 3
			SignalSubObj ( 0
				"HEAD3"
				"Brazo Abs Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)  
      SignalSubObj ( 2
				"HEAD1"
				"Brazo Abs Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			) 
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Dist Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemDist" )
			)	    
		)
	)
SignalShape (
		"senalTADa.s"
		"Torre Senales ADa"
		SignalSubObjs ( 3
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Abs Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Dist Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemDist" )
			)	      
      SignalSubObj ( 2
				"HEAD3"
				"Brazo Abs Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			)  	
		)
	)
SignalShape (
		"senalT_aADa.s"
		"Torre Senales aADa"
		SignalSubObjs ( 4
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Abs Central"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Dist Central"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemDist" )
			)	      
      SignalSubObj ( 2
				"HEAD3"
				"Brazo Abs Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 3
				"HEAD4"
				"Brazo Abs Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			)	      	
		)
	)
SignalShape (
		"senalTADAD.s"
		"Torre Senales ADAD"
		SignalSubObjs ( 4
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Abs Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Dist Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemDist" )
			)	      
      SignalSubObj ( 2
				"HEAD3"
				"Brazo Abs Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 3
				"HEAD4"
				"Brazo Dist Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemDist" )
			)			
		)
	)
SignalShape (
		"senalTOM.s"
		"Portal - Senal Desvio Maniobras"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Superior (O)"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Inferior (M)"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
SignalShape (
		"senalA8.s"
		"Senal absoluta alta"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Home arm"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( OPTIONAL Default )
				SigSubSType ( "UKSemHome" )
			)
		)
	)
SignalShape (
		"senalA4.s"
		"Senal absoluta 4m"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Home arm"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( OPTIONAL Default )
				SigSubSType ( "UKSemHome" )
			)
		)
	)
SignalShape (
		"EnanaSimple.s"
		"Señal Enana Simple"
		SignalSubObjs ( 3
			SignalSubObj ( 0
				"HEAD1"
				"Signal Head 1"
				SigSubType ( SIGNAL_HEAD )
				SigSubJnLinkIf ( 1 1 )
				SigSubSType ( "ArSemAbsAAOM2" )
			)
			SignalSubObj ( 1
				"LINK1"
				"Link Heads."
				SigSubType ( LINK1)
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 2
				"USER1"
				"Show Restricting Speed."
				SigSubType ( USER1 )
				SignalFlags ( OPTIONAL )
			)
		)
	)
SignalShape (
		"EnanaTriple.s"
		"Señal Enana Triple"
		SignalSubObjs ( 5
			SignalSubObj ( 0
				"HEAD1"
				"Signal Head 1"
				SigSubType ( SIGNAL_HEAD )
				SigSubJnLinkIf ( 1 3 )
				SigSubSType ( "ArSemAbsAAOM2" )
			)
			SignalSubObj ( 1
				"HEAD2"
				"Signal Head 2"
				SigSubType ( SIGNAL_HEAD )
				SigSubJnLinkIf ( 1 3 )
				SigSubSType ( "ArSemAbsAAOM2" )
			)
			SignalSubObj ( 2
				"HEAD3"
				"Signal Head 3"
				SigSubType ( SIGNAL_HEAD )
				SigSubJnLinkIf ( 1 3 )
				SigSubSType ( "ArSemAbsAAOM2" )
			)

			SignalSubObj ( 3
				"LINK1"
				"Link Heads."
				SigSubType ( LINK1)
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 4
				"USER4"
				"Show Restricting Speed."
				SigSubType ( USER4 )
				SignalFlags ( OPTIONAL )
			)
		)
	)
SignalShape (
		"EnanaCircular.s"
		"Senal Enana Circular"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Absoluta 1"
				SigSubType ( SIGNAL_HEAD )
				SigSubJnLinkIf ( 1 1 )
				SigSubSType ( "SenalEnCir" )
			)
			SignalSubObj ( 1
				"LINK1"
				"Link Heads."
				SigSubType ( LINK1)
				SignalFlags ( OPTIONAL )
			)
		)
	)
	SignalShape (
		"EnanaDoble.s"
		"Señal Enana Doble"
		SignalSubObjs ( 4
			SignalSubObj ( 0
				"HEAD1"
				"Signal Head 1"
				SigSubType ( SIGNAL_HEAD )
				SigSubJnLinkIf ( 1 2 )
				SigSubSType ( "ArSemAbsAAOM2" )
			)
			SignalSubObj ( 1
				"HEAD2"
				"Signal Head 2"
				SigSubType ( SIGNAL_HEAD )
				SigSubJnLinkIf ( 1 2 )
				SigSubSType ( "ArSemAbsAAOM2" )
			)
			SignalSubObj ( 2
				"LINK1"
				"Link Heads."
				SigSubType ( LINK1)
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 3
				"USER4"
				"Show Restricting Speed."
				SigSubType ( USER4 )
				SignalFlags ( OPTIONAL )
			)
		)
	)
	SignalShape (
		"senalA.s"
		"Senal absoluta"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Home arm"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( OPTIONAL DEFAULT )				
				SigSubSType ( "UKSemHome" )
			)
		)
	)
	SignalShape (
		"senalD.s"
		"Senal de distancia"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Distance arm"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemDist" )
			)
		)
	)
		SignalShape (
		"senalAD.s"
		"Senal absoluta y distancia"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Senal Principal"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemHome" )
			)
			SignalSubObj ( 1
				"HEAD2"
				"Senal Auxiliar"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemDist" )
			)
		)
	)
		SignalShape (
		"senalO.s"
		"Senal Desvio"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Senal Desvio"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemHome" )
			)
		)
	)
	SignalShape (
		"senalM.s"
		"Senal Maniobras"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Senal Maniobras"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemHome" )
			)
		)
	)	
	SignalShape (
		"senalMpie.s"
		"Senal Maniobras"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Senal Maniobras"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemHome" )
			)
		)
	)	
		SignalShape (
		"senalApie.s"
		"Portal - Senal Absoluta"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Senal Principal"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemHome" )
			)
		)
	)
	
		SignalShape (
		"senalOpie.s"
		"Portal - Senal Desvío"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Senal Desvio"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemHome" )
			)
		)
	)
		SignalShape (
		"senalDpie.s"
		"Portal - Senal distancia"
		SignalSubObjs ( 1
			SignalSubObj ( 0
				"HEAD1"
				"Senal distancia"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemDist" )
			)
		)
	)
		SignalShape (
		"senal_I_D.s"
		"Senal I - D"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
			SignalShape (
		"senal_D_I.s"
		"Senal D - I"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Izquierdo"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Derecho"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
	
		SignalShape (
		"senalAA.s"
		"Senal Abs Abs"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
		SignalShape (
		"senalAApie.s"
		"Portal - Senal Abs Abs"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
		SignalShape (
		"senalAMpie.s"
		"Portal - Senal Abs Maniobras"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
		SignalShape (
		"senalAM.s"
		"Senal Abs Maniobras"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
		SignalShape (
		"senalAOpie.s"
		"Portal - Senal Abs Desvio"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
		SignalShape (
		"senalAO.s"
		"Senal Abs Desvio"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Superior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Inferior"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )

			)			
		)
	)
		SignalShape (
		"senalADpie.s"
		"Portal - Senal Abs Dist"
		SignalSubObjs ( 2
			SignalSubObj ( 0
				"HEAD1"
				"Brazo Superior"
				SigSubType ( SIGNAL_HEAD )			
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Brazo Inferior"
				SigSubType ( SIGNAL_HEAD )
				SigSubSType ( "UKSemDist" )

			)			
		)
	)
		SignalShape (
		"senalAAO.s"
		"Senal Abs Abs Desvio"
		SignalSubObjs ( 3
			SignalSubObj ( 0
				"HEAD1"
				"Absoluta 1"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Absoluta 2"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			)	
			SignalSubObj ( 2
				"HEAD3"
				"Desvio"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			)					
		)
	)
		SignalShape (
		"senalAAM.s"
		"Senal Abs Abs Maniobras"
		SignalSubObjs ( 3
			SignalSubObj ( 0
				"HEAD1"
				"Absoluta 1"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Absoluta 2"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			)	
			SignalSubObj ( 2
				"HEAD3"
				"Maniobras"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			)					
		)
	)
		SignalShape (
		"senalAAA.s"
		"Senal Abs Abs Abs"
		SignalSubObjs ( 3
			SignalSubObj ( 0
				"HEAD1"
				"Absoluta 1"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
				)
			SignalSubObj ( 1
				"HEAD2"
				"Absoluta 2"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			)	
			SignalSubObj ( 2
				"HEAD3"
				"Absoluta 3"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( JN_LINK )				
				SigSubSType ( "UKSemHome" )
			)					
		)
	)
)

ScriptFiles (
	ScriptFile ( sigscr.dat )
     ScriptFile ( sigscr_A1.dat )
     ScriptFile ( sigscr-mec.dat )
     ScriptFile ( sigscr-UK-RI.dat )
     ScriptFile ( sigscr_enanas.dat )
)	


I don't know where to put the new script information, as it doesn't have a value that contains the word OCCUPIED.

Thanks!

  • 8 Pages +
  • « First
  • 3
  • 4
  • 5
  • 6
  • 7
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users