85 lines
1.9 KiB
Plaintext
85 lines
1.9 KiB
Plaintext
|
//Commands are:
|
||
|
///5 ban:full_avatar_name
|
||
|
///5 tempban:full_avatar_name
|
||
|
///5 unban:full_avatar_name
|
||
|
///5 pass:full_avatar_name
|
||
|
///5 unpass:full_avatar_name
|
||
|
///5 clearban
|
||
|
///5 clearpass
|
||
|
|
||
|
string command;
|
||
|
|
||
|
default
|
||
|
{
|
||
|
state_entry()
|
||
|
{
|
||
|
llListen(5, "", llGetOwner(), "");
|
||
|
}
|
||
|
|
||
|
on_rez(integer param)
|
||
|
{
|
||
|
llResetScript();
|
||
|
}
|
||
|
|
||
|
listen(integer chan, string name, key id, string message)
|
||
|
{
|
||
|
if (command != "")
|
||
|
{
|
||
|
llOwnerSay("Sorry, still processing last command, try again in a second.");
|
||
|
}
|
||
|
|
||
|
list args = llParseString2List(message,[":"],[]);
|
||
|
command = llToLower(llList2String(args,0));
|
||
|
|
||
|
if (command == "clearbans")
|
||
|
{
|
||
|
llResetLandBanList();
|
||
|
}
|
||
|
if (command == "clearpass")
|
||
|
{
|
||
|
llResetLandPassList();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
no_sensor()
|
||
|
{
|
||
|
command = "";
|
||
|
}
|
||
|
|
||
|
sensor(integer num)
|
||
|
{
|
||
|
integer i;
|
||
|
for (i=0; i< num; ++i)
|
||
|
{
|
||
|
if (command == "ban")
|
||
|
{
|
||
|
// Ban indefinetely
|
||
|
llAddToLandBanList(llDetectedKey(i),0.0);
|
||
|
}
|
||
|
if (command == "tempban")
|
||
|
{
|
||
|
// Ban for 1 hour.
|
||
|
llAddToLandBanList(llDetectedKey(i),1.0);
|
||
|
}
|
||
|
if (command == "unban")
|
||
|
{
|
||
|
llRemoveFromLandBanList(llDetectedKey(i));
|
||
|
}
|
||
|
if (command == "pass")
|
||
|
{
|
||
|
// Add to land pass list for 1 hour
|
||
|
llAddToLandPassList(llDetectedKey(i),1.0);
|
||
|
}
|
||
|
if (command == "unpass")
|
||
|
{
|
||
|
llRemoveFromLandPassList(llDetectedKey(i));
|
||
|
}
|
||
|
}
|
||
|
command = "";
|
||
|
}
|
||
|
}
|