![]() |
Om det här är ditt första besök, se till att gå till vår FAQ (finns även länk till FAQ i navigeringsmenyn ovan). Du kan behöva att registrera dig innan du kan posta (finns även en länk till registrering i navigeringsmenyn ovan). För att titta på inlägg, välj det forum som du vill besöka från de som är listade nedan. |
|
Registrera | Members Area | FAQ | Medlemslista | Community-ware/Modell-shop | Sök | Dagens inlägg | Markera forum som lästa |
|
Ämnesverktyg | Visningsalternativ |
![]() |
#34 |
Medlem
Reg.datum: Feb 2012
Inlägg: 1 378
|
![]()
Efter mycket misslyckande försök så valde ajg att skapa en ny Signal state, STATE_SLOWER.
Vid DefaultSetLights() (rad 96-126) så lade jag till raderna för signalbilden STATE_SLOWER: HTML-kod:
-- Swedish home signals SetLights -- Switch the appropriate lights on and off based on our new state function DefaultSetLights() -- DebugPrint("DefaultSetLights()") if (gSignalState == STATE_GO) then SwitchLight( LIGHT_NODE_GREEN, 1 ) SwitchLight( LIGHT_NODE_RED, 0 ) SwitchLight( LIGHT_NODE_GREEN2, 0 ) SwitchLight( LIGHT_NODE_WHITE, 0 ) SwitchLight( LIGHT_NODE_GREEN3, 0 ) elseif (gSignalState == STATE_SLOW) then SwitchLight( LIGHT_NODE_GREEN, 1 ) SwitchLight( LIGHT_NODE_RED, 0 ) SwitchLight( LIGHT_NODE_GREEN2, 1 ) SwitchLight( LIGHT_NODE_WHITE, 0 ) SwitchLight( LIGHT_NODE_GREEN3, 0 ) elseif (gSignalState == STATE_SLOWER) then SwitchLight( LIGHT_NODE_GREEN, 1 ) SwitchLight( LIGHT_NODE_RED, 0 ) SwitchLight( LIGHT_NODE_GREEN2, 1 ) SwitchLight( LIGHT_NODE_WHITE, 0 ) SwitchLight( LIGHT_NODE_GREEN3, 1 ) else -- stop or blocked SwitchLight( LIGHT_NODE_GREEN, 0 ) SwitchLight( LIGHT_NODE_RED, 1 ) SwitchLight( LIGHT_NODE_GREEN2, 0 ) SwitchLight( LIGHT_NODE_WHITE, 0 ) SwitchLight( LIGHT_NODE_GREEN3, 0 ) end end HTML-kod:
STATE_SLOWER = 4 HTML-kod:
elseif Call("GetLinkFeatherChar", gConnectedLink) == 51 then if Call ( "GetLinkApproachControl", gConnectedLink ) ~= 0 then -- Check if next signal is at red, show a slow signal if that is the case. if (gExpectState == STATE_GO) or (gExpectState == STATE_SLOW) then newSignalState = STATE_GO else newSignalState = STATE_SLOWER end elseif Call ( "GetLinkLimitedToYellow", gConnectedLink ) ~= 0 then -- diverging route, signal slow newSignalState = STATE_SLOWER end elseif Call ( "GetLinkApproachControl", gConnectedLink ) ~= 0 then -- Check if next signal is at red, show a slow signal if that is the case. if (gExpectState == STATE_GO) or (gExpectState == STATE_SLOW) then newSignalState = STATE_GO else newSignalState = STATE_SLOW end elseif Call ( "GetLinkLimitedToYellow", gConnectedLink ) ~= 0 then -- diverging route, signal slow newSignalState = STATE_SLOW end Nedanför denna kodsnutt (rad 454) så lade jag in denna del: HTML-kod:
if newSignalState ~= gSignalState then DebugPrint("SetSignalState() - signal state changed from " .. gSignalState .. " to " .. newSignalState .. " - sending message" ) gSignalState = newSignalState SetLights() if gSignalState >= STATE_STOP then Call( "Set2DMapSignalState", STATE_STOP) else if gSignalState == STATE_SLOWER then Call( "Set2DMapSignalState", STATE_SLOW) else Call( "Set2DMapSignalState", gSignalState) end end if gSignalState == STATE_BLOCKED and not gBlockSignal then Call( "SendSignalMessage", SIGNAL_STOP, "BLOCKED", -1, 1, 0 ) else if gSignalState == STATE_SLOWER then Call( "SendSignalMessage", SIGNAL_GO + STATE_SLOW, "", -1, 1, 0 ) else Call( "SendSignalMessage", SIGNAL_GO + gSignalState, "", -1, 1, 0 ) end end end Dock lyckas jag inte lura kartan. Den visar en röd prick istället för gul. Men det får nog vara så, antar jag. Filen finns på Github om någon vill testa.
__________________
Mvh SummerADDE Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen. Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024. Senast redigerad av ADDE den 2022-01-17 klockan 03:13. |
![]() |
![]() |
Ämnesverktyg | |
Visningsalternativ | |
|
|