LSL karşılama scripti: ziyaretçiler için hoş geldin mesajı
Second Life mağazaları ve kulüpleri için ücretsiz LSL karşılama scripti: yakına gelen her ziyaretçiye günde bir kez özel hoş geldin mesajı, yerel sohbette spam yok.
Siz çevrimiçi değilken bile her ziyaretçiyi selamlayın. Bu karşılama scripti yakına gelen avatarları fark eder ve her birine günde bir kez özel bir hoş geldin mesajı gönderir. Mesajı yalnızca ziyaretçi görür, bu yüzden yerel sohbet sessiz kalır ve sahibi asla karşılanmaz.
// 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);
}
}
}
}
}
Ücretsizdir: kullanabilir, değiştirebilir ve sattıkların dahil kendi yapımlarına koyabilirsin.
Nasıl kurulur
- Scripti, iniş noktanızın yakınına, bir tabela ya da görünmez bir prim gibi küçük bir objeye koyun.
- Mesajınızı WELCOME_TEXT içine yazın. %name% ziyaretçinin görünen adı olur.
- Kaydedin. Uzaklaşın, başka bir avatarla geri dönün ya da test etmesi için bir arkadaşınızdan yardım isteyin.
Ayarlar
- WELCOME_TEXT: hoş geldin mesajı. Yeniliklerden, hediyenin nerede olduğundan ya da grubunuzdan bahsedin.
- RANGE_METRES: bir ziyaretçinin ne kadar yaklaşması gerektiği, 96 metreye kadar.
- SCAN_SECONDS: karşılayıcının yeni ziyaretçileri ne sıklıkla kontrol ettiği. 10 saniye iyi bir dengedir.
- MAX_REMEMBER: gün içinde en eskisini unutmaya başlamadan önce kaç ziyaretçiyi hatırlayacağı.
İpuçları
- Mesajı kısa ve samimi tutun; bir ya da iki cümle.
- Ziyaretçilerin tek bir mesaj alması için mağazanın etrafına birkaç tane koymak yerine iniş noktasının yakınına tek bir karşılayıcı koyun.
Sık sorulan sorular
Ziyaretçiler her geldiklerinde mesajı alıyor mu?
Hayır. Her ziyaretçi günde bir kez karşılanır (sunucunun UTC tarihine göre).
Karşılayıcı kimin ziyaret ettiğini kaydediyor mu?
İki kez karşılamayı önlemek için yalnızca bugünün ziyaretçilerinin anahtarlarını bellekte tutar ve ertesi gün ya da script yeniden başlatıldığında onları unutur.
Karşılayıcı lag yapar mı?
Her 10 saniyede bir çalışan bir sensör hafiftir. Her saniye tarama yapmaktan ya da aynı bölgede çok sayıda karşılayıcı kullanmaktan kaçının.