Das inoffizielle Forum zu Eisenbahn.exe Professional 7+

hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

Zeitverzögerung mit Lua......

Hallo zusammen, brauche mal wieder ein wenig Hilfe. Mit diesem Code kuppel ich eine Lok ab.
Code: Alles auswählen
function Trennen(Zugname)
        EEPSetTrainSpeed(Zugname, 0)
            EEPTrainLooseCoupling(Zugname,true,1)
                Rfahrt = Rfahrt + 1
                    Zugname = (Zugname..";00"..Rfahrt)
        EEPSetTrainSpeed(Zugname,10)
            EEPSetTrainCouplingRear(Zugname, true)
                Rfahrt = 0
end
Das funzt auch soweit. Aber sobald ich versuche Zeitverzögerungen einzubinden bekomme ich Fehlermeldungen ala expected string got nil.
Und jetzt habe ich schon einige Stunden damit verbracht Lösungen zu finden .Zu meiner Schande leider ohne Erfolg. Daher versuche ich mein
Glück in diesem Forum und bedanke mich schonmal im voraus für Eure Mühen.
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
TobiBahn
Benutzeravatar
Beiträge: 804
Registriert: 23.06.2014, 17:45
Wohnort: Datteln
EEP-Version: 9, 11, 13

AW: Zeitverzögerung mit Lua......

Hallo,

ich würde einen Timer immer folgendermaßen schreiben:

Code: Alles auswählen
function Trennen_Befehl(Zugname)

   Zugname_Zwischenspeicher = Zugname

   Trenn_Ticker = 1
end

Wunschzeit = 30 --Sekunden

function Trennen_Ausfuehren()

   if Trenn_Ticker >= 1 then
      if Trenn_Ticker ~= Wunschzeit* 5 then
         Trenn_Ticker = 0
         Trennen(Zugname_Zwischenspeicher)
      else
         Trenn_Ticker = Trenn_Ticker + 1
      end   
   end
end

function Trennen(Zugname)
        EEPSetTrainSpeed(Zugname, 0)
            EEPTrainLooseCoupling(Zugname,true,1)
                Rfahrt = Rfahrt + 1
                    Zugname = (Zugname..";00"..Rfahrt)
        EEPSetTrainSpeed(Zugname,10)
            EEPSetTrainCouplingRear(Zugname, true)
                Rfahrt = 0
end

   
Durch die Erste Funktion setzt du einen Ticker, der in der Zweiten Funktion 5 mal pro Sekunde hochgezählt wird. Deswegen reche ich die Wunschzeit auch Mal 5.

Die Ticker-Funktion muss in die EEPMain() eingebunden werden und führt dann nach verstreichen der Zeit die eigentliche Funktion aus. Wichtig ist nur, dass du ggf den Ticker und den Zugnamen per EEPSaveData zwischenspeicherst, falls du die Anlage während des Zählens speicherst. Beim Neuladen müssten die Werte dann entsprechend erst wieder ausgelesen werden, damit die Routine da weiterläuft, wo sie unterbrochen wurde.
Viele Grüße ausm Pott
Tobi

HP Pavilion 17-f025ng
AMD A10-5745M Quad-Core 2.9 GHz
Windows 8 64bit; 8 GB RAM
AMD Radeon HD 8610G (integriert) + AMD Radeon R7 260M 2GB
EEP Versionen: EEP9, 11, 13 (Plugins komplett)

Mein YouTube-Kanal --> Tobi's Fotografie NRW

Bild
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Moin Tobi.....aussem Pott

habe mich da wohl etwas ungenau ausgedrückt. Ich möchte in der Funktion Trennen zwsischen den einzelnen Schritten des abkuppelns
eine Verzögerung einbauen. Wenn ich da ein Konstrukt drum rum baue verliere ich immer den Zugnamen. Das ist mein Problem. Hast Du dafür
oder jemand anders ne Lösung. Das ganze ist mit Sicherheit nicht so schwer aber ich seh mal wieder den Wald vor lauter Bäumen nicht

P.S. Mir geht es nicht um die Zeitverzögerung sondern wie behält Lua den einmal ausgelesenen Zugnamen???
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Hallo Michael,

der Zugname ist nur lokal vorhanden, deswegen die Fehlermeldung.
Definier am Anfang vom Skript mal folgendes:
Zugname_Original=""
Jetzt hast Du eine globale Variable, der Du dann in der function Trennen
den Zugnamen zuweisen kannst, dann steht er Dir immer zur Verfügung.
Zugname = (Zugname..";00"..Rfahrt)
Zugname_Original=Zugname

Um die Zeitvezögerung zu realisieren, teile die function Trennen in zwei functions auf.
In der zweiten setzt Du dann ein Flag (Schalter, hatten wir doch schon oder?), die Du
in der EEPMain aufrufst, in dem Du das Flag dort abfragst.
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Ich habe das Skript nicht getestet, es könnte auch noch einiges wegfallen.
Ich weiß auch nicht, wann und wo Du den Zugnamen zuweisen willst,
soll auch nur ein Denkanstoß sein.

c
Code: Alles auswählen
clearlog()

FlagVerzoegerung2=false
FlagVerzoegerung4=false
FlagVerzoegerung6=false

Zugname_Original=""

function EEPMain()
    Zaehler=Zaehler+1

    if FlagVerzoegerung2 and Zaehler %10==0 then --2 Sek. Verzögerung
        print("2 Sek. Verzögerung")
        FlagVerzoegerung2=false
    elseif FlagVerzoegerung4 and Zaehler %20==0 then --4 Sek. Verzögerung
        print("4 Sek. Verzögerung")
        Fahrt()
        FlagVerzoegerung4=false
    elseif FlagVerzoegerung6 and Zaehler %30==0 then --6 Sek. Verzögerung
        print("6 Sek. Verzögerung")
        FlagVerzoegerung6=false
        --Zaehler im Unterprogramm auf 0 setzen vor Aufruf
    end
    
    return 1

end

function Trennen(Zugname)
    EEPSetTrainSpeed(Zugname, 0)
    EEPTrainLooseCoupling(Zugname,true,1)
    Rfahrt = Rfahrt + 1
    Zugname = (Zugname..";00"..Rfahrt)
    Zugname_Original=Zugname
    Rfahrt = 0
           
    Zaehler=0
    FlagVerzoegerung4=true
end

function Fahrt()
    EEPSetTrainCouplingRear(Zugname_Original, true)
    EEPSetTrainSpeed(Zugname_Original,10)
end
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Hallo Juergen,
danke für die Hilfe jetzt funzt es . Mein Problem war die ganze Zeit das der Zugname, wie Du schon geschrieben hast, nur lokal war und
beim functionswechsel wieder verschwand. Das ich den Namen in einer Variablen zwischenspeichern kann war mir schon klar, nur was vorne
und hinten stehen muss habe ich verwechselt. Und die Variable muss dann auch noch deklariert werden.
Zugname_Original = ""
falsch>>>>>Zugname = Zugname_Original
richtig>>>>Zugname_Original=Zugname

vielen Dank nochmal und einen schönen Sonntag !
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Schön, dass Du den Fehler gefunden hast.

Noch eins: Ab EEP 14 mit Plugin 1 kann man doch den Zugnamen beim Kuppeln beibehalten.
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Hallo Juergen, jetzt muss ich alles nochmal schreiben, blöder SW hat meinen Text einfach verschluckt.

Naja egal. Also ich habe nochmal alles geändert und den Code so geschrieben wie es eignetlich auch funzen sollte und es funzt

Bis auf eins, wenn am Ende die Lok losfährt macht sie das auch kurz, dann bleibt sie stehen und das wars. Und da weiß ich nicht warum?
Kommt keine Fehlermeldung oder sonstiges. Hast Du dazu eine Idee oder siehst wo einen Fehler? Die Funktion wird über require zugänglich gemacht und
in der EEPMain wird die Datei aufgerufen.

Code: Alles auswählen
function abkuppeln(Zugname)
         if Schalter_an then
            Z1 = Z1 + 1
                EEPSetTrainSpeed(ZugOr, 0)
         if Z1 % 20 == 4 then
              EEPTrainLooseCoupling(ZugOr,true, 1)
                    Rfahrt = Rfahrt + 1
                        ZugOr = (ZugOr..";00"..Rfahrt)
         elseif Z1 % 20 == 10 then
               EEPSetTrainSpeed(ZugOr, 10)
                    EEPSetTrainCouplingRear(ZugOr,true)
         elseif Z1 >= 20 then
               Schalter_an = false
        end
    end
end
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Hallo Michael, da müsste ich schon mal das ganze Skipt sehen, sonst wird es schwer für mich, den Fehler zu finden.
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

ja natürlich......

Code: Alles auswählen
clearlog()
Z1=0

--##################Variablen#########################

--  Codeschnipsel von BH2,Benny
setmetatable(_ENV,{__index = function(s,k)
    local p = load(k)
    if p then
        local f = function(z)
            local s = Zugname
            Zugname = z
            p()
            Zugname = s
            end
        _ENV[k] = f
        return f
    end
    return nil
end } )

--####################################################

-- Variablen
Rfahrt = 0                                    -- Lok wieder alten Namen nach abkuppeln
ZugOr=""                                    -- Zugname speichern
-- Variablen

--####################################################

require ("abkoppeln")
require ("abkuppeln")

function EEPMain()
    Z1 = Z1 + 1
    abkuppeln()
    return 1
end
Code: Alles auswählen
function Trenner(Zugname)
    ZugOr = Zugname
        Schalter_an = true
            Z1 = 0
        abkuppeln(Zugname)
end
print("abkoppeln ok")
Hier wird die Funktion Trenner über Soundkontakt aufgerufen. Das ist alles.
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Mir scheint es hängt irgendwie mit dem Zugnamen zusammen? Ist aber nur eine Vermutung.
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Die function abkuppeln() wird einmal in der EEPMain ohne Parameter aufgerufen und zusätzlich noch mal
in der function Trenner mit Parameter Zugname. Verstehe ich schon nicht, auch nicht, warum die function
zweimal an verschiedenen Stellen aufgerufen wird, obwohl sie in der Main 5 mal pro Sekunde ausgeführt wird.

Ich komme da ohne die zugehörige Anlage nicht weiter, da sich scheinbar Funktionen überlagern, die man nur
mit print-Befehlen ausfindig machen kann.
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Hallo Juergen, das die Funktion abkuppeln in der EEPMain permanent aufgerufen wird erübrigt natürlich den zweiten Aufruf. Da hast Du vollkommen recht.
AnfängerFehler

Code: Alles auswählen
function abkuppeln(Zugname)
            if Schalter_an then
                EEPSetTrainSpeed(ZugOr, 0)
            if Z1 % 20 == 4 then
                EEPTrainLooseCoupling(ZugOr,true, 1)
                    Rfahrt = Rfahrt + 1        
                        ZugOr = (ZugOr..";00"..Rfahrt)
                elseif Z1 % 20 == 10 then
                    EEPSetTrainCouplingRear(ZugOr,true)
                elseif Z1 >= 20 then    
                    Schalter_an = false
            Fahrt()
        end
    end
end
print("abkuppeln ok")
-- Hier habe ich nur den einen Befehl EEPSetTrainSpeed in eine eigene Funktion gepackt.
function Fahrt()
        EEPSetTrainSpeed(ZugOr, 10)
end
Jetzt läuft es so wie es soll. Allerdings kenne ich immer noch nicht die Ursache dafür? Und was die Anlage betrifft , zwei Schienen, einen KP in dem die Funktion Trenner aufgerufen wird. Das ist alles was Du dafür brauchst.
Achso eine Lok und einen Waggon brauchst auch noch
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Was ich vermutet habe, ist das eine function abkuppeln den Schalter_an auf true setzt und die Lok deswegen wieder gestoppt wird.

Aber wenn es jetzt läuft, ist alles ok.
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Hallo Juergen , ja ist aber unbefriedigend wenn man nicht weiß woher ein Fehler kommt. Wenn Du Lust hast kannst ja mal nachbauen die Anlage. Denn wenn im letzten Code, da wo 
EEPSetTrain Speed gesetzt werden soll ein Fehler kommt zb. expected string got nil, dann fährt der Zug weiter....??? Da muss die Codezeile aber in der Funktion Trenner sein. Das gibt mir noch mehr
Rätsel auf.
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Du kannst Deine Testanlage hier hoch laden, dann schaue ich sie mir gerne mal an, ist auch ein bisschen durcheinander, das Ganze.

Ich sehe dann auch schneller Fehler, als wenn ich die Anlage selbst nachstelle. Es könnten z. B. auch Schreibfehler oder andere Sachen
in Deinem Skript sein, die ich selbst nicht machen würde. Andere User könnten dann auch schauen und entdecken vielleicht schneller
den Fehler als ich.
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Gibt bestimmt was zu optimieren. Vielleicht sind auch Fehler im Code. Für mich, wenn dann, nicht ersichtlich . Der Code für Trenner und abkuppeln liegen in externen Dateien. Die Namen sind ersichtlich aus den require Einträgen im Hauptscript. Einmal
abkoppeln, dort muss der Trenner Code rein. Und abkuppeln ist für abkuppeln.

Code: Alles auswählen
function abkuppeln(Zugname)
            if Schalter_an then
                EEPSetTrainSpeed(ZugOr, 0)
            if Z1 % 20 == 3 then
                EEPTrainLooseCoupling(ZugOr,true, 1)
                    Rfahrt = Rfahrt + 1        
                        ZugOr = (ZugOr..";00"..Rfahrt)
                elseif Z1 % 20 == 10 then
                    EEPSetTrainCouplingRear(ZugOr,true)
                elseif Z1 >= 20 then    
                    Schalter_an = false
            Fahrt()
        end
    end
end
print("abkuppeln ok")

function Fahrt()
    Rfahrt = 0
        EEPSetTrainSpeed(ZugOr, 10)
end

Code: Alles auswählen
function Trenner(Zugname)
    ZugOr = Zugname
        Schalter_an = true
            Z1 = 0
aend
print("abkoppeln ok")
Dateianhänge
attachment Test_Kuppeln.zip
(96.77 KiB) 38-mal heruntergeladen
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Hallo Michael, ich möchte die Testanlage komplett mit allen Skripten. Also ich will die Anlage laden und dann starten können,
ohne, dass ich noch was machen muss. In Deinem Skript oben z. B. ist schon ein Syntaxfehler drin und wenn es davon mehrere
in Deiner Anlage gibt, funktioniert es natürlich nicht. Manch mal ist auch die Reihenfolge der Funktionen und der deklarierten
Variablen falsch usw...
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Hast ja recht, ich will Hilfe von Euch, nicht Ihr von mir! Habe jetzt auch die beiden Dateien dabei gepackt.
Nun musst Du nur noch die Sachen entpacken und die beiden .lua Dateien abkuppeln und abkoppeln in den Lua Ordner kopieren.
Dann solllte die Anlage sofort laufen.
Dateianhänge
attachment Test_Kuppeln_2.zip
(97.29 KiB) 37-mal heruntergeladen
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Der Fehler vorher war, dass die lokale Variable Zugname verwandt wurde und nicht die globale Variable ZugOr.
Deswegen kam die Fehlermeldung " expected string got nil". Er erwartete einen String (Zugname), der in der
function aber nicht vorhanden war.

Ich verstehe auch nicht ganz Deine Bedingungen, es sieht mir so aus, als ob Du den Modulo-Operator nicht richtig verstanden hast.
if Z1 % 20 == 3 bedeutet: Wenn der Zähler Z1 durch 20 geteilt wird und der Rest 3 ist, dann mach ...
elseif Z1 % 20 == 10 bedeutet: Wenn der Zähler Z1 durch 20 geteilt wird und der Rest 10 ist, dann mach ...
Dann kommt die letzte Zeile der Bedingung "elseif Z1 >= 20" bedeutet: Wenn der Zähler Z1 größer oder gleich 20 ist, dann mach ...
Bedeutet, dass bei Z1 gleich 20, 21,22 und 24 und 25 ... die letzte Zeile ausgeführt wird, bei Z1 gleich 23 aber die erste.

Dies verursacht zwar keinen Fehler, aber erzielt wohl nicht die gewollte Pause von 3 oder 10 Sekunden.

Der Zugname in der function abkuppeln(Zugname) ist überflüssig, auch hier steht der Zugname nicht zur Verfügung.

Es muss auch bei EEP 14.1 mit Plugin 1 "Zugnamen beibehalten" angehakt sein, sonst funktioniert Dein Code nicht
auch nicht bei unteren EEP-Versionen.
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Hallo Juergen, war wohl richtig murx das Script was ich da zusammen geschrieben habe. Hier eine Version die Dir bestimmt gefällt, hoffe ich :)

Code: Alles auswählen
clearlog()
Z1=0
Schalter_an = false
--##################Variablen#########################

--  Codeschnipsel von BH2,Benny
setmetatable(_ENV,{__index = function(s,k)
    local p = load(k)
    if p then
        local f = function(z)
            local s = Zugname
            Zugname = z
            p()
            Zugname = s
            end
        _ENV[k] = f
        return f
    end
    return nil
end } )

Gleis1Reg = EEPRegisterRailTrack(1)

function EEPMain()
    Z1 = Z1 + 1
    abkuppeln()
    return 1
end

function abkuppeln()
            if Schalter_an then
                hResult, hData, hName = EEPIsRailTrackReserved(1,true)
                    EEPSetTrainSpeed(hName, 0)
            if Z1%10==4 then
                    EEPTrainLooseCoupling(hName, true, 1)
            elseif Z1%10==6 then
                    EEPSetTrainCouplingRear(hName, true)
            elseif Z1 >= 18 then
                    EEPSetTrainSpeed(hName, 10)
                Schalter_an = false
        end
    end
end

function Trenner()
        Schalter_an = true
            Z1 = 0
end
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Richtig Murks war es nicht, Michael, es lief ja.
Was ich eigentlich meinte, war mehr einfache Struktur in das Skript bringen.
Ich habe mal eine Version von mir angehangen, da kann man es besser erkennen,
was ich mit einfacher Struktur meine.
Dateianhänge
attachment Test_Kuppeln_Neu_2.zip
Test_Kuppeln_Neu_2
(19.85 KiB) 46-mal heruntergeladen
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620
hurricane65
Kein Avatar
Beiträge: 39
Registriert: 01.12.2017, 11:10
EEP-Version: 14.1

AW: Zeitverzögerung mit Lua......

Hallo Juergen, jo dat nen ich mal aufgeräumt. Da werd ich wohl noch länger für brauchen. Bin schon froh das das was ich progge auch läuft.

Aber gelernt habe ich auch was dabei. Ich verstehe was Modulo macht. Und das ist ja auch schon was. Danke für die Hilfe und bis zum nächsten Mal *DRINK*
mfg
Michael

Win10 64bit
X399 Taichi
AMD Threadripper X1950
32GB Ram
Nvidia Geforce GTX 1080
EEP 14, Plugin 1
EEP 15
juergen18
Benutzeravatar
Team
Beiträge: 1300
Registriert: 04.10.2013, 22:43
EEP-Version: 7-14

AW: Zeitverzögerung mit Lua......

Erst mal ist wichtig, Michael, dass ein Skript korrekt funktioniert. Wenn es dann noch richtig strukturiert ist,
findet man auch schneller die Fehler und jetzt viel Spaß mit Lua, bis zum nächsten Mal. :D
Grüße aus Wattenscheid von Jürgen

Ich habe EEP 7-15
Laptop: Medion i7-6500U CPU 2.5 - 3.1 GHz, 8 GB DDR3-Speicher, NV Geforce GTX 950M, 2 GB DDR3 Speicher, Win 10 64-Bit

Mein aktuelles Projekt: Erweiterung des Tauschmanagers bis EEP 15 (aktuelle Vesion 3.2.2.2) und ein bisschen Lua
Anleitung für den TM zum Download

Postkartenzähler für den TM: 620

Ähnliche Themen

Zeitverzögerung
in Allgemeines von PeterPan mit 20 Antworten
Wir verwenden Cookies, um dir bestimmte Funktionen auf unserer Website bereitzustellen, durch die Nutzung unserer Seite erklärst du dich damit einverstanden das Cookies gesetzt werden. Mehr erfahren? Okay!