LlAddToLandPassList/zh-Hant: Difference between revisions
Jump to navigation
Jump to search
Created page with "{{LSL_Function/avatar|avatar}}{{LSL_Function/zh-Hant |func=llAddToLandPassList |sort=AddToLandPassList |func_id=240|func_sleep=0.1|func_energy=10.0 |p1_type=key|p1_name=avatar |p…" |
mNo edit summary |
||
| Line 1: | Line 1: | ||
{{LSL_Function/avatar|avatar}} | {{LSL_Function/zh-Hant | ||
|inject-2={{LSL_Function/avatar|avatar}} | |||
|func=llAddToLandPassList | |func=llAddToLandPassList | ||
|sort=AddToLandPassList | |sort=AddToLandPassList | ||
Latest revision as of 10:32, 19 September 2011
概要
函式: llAddToLandPassList( key avatar, float hours );注意事項
- 這函式會導致script延遲 0.1 秒。
- hours最大值為144。若輸入的值大於144,則會自動被默認成144。
範例
<lsl>// This is not a complete solution, requires full avatar names to work - even for unbanning someone! // This is meant only as an example of the land ban and pass management functions. // free to copy, use, modify, distribute - just don't ask me to debug your modified code. ;-) // // 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 = "";
}
}</lsl>