Script LSL de boas-vindas: mensagem para visitantes
Greeter LSL grátis para lojas e clubes do Second Life: mensagem de boas-vindas privada uma vez por dia para cada visitante, sem spam no chat local.
Cumprimente todos os visitantes sem precisar estar online. Este script greeter percebe avatares que se aproximam e envia para cada um uma mensagem de boas-vindas privada, uma vez por dia. Só o visitante vê, então o chat local fica tranquilo, e o dono nunca recebe a saudação.
// 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);
}
}
}
}
}
Livre para usar, alterar e colocar nas suas criações, inclusive nas que você vende.
Como configurar
- Coloque o script em um objeto pequeno perto do seu ponto de chegada, como uma placa ou um prim invisível.
- Escreva sua mensagem em WELCOME_TEXT. %name% vira o nome de exibição do visitante.
- Salve. Afaste-se, volte com outro avatar ou peça para um amigo testar.
Configurações
- WELCOME_TEXT: a mensagem de boas-vindas. Mencione o que há de novo, onde está o presente ou o seu grupo.
- RANGE_METRES: a que distância o visitante precisa chegar, até 96 metros.
- SCAN_SECONDS: com que frequência o greeter procura novos visitantes. 10 segundos é um bom equilíbrio.
- MAX_REMEMBER: quantos visitantes ele lembra por dia antes de começar a esquecer os mais antigos.
Dicas
- Mantenha a mensagem curta e amigável; uma ou duas frases.
- Prefira um único greeter perto do ponto de chegada em vez de vários espalhados pela loja, para que os visitantes recebam apenas uma mensagem.
Perguntas frequentes
Os visitantes recebem a mensagem toda vez que chegam?
Não. Cada visitante é cumprimentado uma vez por dia (pela data UTC do servidor).
O greeter guarda quem visitou?
Ele mantém apenas as chaves dos visitantes de hoje na memória, para não cumprimentar duas vezes, e esquece tudo no dia seguinte ou quando o script é reiniciado.
O greeter causa lag?
Um sensor a cada 10 segundos é leve. Evite escanear a cada segundo ou usar muitos greeters em uma mesma região.