Jump to content

Recommended Posts

Posted

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

 

Posted (edited)
vor 22 Minuten schrieb jloos:

Ich weiß jetzt nicht, wo der Fehler ist.

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

VG,

Hawkeye

Edited by Hawkeye
Posted

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...