LlResetLandBanList/ja
< LlResetLandBanList
Jump to navigation
Jump to search
Revision as of 14:44, 25 February 2016 by SakuraNoel Fayray (talk | contribs)
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
警告
- この関数は 0.1 秒間、スクリプトを停止します。
サンプル
// これは不完全なやりかたです。BAN 取り消しの時ですら、
// アバター名を完全に指定する必要がありますので。
// あくまで、土地の許可/禁止を管理する関数の使用例です。
// コピー、使用、改変、配布はご自由に、自己責任でどうぞ。
//
// 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("前のコマンドを処理中です。時間をおいて再実行してください。");
}
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 Wikiの関連した項目が参考になるかもしれません。