Jump to content

Empfohlene Beiträge

Geschrieben

Guten Morgen,

nach Umstellung der Abrufroutine für Züge aus dem SB, bekomme ich die Fehlermeldung "Attempt to get length of a nil value (Zeile 8)"

--[[
Auswahl eines Zuges zur Ausfahrt
--]]
local WarteListe = {}

for i, Signal in ipairs {contact.variables["Signale"]}  do

    if #layout:getVehiclesOn(Signal) > 0 then
       table.insert(WarteListe, Signal)
    end
end

local Anzahl = #WarteListe

if Anzahl > 3 then

  local Zufall = math.random(1, Anzahl)
  local Signal = WarteListe[Zufall]

Signal.variables["FS Ausfahrt"].active = true

end

Die Variable ist eine Liste von Signalen, die im Gleiskontakt liegt. Ich weiß jetzt nicht, wo der Fehler ist.

Schaut sich das bitte mal jemand an, danke

Gruß Jürgen

 

Geschrieben (bearbeitet)
vor 22 Minuten schrieb jloos:

Ich weiß jetzt nicht, wo der Fehler ist.

Deine lokale Variable (definiert als Tabelle) „WarteListe“ ist leer. 
 

VG,

Hawkeye

Bearbeitet von Hawkeye
Geschrieben

Hallo,

der Fehler tritt in Zeile 8 auf:

if #layout:getVehiclesOn(Signal) > 0 then

getVehiclesOn gibt nil zurück, weil "Signal" nicht existiert.

Dein ipairs-Aufruf ist nicht korrekt, statt den geschweiften Klammern musst du normale Klammern nutzen (ipairs ist ein Funktionsaufruf).

Viele Grüße,

Neo

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