if (agent != llGetOwner()):オーナー判定
ここでは、先ほど得られた「乗ってこようとしたアバター」の「agent」と「llGetOwner()」の値を比べ、そのkeyデータが違う、または、同じことを判定し、次の段階へ進む。
「!=」という記号が出てきているが、これは演算子というもので(第22回参照)、日本語版LSL Wikiによれば、定義は下図のようになっている。
さらに、下図のように、この演算子は、「ブーリアン演算子」という種類の演算子になる。意味がよくわからないかもしれないが、ここでは、「!=」が「NOT」の意味をもつことだけを把握していればよいだろう。
そしていよいよ、「if (agent != llGetOwner())」が真(TRUE)の場合、①が実行される。
①「if (agent != llGetOwner())」が真(TRUE):オーナー以外が乗ろうとした場合
下図のように、「llSay」で「You aren’t the owener」と左下のチャットボックスで警告を発し、「llUnsit」で乗ろうとしてきたアバターをSitモードから解除し、「llPushObject」でそのアバターを100m上空に飛ばす。この処理により、オーナー以外のアバターは乗れないようになっている。
②「if (agent != llGetOwner())」が偽(FALSE):オーナーが乗ろうとした場合
オーナーが乗ろうとした場合、下図の処理が実行される。
「llSeStatus」の日本語版LSL Wikiでの定義は下図のようになっており、「STATUS_PHYSICS」が指定されている場合、このスクリプトが入っているオブジェクトは物理的に動くようになる。