![]() |
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 |
|
![]() |
#1 |
Medlem
Reg.datum: Apr 2007
Inlägg: 816
|
![]()
Intressant! Den funktionen hade passat bra på en del ställen runt Stockholm, där det finns flera spår från samma växel med STH 80 eller mer.
Har du provat att det funkar som avsett? (Har själv upptäckt att signalscripten kan överraska ibland med hur det funkar!) |
![]() |
![]() |
![]() |
#2 |
Medlem
Reg.datum: Feb 2012
Inlägg: 1 378
|
![]()
Yess, Jag skapade en H5:a med 10 länkar, bockade i "Limited aspect" på var annan länk, ställde ett extra lok på ett av spåren, och signalen gav 1 grön + 1 vitblink vid de som inte var bockade och 2 gröna till de spår som jag har bockat i. (och röd för spåret där lok 2 stod.) så det fungerar som avsett.
__________________
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. |
![]() |
![]() |
![]() |
#3 |
Medlem
Reg.datum: Feb 2012
Inlägg: 1 378
|
![]()
Bangårdssignalerna är porgrammerade att tågväg ovanför länk 6 (som KMW beskrev användes för bangårdslänk) ignorerade om det fanns tåg på spårsträckan dessa länkar ledde till.
Well, nu kan man styra detta också genom att bocka i "Approach control". Är detta ibockat så visar signalen KÖR40 oavsett om det står ett tåg på nästkommande blocksträcka eller ej. Observera att du kan inte bocka i både "Limited aspect" eller "Approach control" i TS, utan endast välja emellan dem. Då signalen visade Kör40 även i det gamla scriptet så var det detta jag tog efter mig i det nuvarande. Följande förändringar gjorde jag i SE H5 Signal.lua för att få till effekten: Vid BASE Initialise (ungefär rad 209) så bytte jag ut Kod:
-- Initialise global variables gLinkCount = Call( "GetLinkCount" ) -- number of links this signal has gLinkState = {} -- state of line beyond this link gYardEntry = {} -- is this link going inside a yard? gDissabled = {} -- is this link dissabled? gOccupationTable = {} -- how many trains are in this part of our block? for link = 0, gLinkCount - 1 do gLinkState[link] = STATE_GO gYardEntry[link] = (link > 6) -- links without numbers (>6) are yard entry gDissabled[link] = false gOccupationTable[link] = 0 end Call("BeginUpdate") end Kod:
-- Initialise global variables gLinkCount = Call( "GetLinkCount" ) -- number of links this signal has gLinkState = {} -- state of line beyond this link gYardEntry = {} -- is this link going inside a yard? gDissabled = {} -- is this link dissabled? gOccupationTable = {} -- how many trains are in this part of our block? for link = 0, gLinkCount - 1 do gLinkState[link] = STATE_GO gYardEntry[link] = (link == -1) -- links not checked as "Approac control" are not yard entry gDissabled[link] = false gOccupationTable[link] = 0 end Call("BeginUpdate") end Nere vid SET SIGNAL STATE (rad 404), ungefär här: Kod:
-------------------------------------------------------------------------------------- -- SET SIGNAL STATE -- Figures out what state to show and messages to send function SetSignalState() local newSignalState = STATE_GO if gBlockSignal then if gOccupationTable[0] > 0 and gGoingForward then newSignalState = STATE_STOP elseif gOccupationTable[0] > 0 or gLinkState[0] == STATE_BLOCKED then newSignalState = STATE_BLOCKED end Kod:
elseif Call ( "GetLinkApproachControl", gConnectedLink ) ~= 0 then -- yard entry, signal slow for link = 0, gLinkCount - 1 do gYardEntry[link] = (link == gConnectedLink) end newSignalState = STATE_SLOW Att placera den där har nog att göra med ordningen om hur koden läses in, lägg inte det sist för då kommer de andra villkoren läsas in före och signalen slås om till rött istället. (OM villkor 1 uppfylls, gör detta ANNARS OM villkor 2 uppfylls gör detta, ANNARS gör detta SLUT.) Jag är inte klar, jag ska se om man kan göra signaler flexiblare genom att skriva in ett tecken i "Character"-fältet (ser ut som ett A). På så vis kan man konfigurera olika signalbilder för varje tågväg (t.ex. Kör40, kort tågväg t.ex.) Och inte bara det. sen kommer dvärgsignalerna, hehe...
__________________
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. |
![]() |
![]() |
![]() |
#4 |
Medlem
Reg.datum: Feb 2012
Inlägg: 1 378
|
![]()
Lite pseudokod för hur jag ska approacha det här:
OM Tecken är S och Nästa h-signal visar STOPP GÖR: -Visa STOPP (H2-H5) OM Tecken är K eller 4 och Nästa h-signal visar STOPP GÖR: -Visa KÖR 40, Kort tågväg (STATE_SLOW) (H5) OM Tecken är N eller 5 och Nästa h-signal visar STOPP GÖR: -Visa KÖR 40 (STATE_SLOW) (H3-H5) OM Tecken är R, 4 eller 5 och Nästa h-signal visar KÖR 40 eller KÖR 40, Kort tågväg GÖR: -Visa KÖR, Vänta Stopp (H3-H5) Kolla om signalen tillåter att man kan köra mot rött efter att ha kontaktat tågklareraren.
__________________
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. |
![]() |
![]() |
![]() |
#5 |
Medlem
Reg.datum: Apr 2007
Inlägg: 816
|
![]()
Kul att du tar tag i de svenska signalerna!
![]() Är inte tanken med "approach control" att det är en signal som saktar ner ankommande tåg mot en sidotågväg? T.ex. i UK att signalerna visar 2 gula -> 1 gul -> stopp, men att sista signalen slår om till körsignal med avvikande tågväg när ankommande tåg har fått ner farten genom de restriktiva beskeden 2 gula / 1 gul. Eller har jag missuppfattat något? Kanske går det att använda approach control i skripten för andra syften? Jag tänker att mot en bangård (dvs där du vill kunna köra in på spår även om det står fordon där) så tror jag egentligen att huvudsignal alltid ska visa stopp. Dvärgsignal, antingen som en separat medgivandedvärg, eller som del av en huvuddvärgsignal, visar om rörelse är tillåten för växlingsrörelser. Detta har jag försökt simulera på några ställen på Jönköpingsbanan, kolla t.ex. infarterna till Tomteboda, Hagalund eller Jönköpings gbg, där det står huvuddvärgsignaler som alltid visar "stopp" i huvudsignaldelen, men där dvärgsignalen kan visa olika besked. (Till Tomteboda visa den alltid "snett höger" som kan anas här, eftersom bangården inte är signalreglerad.) Rent scriptmässigt är dessa signaler programmerade så att de är i "state slow" för jag kunde inte lista ut något bättre sätt. Men det borde ju gå att programmera dem så att man kan få tillstånd att passera från tågklareraren. Det verkar ju som att du börjar bli varm i kläderna med scripten, så titta gärna på hur man kan få DV4-signalerna att fungera bättre. De "fastnar" ju i "snett vänster" när tåg har passerat, även när nästa signalsträcka har blivit fri. Det enda sättet jag har fått det att funka är att programmera DV4 som en huvudsignal, men då blir det fel mot alla andra huvudsignaler så det går inte att ha det så. Men det borde gå på nåt sätt tycker jag! Det handlar "bara" om att få signalen att ta hänsyn till när signalsträckan har blivit fri igen. |
![]() |
![]() |
![]() |
#6 | ||||
Medlem
Reg.datum: Apr 2007
Inlägg: 816
|
![]()
Ska se om jag är med på hur du tänker:
Citat:
Citat:
Citat:
Citat:
Däremot har jag förstått att man gör skillnad mellan huvudljussignaler och huvuddvärgsignaler i vissa fall (de är dock båda huvudsignaler). Om nästa huvudljussignal visar stopp ska föregående försignal (i huvudljussignal, huvuddvärgsignal eller fristående försignal) visa "vänta stopp". Alltså: Hsi (kör, vänta stopp) -> Hdvsi (kör, vänta stopp) -> Hsi (stopp) ELLER Hsi (kör, vänta kör) -> Hsi (kör, vänta stopp) -> Hsi (stopp) MEN INTE Hsi (kör, vänta kör) -> Hdvsi (kör, vänta stopp) -> Hsi (stopp) Kanske det går att simulera? Kruxet är väl att då måste Hsi veta vad "nästnästa" signal visar om det står en Hdvsi mellan två Hsi. |
||||
![]() |
![]() |
![]() |
#7 | ||
Medlem
Reg.datum: Feb 2012
Inlägg: 1 378
|
![]() Citat:
Citat:
__________________
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. |
||
![]() |
![]() |
![]() |
#8 | ||
Medlem
Reg.datum: Apr 2007
Inlägg: 816
|
![]() Citat:
Har du flera hsi i följd så borde de alltså visa "kör 40" om det är mindre än 800 m till stoppsignal. Citat:
Kanske någon av forumets signalexperter som kan reda ut detta närmare? ![]() |
||
![]() |
![]() |
![]() |
Ämnesverktyg | |
Visningsalternativ | |
|
|