Second Life heute an einem Ort Geschenke & Freebies stündlich aktualisiert 7 Sprachen Kostenlos deinen Store eintragen
12:49 SLT Event eintragen+ Eintragen
Grid-Störung
  • Geplant: Scheduled Billing Maintenance, Mo., 16. Nov. 09:30–10:30 SLT
  • Grid-Status: Unscheduled Group Chat Maintenance (investigating)
  • Jetzt: Unitarian Universalist Samstagsgottesdienst in UUtopia
  • Jetzt: The Dharma of Community: Buddhistische Gesellschaft und der Householder
  • Jetzt: SLCS Harvest Fest: Spiele, Musik und Spaß
  • 14:00 SLT: NAD GOUGH live im Moondance in Cascadia, 14:00 Uhr SLT
  • News: REZZ MALL: Second-Life-Marken in einem Web-Mall
  • Viewer: Second Life Viewer 26.5 mit modernisiertem Chat
  • Geplant: Scheduled Billing Maintenance, Mo., 16. Nov. 09:30–10:30 SLT
  • Grid-Status: Unscheduled Group Chat Maintenance (investigating)
  • Jetzt: Unitarian Universalist Samstagsgottesdienst in UUtopia
  • Jetzt: The Dharma of Community: Buddhistische Gesellschaft und der Householder
  • Jetzt: SLCS Harvest Fest: Spiele, Musik und Spaß
  • 14:00 SLT: NAD GOUGH live im Moondance in Cascadia, 14:00 Uhr SLT
  • News: REZZ MALL: Second-Life-Marken in einem Web-Mall
  • Viewer: Second Life Viewer 26.5 mit modernisiertem Chat
LSL-Skript

LSL-Geschenkverteiler-Skript für Freebies und Gruppengeschenke

Kostenloses LSL-Geschenkskript für Second-Life-Stores: Anklicken gibt alle Objekte als einen Ordner, für alle oder nur für Gruppenmitglieder mit Gruppentag.

101 Zeilen ·

Jeder Store braucht einen Geschenkverteiler. Dieses Skript verteilt alles aus dem Inhalt eines Objekts als einen ordentlichen Ordner, sobald jemand es anklickt. Schalte GROUP_ONLY ein, und es wird zu einem Gruppengeschenk-Board: Nur Residents, die den Gruppentag deines Stores tragen, bekommen das Geschenk.

lsl-gift-giver-script.lsl · 101 Zeilen Dieses Skript prüfen
// Gift Giver (everyone or group only) - free LSL script from WhatSL (https://whatsl.com/scripts/lsl-gift-giver-script)
// Free to use, change and put in your own creations, also ones you sell.
//
// Put this script and your gift items in an object. Touch it to receive everything in its Contents
// (except this script) as one folder. Items must be copyable for the next owner.
// With GROUP_ONLY = TRUE, only residents wearing the same group tag as the object get the gift:
// set the object's group in the Edit window (General tab) first.

integer GROUP_ONLY       = FALSE;
string  FOLDER_NAME      = "";    // "" = use the object's name
string  THANK_YOU        = "Enjoy your gift! It is in your inventory.";
string  NO_GROUP_TEXT    = "Sorry, this gift is for group members. Wear the group tag and touch me again.";
integer COOLDOWN_SECONDS = 60;    // the same avatar can take the gift again after this time

list gRecent = [];   // [avatar key, unix time, ...]

string folderName()
{
    if (FOLDER_NAME != "") return FOLDER_NAME;
    return llGetObjectName();
}

list giftItems()
{
    list out = [];
    string me = llGetScriptName();
    integer n = llGetInventoryNumber(INVENTORY_ALL);
    integer i;
    for (i = 0; i < n; ++i)
    {
        string name = llGetInventoryName(INVENTORY_ALL, i);
        if (name != me) out += [name];
    }
    return out;
}

giveGift(key who, integer sameGroup)
{
    if (GROUP_ONLY)
    {
        // an object without a group would let everyone in, so check that a group is set
        key objGroup = llList2Key(llGetObjectDetails(llGetKey(), [OBJECT_GROUP]), 0);
        if (objGroup == NULL_KEY)
        {
            llRegionSayTo(who, 0, "This gift giver is not set up yet.");
            return;
        }
        if (!sameGroup)
        {
            llRegionSayTo(who, 0, NO_GROUP_TEXT);
            return;
        }
    }
    integer now = llGetUnixTime();
    integer i = llListFindList(gRecent, [who]);
    if (i != -1)
    {
        if (now - llList2Integer(gRecent, i + 1) < COOLDOWN_SECONDS)
        {
            llRegionSayTo(who, 0, "You already have this gift. Look for the folder \"" + folderName() + "\" in your inventory.");
            return;
        }
        gRecent = llDeleteSubList(gRecent, i, i + 1);
    }
    list stuff = giftItems();
    if (llGetListLength(stuff) == 0)
    {
        llRegionSayTo(who, 0, "This gift giver is empty right now.");
        return;
    }
    llGiveInventoryList(who, folderName(), stuff);
    llRegionSayTo(who, 0, THANK_YOU);
    gRecent += [who, now];
    if (llGetListLength(gRecent) > 200) gRecent = llDeleteSubList(gRecent, 0, 1);
}

default
{
    state_entry()
    {
        if (GROUP_ONLY)
        {
            key objGroup = llList2Key(llGetObjectDetails(llGetKey(), [OBJECT_GROUP]), 0);
            if (objGroup == NULL_KEY) llOwnerSay("GROUP_ONLY is on, but this object has no group. Set the group in the Edit window (General tab), then reset the script.");
        }
    }

    touch_start(integer total)
    {
        integer d;
        for (d = 0; d < total; ++d)
        {
            giveGift(llDetectedKey(d), llDetectedGroup(d));
        }
    }

    changed(integer change)
    {
        if (change & CHANGED_OWNER) llResetScript();
    }
}

Frei nutzbar, änderbar und in eigenen Kreationen verwendbar, auch in solchen, die du verkaufst.

So richtest du es ein

  1. Rez eine Kiste, ein Schild oder ein Poster für dein Geschenk und lege das Skript in dessen Inhalt.
  2. Füge deine Geschenkobjekte hinzu (Kleidung, Möbel, ein Landmark, eine Notizkarte). Sie müssen für den nächsten Besitzer kopierbar sein.
  3. Für ein Gruppengeschenk setzt du GROUP_ONLY auf TRUE und stellst im Bearbeitungsfenster, Reiter Allgemein, die Gruppe des Objekts ein. Speichere das Skript danach erneut.
  4. Klicke den Verteiler an, um ihn zu testen. Das Geschenk erscheint als Ordner, benannt nach dem Objekt.

Einstellungen

  • GROUP_ONLY: FALSE gibt an alle; TRUE nur an Residents, die den Gruppentag des Objekts tragen.
  • FOLDER_NAME: der Name des Ordners, in dem das Geschenk ankommt; leer lassen, dann wird der Name des Objekts verwendet.
  • THANK_YOU und NO_GROUP_TEXT: die Nachrichten, die Residents sehen.
  • COOLDOWN_SECONDS: verhindert, dass sich derselbe Avatar das Geschenk versehentlich immer wieder holt.

Tipps

  • Wechsle das Geschenk jeden Monat, indem du die Objekte im Inhalt austauschst; am Skript muss nichts geändert werden.
  • Lege dem Geschenk eine kurze Notizkarte mit einem Landmark zu deinem Store und einem Dankeschön bei.
  • Trage dein Geschenk kostenlos auf WhatSL ein, damit mehr Residents es finden.

Häufig gestellte Fragen

Warum sieht ein Resident in meiner Gruppe „Dieses Geschenk ist für Gruppenmitglieder“?

Dieser ist zwar in der Gruppe, hat aber einen anderen Gruppentag aktiv. Bitte ihn, deine Gruppe als aktive Gruppe festzulegen, und dann noch einmal anzuklicken.

Warum fehlen einige Objekte im Ordner?

Objekte, die für den nächsten Besitzer nicht kopierbar sind, können nicht in einem Ordner verschenkt werden. Mache sie kopierbar oder nutze für jedes nicht kopierbare Objekt einen eigenen Verteiler.

Kann ich auch ein Landmark verschenken?

Ja. Alles im Inhalt außer dem Skript selbst wird verschenkt, also auch Landmarks und Notizkarten.

Eigenes Skript prüfen: LSL-Syntaxprüfer →

Weitere SkripteAlle Skripte
LSL-Skript · 55 Zeilen

LSL-Tür-Skript: Berühren zum Öffnen, schließt sich selbst

Kostenloses LSL-Türskript für Second Life. Berühren zum Öffnen und Schließen, die Tür schwingt um ihr Scharnier und schließt sich nach einigen Sekunden selbst. Geräusche optional.

LSL-Skript · 69 Zeilen

LSL sit and pose script for chairs and pose balls

Free LSL sit script for Second Life chairs, benches and pose balls: sit and play your own animation, set the sit position, hide the ball while in use.

LSL-Skript · 96 Zeilen

LSL tip jar script with thank-you message and total

Free LSL tip jar script for Second Life clubs, DJs, hosts and stores: quick pay buttons, a thank-you message, the total and last tipper in floating text.