LSL-Begrüßungsskript: Willkommensnachricht für Besucher
Kostenloses LSL-Begrüßungsskript für Second-Life-Stores und Clubs: einmal täglich eine private Willkommensnachricht für jeden Besucher in der Nähe, kein Spam im lokalen Chat.
Begrüße jeden Besucher, auch wenn du nicht online bist. Dieses Begrüßungsskript erkennt Avatare in der Nähe und schickt jedem von ihnen einmal am Tag eine private Willkommensnachricht. Nur der Besucher sieht sie, deshalb bleibt der lokale Chat ruhig, und der Besitzer wird nie begrüßt.
// Visitor Greeter - free LSL script from WhatSL (https://whatsl.com/scripts/lsl-greeter-script)
// Free to use, change and put in your own creations, also ones you sell.
//
// Sends a private welcome message to each visitor who comes near, once a day.
// Only the visitor sees it, so it does not spam local chat. The owner is never greeted.
string WELCOME_TEXT = "Welcome, %name%! Have a look around and grab the free gift at the entrance.";
float RANGE_METRES = 20.0; // how close a visitor must come (up to 96.0)
float SCAN_SECONDS = 10.0; // how often to look for new visitors
integer MAX_REMEMBER = 300; // visitors remembered per day
list gSeen = [];
integer gDay;
string fillName(string s, string name)
{
integer i = llSubStringIndex(s, "%name%");
if (i == -1) return s;
return llInsertString(llDeleteSubString(s, i, i + 5), i, name);
}
default
{
state_entry()
{
gDay = llGetUnixTime() / 86400;
llSensorRepeat("", NULL_KEY, AGENT, RANGE_METRES, PI, SCAN_SECONDS);
}
on_rez(integer param)
{
llResetScript();
}
sensor(integer total)
{
integer today = llGetUnixTime() / 86400;
if (today != gDay)
{
gDay = today;
gSeen = [];
}
key owner = llGetOwner();
integer i;
for (i = 0; i < total; ++i)
{
key av = llDetectedKey(i);
if (av != owner)
{
if (llListFindList(gSeen, [av]) == -1)
{
llRegionSayTo(av, 0, fillName(WELCOME_TEXT, llGetDisplayName(av)));
gSeen += [av];
if (llGetListLength(gSeen) > MAX_REMEMBER) gSeen = llDeleteSubList(gSeen, 0, 0);
}
}
}
}
}
Frei nutzbar, änderbar und in eigenen Kreationen verwendbar, auch in solchen, die du verkaufst.
So richtest du es ein
- Lege das Skript in ein kleines Objekt in der Nähe deines Landmarkenpunkts, zum Beispiel ein Schild oder ein unsichtbares Prim.
- Schreibe deine Nachricht in WELCOME_TEXT. %name% wird zum Anzeigenamen des Besuchers.
- Speichere. Geh weg, komm mit einem anderen Avatar zurück oder bitte einen Freund, es zu testen.
Einstellungen
- WELCOME_TEXT: die Willkommensnachricht. Erwähne, was neu ist, wo das Geschenk zu finden ist oder deine Gruppe.
- RANGE_METRES: wie nah ein Besucher kommen muss, bis zu 96 Meter.
- SCAN_SECONDS: wie oft der Begrüßer nach neuen Besuchern sucht. 10 Sekunden sind ein guter Mittelweg.
- MAX_REMEMBER: wie viele Besucher pro Tag gemerkt werden, bevor die ältesten vergessen werden.
Tipps
- Halte die Nachricht kurz und freundlich, ein oder zwei Sätze.
- Stelle lieber einen Begrüßer in der Nähe des Landmarkenpunkts auf, statt mehrere im ganzen Store verteilt, damit Besucher nur eine Nachricht bekommen.
Häufig gestellte Fragen
Bekommen Besucher die Nachricht jedes Mal, wenn sie kommen?
Nein. Jeder Besucher wird einmal pro Tag begrüßt (nach dem UTC-Datum des Servers).
Speichert der Begrüßer, wer den Ort besucht hat?
Er behält nur die Keys der heutigen Besucher im Speicher, um doppelte Begrüßungen zu vermeiden, und vergisst sie am nächsten Tag oder wenn das Skript neu gestartet wird.
Verursacht der Begrüßer Lag?
Ein Sensor alle 10 Sekunden ist leicht. Vermeide Scans jede Sekunde oder sehr viele Begrüßer in einer Region.