• 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.

Eine Sim restart Infoscript

versuchs mal damit...
Code:
key Owner;
default
{
    state_entry()
    {
        Owner = llGetOwner();
    }
    changed(integer change)
    {
        if(change & CHANGED_REGION_START)
        {
            llInstantMessage(Owner, "bin wieder da....");
        }
    }
}
 
ich hoff das ich mich da jetzt nirgends vertan hab...
Code:
list Members = ["61ee201a-81cf-4322-b9a8-a5eb8da777c2", "61ee201a-81cf-4322-b9a8-a5eb8da777c2", "61ee201a-81cf-4322-b9a8-a5eb8da777c2"];
default
{
    state_entry()
    {
    }
    changed(integer change)
    {
        if(change & CHANGED_REGION_START)
        {
            integer i;
            for(i=0; i<llGetListLength(Members); i++)
            {
                llInstantMessage(llList2String(Members,i),"bin wieder da....");
            }
        }
    }
}
Nicht getestet!

Oben in der List Memberst sind gerade 3 UUIDs getrennt durch comma drin.
Die solltest mit dem jeweiligen Key austauschen, kannst sie auch beliebig erweitern.

LG
Dae
 
updated & testet
Code:
list Members = ["61ee201a-81cf-4322-b9a8-a5eb8da777c2", "61ee201a-81cf-4322-b9a8-a5eb8da777c2", "61ee201a-81cf-4322-b9a8-a5eb8da777c2"];
string SLurl;
string BuildSlurl(string region_name, vector pos)
{
    return "http://slurl.com/secondlife/" + llEscapeURL(region_name) 
            + "/"+ (string)((integer)pos.x) 
            + "/"+ (string)((integer)pos.y) 
            + "/"+ (string)(llCeil(pos.z));
}
default
{
    state_entry()
    {
        SLurl = BuildSlurl(llGetRegionName(), llGetPos());
    }
    changed(integer change)
    {
        if(change & CHANGED_REGION_START)
        {
            integer i;
            for(i=0; i<llGetListLength(Members); i++)
            {
                llInstantMessage(llList2String(Members,i),"bin wieder da... " + SLurl);
            }
        }
    }
    touch_start(integer nd)
    {
        if(llDetectedKey(0) == llGetOwner())
        {
            llResetScript();
        }
    }
    on_rez(integer st)
    {
        llResetScript();
    }
}
Die Version sagt dir auch gleich die LM dazu.

LG
Dae
 
Armes Skript.

Muss die ganze Zeit nur auf der Sim rumliegen und darf nichts tun.
Nur nach dem Restart darf es was sagen ... und muss dann wieder die Klappe halten.

Gut, dass die Skripte keine Gewerkschaft haben, die sich über langweilige Jobs beschwert ...

:rofl
 
hehe, ich war schon versucht, es mit dem Namen Danziel in die Wiki zu setzen :)

Aber mal auf den Sinn von dem Script zu kommen. Ich persoenlich finde es sehr praktisch zu sehen wenn eine Sim neu startet.
Aus meinen Club-zeiten kenne ich das noch sehr gut, waerend einer Party startet die Sim ploetzlich mit der 5 minuten vorwahrnung neu und alle verpissen sich. Nun sehen dann alle dauernd in der Karte nach ob die Sim wieder da ist oder probieren staendig einen Teleport.
Das nervt ganz schoen.

Diese funktion verwende ich schon laenger, allerdings nur llInstantMessage(Owner,....
Das laesst sich schoen in nem Greeter oder LM giver einbauen.
Ein weiterer vorteil, wenn mans in LM Givern einbaut, man bekommt mit wenn gewisse Sims auf denen man einen Shop gemietet hat, wie oft die neu startet. Kommt das in meinen Augen zu haeufig vor, ist da irgend was nicht in ordnung und eine verlaengerung der mietzeit gilt es zu ueberdenken.

LG
Dae
 
Genau, damit es wieder ernsthaft wird, die Idee ist super, die paar Zeilen vom Change-Event und die Funktion für die Ausgabe einfach in etwas einzubauen, was schon da ist, LM- und NC-Giver sind ja oft sowieso schon da.

Und es gibt sicher viele Ideen, das auch als Service den Kunden anzubieten, die einfach informiert sein wollen, statt es immer wieder zu versuchen.
Eigendlich müssten die normalen Bots doch auch in der Lage sein, wenn sie diese IM erhalten, das im Gruppenchat weiterzugeben ...
 
Vieleicht sollte man dazu erwaehnen, mit dem einbau in LM oder NC givern ist gemeint, das script in das andere zu uebertragen.
Nicht das jemand auf die stumpfsinnige idee kommt, einfach das zweite script mit in den Giver zu legen.

Im uebrigen besitzt die letzte version bereiz einen touch event, in dem man leich mal eben die giver funktion rein schreiben kann.

LG
Dae
 
OK, da ich unsere Pappenheimer kenne und mir die tage wieder eins unter gekommen ist mit mehreren scripten fuer Hovertext und NC giver, hab ich mir mal die meuhe gemacht es mit einem LM giver und hovertext zu kombinieren.

Code:
list Members = ["61ee201a-81cf-4322-b9a8-a5eb8da777c2",  // its me
                "61ee201a-81cf-4322-b9a8-a5eb8da777c2",  // me again
                "61ee201a-81cf-4322-b9a8-a5eb8da777c2"]; // another one me (list expandable)

string SLurl;
string BuildSlurl(string region_name, vector pos)
{
    return "http://slurl.com/secondlife/" + llEscapeURL(region_name) 
            + "/"+ (string)((integer)pos.x) 
            + "/"+ (string)((integer)pos.y) 
            + "/"+ (string)(llCeil(pos.z));
}

default
{
    state_entry()
    {
        [COLOR=Red]llSetText("Landmark to the Club/Mainstore",<1,1,1>,1.0);[/COLOR] // floating text
        SLurl = BuildSlurl(llGetRegionName(),llGetPos());
    }
    changed(integer ch)
    {
        if(ch & CHANGED_REGION_START)
        {
            integer i;
            for(i=0; i<llGetListLength(Members); i++)
            {
                llInstantMessage(llList2String(Members,i),"Region has Restarted @ " + SLurl);
            }
        }
    }
    touch_start(integer nd)
    {
        [COLOR=Red]llGiveInventory(llDetectedKey(0),llGetInventoryName(INVENTORY_LANDMARK, 0))[/COLOR]; // LM giver
    }
    on_rez(integer st)
    {
        llResetScript();
    }
}
Ich kenne genug, die fuer diese 3 Funktionen, jeweils ein extra Script in den Prim schmeissen wuerden. :roll:

LG
Dae
 
Das hast du jetzt nicht wirklich gefragt, oder?

Vergleich es mal mit dem aus Post #4 ;)

Wenn du dir den ganzen Thread mal anschaust, muesste dir auffallen, wie sich aus dem ersten ganz kleinen, mit jeder erweiterung das aktuelle entwickelt hat.

LG
Dae
 

Users who are viewing this thread

Zurück
Oben Unten