Jump to content

Empfohlene Beiträge

Geschrieben

Ich möchte folgenden code verwenden, um eine Fahrstrasse zu aktivieren:

fsname  = "FS_GB_Ost_A4_Norm"
fs1 = $(fsname)
fs1.active = true

ich erhalte die Fehlermeldung Unexpected symbol ner '$'  hier wäre es Zeile 2. 

Warum funktioniert das nicht?

Zusätzlich möchte ich später die Zahl im Namen der Fahrstrasse durc eine variable ersetzen. Wie geht das?

Netter Gruß

Hellfried

 

Geschrieben
vor 17 Minuten schrieb hellfried.brutzer:

Warum funktioniert das nicht?

Weil das vorangestellte Dollar-Zeichen ein Objekt kennzeichnet.
Diese Objekte werden nicht anhand ihrer Namen angesprochen.

Wenn du das $-Zeichen schreibst, öffnet sich eine Liste. Aus dieser Liste kannst du die Fahrstraße wählen.
Der Name der Fahrstraße wird dir nur zur besseren Identifizierung angezeigt. Aber du kannst ihn nicht aus einer Text-Variablen holen.

Geschrieben

Hallo @hellfried.brutzer,

Wenn ich wüsste, was du vorhast, könnte ich dir sagen, ob das Schlagwort der richtige Weg wäre.
Prinzipiell kannst du Fahrstraßen mit einem Schlagwort versehen und sie darüber ansprechen.

viele Grüße
Götz

Geschrieben

Hallo Goetz,

danke für eine Antwort

Szenario:

Güterbahnhof mit 5 Gleisen und 5 Ausfahrtsignalen. Hält ein Zug z.B. vor Signal A1, soll zuerst geprüft werden, ob auf A5 dann bei A4 usw. ein Zug hält. Wenn ja soll die Fahrstrasse von diesem Signal zum nächsten Blocksignal auf der Strecke aktiviert werden.

Ich habe schon einzelne Skripte für jedes Signal, die funktionieren, möchte das aber durch ein einziges Skript mit unktion und entsprechender Parameterübergabe erledigen.

Im einfachsten Fall über Indizes, die die Signale und Fahrstrassen kennzeichnen. zb 5,4,3,2 von Signal 1; 1,3,4,5 von Signal 2 usw.,

Netter Gruß

Hellfried

Geschrieben

Hier das Skript für das Signal KS_GB_Ost_A2:

contact.variables["Zugtyp"] = vehicle.variables["Zugtyp"]

if #layout:getVehiclesOn($("Ks_GB_Ost_A5")) > 0 then
  if $("Ks_GB_Ost_A5").variables["Zugtyp"] == "ICE" then
    $("FS_GB_Ost_A5_ICE").autoActivate = true
    $("FS_GB_Ost_A5_ICE").active = true
  else
    $("FS_GB_Ost_A5_Norm").autoActivate = true
    $("FS_GB_Ost_A5_Norm").active = true
  end
else
  if #layout:getVehiclesOn($("Ks_GB_Ost_A4")) > 0 then
    if $("Ks_GB_Ost_A4").variables["Zugtyp"] == "ICE" then
      $("FS_GB_Ost_A4_ICE").autoActivate = true
      $("FS_GB_Ost_A4_ICE").active = true
    else
      $("FS_GB_Ost_A4_Norm").autoActivate = true
      $("FS_GB_Ost_A4_Norm").active = true
    end
  else
    if #layout:getVehiclesOn($("Ks_GB_Ost_A3")) > 0 then
      if $("Ks_GB_Ost_A3").variables["Zugtyp"] == "ICE" then
        $("FS_GB_Ost_A3_ICE").autoActivate = true
        $("FS_GB_Ost_A3_ICE").active = true
      else
        $("FS_GB_Ost_A3_Norm").autoActivate = true
        $("FS_GB_Ost_A3_Norm").active = true
      end
    else
      if #layout:getVehiclesOn($("Ks_GB_Ost_A1")) > 0 then
        if $("Ks_GB_Ost_A1").variables["Zugtyp"] == "ICE" then
          $("FS_GB_Ost_A1_ICE").autoActivate = true
          $("FS_GB_Ost_A1_ICE").active = true
        else
          $("FS_GB_Ost_A1_Norm").autoActivate = true
          $("FS_GB_Ost_A1_Norm").active = true
        end
      end
    end
  end
end

if $("GB").variables["ICE_Counter_GB_Ausfahrt"] > 20 then
  $("GB").variables["ICE_Counter_GB_Ausfahrt"] = 0
end

Geschrieben

Hallo Goetz,

ich habe mir nochmal deinen Beitrag Zufällige Ausfahrt usw. angesehen. Ich werde jetzt auch eine Tabelle mit Signalen und Fahrstraßen füllen und über Indexe auf die Inhalte zugreifen.

Netter Gruß

Hellfried

Geschrieben
vor 8 Minuten schrieb hellfried.brutzer:

Ich werde jetzt auch eine Tabelle mit Signalen und Fahrstraßen füllen und über Indexe auf die Inhalte zugreifen.

Sehr gut, Hellfried!
Damit bist du mir zuvor gekommen. Ich hatte gestern Abend noch angefangen ein Beispiel für dich zu stricken, war dann aber doch zu müde.
Aber mit der zufälligen Ausfahrt hast du ein Prinzip gefunden, das sich auch für deine Zwecke eignen sollte.

Jetzt warte ich mal ab, wie weit du damit kommst. Wenn es hakt, sag Bescheid. Dann helfe ich dir gerne weiter.

Viele Grüße
Götz

Geschrieben

Danke Goetz,

manchmal hilft schon der Austausch, um die Gedanken zu ordnen. Ich bin begeistert, wie schnell du reagiert hast. Deine Videos und  Lösungsvorschläge hier im Forum haben mir bisher immer weitergeholfen.

Netter Gruß

Hellfried

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...