Signal
1 Entry Points
OnTrain()
Function is called when a train passes the signal.
- Object Train is automatically declared and may be used to access the train object.
- Object Signal is also declared and may be used to access the signal.
OnSetLamps()
Function is called when the state of the signal changes and the signal is in view or when the signal comes into view and the state has changed. Thus this function is called when the lamp colours / states may need to be changed.
OnSignalCanRouteTo()
Function is called when another signal tries to lock a route to the signal. The script may return false
to prevent the route being set or true
to allow the route.
OnSignalCanClear()
Function is called when a signal is about to set a route (And normal conditions for route setting have been met) The script may return false
to prevent the route being set or true
to allow the route.
2 Functions
float GetX(void)
float GetY(void)
returns position of signal.
string GetType(void)
void SetType(string)
returns type of the signal or sets signal type
int IsOn(void)
int IsCau(void)
int IsCau2(void)
int IsJct(void)
int IsJct2(void)
int IsShunt(void)
return state of signal true/false
int IsClear(void)
returns true if signal is completely clear, ie not jct and not Cau etc
int IsHidden(void)
returns true if signal is a hidden signal.
void SetLamp(int LampID,int r,int g,int b,int f)
Sets state of lamp specified by LampNum (from 1 to n) to colour r/g/b and flashing on/off (f).
void UnsetLamp(int LampID)
Clears setting of state of lamp specified by LampNum. Control of the lamp reverts to normal state table.
void SetArm(int ArmID,int angle)
Sets position of specified arm (semaphore signals).
void UnsetArm(int ArmID)
Clears setting of arm position. Control of the lamp reverts to normal state table.
signal NextSignal(void)
Returns the next signal.
Note that there is not always a next signal, for example if the signal is on the next signal is not set.
signal PrevSignal(void)
Build 102.3 onwards
Returns the previous signal.
Note that there is not always a previous signal, and this is only designed to work on plain line, so signals on junction routes may not be returned.
SetLockThrough(bool);
Sets the signal into lock through mode (true) or not lock through mode (false).
Bool IsLockThrough(void)
Returns true if the signal is in lock through mode.
SetHold(bool);
Sets the signal into hold mode (true) or not hold mode (false).
ResetHoldCount(void);
Resets the number of releases on the signal to zero
bool IsHold(void);
returns true if the signal is a hold signal
int GetHold(void);
returns current release count for a hold signal
string GetID();
void SetID(string);
Gets or sets signal id string
float GetDistance(train);
returns the distance between the signal and an approaching train.
link GetRearLink(void);
link GetAdvanceLink(void);
returns a link object for the track section immediately in advance of (ahead) or rear of (before) the signal.
string GetRouteLabel(void);
returns the name of any Route Tag found on the signals set route.
float GetRouteLimit(void);
returns the lowest link speed limit on the signal’s set route (or zero if no limit applies)
See Also
MRG 14/12/2013 09:46:43