|
| 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: Feb 2012
Inlägg: 1 385
|
Citat:
Citat:
Citat:
Citat:
Jag försöker väl ändå få fram "one size fits all" med möjligheter att skapa rätt signalbilder för rätt tågväg. Och då tror jag att konfigurera signalerna genom att bocka i rätt rutor eller skriva in commands hade varit en passande metod. Om de itne är justerade så beter de sig som vanligt... Citat:
Kod:
Är jag inte helt ute och cyklar så gäller alla körsignaler i huvudsignal (dvs alla former av grönt i huvudljus- eller huvuddvärg-) bara för tågväg. För att ledas in på en bangård, på spår där det kan stå andra fordon, handlar det om en växlingsväg. Då är det stopp i huvudsignalen medan en växlingsdvärgsignal kan visa att rörelse är tillåten (lodrätt, eller snett vänster om det finns hinder). Mycket att hålla reda på och se över. Det här är väl min arbetsplan över signalerna: -Få in alla egenskaper jag vill ha med i H5, lägg in de som blir applicerbart i H2-H4 också. -Få in alla egenskaper jag vill ha med i DV6, DV7, DV5 och stopplyktan i tågväg. -Få in alla egenskaper för växling och se vilka signalbilder som är applicerbart i olika situationer i simulatorn. (t.ex. när ska "Kör varsamt, kontrollera växlar" gälla? om dvärgens länkar passerar minst en klotväxel?) samt få med "Kontakta tågklarerare att köra mot stop"-funktionen i våra svenska signaler. -Få in scriptet för dvärgsignalerna i huvudsignalerna, främst så både en objekt innehållandes en huvudsignal och en DV4 kan fungera ihop. --Det blir mycket jobb, har jag nämnt att få stationssignaturerna att fugnera?
__________________
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. |
|||||
|
|
|
|
|
#2 |
|
Medlem
Reg.datum: Apr 2007
Inlägg: 819
|
Jag ser förstås på detta utifrån perspektivet att jag har en rutt med hundratals signaler utplacerade, så om jag ska ha någon nytta av ditt projekt så måste
1) signalerna som redan finns i rutten fortfarande fungera och 2) nya signaler kunna användas tillsammans med signalerna som finns i rutten. Ett sätt att lösa det är att de nya signalerna har script som är helt kompatibla med de gamla. En nackdel med detta skulle kunna vara att det visar sig att man inte kan få den funktionalitet man vill om man är begränsad i hur de nya signalerna ska programmeras. Men än så länge verkar det ju som att signalerna du jobbar på i grunden har samma script som de gamla, så de borde fungera tillsammans. Ett annat sätt är att byta ut scripten för de gamla signalerna. Då kan man få ny funktionalitet för de signaler som redan finns placerade i rutten utan att behöva gå in och placera ut varje signal på nytt. Vissa signaler kommer man antagligen behöva gå in och ändra egenskaper för. Jag körde fast ordentligt när jag försökte få DV4 att fungera utan att "fastna" när tåg har passerat. Möjligen måste man ändra i scripten för andra signaler så att rätt signalmeddelanden tillåts passera och inte "äts upp" av "fel" signal. Håller tummarna för att du kan fixa det! Att få en användbar stopplykta skulle också vara trevligt. Som den funkar nu är det ganska begränsat var man kan ha den utan att det blir problem med andra signaler. Sen finns det en massa andra signaler som vore kul att ha, men de kräver nog en del 3D-jobb och inte "bara" scriptning. Jag tänker på repetersignal, riktningssignaler, A-signaler, signaler med avvikande utformning (som söderut från Cst där det röda skenet är näst längst ner i en 5-skenare). Som sagt, håller tummarna!
|
|
|
|
|
|
#3 |
|
Medlem
Reg.datum: Feb 2012
Inlägg: 1 385
|
Jo, jag förstår hur du tänker. De gamla signalerna som redan är utplacerade tänker jag inte röra. varför laga något som fungerar? Scriptet jag ändrar på kommer däremot ändra på signalerna som finns i SwedenV2 till att ha de nya egenskaperna.
Så som jag förstår det så är det att så länge newSignalState = STATE_GO, STATE_SLOW, STATE_STOP eller STATE_BLOCKED så kommer föregående signal att förstå nästa signal då gSignalState hämtar newSignalState från framförvarande signal. Där funderar jag på att lägga in något hos huvuddvärgarna som säger något i stil med OM STATE_GO, så gExpectState = newSignalState och så skickas det bakåt så att säga... något i den stilen. Iaf. tillbaka till H5:an. Jag tog bort scriptet som berörde bangårdssignalerna och istället så gav jag det en ny egenskap: Kod:
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 Funktionen är applicerbar i H3-H5 och gör bra nytta med checkboxen. Återstår då Röd=Röd samt Kör40, kort avstånd kvar...
__________________
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 2020-12-29 klockan 15:57. |
|
|
|
|
|
#4 | |
|
Medlem
Reg.datum: Feb 2012
Inlägg: 1 385
|
Note to self: https://forums.dovetailgames.com/thr...er-docs.16740/
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. Senast redigerad av ADDE den 2020-12-29 klockan 18:41. |
|
|
|
|
|
|
#5 |
|
Medlem
Reg.datum: Feb 2012
Inlägg: 1 385
|
Jag har nu bemästrat funktionen "GetLinkFeatherChar" och till en början fått till 3 gröna (Kör 40, kort tågväg)
I function BaseInitialise() så lade jag till följande rader. Kod:
-- Get link character and store it as "gIndicator".
gLinkFeatherChar = 0
gIndicator = ""
-- If we're connected to a valid link and the signal isn't red
if gConnectedLink > 0 then
-- Check what indicator (if any) is used by that route
gLinkFeatherChar = Call("GetLinkFeatherChar", gConnectedLink)
-- If route has a valid indicator, turn its ID into a string
if gLinkFeatherChar ~= 0 then
gIndicator = string.char(gLinkFeatherChar)
else
gIndicator = ""
end
end
Sen längst ner i SetSignalState() lade jag till följande rader: Kod:
if (gIndicator == "K") or (gIndicator == "k") then gLightOn = 1 else gLightOn = 0 end Kod:
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, gLightOn ) Det var ett h-vete, men man lär sig varje dag! ![]() EDIT: Det innehåller lite buggar, det uppdateras inte i realtid, fel signalbild kan visas. :/
__________________
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 2021-01-02 klockan 18:23. |
|
|
|
|
|
#6 | |
|
Medlem
Reg.datum: Apr 2007
Inlägg: 819
|
Smart! Med den lösningen borde man ju inte behöva så många specialvarianter (typ Jö 128) utan man borde kunna använda samma signaltyp i de flesta situationer.
Citat:
).Hur går det med DV4-signalen? Det är ändå det mest störande signalproblemet just nu (iaf i områden med många spår och många dvärgar). ![]() Ett annat område som skulle behöva ses över är hur vägskydden fungerar. Kort sagt så funkar det bra om man har ett typiskt enkel- eller dubbelspår på linje, men om vägskyddet ligger så att det finns växlar mellan korsningen och ringsträckans början så blir det ofta fel med nuvarande script. Det kanske inte är möjligt att lösa så det blir 100% realistiskt men det vore kul om det kunde förbättras. |
|
|
|
|
|
|
#7 |
|
Medlem
Reg.datum: Feb 2012
Inlägg: 1 385
|
- Jadu, det är något som ligger i det. Jag upptäckte att signalen läser endast av den första a-rutan och agerar på det. skulle jag skriva "K" för länk 2 så visas signalen bara KÖR 40 istället för KÖR 40, kort tågväg till länk 2.
- Jag tänkte börja jobba med DV-signalerna när jag är klar med H5:an. - Jag försökte prova på vägskydden på samma vis som DTG har gjort på senare tid, men när jag bytte ut en brittisk varningssignal mot X12 så kraschar spelet när rutten ska läsas in. Jag tänkte jobba även med detta mera men det får ske lite senare. (Finns en okrypterad lua-fil som behandlar vägskylten i kuju-mappen faktiskt.) En sak i taget, helt enkelt.
__________________
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: Feb 2012
Inlägg: 1 385
|
I väntan på er feedback kring bommarna så experimenterade jag vidare med H5:an.
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. |
|
|
|
|
|
|
#9 |
|
Medlem
Reg.datum: Feb 2012
Inlägg: 1 385
|
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 | |
|
|