• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Suche lagarmes Swingscript

Kila Shan

Moderatorin
Teammitglied
Hallihallo ihr cleveren Scripter hier im Forum,

ich suche, wie oben schon steht, ein Script zum Schwingen, was wenig Lag macht. Mein zur Zeit benutztes Script soll 12 ms Rechenzeit verbrauchen, was scheinbar sehr viel ist. Dies sagte mir ein Simowner.

/me hat 0 Ahnung.

Wenn ich nun mir ein neues Script kaufen soll/muss, da weiss ich ja wieder nicht, wieviel Zeit es verbraucht.

Das Script soll einstellbar sein, wie hoch es schwingt und wie schnell, und es muss sich per klick an und ausstellen können, mehr nicht.

Hat jemand sowas, oder kann mir helfen, mein bestehendes Script lagärmer zu machen.

Danke :)
 
Hier versuch es mal damit ....wie viel Rechenzeit das verbraucht keine Ahnung.
Hab keine eigene SIM.

Jedenfalls sollte es schwingen und ein touch AN/AUS ist auch drin :


Code:
integer AnAus = 0; // 0 oder 1


vector achse = <1.0,0.0,0.0>;
float geschwindigkeit;
float zeit = 1.0;
float bogenmass;
rotation startRot;


default
{
   state_entry()
   {
      startRot = llGetRot();
        bogenmass = 60 * DEG_TO_RAD;
        geschwindigkeit = bogenmass / zeit;
      llSetTimerEvent(0);
         OnOff = 0;
   }

   
   touch_start(integer total_number)
   {
      if ( AnAus == 0)
      {
         llSetTimerEvent(zeit * 2);
         AnAus = 1;
         return;
      }
      
      if ( AnAus == 1)
      {
         llSetTimerEvent(0);
         AnAus = 0;
         return;
      }
      
   }

    timer()
    {
        llTargetOmega(achse,geschwindigkeit,1.0);
        llSleep(zeit);
        llTargetOmega(achse,0.0,1.0);
        llSetRot(startRot * llAxisAngle2Rot(achse, bogenmass));   
        llTargetOmega(achse,-geschwindigkeit,1.0);
        llSleep(zeit);
        llTargetOmega(achse,0.0,1.0);
        llSetRot(startRot);   
    }


      
}
 
Leicht aufgehübscht:

Code:
integer     Swinging = FALSE;
vector      achse = <1.0,0.0,0.0>;
float        geschwindigkeit;
float        zeit = 1.0;
float        bogenmass;
rotation    startRot;

default {
    state_entry() {
        startRot = llGetRot();
        bogenmass = 60 * DEG_TO_RAD;
        geschwindigkeit = bogenmass / zeit;
        llSetTimerEvent(0);
    }
   touch_start(integer total_number) {
        if (Swinging)
            llSetTimerEvent(0);
        else
            llSetTimerEvent(zeit * 2);
        Swinging = !Swinging;
    }
    timer() {
        llTargetOmega(achse,geschwindigkeit,1.0);
        llSleep(zeit);
        llTargetOmega(achse,0.0,1.0);
        llSetRot(startRot * llAxisAngle2Rot(achse, bogenmass));   
        llTargetOmega(achse,-geschwindigkeit,1.0);
        llSleep(zeit);
        llTargetOmega(achse,0.0,1.0);
        llSetRot(startRot);   
    }
}
 
ui, das ist ja nett von euch.

Und wieviel Rechenzeit verbrauchen die beiden Scripte nun? Besser als meins?
 
Das kann man nur über das Estate Menü rausfinden und dazu braucht man eine eigene SIM. Kannst mir gerne eine schenken dann sag ich dir auch die Rechenzeit :mrgreen:
 
ui, das ist ja nett von euch.

Und wieviel Rechenzeit verbrauchen die beiden Scripte nun? Besser als meins?

Ah ich hatte nur Docs Beitrag gelesen, entschuldige. Das Script ist so für deine Zwecke nicht geeignet. Es müsste noch erweitert werden, eine Notecard als Konfiguration zum Beispiel auslesen. Den Toucher feststellen und nur den erlauben, der auch drauf sitzt, zum Beispiel auch.
Eines weiß ich leider nicht, wieviel Zeit es verbrät. Ich habe keine Sim um das einsehen zu können (und auch keine Estate Rechte).

LG, Herm
 
Das mit der Zeit ist ja mein Problem, daher bringt es mir auch nichts, ein Script zu kaufen.
Echt blöd, da soll man lagarme Scripte verwenden, bekommt aber kein Infos darüber.
 
Das mit der Zeit ist ja mein Problem, daher bringt es mir auch nichts, ein Script zu kaufen.
Echt blöd, da soll man lagarme Scripte verwenden, bekommt aber kein Infos darüber.

Ich kenne dein Script ja nicht, aber ich vermute mal, dass prinzipbedingt solche Scripte immer relativ viel Rechenzeit in Ansprich nehmen, wenn der timer läuft.

Herm
 
Hier ist mein Script, ahhh...ich hatte noch was vergessen, es macht beim rezzen ein Reset des Scriptes, da ich eine zeitlang Probleme hatte, und es immer per Hand resetten musste, was natürlich der Käufer nicht konnte.

Also ich habe es mir jetzt zwei mal in Ruhe angesehen und kann nichts erkennen, was zu einer gravierenden Änderung im Zeitverhalten führen würde.
Sicher müßte man es ausprobieren, aber dein Script ist dem was ich machen würde schon recht nach. Die Parameter kann man hier auch nicht per NC einlesen, aber sowas läßt sich leicht ergänzen, durchaus auch in einem anderen Script (über message link).
Eine winzigkeit (wie schon bei Docs Script würde ich ändern:

Code:
    touch_start(integer num) {
        if(swing)
            llSetTouchText("Swing");
        else {
            llSetTouchText("Stop swing");
            llSetTimerEvent(time);
        }
        swing = !swing;
    }
 
Wenn die Scripte beide ca. gleich sind, dann muss man es also hinnehmen, dass die so einen Lag verursachen?
Per NC brauch man nichts einlesen, ich wüsste nicht warum man es tun sollte. Ich stelle einmal die Parameter ein und fertig.
 
Wenn die Scripte beide ca. gleich sind, dann muss man es also hinnehmen, dass die so einen Lag verursachen?
Per NC brauch man nichts einlesen, ich wüsste nicht warum man es tun sollte. Ich stelle einmal die Parameter ein und fertig.

Du kannst es ja testen lassen. Ich sehe jedenfalls kaum eine Chance. Mir ist schon immer aufgefallen, dass es nicht nur wegen der Bewegung selbst leicht ruckelig wird bei sowas.. leider...
 
Also ich kann da nichts zu sagen, ich scripte grundsätzlich nur nach Funktion und nicht nach möglichen LAG.

Solange das auf meiner alten Pentium4 Kiste läuft und nichts abstürzt gehe ich immer davon aus das es OK ist.

Wenn man das jetzt mit irgendwelchen Listenern noch erweitert um die Geschwindigkeit oder Drehwinkel zu ändern dann macht es logischerweise mehr LAG.

Aber solange man damit nur irgendwelche Schaukelstühle für den Garten baut oder eine Hängematte, braucht man das doch alles nicht. Da stellt man direkt die passenden Parameter im Script ein und lässt es so.
 
Tja, ich habe nur jetzt das Problem, dass der Simowner mir das Teil zurückschickt, weil es Lag verursacht. Nur ich kann es nach euren Aussagen nicht ändern.
Ich dachte, man könnte es optimieren.
 
Aufgrund der Anzahl Rotationsänderungen während einem "swing" bin ich sicher, dass das Script von Doc. resp. Herm weniger Lag (Scriptzeit) in Anspruch nehmen wird. Ausserdem wird es flüssiger anzusehen sein (sofern kein Client-Lag vorhanden).

gruss thinkangel
 
Linden hat ja versprochen so eine Funktion auch für jedermann im Viewer bereit zu stellen.
Aber man kennt sie ja.... die reden wie Guido Westerwelle *gg*

Aber so einen SIM Owner der von Parcelle zu Parcelle hüpft und alles returnt was evtl. ein bißchen LAG verursachen könnte hatte ich auch mal.

Für mich ein Grund gewesen das Feld zu räumen.

Ich bin mir sicher das so ein harmloses Script mit ein paar Rotationen weniger LAG verursacht als ein Zyngo Automat oder irgendwelche HUD gesteuerten Dancefloors mit Hunderte von Listenern.

Das Teil dürfte nicht mehr LAG machen als eine normale Eingangstür am Strandhaus.
 

Users who are viewing this thread

Zurück
Oben Unten