(写真はイメージです(^^)
スクリプトはこんな感じ:
default {
state_entry() {
llSetTimerEvent(Cycle);
}
timer() { // 一定時間ごとに
list agents=llGetAgentList(
AGENT_LIST_REGION,[]);
// 土地にいる人を調べる
key id;
integer n=llGetListLength(agents);
integer i=0;
for(; i<n; ++i) {
id=llList2Key(agents,i);
if (id!=llGetOwner() && llSameGroup(id)==FALSE)
llTeleportAgentHome(id); // 部外者はホームに強制送還
}
}
}
llGetAgentList() という関数で、センサーと違って距離の制限なしに、地上からはるか上空までどこにいても調べられます。
パラメーターの AGENT_LIST_REGION はSIM全体を調べるという指定で、このほか1区画だけ、オーナーが所有する区画全部、というような指定もできます。
[] には条件リストを入れるらしいですが、今はまだ準備中みたいです。
LlGetAgentList - Second Life Wiki
このセキュリティシステムの本体は、実はすご~~く強力で、設定も複雑になっちゃったので、一般には売り出してません(^^;
でもまあ、ご興味ある方には、個別にご相談に乗りますので、ご連絡ください。(^^)v