logo
Homepage-Sicherheit

Willkommen Gast! Um alle Funktionen zu aktivieren müssen Sie sich Anmelden oder Registrieren.

Mitteilung

Icon
Error

Einloggen


Teilen
Optionen
Ansicht
Gehe zum aktuellsten Beitrag Gehe zum letzten Ungelesenen
Offline MartinRJ Fayray  
#1 Geschrieben : Donnerstag, 29. Januar 2015 13:48:07(UTC)
MartinRJ Fayray

Rang: Ehrenmitglied

Ansehen:

Mitglied seit: 05.09.2014(UTC)
Beiträge: 91
Germany
Wohnort: Tulln und Rostock

Dankte: 6 mal(e)
Die Funktion reset_script() durchsucht das Prim in dem sich dieses Skript befindet nach anderen Skripts, und setzt sie zurück (Reset).

Hier in diesem Beispiel passiert das jedes Mal wenn das Objekt gerezzt wird.
Code:

reset_scripts()
{
    integer ic;
    integer inum = llGetInventoryNumber(INVENTORY_SCRIPT);
    if (inum > 1)
    {
        for (ic = 0; ic < inum; ic++)
        {
            if (llGetInventoryName(INVENTORY_SCRIPT, ic) != llGetScriptName())
            {
                llResetOtherScript(llGetInventoryName(INVENTORY_SCRIPT, ic));
            }
        }
    }
}
default
{
    on_rez(integer start_param)
    {
        reset_scripts();
    }
}



Diese zweite Funktion löscht sämtlichen Inhalt aus einem Prim, auch das Skript selbst. In dem Beispiel wird das wieder beim Rezzen ausgelöst:

Code:

delete_everything()
{
    integer ic;
    integer inum = llGetInventoryNumber(INVENTORY_ALL);
    if (inum > 1)
    {
        for (ic = inum - 1; ic >= 0; ic--)
        {
            if (llGetInventoryName(INVENTORY_ALL, ic) != llGetScriptName())
            {
                llRemoveInventory(llGetInventoryName(INVENTORY_ALL, ic));
            }
        }
    }
    llRemoveInventory(llGetScriptName());
}
default
{
    on_rez(integer start_param)
    {
        delete_everything();
    }
}


Zu beachten ist hier, dass in der Funktion delete_everything in der for-Schleife rückwärts gezählt wird, ansonsten würde beispielsweise das 10. Inventarobjekt beim Versuch dieses zu löchen nicht mehr existieren, wenn man von 1 bis 10 hochzählt.

Bearbeitet vom Benutzer Donnerstag, 12. März 2015 19:52:49(UTC)  | Grund: Nicht angegeben

It is the mark of an educated mind to be able to entertain a thought without accepting it.
Rss Feed  Atom Feed
Benutzer, die gerade dieses Thema lesen
OceanSpiders 2.0
Das Forum wechseln  
Du kannst keine neue Themen in diesem Forum eröffnen.
Du kannst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge nicht löschen.
Du darfst deine Beiträge nicht editieren.
Du kannst keine Umfragen in diesem Forum erstellen.
Du kannst nicht an Umfragen teilnehmen.

Powered by YAF.NET | YAF.NET © 2003-2018, Yet Another Forum.NET
Diese Seite wurde in 0.029 Sekunden generiert.

Datenschutzrichtlinie
Haftungsausschluss
Impressum
Datenschutzerklärung
AGB, ToS
Kontakt