GridTalk.de
YEngine Skript Restart - Druckversion

+- GridTalk.de (https://www.gridtalk.de)
+-- Forum: Werkstatt (https://www.gridtalk.de/forumdisplay.php?fid=4)
+--- Forum: Scripting (https://www.gridtalk.de/forumdisplay.php?fid=23)
+--- Thema: YEngine Skript Restart (/showthread.php?tid=4176)



YEngine Skript Restart - Manfred Aabye - 01.01.2022

Um alle oder einzelne Skripte neu zu starten wenn OpenSim hochfährt, braucht man nur folgendes machen:
Die Datei startup_commands.txt.example in startup_commands.txt umbenenen.
Dann in diese Datei folgendes einfügen:
Code:
yeng reset Skriptname
oder bei allen Skripten:
Code:
yeng reset -all



RE: YEngine Skript Restart - Xenos Yifu - 14.02.2022

Habe es mal umgesetzt.
Seit dem Update nutzen wir ja die yeng.
Habe zwei Scripts die sich gerne mal daneben benehmen, bisher muss ich die nach dem Hochfahren manuell zurücksetzen.
Schau mer moarl ...


RE: YEngine Skript Restart - Anachron - 15.02.2022

To Be Used With Caution
Für einzelne Scripte, die Probleme machen und nach einem Reset dann wieder arbeiten mag das nützlich sein, ich kenne aber einige Fälle, in denen das zu eher unerwünschten Effekten führen könnte. Von einem generellen Restart aller Scripte beim Restart ist also eher abzuraten.


RE: YEngine Skript Restart - Xenos Yifu - 15.02.2022

Oh, ok thx.
Dann starte ich die lieber bei Bedarf per Hand neu.


RE: YEngine Skript Restart - Mareta Dagostino - 15.02.2022

Anachron wollte nur warnen, das pauschal mit allen Scripten zu machen. Manche Scripte merken sich Einstellungen, die über den Reboot einer Sim erhalten bleiben sollen. Beispielsweise Besucherzähler, OSW-Beacon, manche Türscripte, Rollenspielscripte usw. Wenn du spezielle Problemscripte hast, die du dann eh immer von Hand neu startest, für sowas ist Manfeds Hinweis super. Also "yeng reset Skriptname"...


RE: YEngine Skript Restart - Anachron - 15.02.2022

(15.02.2022, 09:57)Mareta Dagostino schrieb: Anachron wollte nur warnen, das pauschal mit allen Scripten zu machen. Manche Scripte merken sich Einstellungen, die über den Reboot einer Sim erhalten bleiben sollen. Beispielsweise Besucherzähler, OSW-Beacon, manche Türscripte, Rollenspielscripte usw. Wenn du spezielle Problemscripte hast, die du dann eh immer von Hand neu startest, für sowas ist Manfeds Hinweis super. Also "yeng reset Skriptname"...

Perfekt erklärt Cool


RE: YEngine Skript Restart - Manfred Aabye - 15.03.2022

Ja genau wie mein Infopaneel das wird so zu früh resettet.
Ich habe hierfür mal ein Inworld Skript angepasst.
Es wird einfach mit in´s Prim gelegt.

Skript: reset.lsl
PHP-Code:
/*
osResetAllScripts(integer AllLinkSet)
Resets all the scripts on the same prim if AllLinkSet is FALSE( or 0) or on same linkset if AllLinkSet is TRUE ( or 1 )

Diese Funktion kann schwer sein und aufgrund der asynchronen Natur von Skriptmodulen negative Nebenwirkungen haben.
Bedrohungsstufe Diese Funktion fuehrt keine Pruefung der Bedrohungsstufe durch
Berechtigungen Die Verwendung dieser Funktion ist standardmaeßig immer erlaubt
Verzögerung 0 Sekunden
Anmerkungen
Diese Funktion wurde am 10. Oktober 2019 zu 0.9.1.0 hinzugefuegt
*/

//
// osResetAllScripts Script Example
//

string BOOT_TIME llGetTimestamp();
float warte 20.0// warte 20 Sekunden bis die Region geladen ist.


default
{
    
changed(integer change)
    {
    
//  Beachte dass es & und nicht && ist ... es ist bitweise!
        
if (change CHANGED_REGION_START)
        {
            
// Befehle die ausgefuehrt werden wenn die Region startet.
            
            // Nachricht an Besitzer das die Region neu gestartet wurde.
            
key owner llGetOwner();
            
string region llGetRegionName();
            
BOOT_TIME llGetTimestamp();
            
llInstantMessage(owner"Region '" region "' wurde neu gestartet: " BOOT_TIME );

            
// Warten und dann Skript resetten.
            
llSleep(warte);
            
llInstantMessage(owner"Infopanel wird resettet!" );
            
osResetAllScripts(0);

        }
    }

    
state_entry()
    {
        
osResetAllScripts(0);
    }

    
touch_start(integer total_number)
    {
        
osResetAllScripts(0);

    }