Beim Aufruf der Funktion EEPSetSnowIntensity() passiert in EEP nichts. Ist da im Handbuch ein Schreibfehler oder die Funktion buggy ?
EEPSetSnowIntensity buggy?
-
- Gelöst
-
Tovak -
1. April 2020 um 19:51
Achte bitte darauf, dass Du mit deinem Thema bzw. mit deiner Frage im richtigen Bereich bist.
Die Bereiche sind: Einstellungen im Forum, EEP aktuell ab EEP7 , Splines, Rollmaterialien, Immobilien, Landschaftselemente, Signale und Schaltung, Anlagenvorstellungen, Schnappschüsse Konstrukteure, EEP Treffen , Laberecke, Online - Handbuch EEP Vielen Dank für die Unterstützung das Forum übersichtlich zu halten.
Die Bereiche sind: Einstellungen im Forum, EEP aktuell ab EEP7 , Splines, Rollmaterialien, Immobilien, Landschaftselemente, Signale und Schaltung, Anlagenvorstellungen, Schnappschüsse Konstrukteure, EEP Treffen , Laberecke, Online - Handbuch EEP Vielen Dank für die Unterstützung das Forum übersichtlich zu halten.
Bilder/Fotos aus dem Internet sind nur als Link gestattet. Eigene Fotos, also Fotos aus dem realen Leben, sind erstens mit Eigenes Bild als Quellenangabe zu kennzeichnen und zweitens nur als Dateianhang im Beitrag zulässig. Bilder ohne Quellenangaben und Bilder dessen Quelle das Internet wie z. B. Google ist, werden gelöscht.
-
-
Lua
Alles anzeigen-------------------------------------------------------------------------------- Schneestaerke = EEPGetSnowIntensity() -- Ermittelt die Schneeintensität. -- Rückgabewert ist die Schneeintensität in Prozenten. -- !!! Unter 10% werden 0% angezeigt !!! Ok = EEPSetSnowIntensity(50) -- Verändert die Schneeintensität. -- Argument ist die Schneeintensität in Prozent. -- Rückgabewert ist true, wenn die Ausführung erfolgreich war, sonst false. -- !!! Der eingestellte Wert wird allmählich übernommen !!! --------------------------------------------------------------------------------
-
Wie ich die Funktion anwende ist mir schon klar.
Bei allen anderen Wetter-Einstellungen sehe ich eine direkte Auswirkung im "Umwelt-Dialog" von EEP .. nur beim Schnee passiert .. nix -
Tovak ,
bei mir funktioniert die Funktion tadellos. Hast Du es mal mit print-Ausgaben versucht, ob auch deine Funktion ordnungsgemäß ausgeführt wird?
-
Jap hab ich .. es kommt true zurück .. also wurde es ausgeführt.
Was hast du sonst noch eingestellt? Sprich wie war das Wetter vorher ?
-
ich habe mir dafür eine Testanlage gebaut. Ein paar Bäumchen drauf gestellt und ein paar unsichtbare Signale für das GBS.
Damit kann ich per Schalter die Intensität ausdrucken und über den Zufall das entsprechende Wetter einstellen oder wieder auf 0%.
Teil_1/3
-
Teil_2/3
Und hier das Skript-Modul Schalter
Lua
Alles anzeigen--*********Skript Tufftuff_Schalter**************************** --##### Bitte nicht ändern! Anfang ##### Tufftuff.Schalter = {} Tufftuff.Schalter.Version = "1.0.0" --##### Bitte nicht ändern! Ende ##### --*********Einträge einfügen, abändern, ergänzen**************************** --Die Tabelle Tufftuff = {} darf natürlich im "Hauptskript" nicht fehlen! Tufftuff.S1 = {1} Tufftuff.S1_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S1_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S2 = {2} Tufftuff.S2_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S2_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S3 = {3} Tufftuff.S3_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S3_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S4 = {4} Tufftuff.S4_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S4_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S5 = {5} Tufftuff.S5_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S5_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S6 = {6} Tufftuff.S6_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S6_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S7 = {7} Tufftuff.S7_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S7_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S8 = {8} Tufftuff.S8_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S8_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S9 = {9} Tufftuff.S9_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S9_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S10 = {10} Tufftuff.S10_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S10_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S11 = {11} Tufftuff.S11_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S11_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 Tufftuff.S12 = {12} Tufftuff.S12_Start = 1 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Start = 1 Tufftuff.S12_Stop = 2 --!Ersetze die Null durch die Schalterstellung! Bsp. S1_Stop = 2 --********************************Ende*************************************************** function Wetter(a) local Wetter = (math.random(1, 100)) return Wetter end -- Ermittelt die Windstärke. for nc,Signal_ID in pairs (Tufftuff.S1) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S1_Start) then Windstaerke = EEPGetWindIntensity() print("Die Windstärke beträgt ", Windstaerke, "%") EEPSetSignal(Signal_ID, Tufftuff.S1_Stop) elseif (Stellung == Tufftuff.S1_Stop) then end end end -- Verändert die Windstärke, welche sofort den eingestellten Wert annimmt. for nc,Signal_ID in pairs (Tufftuff.S2) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S2_Start) then local Zufall = Wetter() OK = EEPSetWindIntensity(Zufall) print("Die Windstärke wurde auf ", Zufall, "% eingestellt.") elseif (Stellung == Tufftuff.S2_Stop) then OK = EEPSetWindIntensity(0) print("Die Windstärke wurde auf ", 0, "% eingestellt.") end end end -- Ermittelt die Regenintensität. for nc,Signal_ID in pairs (Tufftuff.S3) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S3_Start) then Regenstaerke = EEPGetRainIntensity() print("Die Regenstärke beträgt ", Regenstaerke, "%") EEPSetSignal(Signal_ID, Tufftuff.S3_Stop) elseif (Stellung == Tufftuff.S3_Stop) then end end end -- Verändert die Regenintensität (mit Blitz und Donner), welche allmählich den eingestellten Wert annimmt. for nc,Signal_ID in pairs (Tufftuff.S4) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S4_Start) then local Zufall = Wetter() OK = EEPSetRainIntensity(Zufall) print("Die Regenstärke wurde auf ", Zufall, "% eingestellt.") elseif (Stellung == Tufftuff.S4_Stop) then OK = EEPSetRainIntensity(0) print("Die Regenstärke wurde auf ", 0, "% eingestellt.") end end end -- Ermittelt die Schneeintensität. !!! Unter 10% werden 0% angezeigt !!! for nc,Signal_ID in pairs (Tufftuff.S5) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S5_Start) then Schneestaerke = EEPGetSnowIntensity() print("Die Schneestärke beträgt ", Schneestaerke, "%") EEPSetSignal(Signal_ID, Tufftuff.S5_Stop) elseif (Stellung == Tufftuff.S5_Stop) then end end end -- Verändert die Schneeintensität, welche allmählich den eingestellten Wert annimmt. for nc,Signal_ID in pairs (Tufftuff.S6) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S6_Start) then local Zufall = Wetter() Ok = EEPSetSnowIntensity(Zufall) print("Die Schneestärke wurde auf ", Zufall, "% eingestellt.") elseif (Stellung == Tufftuff.S6_Stop) then Ok = EEPSetSnowIntensity(0) print("Die Schneestärke wurde auf ", 0, "% eingestellt.") end end end -- Ermittelt die Hagelintensität. !!! Unter 10% werden 0% angezeigt !!! for nc,Signal_ID in pairs (Tufftuff.S7) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S7_Start) then Hagelstaerke = EEPGetHailIntensity() print("Die Hagelstärke beträgt ", Hagelstaerke, "%") EEPSetSignal(Signal_ID, Tufftuff.S7_Stop) elseif (Stellung == Tufftuff.S7_Stop) then end end end -- Verändert die Hagelintensität, welche allmählich den eingestellten Wert annimmt. for nc,Signal_ID in pairs (Tufftuff.S8) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S8_Start) then local Zufall = Wetter() OK = EEPSetHailIntensity(Zufall) print("Die Hagelstärke wurde auf ", Zufall, "% eingestellt.") elseif (Stellung == Tufftuff.S8_Stop) then OK = EEPSetHailIntensity(0) print("Die Hagelstärke wurde auf ", 0, "% eingestellt.") end end end -- Ermittelt die Nebelintensität. 100% sind eigentlich 0% und 37% sind eigentlich 63% !!! for nc,Signal_ID in pairs (Tufftuff.S9) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S9_Start) then Nebelintensitaet = EEPGetFogIntensity() print("Die Nebelintensität beträgt ", Nebelintensitaet, "%") EEPSetSignal(Signal_ID, Tufftuff.S9_Stop) elseif (Stellung == Tufftuff.S9_Stop) then end end end -- Verändert die Nebelintensität, welche sofort den eingestellten Wert annimmt. for nc,Signal_ID in pairs (Tufftuff.S10) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S10_Start) then local Zufall = Wetter() OK = EEPSetFogIntensity(Zufall) print("Die Nebelintensität wurde auf ", Zufall, "% eingestellt.") elseif (Stellung == Tufftuff.S10_Stop) then OK = EEPSetFogIntensity(0) print("Die Nebelintensität wurde auf ", 0, "% eingestellt.") end end end -- Ermittelt den Wolkenanteil. !!! Unter 10% werden 0% angezeigt !!! for nc,Signal_ID in pairs (Tufftuff.S11) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S11_Start) then Wolkenanteil = EEPGetCloudsIntensity() print("Der Wolkenanteil beträgt ", Wolkenanteil, "%") EEPSetSignal(Signal_ID, Tufftuff.S11_Stop) elseif (Stellung == Tufftuff.S11_Stop) then end end end -- Verändert den Wolkenanteil, welchen sofort den eingestellten Wert annimmt. for nc,Signal_ID in pairs (Tufftuff.S12) do EEPRegisterSignal(Signal_ID) _ENV["EEPOnSignal_"..Signal_ID] = function(Stellung) if (Stellung == Tufftuff.S12_Start) then local Zufall = Wetter() OK = EEPSetCloudsIntensity(Zufall) print("Der Wolkenanteil wurde auf ", Zufall, "% eingestellt.") elseif (Stellung == Tufftuff.S12_Stop) then OK = EEPSetCloudsIntensity(0) print("Der Wolkenanteil wurde auf ", 0, "% eingestellt.") end end end print("Skript Tufftuff_Schalter v.", Tufftuff.Schalter.Version, " wurde eingebunden.")
Damit kann ich alles Mögliche schalten und überwachen.
-
Teil_3/3
Und zum Schluss bin ich dann zu diesem Ergebnis gekommen.
Lua
Alles anzeigen------------------------------------------------------------------------------------- Windstaerke = EEPGetWindIntensity() -- Ermittelt die Windstärke. -- Rückgabewert ist die Windstärke in Prozenten. -- !!! Unter 10% werden 0% angezeigt !!! OK = EEPSetWindIntensity(100) -- Verändert die Windstärke. -- Argument ist die Windstärke in Prozent. -- Rückgabewert ist true, wenn die Ausführung erfolgreich war, sonst false. -- !!! Der eingestellte Wert wird sofort übernommen !!! -------------------------------------------------------------------------------- Regenstaerke = EEPGetRainIntensity() -- Ermittelt die Niederschlagintensität(mit Blitz und Donner). -- !!! Niederschlag = Regen mit Blitz und Donner !!! -- Rückgabewert ist die Niederschlagintensität in Prozenten. -- !!! Unter 10% werden 0% angezeigt !!! OK = EEPSetRainIntensity(50) -- Verändert die Niederschlagintensität. -- Argument ist die Niederschlagintensität in Prozent. -- Rückgabewert ist true, wenn die Ausführung erfolgreich war, sonst false -- !!! Der eingestellte Wert wird allmählich übernommen !!! -------------------------------------------------------------------------------- Schneestaerke = EEPGetSnowIntensity() -- Ermittelt die Schneeintensität. -- Rückgabewert ist die Schneeintensität in Prozenten. -- !!! Unter 10% werden 0% angezeigt !!! Ok = EEPSetSnowIntensity(50) -- Verändert die Schneeintensität. -- Argument ist die Schneeintensität in Prozent. -- Rückgabewert ist true, wenn die Ausführung erfolgreich war, sonst false. -- !!! Der eingestellte Wert wird allmählich übernommen !!! -------------------------------------------------------------------------------- Hagelstaerke = EEPGetHailIntensity() -- Ermittelt die Hagelintensität. -- Rückgabewert ist die Hagelintensität in Prozenten. -- !!! Unter 10% werden 0% angezeigt !!! OK = EEPSetHailIntensity(100) -- Verändert die Hagelintensität. -- Argument ist die Hagelintensität in Prozent. -- Rückgabewert ist true, wenn die Ausführung erfolgreich war, sonst false. -- !!! Der eingestellte Wert wird allmählich übernommen !!! -------------------------------------------------------------------------------- Nebelintensitaet = EEPGetFogIntensity() -- Ermittelt die Nebelintensität. -- Rückgabewert ist die Nebelintensität in Prozenten. -- !!! 100% sind eigentlich 0% und 37% sind eigentlich 63%, dabei gibt es noch einen Fehler !!! -- Gibt man 93% ein, ist der Rückbabewert 6% !? -- !!! Zusätzlich ist der Rückgabewert vom Nebel abhängig von den eingestellten Werten für Regen, Schnee, Hagel !!! OK = EEPSetFogIntensity(100) -- Verändert die Nebelintensität. -- Argument ist die Nebelintensität in Prozent. -- Rückgabewert ist true, wenn die Ausführung erfolgreich war, sonst false. -- !!! Der eingestellte Wert wird sofort übernommen, wenn nicht noch zusätzlich Regen, Schnee und/oder Hagel eingestellt werden, dann wird der eingestellte Wert allmählich übernommen !!! -------------------------------------------------------------------------------- Wolkenanteil = EEPGetCloudsIntensity() -- Ermittelt den Wolkenanteil. -- Rückgabewert ist der Wolkenanteil in Prozenten. -- !!! Unter 10% werden 0% angezeigt !!! OK = EEPSetCloudsIntensity(100) -- Verändert den Wolkenanteil. -- Argument ist der Wolkenanteil in Prozent. -- Rückgabewert ist true, wenn die Ausführung erfolgreich war, sonst false. -- !!! Der eingestellte Wert wird sofort übernommen !!!
-
Dann mal hier mein Code
Code
Alles anzeigenfunction Check_Wetter() local Wert local Snow local Rain local Fog local Clouds local Hail local Text -- print("Funktion CheckWetter") Status = math.random(0,99) if Status < 20 then -- Schneefall Snow = math.random (50,100) Rain = 0 Fog = 0 Clouds = math.random(10,100) Hail = 0 Text = "Schneefall" end if Status > 19 and Status < 40 then -- Regen Snow = 0 Rain = math.random(50,100) Fog = 0 Clouds = math.random(10,100) Hail = 0 Text = "Regen" end if Status > 39 and Status < 50 then -- Hagel Snow = 0 Rain = 0 Fog = 0 Clouds = math.random(80,100) Hail = math.random(10,100) Text = "Hagel" end if Status > 49 and Status < 60 then -- Nebel Snow = 0 Rain = 0 Fog = math.random(20,50) Clouds = 75 Hail = 0 Text = "Nebel" end if Status > 59 and Status < 80 then -- Bewölkt Snow = 0 Rain = 0 Fog = 0 Clouds = math.random(20,80) Hail = 0 Text ="Wolkig" end if Status > 79 and Status < 100 then -- Sonnig Snow = 0 Rain = 0 Fog = 0 Clouds = 0 Hail = 0 Text = "Sonnig" end -- print("Rain =",Rain) -- print("Snow =",Snow) -- print("Clouds =",Clouds) -- print("Fog =",Fog) -- print("Hail =",Hail) EEPSetRainIntensity(Rain) OK = EEPSetSnowIntensity(Snow) EEPSetCloudsIntensity(Clouds) EEPSetFogIntensity(Fog) EEPSetHailIntensity(Hail) EEPSetWindIntensity(math.random(0,100)) -- print("OK=",OK) -- Wert = EEPGetCloudsIntensity() print(string.format("%.2d",EEPTimeH),":",string.format("%.2d",EEPTimeM),":",string.format("%.2d",EEPTimeS)," - Neues Wetters: ",Text) end
-
Tovak ,
wann wird die Funktion Check_Wetter() bei Dir aufgerufen?Frage ist nicht relevant.P.S.: Habe was gefunden, warum dein Schnee nicht fällt. Ich weiß nur nicht was.
-
Die Funktion wird Sporadisch aus der EEPMain() aufgerufen.
Götz hat auch mal drüber geschaut und konnte den Fehler ebenso feststellen.
Michael89 Kannst den Fehler mal einer an Trend weiterreichen?
-
Schreib mal deinen Schneeaufruf an letzte Stelle, sonst wird er durch ein anderes Wetter überschrieben, da Du zur selben Zeit alle möglichen Wettereinstellungen aufrufst.
-
Ist es möglich, daß es gleichzeitig schneit und hagelt?
Oder überschreibt der Wert für Hagel auch den Wert für Schneefall?
Vielleicht ist es zuverlässiger wenn man zunächst alles ausschaltet was nicht aktiv sein soll (die 0-Werte setzen) und erst danach das aufruft, was aktiv sein soll (die Werte > 0 setzen). -
Ja .. Wenn man den Schnee als letztes setzt, klappt es.
-
Also .. Man darf nur Entweder Hagel oder Schnee gesetzt haben. Damit es funktioniert, muss der jeweilige andere Wert auf 0 gesetzt werden. Passiert, wenn man Schalter sparen will ..
-
Hallo,
Man darf nur Entweder Hagel oder Schnee gesetzt haben.
ich schau mal dass das dann mit ins Handbuch rein kommt.
Gruß Michael
-
Ich möchte hier nochmal näher darauf eingehen. Wenn man alles aus hat (0%) und nun die Schneeintensität z.B. auf 47% dann wird der Wert allmählich angenommen. Schaltet man jetzt den Hagel ein auf z.B. 58%, dann wird der Wert von Schnee und Hagel auf 58% gesetzt. Wenn man jetzt den Hagelwert oder den Schneewert auf 0% setzt, dann werden alle beide Werte auf 0% allmählich abgeändert. Alles klar soweit? D.h., wenn Tovak gleichzeitig den Wert von Schnee und Hagel abändert, dann wird der letzte Wert genommen. Das nur aus einem kurzen Test von mir.
-
Vielleicht noch ein wichtiger Hinweis, wenn der Hagel und der Schnee einen bestimmten %-Wert haben (59%) und man jetzt die Wolken abschaltet (0%), dann werden auch Schnee und Hagel die 0% allmählich annehmen. Weitere Test mache ich nach der Mittagsruhe.
-
und man jetzt die Wolken abschaltet (0%),
dann hört es auch auf zu regnen.....