Svenska 3D-Tåg - Forum

Svenska 3D-Tåg - Forum (http://www.e-buzz.se/forum/index.php)
-   3D-design - DTG - Train Simulator (http://www.e-buzz.se/forum/forumdisplay.php?f=48)
-   -   Modernisering av svenskt signalpaket (http://www.e-buzz.se/forum/showthread.php?t=37550)

ADDE 2020-04-19 21:50

Modernisering av svenskt signalpaket
 
1 bifogad(e) fil(er)
Hej! Jobbar på att organisera namnen och filstrukturen av alla signalskyltar. De kommer vara nya skyltar/dubletter som ska organiseras i egna mappar och med bättre översikt.

Jag får också in nya funktioner i skyltarna. En moderniserad script för svenska övergångar är i pipeline, men just nu jobbar jag på länkade ljudsignalstavlor, en ny funktion som introducerades för inte så länge sedan...

Problemet är att tavlorna är bak-o-fram. Om jag hittar en lösning så de visas åt rätt håll så släpper jag en beta.

ADDE 2020-04-20 22:33

Hittar ingen lösning. Släpper kodsnutten här, så får nån kika och se om ni hittar en lösning på hur man roterar...

HTML-kod:

<?xml version="1.0" encoding="utf-8"?>
<cBlueprintLoader xmlns:d="http://www.kuju.com/TnT/2003/Delta" d:version="1.0">
        <Blueprint>
                <cWhistleSignBlueprint>
                        <Name d:type="cDeltaString">Whistle_Sign_Interactive</Name>
                        <BrowseInformation>
                                <iBrowseableBlueprint-cBrowseInformation>
                                        <DisplayName>
                                                <Localisation-cUserLocalisedString>
                                                        <English d:type="cDeltaString">SE sign Ljudsignaltavla 2 (Länkad)</English>
                                                        <French d:type="cDeltaString"></French>
                                                        <Italian d:type="cDeltaString"></Italian>
                                                        <German d:type="cDeltaString"></German>
                                                        <Spanish d:type="cDeltaString"></Spanish>
                                                        <Dutch d:type="cDeltaString"></Dutch>
                                                        <Polish d:type="cDeltaString"></Polish>
                                                        <Russian d:type="cDeltaString"></Russian>
                                                        <Other/>
                                                        <Key d:type="cDeltaString"></Key>
                                                </Localisation-cUserLocalisedString>
                                        </DisplayName>
                                        <Description>
                                                <Localisation-cUserLocalisedString>
                                                        <English d:type="cDeltaString"></English>
                                                        <French d:type="cDeltaString"></French>
                                                        <Italian d:type="cDeltaString"></Italian>
                                                        <German d:type="cDeltaString"></German>
                                                        <Spanish d:type="cDeltaString"></Spanish>
                                                        <Dutch d:type="cDeltaString"></Dutch>
                                                        <Polish d:type="cDeltaString"></Polish>
                                                        <Russian d:type="cDeltaString"></Russian>
                                                        <Other/>
                                                        <Key d:type="cDeltaString"></Key>
                                                </Localisation-cUserLocalisedString>
                                        </Description>
                                        <Category d:type="cDeltaString">eTrackInfrastructure</Category>
                                        <ValidInScenarios d:type="cDeltaString">eTrue</ValidInScenarios>
                                </iBrowseableBlueprint-cBrowseInformation>
                        </BrowseInformation>
                        <Posori>
                                <cPosOriBlueprint/>
                        </Posori>
                        <Scenery>
                                <cSceneryRenderBlueprint>
                                        <PrimaryNamedTextureSet>
                                                <iBlueprintLibrary-cAbsoluteBlueprintID>
                                                        <BlueprintSetID>
                                                                <iBlueprintLibrary-cBlueprintSetID>
                                                                        <Provider d:type="cDeltaString"></Provider>
                                                                        <Product d:type="cDeltaString"></Product>
                                                                </iBlueprintLibrary-cBlueprintSetID>
                                                        </BlueprintSetID>
                                                        <BlueprintID d:type="cDeltaString"></BlueprintID>
                                                </iBlueprintLibrary-cAbsoluteBlueprintID>
                                        </PrimaryNamedTextureSet>
                                        <SecondaryNamedTextureSet>
                                                <iBlueprintLibrary-cAbsoluteBlueprintID>
                                                        <BlueprintSetID>
                                                                <iBlueprintLibrary-cBlueprintSetID>
                                                                        <Provider d:type="cDeltaString">newS</Provider>
                                                                        <Product d:type="cDeltaString">sweden</Product>
                                                                </iBlueprintLibrary-cBlueprintSetID>
                                                        </BlueprintSetID>
                                                        <BlueprintID d:type="cDeltaString"></BlueprintID>
                                                </iBlueprintLibrary-cAbsoluteBlueprintID>
                                        </SecondaryNamedTextureSet>
                                        <GeometryID d:type="cDeltaString">newS\sweden\RailNetwork\signs\[00]sign-hupen02</GeometryID>
                                        <CollisionGeometryID d:type="cDeltaString"></CollisionGeometryID>
                                        <Pickable d:type="cDeltaString">eTrue</Pickable>
                                        <CastsShadows d:type="cDeltaString">eTrue</CastsShadows>
                                        <ShadowType d:type="cDeltaString">eShadowType_Blobby</ShadowType>
                                        <ViewType d:type="cDeltaString">ExternalView</ViewType>
                                        <Palettised d:type="cDeltaString">eFalse</Palettised>
                                        <Palette0Index d:type="sInt32">-1</Palette0Index>
                                        <Palette1Index d:type="sInt32">-1</Palette1Index>
                                        <Palette2Index d:type="sInt32">-1</Palette2Index>
                                        <HeatHaze/>
                                        <TexText/>
                                        <ProjectedLightElement/>
                                        <Instancable d:type="bool">0</Instancable>
                                        <DetailLevelGenerationRange>
                                                <cSceneryRenderBlueprint-sDetailLevelGenerationRange>
                                                        <HighestLevel_1isHighest d:type="sInt32">1</HighestLevel_1isHighest>
                                                        <LowestLevel_10isLowest d:type="sInt32">10</LowestLevel_10isLowest>
                                                </cSceneryRenderBlueprint-sDetailLevelGenerationRange>
                                        </DetailLevelGenerationRange>
                                </cSceneryRenderBlueprint>
                        </Scenery>
                        <WhistleSign>
                                <cWhistleSignComponentBlueprint/>
                        </WhistleSign>
                        <Container>
                                <cEntityContainerBlueprint>
                                        <TrackTerrainInEditor d:type="bool">2</TrackTerrainInEditor>
                                        <Children/>
                                </cEntityContainerBlueprint>
                        </Container>
                </cWhistleSignBlueprint>
        </Blueprint>
</cBlueprintLoader>


ADDE 2020-04-20 22:35

SIgnal på stolpe
 
1 bifogad(e) fil(er)
Försöker även få en H3:a att sitta på en stolpe, men får bara fram stolpen, se bild.

Källkod:

HTML-kod:

<?xml version="1.0" encoding="utf-8"?>
<cBlueprintLoader xmlns:d="http://www.kuju.com/TnT/2003/Delta" d:version="1.0">
        <Blueprint>
                <cSignalBlueprint>
                        <Name d:type="cDeltaString">SEV2 H3 DV4</Name>
                        <BrowseInformation>
                                <iBrowseableBlueprint-cBrowseInformation>
                                        <DisplayName>
                                                <Localisation-cUserLocalisedString>
                                                        <English d:type="cDeltaString">SEV2 H3 DV4</English>
                                                        <French d:type="cDeltaString"></French>
                                                        <Italian d:type="cDeltaString"></Italian>
                                                        <German d:type="cDeltaString"></German>
                                                        <Spanish d:type="cDeltaString"></Spanish>
                                                        <Dutch d:type="cDeltaString"></Dutch>
                                                        <Polish d:type="cDeltaString"></Polish>
                                                        <Russian d:type="cDeltaString"></Russian>
                                                        <Other/>
                                                        <Key d:type="cDeltaString"></Key>
                                                </Localisation-cUserLocalisedString>
                                        </DisplayName>
                                        <Description>
                                                <Localisation-cUserLocalisedString>
                                                        <English d:type="cDeltaString"></English>
                                                        <French d:type="cDeltaString"></French>
                                                        <Italian d:type="cDeltaString"></Italian>
                                                        <German d:type="cDeltaString"></German>
                                                        <Spanish d:type="cDeltaString"></Spanish>
                                                        <Dutch d:type="cDeltaString"></Dutch>
                                                        <Polish d:type="cDeltaString"></Polish>
                                                        <Russian d:type="cDeltaString"></Russian>
                                                        <Other/>
                                                        <Key d:type="cDeltaString"></Key>
                                                </Localisation-cUserLocalisedString>
                                        </Description>
                                        <Category d:type="cDeltaString">eTrackInfrastructure</Category>
                                        <ValidInScenarios d:type="cDeltaString">eFalse</ValidInScenarios>
                                </iBrowseableBlueprint-cBrowseInformation>
                        </BrowseInformation>
                        <_posori>
                                <cPosOriBlueprint/>
                        </_posori>
                        <_object>
                                <cSceneryRenderBlueprint>
                                        <PrimaryNamedTextureSet>
                                                <iBlueprintLibrary-cAbsoluteBlueprintID>
                                                        <BlueprintSetID>
                                                                <iBlueprintLibrary-cBlueprintSetID>
                                                                        <Provider d:type="cDeltaString">RSC</Provider>
                                                                        <Product d:type="cDeltaString">UKLEDsignals01</Product>
                                                                </iBlueprintLibrary-cBlueprintSetID>
                                                        </BlueprintSetID>
                                                        <BlueprintID d:type="cDeltaString">RailNetwork\Signals\Characters\Pro Signal Chars.xml</BlueprintID>
                                                </iBlueprintLibrary-cAbsoluteBlueprintID>
                                        </PrimaryNamedTextureSet>
                                        <SecondaryNamedTextureSet>
                                                <iBlueprintLibrary-cAbsoluteBlueprintID>
                                                        <BlueprintSetID>
                                                                <iBlueprintLibrary-cBlueprintSetID>
                                                                        <Provider d:type="cDeltaString">newS</Provider>
                                                                        <Product d:type="cDeltaString">sweden</Product>
                                                                </iBlueprintLibrary-cBlueprintSetID>
                                                        </BlueprintSetID>
                                                        <BlueprintID d:type="cDeltaString"></BlueprintID>
                                                </iBlueprintLibrary-cAbsoluteBlueprintID>
                                        </SecondaryNamedTextureSet>
                                        <GeometryID d:type="cDeltaString">newS\sweden\RailNetwork\signals\shapes\[00]signal-post01</GeometryID>
                                        <CollisionGeometryID d:type="cDeltaString"></CollisionGeometryID>
                                        <Pickable d:type="cDeltaString">eTrue</Pickable>
                                        <CastsShadows d:type="cDeltaString">eTrue</CastsShadows>
                                        <ShadowType d:type="cDeltaString">eShadowType_None</ShadowType>
                                        <ViewType d:type="cDeltaString">ExternalView</ViewType>
                                        <HeatHaze/>
                                        <TexText/>
                                        <ProjectedLightElement/>
                                        <Instancable d:type="bool">0</Instancable>
                                        <DetailLevelGenerationRange>
                                                <cSceneryRenderBlueprint-sDetailLevelGenerationRange>
                                                        <HighestLevel_1isHighest d:type="sInt32">10</HighestLevel_1isHighest>
                                                        <LowestLevel_10isLowest d:type="sInt32">10</LowestLevel_10isLowest>
                                                </cSceneryRenderBlueprint-sDetailLevelGenerationRange>
                                        </DetailLevelGenerationRange>
                                </cSceneryRenderBlueprint>
                        </_object>
                        <_signal>
                                <cSignalComponentBlueprint>
                                        <NumberOfTrackLinks d:type="sUInt32">3</NumberOfTrackLinks>
                                        <Stopping d:type="cDeltaString">eTrue</Stopping>
                                        <JunctionSignalType d:type="cDeltaString">eJunctionTypeNone</JunctionSignalType>
                                        <ControlMode d:type="cDeltaString">eControlModeControlledCallOn</ControlMode>
                                </cSignalComponentBlueprint>
                        </_signal>
                        <_script>
                                <cScriptComponentBlueprint>
                                        <Name d:type="cDeltaString">newS\sweden\RailNetwork\signals\scripts\SE H3 Signal</Name>
                                </cScriptComponentBlueprint>
                        </_script>
                        <_container>
                                <cEntityContainerBlueprint>
                                        <TrackTerrainInEditor d:type="bool">0</TrackTerrainInEditor>
                                        <Children>
                                                <cEntityContainerBlueprint-sChild d:id="56372736">
                                                        <ChildName d:type="cDeltaString">Callon Indicator</ChildName>
                                                        <BlueprintID>
                                                                <iBlueprintLibrary-cAbsoluteBlueprintID>
                                                                        <BlueprintSetID>
                                                                                <iBlueprintLibrary-cBlueprintSetID>
                                                                                        <Provider d:type="cDeltaString">newS</Provider>
                                                                                        <Product d:type="cDeltaString">sweden</Product>
                                                                                </iBlueprintLibrary-cBlueprintSetID>
                                                                        </BlueprintSetID>
                                                                        <BlueprintID d:type="cDeltaString">KMW\Sweden\RailNetwork\SE-H3 Signal.xml</BlueprintID>
                                                                </iBlueprintLibrary-cAbsoluteBlueprintID>
                                                        </BlueprintID>
                                                        <Matrix>
                                                                <cHcRMatrix4x4>
                                                                        <Element>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="00000080F4BF8CBF" d:precision="string">-0.014038</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000008023530940" d:precision="string">3.1656</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000A002609CBF" d:precision="string">-0.02771</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                                                                        </Element>
                                                                </cHcRMatrix4x4>
                                                        </Matrix>
                                                        <ParentNodeName d:type="cDeltaString"></ParentNodeName>
                                                </cEntityContainerBlueprint-sChild>
                                                <cEntityContainerBlueprint-sChild d:id="56370176">
                                                        <ChildName d:type="cDeltaString">4 Aspect Signal Head</ChildName>
                                                        <BlueprintID>
                                                                <iBlueprintLibrary-cAbsoluteBlueprintID>
                                                                        <BlueprintSetID>
                                                                                <iBlueprintLibrary-cBlueprintSetID>
                                                                                        <Provider d:type="cDeltaString">newS</Provider>
                                                                                        <Product d:type="cDeltaString">sweden</Product>
                                                                                </iBlueprintLibrary-cBlueprintSetID>
                                                                        </BlueprintSetID>
                                                                        <BlueprintID d:type="cDeltaString">newS\sweden\RailNetwork\signals\SE-H3 Signal.xml</BlueprintID>
                                                                </iBlueprintLibrary-cAbsoluteBlueprintID>
                                                        </BlueprintID>
                                                        <Matrix>
                                                                <cHcRMatrix4x4>
                                                                        <Element>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="00000040E141833F" d:precision="string">0.009403</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000008E021040" d:precision="string">4.00249</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000009A41C43F" d:precision="string">0.158252</e>
                                                                                <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                                                                        </Element>
                                                                </cHcRMatrix4x4>
                                                        </Matrix>
                                                        <ParentNodeName d:type="cDeltaString"></ParentNodeName>
                                                </cEntityContainerBlueprint-sChild>
                                        </Children>
                                </cEntityContainerBlueprint>
                        </_container>
                </cSignalBlueprint>
        </Blueprint>
</cBlueprintLoader>


ADDE 2020-04-28 17:22

1 bifogad(e) fil(er)
JJust nu försöker jag få om de svenska bommarna kan fungera som ett gruppobjekt. DTGs rutter har det så, men det var inte lätt som att "klippa o klistra".

Objekterna står där, men de är statiska. Bommarna är ännu värre då de är i 2 delar i sin tur...

ADDE 2020-04-28 21:19

2 bifogad(e) fil(er)
Jag har nu lyckats ta fram en signal som sitter färdigt på sin stolpe och bara fungerar!

Underbart!

Räkna med ett första paket med färdiga signaler på stolpar och brackets inom kort! Blir nog H2-H5 och end signal som första paket

Hgv 2020-04-28 22:07

Smidigt! :tumme_upp:

Totte 2020-04-28 23:13

Smidigt tycker jag också!:tumupp: Det skulle ha varit så för länge sen.;)

ADDE 2020-04-29 03:27

2 bifogad(e) fil(er)
Delmål 2 avklarat: att rotera child objects!

Säg till här i tråden vilka skyltkombinationer ni vill ha så fixar jag det. Men:
Jag kan endast ha 1 länkad objekt och dess orientering kan jag inte rubba på. (T.ex. 1 huvudsignal och 1 dvärgsignal får jag inte ihop just nu).
Jag kollar vidare på det i framtiden. Men alla statiska objekt kan jag få med.

Visa gärna exempel när ni beställer, och berätta gärna vilken bana eller projekt det ska gå till (Det är för Provider/Product, t.ex. SummerADDE/Trollhättan)

ADDE 2020-04-29 17:16

1 bifogad(e) fil(er)
Ser det här korekt ut?

(Notera att swf 15 är ett separat objekt, och ett exempel)

Hgv 2020-04-30 18:25

Tror du att du kan få DV4-signalen att sitta ihop med stolpe och märkskylt (SE sign xxxx-small)?

ADDE 2020-04-30 18:33

Citat:

Ursprungligen postat av Hgv (Inlägg 317119)
Tror du att du kan få DV4-signalen att sitta ihop med stolpe och märkskylt (SE sign xxxx-small)?

Inte just nu, men undersöker hela tiden...

Signaler och mileposts får jag inte att fungera som child objects. Kollar jag på hur DTG har gjort så autofylls de med sth 1 och sth 2 av nån anledning...

Hgv 2020-04-30 18:46

Jag håller tummarna! Just växlingsdvärg färdig med stolpe och skylt vore väldigt användbart. De har ju bara siffror på skylten så samma skylt kan användas till i princip alla signaler, om det nu går att få ihop det.

ADDE 2020-04-30 18:51

Jo, det är min nästa utmaning.

Hade scruptet kunnat funka så signalerna fungerar som child objects (likt ukledsignals/ukpro) så hade det underlättat enormt.

jorgen3 2020-04-30 20:11

Citat:

Ursprungligen postat av ADDE (Inlägg 317087)
Ser det här korekt ut?

(Notera att swf 15 är ett separat objekt, och ett exempel)

Tycker det ser bra ut.
Tavlan där under skulle du kunna slopa, den används nästan aldrig nu på nyare driftplatser.
Den betyder att föraren måste vara uppmärksam att blink skenen kan sluta blinka och då blir det ju ett grönt. Så ett grönt betyder då kör vänta stopp (när fsi tavlan finns där).
Nu för tiden har ställverken koll om lamporna är hela och då antingen gör den restriktiv eller stopp i signalen

ADDE 2020-04-30 23:09

1 bifogad(e) fil(er)
Idag funderade jag på om jag skulle modda godsvagnar eller bygga lite på Nynäsbanan... Inget av det blev av för jag sov knappt inatt och blev inte produktiv i någon front...

Men klämde till inte i slutet och kollade på texturer... Testade att lägga till SADs ballasttextur på newS spår med lyckat resultat!

En bra början iaf! :godnatt:

ADDE 2020-05-02 13:58

1 bifogad(e) fil(er)
Progress...

En fråga: Vill ni ha SEV2 Concrete som news breda ballast eller SADs smala? (newS breda heter då "wide" i slutet...)

ADDE 2020-05-02 20:28

4 bifogad(e) fil(er)
Äntligen färdig! Tog mig hela dagen.

Version 2.0 av SwedenV2 Tracks kommer inom kort! - skickar länk i min downloadtråd när den är ute.

ADDE 2020-12-21 11:40

3 bifogad(e) fil(er)
Har börjat jobba med signalerna igen. Jag försöker få så mycket likheter med UKProSignals men det går sådär.

(Moderna signalscript finns fullt läsbara i GARL-rutten)

Jag tog en UK-signal och gjorde om utformningen. Jag lät det läsa in mot en av newS stationssignaturer som grundfil och det går att skriva in siffror på nedre raden genom att skriva det på första rutan i "Identify". Men problemet är att newS tavlor är bak-o-fram. Det finns även efterfrågan att få en full uppsättning av alfabetet så man kan skriva en komplett stationssignatur, istället för att som nu göra repaints av allting, men det är bortom min kompetens just nu.

Vidare försökte jag göra om signalscriptet för SE H2 så det skulle fungera med att ha signalen som en child object, men icke... Det verkar inte fungera.

HGV, tror du om du kan kolla i signalscriptet och se så att signalerna kan fungera även som childobjekt?

Hgv 2020-12-21 18:50

Citat:

Ursprungligen postat av ADDE (Inlägg 318933)
HGV, tror du om du kan kolla i signalscriptet och se så att signalerna kan fungera även som childobjekt?

Ingen aning. Tyvärr är jag inte alls insatt i hur det hänger ihop. Men en vild gissning är att ett objekts "children" bara refererar till själva 3D-objektet och att "children" därför inte kan ha script i sig. Men det är som sagt bara en gissning, det kanske går på nåt sätt!

GARL tror jag inte att jag har heller. I vilken assetmapp hittar du scripten?

Ska detta vara användbart måste man kunna skriva in även bokstäver (både gemener och versaler). Annars måste man ju ha ett separat objekt för varje individuell signal för att kunna få rätt signatur, och då är det väl lika bra att ha märktavlorna som separata objekt.

EDIT: Kom på att ett undantag är växlings- och medgivandedvärgsignaler. De har ju vit märktavla med bara siffror så för dem skulle det funka bra att ha signal + skylt + stolpe som children.

ADDE 2020-12-21 19:49

Child objects behandlas som scenery objects eller animated scenery objects och man läser in en annan .xml-fil för ändamålet.

Dock så har man med UKLedPro (Som GARL använder) lyckats scripta så child object fungerar. Jag testade att lägga in relevant kod i scriptet för min testsignal men det var ingen skillnad.

GARL eller Glasgow Airport Rail Link är Assets/Totalizemedia/GARL och de har lua-filer som inte är kompilerade så de kan läsas rakt av i klartext.

Min filosofi är att jag skapar speciella signaler som jag behöver i Mälardalsprojektet och lägger dem i SummerADDE/Malaren, så att de inte bidrar i den stora röran som heter newS/Sweden :) - Dessa signaler laddas då in separat från newS och bara för mälardalens rutt. Jag ämnar att göra samma sak för Nordlandsbanan sen. Tycker det är roligare att sätta ihop signalobjekt genom dess blueprint-filer än att detaljstyra i rutteditorn.

EDIT: Ang milepost så verkar det finnas ett lösningsförslag från UKTrainSim:
Citat:

Ursprungligen postat av AndiS
The problem with having lowercase and uppercase letters at the same time is that filenames in DOS/Windows are not case sensitive.
However it should be possible to put the texture of A in some file A1 and for a in A2. You need two entries in the texture set blueprint, one for A and one for a. Only then you will see if it works. Signal IDs are forced to uppercase, so it might be similar with mileposts.

https://forums.uktrainsim.com/viewto...80788#p1880788

ADDE 2020-12-23 16:11

OMG Yess! Jag lyckades!

https://www.youtube.com/watch?v=n8KQfepmQmk

ADDE 2020-12-23 16:41

3 bifogad(e) fil(er)
Jag gjorde följande förändringar i SE H2 Signal.lua.

Jag kommer göra en egen release av signaler så några förändringar på befintliga signalscript kommer inte ske, för att skydda äldre rutter mot risken av trasiga signaler. Däremot kommer SEV2-signalerna jag har släpps innan uppdateras mot denna script.

ADDE 2020-12-26 20:00

Dagens achivement!
 
1 bifogad(e) fil(er)
Genom att byta ut
Kod:

        elseif gConnectedLink > 1 then
                -- diverging route, signal slow
                newSignalState = STATE_SLOW

mot
Kod:

        elseif Call ( "GetLinkLimitedToYellow", gConnectedLink ) ~= 0 then
                -- diverging route, signal slow
                newSignalState = STATE_SLOW

så är det ruttbyggaren som bestämmer om signalen ska visa KÖR eller KÖR40, det ger mer flexibilitet till ruttbyggaren att skapa de signalbilder som behövs!

Hgv 2020-12-26 20:12

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!)

ADDE 2020-12-26 20:27

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.

ADDE 2020-12-27 16:14

Jag gjorde det igen!
 
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

Mot:
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

Att jag satte -1 är för att visa att ingen länk används, på så vis inaktiveras funktionen gYardEntry helt o hållet. Detta förekommer i andra signalscripts.

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

så lade jag till följande:
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

Om signalen går till en länk som har Approach control ibockat (GetLinkApproachControl är inte lika med 0) så ändras gYardEntry till att gälla den länk som nu är förinställd. Därmed så körs scriptet som ignorerar om det står ett tåg i bangården. Signalen ställs sedan in på Kör40 precis som tidigare. (ja, jag testade att lägga om till en annan tågväg med ett tåg ivägen, och då visar signalen rött.)

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...

ADDE 2020-12-27 16:33

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.

Hgv 2020-12-27 17:15

Kul att du tar tag i de svenska signalerna! :tumme_upp:

Ä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.

Hgv 2020-12-27 17:33

Citat:

Ursprungligen postat av ADDE (Inlägg 319004)
Lite pseudokod för hur jag ska approacha det här

Ska se om jag är med på hur du tänker:

Citat:

OM Tecken är S och Nästa h-signal visar STOPP GÖR:
-Visa STOPP (H2-H5)
Används t.ex. vid utfartssignaler antar jag, där du inte vill ha "kör" om utfartsblocksignalen visar "stopp"?

Citat:

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)
Dvs används där nästa huvudsignal är på kort avstånd (<450 m).

Citat:

OM Tecken är N eller 5 och Nästa h-signal visar STOPP GÖR:
-Visa KÖR 40 (STATE_SLOW) (H3-H5)
Avstånd 450-800 m.

Citat:

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)
Här hänger jag inte riktigt med. Om nästa signal visar 2/3 gröna borde ju föregående signal visa "kör, vänta kör 40"?

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.

ADDE 2020-12-27 18:19

Citat:

Ursprungligen postat av Hgv (Inlägg 319006)
Här hänger jag inte riktigt med. Om nästa signal visar 2/3 gröna borde ju föregående signal visa "kör, vänta kör 40"?

Hmjm... tänkte om signalerna är täta i följd hade nog Kör, vänta stopp varit mer applicerbart, men det kanske inte gäller i verkligheten?

Citat:

Ursprungligen postat av Hgv (Inlägg 319006)
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.

Hmm, kanske Hsi ska ignorera nästa Hdvsi om den är på Kör om jag fattar det rätt?

Hgv 2020-12-27 18:36

Citat:

Ursprungligen postat av ADDE (Inlägg 319009)
Hmjm... tänkte om signalerna är täta i följd hade nog Kör, vänta stopp varit mer applicerbart, men det kanske inte gäller i verkligheten?

Som jag har förstått det så får "vänta stopp" visas bara om det är mer än 800 m till stoppsignalen. Är avståndet 800-450 m ska hsi visa "kör 40" om nästa signal står i stopp, och om avståndet är kortare än 450 m visas "kör 40, kort väg" om nästa signal står i stopp.

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:

Hmm, kanske hsi ska ignorera nästa hdvsi om den är på Kör om jag fattar det rätt?
Precis, försignaleringen i föregående hsi ska gälla för nästa hsi, INTE mellanliggande hdvsi. Men om hdvsi skulle visa stopp måste ju föregående hsi påverkas av detta antingen genom att visa "vänta stopp" (om >800 m till hdvsi) eller genom att visa "kör 40" (om <800 m). (OM jag fattat det rätt hur det funkar IRL!) Det blir lätt ganska rörigt tyvärr! Men det kanske är så att såna situationer inte förekommer IRL (föregående hsi kanske inte går om till "kör" förrän kommande hdvsi visar "kör").

Kanske någon av forumets signalexperter som kan reda ut detta närmare? :)

blomsson 2020-12-27 20:24

Citat:

Ursprungligen postat av Hgv (Inlägg 319010)
Som jag har förstått det så får "vänta stopp" visas bara om det är mer än 800 m till stoppsignalen. Är avståndet 800-450 m ska hsi visa "kör 40" om nästa signal står i stopp, och om avståndet är kortare än 450 m visas "kör 40, kort väg" om nästa signal står i stopp.

Har du flera hsi i följd så borde de alltså visa "kör 40" om det är mindre än 800 m till stoppsignal.



Precis, försignaleringen i föregående hsi ska gälla för nästa hsi, INTE mellanliggande hdvsi. Men om hdvsi skulle visa stopp måste ju föregående hsi påverkas av detta antingen genom att visa "vänta stopp" (om >800 m till hdvsi) eller genom att visa "kör 40" (om <800 m). (OM jag fattat det rätt hur det funkar IRL!) Det blir lätt ganska rörigt tyvärr! Men det kanske är så att såna situationer inte förekommer IRL (föregående hsi kanske inte går om till "kör" förrän kommande hdvsi visar "kör").

Kanske någon av forumets signalexperter som kan reda ut detta närmare? :)

Vet inte om jag kan kvalificera mig som signalexpert men kan försöka förklara/förtydliga en del innan det blir alldeles för utsvävande!
En hel del av det som har skrivits stämmer så därför kommer det att bli en del upprepningar i nedanstående text!

Fristående Försignal:
Signalen försignalerar närmast efterföljande huvudljussignal.
Växlar, huvuddvärgsignaler eller stopplyktor får inte förekomma mellan en fristående försignal och den huvudljussignal som den försignalerar.

Avståndet mellan försignalen och den signal som den försignalerar ska vara minst 800 meter om signalbeskedet "stopp" ska försignaleras. Repeterförsignaler får stå på kortare avstånd (beskedet har då redan lämnats i en tidigare signal). Kortare avstånd kan också tillåtas om sth är mindre än 80 km/h.

Huvudljussignal:
Försignalbesked gäller till närmast efterföljande huvudljussignal.
Eventuella huvuddvärgsignaler mellan de bägge huvudljussignalerna, ska visa ett kör 80 besked och avstånden mellan samtliga signaler ska vara korrekt för respektive signalbesked.

Om en huvuddvärgsignal visar stopp, oberoende av ifall det finns ytterligare signaler efter, ska det i huvudljussignalen signaleras med beskeden kör 40, kort väg (3 gröna) om avståndet är minst 250 meter, eller med kör 40, varsamhet (2 gröna) om avståndet är minst 450 meter. Gäller också mot stopplykta i stopp, en släckt stopplykta har ingen signalteknisk betydelse.

Huvuddvärgsignal:
Signaleringen mot huvudljussignal i stopp är endast tillåtet med beskeden kör 80, varsamhet, eller med kör 40 varsamhet och avståndet är då minst 200 meter (100 meter om siktsträckan är minst 300 meter).

Signalering mot huvuddvärgsignal eller stopplykta i stopp är med beskedet kör 40, varsamhet och avståndet är då minst 200 meter (100 meter om siktsträckan är minst 300 meter).

Observera att det alltid finns ett minimiavstånd när ett signalbesked är tillåtet att visa, det går alltså inte att ha avståndet noll meter mellan två medriktade signaler.

Texten ovan hanterar situationer när man signalerar mot stopp, andra avstånd gäller förstås vid andra signalbesked. Sedan finns det också ytterligare regler som bestämmer under vilka villkor som respektive signaltyp med en viss signalfunktion ska få visa vilket signalbesked.

Huvudsignal mot signalsträcka som är belagd:
Jag tolkade texten tidigare (kan ha missförstått) som att man försökte få en huvudsignal att visa ett körbesked mot en signalsträcka med ett fordon på?
Bara för att vara övertydlig, det går aldrig att ställa en tågväg mot en belagd signaleringssträcka!

mvh
Håkan

ADDE 2020-12-28 00:38

Hmm, om jag lägger in det i programmeringsperspektiv:
-Försignal - ska endast kolla upp status på nästkommande huvudsignal. I andra fall så kommer den visa vänta stopp (Då den inte fungerar, ruttbyggaren har alltså placerat signalen fel).

-Huvudljussignal - Om kör, visa status på nästkommande huvudljussignal.
--Ifall det finns mellanliggande huvuddvärgsignaler gör följande:
---OM huvuddvärgsignalen visar stopp, visa Vänta kör 40 (2 gröna) eller Kör 40, kort sträcka (3 gröna)

Om nästa signal är en stopplykta så gäller följande:
-Huvudljussignal: visa Vänta kör 40 (2 gröna) eller Kör 40, kort sträcka (3 gröna)
-Huvuddvärgsignal: Visa kör 40 eller kör 80, ruttbyggaren måste konfigurera rätt signalbild.

Observera att i Train simulator har jag inte hittat stöd för att signallänkar ska kunna mäta avståndet till nästa signal, så här får ruttbyggaren konfigurera signalen manuellt.

Det verkar ligga rätt mycket undantag kring huvuddvärgsignalerna, så de dvärgar vi har till TS behöver nog programmeras om i grunden för att signalförhållanderna ska vara korrekt i TS.

Citat:

Huvudsignal mot signalsträcka som är belagd:
Jag tolkade texten tidigare (kan ha missförstått) som att man försökte få en huvudsignal att visa ett körbesked mot en signalsträcka med ett fordon på?
Bara för att vara övertydlig, det går aldrig att ställa en tågväg mot en belagd signaleringssträcka!
Hur är det i infart mot en bangård? I det gamla scriptet så var länk 6 och högre bangårdslänkar, och i scriptet så visade signalen kör 40 oavsett om bangårdsspåret var belagt eller ej. Menar du att det var felaktigt? I så fall kan jag nog ha annan nytta av "Approach control"-rutan.

jorgen3 2020-12-28 07:08

Om man ställer tågväg mot en beläggning.
Så det som går in är växlingväg med snett vänster optiskt. Men det är inte alla signalställverk som fixar det. (Men stlv 65 och dataställverk ex)

Sen i kravet på tågväg så finns inte spårledningar med. Så tågvägen kan gå in men blir ju naturligtvis stopp i signalen. Vi har gjort så på Inlandsbanan bl.a.
Det är för bla växlar ändå ska bli låsta vid spårledningsfel. Nyare ställverk har nu förenklad tågväg som också låser vid spl fel (men stopp i signaler)
Men de flesta ställverk är gjorda att tågvägen inte går in vid beläggning.

Hgv 2020-12-28 13:21

Citat:

Ursprungligen postat av ADDE (Inlägg 319015)
-Försignal - ska endast kolla upp status på nästkommande huvudsignal. I andra fall så kommer den visa vänta stopp (Då den inte fungerar, ruttbyggaren har alltså placerat signalen fel).

Det borde stämma, men jag tycker inte du behöver lägga något krut på att ändra försignalerna. De visar ju rätt ändå om de sätts upp på rätt sätt.

Citat:

-Huvudljussignal - Om kör, visa status på nästkommande huvudljussignal.
--Ifall det finns mellanliggande huvuddvärgsignaler gör följande:
---OM huvuddvärgsignalen visar stopp, visa Vänta kör 40 (2 gröna) eller Kör 40, kort sträcka (3 gröna)

Om nästa signal är en stopplykta så gäller följande:
-Huvudljussignal: visa Vänta kör 40 (2 gröna) eller Kör 40, kort sträcka (3 gröna)
-Huvuddvärgsignal: Visa kör 40 eller kör 80, ruttbyggaren måste konfigurera rätt signalbild.
Blandar du inte ihop "vänta kör 40" med "kör 40" här? Annars är jag väldigt förvirrad över hur du menar.

Citat:

Observera att i Train simulator har jag inte hittat stöd för att signallänkar ska kunna mäta avståndet till nästa signal, så här får ruttbyggaren konfigurera signalen manuellt.
Det vore ju praktiskt om den kunde avgöra avståndet till nästa signal automatiskt och på så sätt kunna använda samma signal på olika ställen och få olika beteenden utifrån avstånd till nästa signal.

Man kan fråga sig också hur många olika signalvarianter man är bekväm med. De gamla svenska signalerna är ju väldigt mycket "one size fits all" men så funkar de heller inte korrekt i många situationer. Jag har ju skapat ganska många nya varianter p.g.a. detta. Antalet varianter kan man nog kapa ner lite om man kan få till det så att man kan välja i konfigureringen vilket signalbesked som ska visas för varje länk.

Citat:

Det verkar ligga rätt mycket undantag kring huvuddvärgsignalerna, så de dvärgar vi har till TS behöver nog programmeras om i grunden för att signalförhållanderna ska vara korrekt i TS.
Jag hoppas det går att få till! Bäst vore om man kunde ändra i scripten så att nuvarande signaler (redan utplacerade med mer eller mindre stor möda!) kan användas utan att man behöver placera ut signaler på nytt.

Citat:

Hur är det i infart mot en bangård? I det gamla scriptet så var länk 6 och högre bangårdslänkar, och i scriptet så visade signalen kör 40 oavsett om bangårdsspåret var belagt eller ej. Menar du att det var felaktigt? I så fall kan jag nog ha annan nytta av "Approach control"-rutan.
Ä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).

Kolla gärna hur jag har gjort i Hagalund. Jag tycker jag har lyckats OK med att efterlikna hur det ser ut IRL:

https://youtu.be/U4H6sJx5t20?t=481
https://youtu.be/tuJOBaEi4Rc?t=2298
https://youtu.be/T0PwbMNjwcM?t=2621

Vissa signaler (som bara går in mot bangården) visar alltid rött + olika dvärgsignalbesked. Andra kan visa olika besked beroende på om det är tågväg ställt från signalen (t.ex. So 1146 - den signal som passeras i sista videon - där växlarna kan läggas antingen in mot uppställningsspåren eller mot spår D1).

ADDE 2020-12-28 19:31

Citat:

Ursprungligen postat av Hgv (Inlägg 319017)
Det borde stämma, men jag tycker inte du behöver lägga något krut på att ändra försignalerna. De visar ju rätt ändå om de sätts upp på rätt sätt.

Japp, jag har inga större planer på att ändra dem, annat än vid behov för kompatiblitet etc.


Citat:

Blandar du inte ihop "vänta kör 40" med "kör 40" här? Annars är jag väldigt förvirrad över hur du menar.
Jepp, det gjorde jag. wops!



Citat:

Det vore ju praktiskt om den kunde avgöra avståndet till nästa signal automatiskt och på så sätt kunna använda samma signal på olika ställen och få olika beteenden utifrån avstånd till nästa signal.
Om det vore möjligt, så hade det underlättat en hel del.

Citat:

Man kan fråga sig också hur många olika signalvarianter man är bekväm med. De gamla svenska signalerna är ju väldigt mycket "one size fits all" men så funkar de heller inte korrekt i många situationer. Jag har ju skapat ganska många nya varianter p.g.a. detta. Antalet varianter kan man nog kapa ner lite om man kan få till det så att man kan välja i konfigureringen vilket signalbesked som ska visas för varje länk.
Det är en av anledningarna till att vi gör nya varianter av dessa, right?

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:

Jag hoppas det går att få till! Bäst vore om man kunde ändra i scripten så att nuvarande signaler (redan utplacerade med mer eller mindre stor möda!) kan användas utan att man behöver placera ut signaler på nytt.
Jag har funderat lite på det, min rekommendation är (än så länge) att hålla isär befintliga signaler med de signaler jag håller på att ta fram. Men samtidigt så fungerar de nya UKPro med de urgamla UK-signalerna, så jag tänker ändå att de nya signalerna ska vara bakåtkomtatibla med de gamla. Så länge signalerna uppfattar STATE_GO, STATE_SLOW och STATE_STOP så är det nog lungt.


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).
Got it. Får ha denna i åtanke när jag börjar jobba med signaler som både ha en huvudsignal och en växlingsdvärg på samma stolpe.

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?

Hgv 2020-12-28 21:12

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! :) :tumme_upp:

ADDE 2020-12-29 15:55

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

Har du bockad i "Approach control" i editorn så kommer denna kodsegment kontrollera om nästa signal är i kör eler kör40 och visar då kör + ev. nästa signalbesked (vänta kör eller vänta kör40.), men om det inte gäller så visar signalen Kör40, för troligtvis kommer nästa signal visa stopp. Denna kodsegment använder samma failsafe-mekanism som "function DefaultSetLights()" på raderna 94-121 gör.

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...

ADDE 2020-12-29 18:40

Note to self: https://forums.dovetailgames.com/thr...er-docs.16740/

Citat:

In the Developer Documentation > Signaling Function Reference, the following signaling functions are not included. They are very useful in signal scripts!!

Call( "GetLinkApproachControl", LinkNumber ) - state of checkbox "approach control", 0 or 1 [Är den ibockad(1) eller inte(0)? reds.anm]
Call( "GetLinkLimitedToYellow", LinkNumber ) - state of checkbox "limited aspect", 0 or 1 [Är den ibockad(1) eller inte(0)? reds.anm]
Call( "GetLinkFeatherChar", LinkNumber ) - Contents of "Name of Route" field, integer (ASCII code, 1st char only) [Vad för siffra står det här? reds.anm]
Call( "GetLinkSpeedLimit", LinkNumber ) - Contents of "Speed of Route" field, integer [Vilken hastighet är satt mot denna länk? reds.anm]
Call ( "GetId" ) - Contents of the ID field, string​ [Läser av ID-Fältet, dvs. signalens signature och nummer. reds.anm]

ADDE 2021-01-02 18:21

1 bifogad(e) fil(er)
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

Koden ovan gör att man hämtar ACII-värdet av tecknet du skrev in i A-rutan, konverterar det till ett tecken eller sträng och förvarar det i gIndicator. detta kan justeras per länk.

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

och sedan i rad 110:
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 )

om du har skrivit in bokstaven K i a-rutan för en länk så kommer alltså signalen att visa "KÖR 40, kort tågväg" istället för KÖR 40.

Det var ett h-vete, men man lär sig varje dag! :grin:
EDIT: Det innehåller lite buggar, det uppdateras inte i realtid, fel signalbild kan visas. :/


Alla tider är GMT +2. Klockan är nu 11:03.

Powered by vBulletin® Version 3.7.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
© Svenska 3D-Tåg 2001-2009