Difference between revisions of "LlSetStatus/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 850272 by Mako Nozaki (Talk))
Line 1: Line 1:
{{LSL_Function/ja
{{Issues/SVC-5531}}{{Issues/SVC-1773}}{{Issues/SVC-4197}}{{Issues/SVC-5723}}{{LSL_Function
|func_id=45|func_sleep=0.0|func_energy=10.0
|func_id=45|func_sleep=0.0|func_energy=10.0
|func=llSetStatus
|func=llSetStatus
Line 20: Line 20:
}</lsl>
}</lsl>


STATUS_BLOCK_GRAB をリンクされた全てのプリムについて TRUE にしたい場合は、以下のスクリプトを各プリムで実行し、フラグを設定してください。
SVC-1773 により、リンクセットにまとめて Grab 不可に設定するときには、オブジェクト全体のリンクを解除し ('''このとき、必ず物理属性を外してから行ってください''') 、このスクリプトを各プリムに入れ (スクリプトは自動で削除されます) 、リンクセットを再リンクしてください。


<lsl>default  
<lsl>default  
{
{
     state_entry() {
     state_entry() {
         llSetStatus(STATUS_BLOCK_GRAB,TRUE); // Set 'No grab' flag on prim.
         llSetStatus(STATUS_BLOCK_GRAB,TRUE);           // プリムに 'Grab 不可' フラグを設定します。
         llOwnerSay("'No Grab' was set!");
         llOwnerSay("'No Grab' was set!");
         llRemoveInventory(llGetScriptName());
         llRemoveInventory(llGetScriptName());

Revision as of 14:25, 11 May 2010

Summary

Function: llSetStatus( integer status, integer value );

オブジェクト状態の status で指定された属性について、その値を value に設定します。

• integer status STATUS_* フラグのビットマスク
• integer value boolean

定数 初期値 意味
STATUS_PHYSICS 0x001 FALSE オブジェクトは物理です
STATUS_ROTATE_X 0x002 TRUE この軸周りの回転ができます
STATUS_ROTATE_Y 0x004 TRUE この軸周りの回転ができます
STATUS_ROTATE_Z 0x008 TRUE この軸周りの回転ができます
STATUS_PHANTOM 0x010 FALSE オブジェクトはファントムです
STATUS_SANDBOX 0x020 FALSE オブジェクトを10mの範囲、かつ同じ地域に居続けさせます
定数 初期値 意味
STATUS_BLOCK_GRAB 0x040 FALSE プリムに対するクリック&ドラッグ操作を無効にします
STATUS_DIE_AT_EDGE 0x080 FALSE 地域の外にオブジェクトが出た場合、返却せずに消去します
STATUS_RETURN_AT_EDGE 0x100 FALSE 地域の外にオブジェクトが出た場合、オーナーに返却します
STATUS_CAST_SHADOWS 0x200 TRUE 現在使用されていません
STATUS_BLOCK_GRAB_OBJECT 0x400 FALSE オブジェクトのプリム全てに対するクリック&ドラッグ操作を無効にします
STATUS_DIE_AT_EDGE - オブジェクトがスクリプトによって Rez された場合、初期値は TRUE です。

Caveats

  • 状態とはオブジェクトの属性です。オブジェクトに属する全プリムは同じ状態を共有します。
    • ただし STATUS_BLOCK_GRAB は例外で、これはスクリプトの入っているプリムにのみ作用し、その他の子プリムには作用しません。

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   llGetStatus(STATUS_ROTATE_Z); will not work on child prims on freshly rezzed objects.

Examples

<lsl>default {

   state_entry()
   {
llSetStatus( STATUS_DIE_AT_EDGE

See Also

Functions

•  llGetStatus オブジェクトの状態を取得します

Deep Notes

All Issues

~ Search JIRA for related Issues
   llGetStatus(STATUS_ROTATE_Z); will not work on child prims on freshly rezzed objects.
   STATUS_BLOCK_GRAB only affects individual prims in a linkset
   Create STATUS_TRANSLATE_* flags for llSetStatus
   New constant STATUS_BLOCK_SIT

Signature

function void llSetStatus( integer status, integer value );