Jump to content
  • 0

KVB


taz57
 Share

Question

Bonjour

Je voudrais savoir si dans le modèle quick drive de ts2020 ,  le kvb est fonctionnel sur les lignes françaises et etrangères?

Quelle est la différence entre les 2 mods kvb

    Signalisation FR et signalisation DTG

Merci pour votre aide

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Bonjour,

Oui le KVB est utilisable en QD.

Le mode FR est à utiliser sur les lignes utilisant les signaux TerLor.

Le mode DTG est à utiliser sur lignes utilisant les signaux de DTG.

Le KVB, même s'il n'est pas fait pour ça, doit être utilisable sur les lignes de DTG y compris certaines lignes étrangères (lignes allemandes), il faut tester et voir ce que ça donne.

  • Like 1
Link to comment
Share on other sites

  • 0

un script c'est cà

--Script RailWorks 3 de Bernard Villetard
--------------------------------------------------------------------------------------
-- Script signal de type A
--------------------------------------------------------------------------------------
-- Fréquence de clignotement 0.48 Sec
LIGHT_FLASH_OFF_SECS              = 0.48
LIGHT_FLASH_ON_SECS               = 0.48

gTimeSinceLastFlash               = 0
gLightFlashOn                     = false
gFirstFlashLight                  = true

gFlashingLightActive              = false
gFlashingLight                    = {}
--------------------------------------------------------------------------------------
-- INITIALISE
--

function Initialise ( )
    
    DefaultInitialise()
    
    gInitialised = false
    
    gSignalState = SIGNAL_VOIELIBRE
    
    Croco = 1
    
    Call( "BeginUpdate" )
    
    local number = Call ("GetId")
    Call ("SNCF_PlaqueID_Km:SetText", number, 0)

end
--------------------------------------------------------------------------------------
-- DEFAULT INITIALISE
--

function DefaultInitialise()

    gLinkCount = Call( "GetLinkCount" )
    
    gOccupationTable = {}
    for i=0, gLinkCount - 1 do
        gOccupationTable = 0
    end

    gLinkState = {}
    for link = 0, gLinkCount - 1 do
        gLinkState[link] = SIGNAL_VOIELIBRE
    end
end
--------------------------------------------------------------------------------------
-- UPDATE
--
function Update (time)
    if gFlashingLightActive then
       if gFirstLightFlash then
          gTimeSinceLastFlash = 0
          gFirstLightFlash = false
          gLightFlashOn = false
           else
              gTimeSinceLastFlash = gTimeSinceLastFlash + time

              if (not gLightFlashOn) and gTimeSinceLastFlash >= LIGHT_FLASH_OFF_SECS then
                 for i, v in ipairs(gFlashingLight) do
                     Call ("SNCF_A:ActivateNode", v, 1)
                 end
                 gLightFlashOn = true
                 gTimeSinceLastFlash = 0
              end

              if gLightFlashOn and gTimeSinceLastFlash >= LIGHT_FLASH_ON_SECS then
                 for i, v in ipairs(gFlashingLight) do
                     Call ("SNCF_A:ActivateNode", v, 0)
                 end
                 gLightFlashOn = false
                 gTimeSinceLastFlash = 0
              end

           end
       end
       
       DefaultUpdate()
end
--------------------------------------------------------------------------------------
-- DEFAULT UPDATE
--

function DefaultUpdate( time )

    gInitialised = true
    
    OnJunctionStateChange( 0, "", 1, 0 )    
    
    if gSignalState == SIGNAL_VOIELIBRE then
        SetState(SIGNAL_VOIELIBRE)
    end
end
--------------------------------------------------------------------------------------
-- RESET SIGNAL STATE
--
function ResetSignalState ( )
    
    Initialise()
    
end
--------------------------------------------------------------------------------------
-- GLOBALS

CLEAR = 0
WARNING = 1
BLOCKED = 2

RESET_SIGNAL_STATE                    = 0
INITIALISE_SIGNAL_TO_BLOCKED         = 1
JUNCTION_STATE_CHANGE                = 2
INITIALISE_TO_PREPARED                = 3

OCCUPATION_INCREMENT                = 10
OCCUPATION_DECREMENT                = 11

OUVERT                                = 12
FERME                                = 13

SIGNAL_CARRE                        = 14
SIGNAL_VOIELIBRE                    = 15
SIGNAL_AVERTISSEMENT                = 16
SIGNAL_JAUNEcli                        = 17
SIGNAL_ROUGEcli                        = 18
SIGNAL_SEMAPHORE                    = 19
SIGNAL_VERTcli                        = 20
SIGNAL_R30                          = 21
SIGNAL_R60                          = 22
SIGNAL_R60JAUNEcli                  = 23
SIGNAL_RR30                         = 24
SIGNAL_RR60                         = 25
SIGNAL_RR30AVERTISSEMENT            = 26
SIGNAL_RR30JAUNEcli                 = 27
SIGNAL_RR60AVERTISSEMENT            = 28
SIGNAL_RR60JAUNEcli                 = 29
SIGNAL_AVERTISSEMENTBJ              = 30
SIGNAL_ARR30BJ                        = 31
SIGNAL_DISQUE                        = 32
SIGNAL_MANOEUVRE                    = 33
SIGNAL_BLANCcli                        = 34
SIGNAL_ETEINT                        = 35
SIGNAL_GASAM                        = 36

SIGNAL_MESSAGE1                        = 37
SIGNAL_MESSAGE2                        = 38
SIGNAL_MESSAGE3                        = 39
SIGNAL_MESSAGE4                        = 40
SIGNAL_MESSAGE5                        = 41

PN1_Arrive                            = 42
PN1_Depart                            = 43
PN2_Arrive                            = 44
PN2_Depart                            = 45
PN3_Arrive                            = 46
PN3_Depart                            = 47
TIV_Ouvert                            = 48
TIV_Ferme                            = 49

PASS_OFFSET                            = 50

PASS_RESET_SIGNAL_STATE                = PASS_OFFSET + RESET_SIGNAL_STATE    -- Never used!
PASS_JUNCTION_STATE_CHANGE            = PASS_OFFSET + JUNCTION_STATE_CHANGE
PASS_INITIALISE_SIGNAL_TO_BLOCKED     = PASS_OFFSET + INITIALISE_SIGNAL_TO_BLOCKED
PASS_INITIALISE_TO_PREPARED         = PASS_OFFSET + INITIALISE_TO_PREPARED
PASS_OCCUPATION_INCREMENT            = PASS_OFFSET + OCCUPATION_INCREMENT
PASS_OCCUPATION_DECREMENT            = PASS_OFFSET + OCCUPATION_DECREMENT
PASS_SIGNAL_CARRE                    = PASS_OFFSET + SIGNAL_CARRE
PASS_SIGNAL_VOIELIBRE                = PASS_OFFSET + SIGNAL_VOIELIBRE
PASS_SIGNAL_AVERTISSEMENT            = PASS_OFFSET + SIGNAL_AVERTISSEMENT
PASS_SIGNAL_JAUNEcli                = PASS_OFFSET + SIGNAL_JAUNEcli
PASS_SIGNAL_ROUGEcli                = PASS_OFFSET + SIGNAL_ROUGEcli        
PASS_SIGNAL_SEMAPHORE                = PASS_OFFSET + SIGNAL_SEMAPHORE
PASS_SIGNAL_VERTcli                    = PASS_OFFSET + SIGNAL_VERTcli
PASS_SIGNAL_R30                       = PASS_OFFSET + SIGNAL_R30
PASS_SIGNAL_R60                        = PASS_OFFSET + SIGNAL_R60
PASS_SIGNAL_R60JAUNEcli                = PASS_OFFSET + SIGNAL_R60JAUNEcli
PASS_SIGNAL_RR30                      = PASS_OFFSET + SIGNAL_RR30
PASS_SIGNAL_RR60                      = PASS_OFFSET + SIGNAL_RR60
PASS_SIGNAL_RR30AVERTISSEMENT         = PASS_OFFSET + SIGNAL_RR30AVERTISSEMENT
PASS_SIGNAL_RR30JAUNEcli            = PASS_OFFSET + SIGNAL_RR30JAUNEcli
PASS_SIGNAL_RR60AVERTISSEMENT        = PASS_OFFSET + SIGNAL_RR60AVERTISSEMENT
PASS_SIGNAL_RR60JAUNEcli            = PASS_OFFSET + SIGNAL_RR60JAUNEcli
PASS_SIGNAL_AVERTISSEMENTBJ            = PASS_OFFSET + SIGNAL_AVERTISSEMENTBJ
PASS_SIGNAL_ARR30BJ                    = PASS_OFFSET + SIGNAL_ARR30BJ
PASS_SIGNAL_DISQUE                    = PASS_OFFSET + SIGNAL_DISQUE
PASS_SIGNAL_MANOEUVRE                = PASS_OFFSET + SIGNAL_MANOEUVRE
PASS_SIGNAL_BLANCcli                = PASS_OFFSET + SIGNAL_BLANCcli
PASS_SIGNAL_ETEINT                    = PASS_OFFSET + SIGNAL_ETEINT
PASS_SIGNAL_GASAM                    = PASS_OFFSET + SIGNAL_GASAM

gConnectedLink = 0
gUpdating = 0
SIGMSG_CUSTOM  =  15
AWS_MESSAGE                                = 11
TPWS_MESSAGE                            = 12
SPAD_MESSAGE                            = 13
CROCO_MESSAGE                             = 14
--------------------------------------------------------------------------------------
-- JUNCTION STATE CHANGE
---

function OnJunctionStateChange( junction_state, parameter, direction, linkIndex )

    if (gOccupationTable[0] == 0) then                            

        CheckSignalState( )
                            
    else
                        
        Occupe( gConnectedLink )
                            
    end

end
--------------------------------------------------------------------------------------
-- ON CONSIST PASS
--
function OnConsistPass ( prevFrontDist, prevBackDist, frontDist, backDist, linkIndex )

    local crossingStart = 0
    local crossingEnd = 0

    if ( frontDist > 0 and backDist < 0 ) or ( frontDist < 0 and backDist > 0 ) then

        if ( prevFrontDist < 0 and prevBackDist < 0 ) or ( prevFrontDist > 0 and prevBackDist > 0 ) then

            crossingStart = 1
        end
        
    else    

        if ( prevFrontDist < 0 and prevBackDist > 0 ) or ( prevFrontDist > 0 and prevBackDist < 0 ) then

            crossingEnd = 1
        end
    end

    if (crossingStart == 1) then
        
        --------------------------------------------------------------------------------------
        if (prevFrontDist > 0 and prevBackDist > 0) then
            
            if (linkIndex == 0) then
            
                if (gSignalState == SIGNAL_SEMAPHORE) or (gSignalState == SIGNAL_ROUGEcli) then
                        Call( "SendConsistMessage", SIGMSG_CUSTOM , "KVBe000"  )
                    local consistSpeed = Call( "GetConsistSpeed" )
                    local speedLimit = 4.2
    
                    if ( consistSpeed > speedLimit ) then

                        Call( "SendConsistMessage", SPAD_MESSAGE, "" )
                    end
                    
                elseif (gSignalState == SIGNAL_AVERTISSEMENT) then
                        Call( "SendConsistMessage", SIGMSG_CUSTOM , "KVBa000"  )
                    local consistSpeed = Call( "GetConsistSpeed" )
                    local speedLimit = 44.44
    
                    if ( consistSpeed > speedLimit ) then

                        Call( "SendConsistMessage", SPAD_MESSAGE, "" )
                    end
                elseif (gSignalState == SIGNAL_JAUNEcli) then
                        Call( "SendConsistMessage", SIGMSG_CUSTOM , "KVBa888"  )
                    local consistSpeed = Call( "GetConsistSpeed" )
                    local speedLimit = 44.44
    
                    if ( consistSpeed > speedLimit ) then

                        Call( "SendConsistMessage", SPAD_MESSAGE, "" )
                    end
                elseif (gSignalState == SIGNAL_VERTcli)  then
                        Call( "SendConsistMessage", SIGMSG_CUSTOM , "KVBa160"  )  

                elseif (gSignalState == SIGNAL_VOIELIBRE)  then
                        Call( "SendConsistMessage", SIGMSG_CUSTOM , "KVBv000"  )                                         
            
                end            
            
                Occupe( 0 )
                
                gOccupationTable[0] = gOccupationTable[0] + 1
                
            end
            
        --------------------------------------------------------------------------------------
        elseif (prevFrontDist < 0 and prevBackDist < 0) then
            

            if (linkIndex == 0) then

                if gOccupationTable[0] == 1 and gConnectedLink ~= -1 then

                    local signalStateMessage = gLinkState[gConnectedLink]

                    Call( "SendSignalMessage", signalStateMessage, "", -1,1, 0 )
                end

                Call( "SendSignalMessage", OCCUPATION_INCREMENT, "", -1, 1, 0 )
            end
        end
        
    elseif (crossingEnd == 1) then
        
        --------------------------------------------------------------------------------------
        if (frontDist > 0 and backDist > 0) then
            
            if (linkIndex == 0) then
                if gOccupationTable[0] > 0 then
                
                    gOccupationTable[0] = gOccupationTable[0] - 1

                else

                end
                
                if (gOccupationTable[0] == 0 and gConnectedLink ~= -1 and gOccupationTable[gConnectedLink] == 0) then
                
                    CheckSignalState( )
                end

            end
            
        --------------------------------------------------------------------------------------
        elseif (frontDist < 0 and backDist < 0) then
            
            if (linkIndex == 0) then

                Call( "SendSignalMessage", OCCUPATION_DECREMENT, "", -1, 1, 0 )
                
            end
        end
    end
end
--------------------------------------------------------------------------------------
-- NONOCCUPE
--
function NonOccupe( linkIndex )

    if (linkIndex == 0 and gConnectedLink > 0) then
    
        linkIndex = gConnectedLink
    end

    if (gConnectedLink == linkIndex) then
    
        if (gOccupationTable[linkIndex] ~= nil) and
            (gOccupationTable[linkIndex] == 0) and
            (gOccupationTable[0] == 0) then
    
            if gSignalState ~= SIGNAL_VOIELIBRE then
            
                SetState( SIGNAL_VOIELIBRE )
                Call( "SendSignalMessage", SIGNAL_VOIELIBRE, "", -1, 1, 0 )
            end
        end
    end
    
    gLinkState[linkIndex] = SIGNAL_VOIELIBRE
end
--------------------------------------------------------------------------------------
-- OCCUPE
--
function Occupe( linkIndex )

    if Croco == 1 or Croco == 3 or Croco == 5 or Croco == 7 then
    
        if gSignalState ~= SIGNAL_SEMAPHORE then
    
            SetState( SIGNAL_SEMAPHORE )
            Call( "SendSignalMessage", SIGNAL_SEMAPHORE, "", -1, 1, 0 )
            
        end
            
    else
    
        if gSignalState ~= SIGNAL_ROUGEcli then
    
            SetState( SIGNAL_ROUGEcli )
            Call( "SendSignalMessage", SIGNAL_ROUGEcli, "", -1, 1, 0 )
            
        end
    
    end

end
--------------------------------------------------------------------------------------
-- AVERTISSEMENT
--
function Avertissement( linkIndex )

    if (linkIndex == 0 and gConnectedLink > 0) then
        linkIndex = gConnectedLink
    end

    if (gConnectedLink == linkIndex) then
    
        if (gOccupationTable[linkIndex] ~= nil) and
            (gOccupationTable[linkIndex] == 0) and
            (gOccupationTable[0] == 0) then
            
            if gSignalState ~= SIGNAL_AVERTISSEMENT then
            
                SetState( SIGNAL_AVERTISSEMENT )
                Call( "SendSignalMessage", SIGNAL_AVERTISSEMENT, "", -1, 1, 0 )
            end
        end
    end
    
    gLinkState[linkIndex] = SIGNAL_AVERTISSEMENT
end
-----------------------------------------------------------------------------------
-- JAUNEcli
--
function Jaunecli( linkIndex )

    if (linkIndex == 0 and gConnectedLink > 0) then
        linkIndex = gConnectedLink
    end

    if (gConnectedLink == linkIndex) then
    
        if (gOccupationTable[linkIndex] ~= nil) and
            (gOccupationTable[linkIndex] == 0) and
            (gOccupationTable[0] == 0) then
    
            if gSignalState ~= SIGNAL_JAUNEcli then

                SetState( SIGNAL_JAUNEcli )
                Call( "SendSignalMessage", SIGNAL_JAUNEcli, "", -1, 1, 0 )
            end
        end
    end
    
    gLinkState[linkIndex] = SIGNAL_JAUNEcli

end
-------------------------------------------------------------------------------------
-- VERTcli
--
function Vertcli( linkIndex )

    if (linkIndex == 0 and gConnectedLink > 0) then
        linkIndex = gConnectedLink
    end

    if (gConnectedLink == linkIndex) then
    
        if (gOccupationTable[linkIndex] ~= nil) and
            (gOccupationTable[linkIndex] == 0) and
            (gOccupationTable[0] == 0) then
    
            if gSignalState ~= SIGNAL_VERTcli then

                SetState( SIGNAL_VERTcli )
                Call( "SendSignalMessage", SIGNAL_VERTcli, "", -1, 1, 0 )
            end
        end
    end
    
    gLinkState[linkIndex] = SIGNAL_VERTcli

end
-------------------------------------------------------------------------------------
-- SET STATE
--

function SetState( newState )
    
    if (newState == SIGNAL_VOIELIBRE) then

        Call ("Set2DMapSignalState", CLEAR)
        SetLights(SIGNAL_VOIELIBRE)

    elseif (newState == SIGNAL_SEMAPHORE) then

        Call ("Set2DMapSignalState", BLOCKED)
       SetLights(SIGNAL_SEMAPHORE)
       
    elseif (newState == SIGNAL_ROUGEcli) then

        Call ("Set2DMapSignalState", BLOCKED)
       SetLights(SIGNAL_ROUGEcli)       

    elseif (newState == SIGNAL_AVERTISSEMENT) then

       Call ("Set2DMapSignalState", WARNING)
       SetLights(SIGNAL_AVERTISSEMENT)

    elseif (newState == SIGNAL_JAUNEcli) then

       Call ("Set2DMapSignalState", WARNING)
       SetLights(SIGNAL_JAUNEcli)
       
    elseif (newState == SIGNAL_VERTcli) then

       Call ("Set2DMapSignalState", CLEAR)
       SetLights(SIGNAL_VERTcli)
       
    
    end

gSignalState = newState

end
--------------------------------------------------------------------------------------
-- SET LIGHTS
--

function SetLights ( newState )
    
    if (newState == SIGNAL_VOIELIBRE) then
        Call ( "SNCF_A:ActivateNode", "mod_voie_libre", 1 )
        Call ( "SNCF_A:ActivateNode", "mod_avertissement", 0 )
        Call ( "SNCF_A:ActivateNode", "mod_semaphore", 0 )
        gFlashingLightActive = false
    
       elseif (newState == SIGNAL_SEMAPHORE) then
           Call ( "SNCF_A:ActivateNode", "mod_voie_libre", 0 )
        Call ( "SNCF_A:ActivateNode", "mod_avertissement", 0 )
        Call ( "SNCF_A:ActivateNode", "mod_semaphore", 1 )
        gFlashingLightActive = false
        
       elseif (newState == SIGNAL_ROUGEcli) then
           Call ( "SNCF_A:ActivateNode", "mod_voie_libre", 0 )
        Call ( "SNCF_A:ActivateNode", "mod_avertissement", 0 )
        Call ( "SNCF_A:ActivateNode", "mod_semaphore", 1 )
        gFlashingLightActive = true
        gFlashingLight = { "mod_semaphore" }
        gFirstLightFlash = true            
 
    elseif (newState == SIGNAL_AVERTISSEMENT) then
        Call ( "SNCF_A:ActivateNode", "mod_voie_libre", 0 )
        Call ( "SNCF_A:ActivateNode", "mod_avertissement", 1 )
        Call ( "SNCF_A:ActivateNode", "mod_semaphore", 0 )
        gFlashingLightActive = false
        
    elseif (newState == SIGNAL_JAUNEcli) then
        Call ( "SNCF_A:ActivateNode", "mod_voie_libre", 0 )
        Call ( "SNCF_A:ActivateNode", "mod_avertissement", 1 )
        Call ( "SNCF_A:ActivateNode", "mod_semaphore", 0 )
        gFlashingLightActive = true
        gFlashingLight = { "mod_avertissement" }
        gFirstLightFlash = true    
        
    elseif (newState == SIGNAL_VERTcli) then
        Call ( "SNCF_A:ActivateNode", "mod_voie_libre", 1 )
        Call ( "SNCF_A:ActivateNode", "mod_avertissement", 0 )
        Call ( "SNCF_A:ActivateNode", "mod_semaphore", 0 )
        gFlashingLightActive = true
        gFlashingLight = { "mod_voie_libre" }
        gFirstLightFlash = true

    else

    end
end
--------------------------------------------------------------------------------------
-- GET SIGNAL STATE
--
function GetSignalState( )

    local signalState = -1

    if (gSignalState == SIGNAL_VOIELIBRE) or
        (gSignalState == SIGNAL_VERTcli) then
    
        signalState = CLEAR
        
    elseif (gSignalState == SIGNAL_SEMAPHORE)
    or (gSignalState == SIGNAL_ROUGEcli)
    or (gSignalState == SIGNAL_AVERTISSEMENT)    
    or (gSignalState == SIGNAL_JAUNEcli) then
    
        signalState = BLOCKED

    else

    end
    
    return signalState

end
--------------------------------------------------------------------------------------
-- CHECK SIGNAL STATE
--
function CheckSignalState( )

    if gConnectedLink < 0 then
    
    elseif gLinkState[gConnectedLink] == SIGNAL_VOIELIBRE then
    
        NonOccupe( gConnectedLink )

    elseif gLinkState[gConnectedLink] == SIGNAL_AVERTISSEMENT then
    
        Avertissement( gConnectedLink )
        
    elseif gLinkState[gConnectedLink] == SIGNAL_JAUNEcli then
    
        Jaunecli( gConnectedLink )

    elseif gLinkState[gConnectedLink] == SIGNAL_VERTcli then
    
        Vertcli( gConnectedLink )        

    else

    end
end    
-------------------------------------------------------------------------------------
-- ON SIGNAL MESSAGE
--

function OnSignalMessage( message, parameter, direction, linkIndex )

    if (linkIndex > 0) then
    
        if message > PASS_OFFSET then
            Call( "SendSignalMessage", message, parameter, -direction, 1, linkIndex )
            
        elseif message ~= RESET_SIGNAL_STATE and message ~= JUNCTION_STATE_CHANGE and parameter ~= "DoNotForward" then
            Call( "SendSignalMessage", message + PASS_OFFSET, parameter, -direction, 1, linkIndex )
        end
    end
    
    if (linkIndex >= 0) then

        if message >= PASS_INITIALISE_SIGNAL_TO_BLOCKED then

            if linkIndex > 0 then

                ReactToSignalMessage( message - PASS_OFFSET, parameter, direction, linkIndex )
            end

        else
            ReactToSignalMessage( message, parameter, direction, linkIndex )        
        end
    end
end
-------------------------------------------------------------------------------------
-- REACT TO SIGNAL MESSAGE

function ReactToSignalMessage( message, parameter, direction, linkIndex )

    if (message == RESET_SIGNAL_STATE) then
    
            ResetSignalState()

    elseif (message == INITIALISE_SIGNAL_TO_BLOCKED) then
    
        gOccupationTable[linkIndex] = gOccupationTable[linkIndex] + 1
        
    elseif (direction == 1) then

        if ( message == SIGNAL_CARRE
            or message == SIGNAL_SEMAPHORE
            or message == SIGNAL_ROUGEcli
            or message == SIGNAL_MANOEUVRE
            or message == SIGNAL_BLANCcli
            or message == SIGNAL_GASAM ) then
            Avertissement( linkIndex )

        elseif ( message == SIGNAL_AVERTISSEMENT
            or message == SIGNAL_R30) then

            if Croco == 1 or Croco == 2 then
                NonOccupe( linkIndex )

            elseif Croco == 3 or Croco == 4 or Croco == 7 or Croco == 8 then
                Jaunecli( linkIndex )
            
            elseif Croco == 5 or Croco == 6 then
                Vertcli( linkIndex )
            
            end

        elseif ( message == SIGNAL_JAUNEcli
            or message == SIGNAL_R60
            or message == SIGNAL_R60JAUNEcli) then

            if Croco == 1 or Croco == 2 or Croco == 3 or Croco == 4 then
                NonOccupe( linkIndex )

            elseif Croco == 5 or Croco == 6 or Croco == 7 or Croco == 8 then
                Vertcli( linkIndex )
            
            end

        elseif (message == SIGNAL_AVERTISSEMENTBJ
            or message == SIGNAL_VERTcli
            or message == SIGNAL_VOIELIBRE ) then
                NonOccupe( linkIndex )
            
        elseif (message == OCCUPATION_DECREMENT) then

            if gOccupationTable[linkIndex] > 0 then
        
                gOccupationTable[linkIndex] = gOccupationTable[linkIndex] - 1

            else

            end

            Avertissement( linkIndex )

        elseif (message == OCCUPATION_INCREMENT) then

            gOccupationTable[linkIndex] = gOccupationTable[linkIndex] + 1

            if (gConnectedLink == linkIndex) then
        
                Occupe( linkIndex )
            end
        
        else
    
            Call( "SendSignalMessage", message, parameter, -1, 1, 0 )            

        end
        
    elseif (direction == -1) then
    
        if message == SIGNAL_MESSAGE5 then
        
            if parameter == "2" then
            
                Croco = 2
                
            elseif parameter == "3" then
            
                Croco = 3
                
            elseif parameter == "4" then
            
                Croco = 4
                
            elseif parameter == "5" then
            
                Croco = 5
                
            elseif parameter == "6" then
            
                Croco = 6
                
            elseif parameter == "7" then
            
                Croco = 7
                
            elseif parameter == "8" then
            
                Croco = 8
                
            end
            
        else
    
            Call( "SendSignalMessage", message, parameter, 1, 1, 0 )                        
        end
    end
        
end

Cà c'est un script des signaux de TerTor  c'est ce qui permet au signal de changer d'état

Ceux de DTG sont codés et ne sont donc pas compatible avec ceux de TerLor

JP

 

 

 

  • Like 1
Link to comment
Share on other sites

  • 0

Pas évidents de te répondre car je maitrise un peut les scripts de TerLor qui d'ailleurs sont fait par Henrion

Pour ma part la signalisation de TerLor correspond a la signalisation réelle de la SNCF avec les limitations du a l'éditeur de TS

Pour la signalisation de DTG je suis bien incapable de te répondre car je ne l'ai jamais posé sur une ligne .

Jean Pierre 

Edited by jeanpierrem
Link to comment
Share on other sites

  • 0

J'ai la lettre P qui s'affiche à 130km/h.  Par contre je vois la presignalisation sur la voie au feu m indiquant une limitation à 60km/h

 À venir Mais sur l'afficheur KVB il y a toujours les trais de surveillance et cela ne change pas d'Etat.... Il devrais indiquer 00 en jaune normalement ? 

Link to comment
Share on other sites

  • 0

Je ne sais pas exactement comment est codé le KVB sur TS mais ce que je peux te dire c'est que l'affichage des traits est normal, ils t'indiquent que le contrôle de la vitesse est actif. Sur un signal présentant un feu jaune (appelé avertissement) l'affichage des "00" jaunes au visualisateur auxiliaire devrait se faire.
Tu as essayé sur une autre ligne pour voir si c'était pareil ?
Lorsque la vitesse limite de la ligne est supérieure à 160 tu devrait avoir l'affichage d'un "b" vert au visualisateur principal pour t'autoriser à rouler à plus de 160 et sans dépasser 220 km/h. Le "p" s'affiche lorsque tu dois ramener au plus vite la vitesse de ton train à une vitesse maximale de 160 km/h.

Clément
CRL (Conducteur de Ligne)

DTL TER Nord Aquitaine /UP Traction NA

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

image.png.d44516590e7bf6f38e291638d956adf5.png

Becoming a premium member is enjoying all the benefits of the site and its services in an unlimited way and without advertising! Unlimited downloads, special customization items, 10% permanent discount in the store... With the RW Central Premium Subscription you are supporting the development and maintenance of the website and help us to develop new services and products.

👉Show Me Premium Subscriptions👈

OR

Disable your ad blocker if you want to help RW Central for free

Ok