Difference between revisions of "LlSetStatus/ja"

From Second Life Wiki
Jump to navigation Jump to search
(Initial translation)
 
 
(3 intermediate revisions by one other user not shown)
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 11: Line 11:
** ただし STATUS_BLOCK_GRAB は例外で、これはスクリプトの入っているプリムにのみ作用し、その他の子プリムには作用しません。
** ただし STATUS_BLOCK_GRAB は例外で、これはスクリプトの入っているプリムにのみ作用し、その他の子プリムには作用しません。
|constants={{LSL Constants/Status/ja}}
|constants={{LSL Constants/Status/ja}}
|examples=<lsl>default
|examples=<source lang="lsl2">default
{
{
     state_entry()
     state_entry()
Line 18: Line 18:
         llSetStatus( STATUS_ROTATE_X | STATUS_ROTATE_Y, FALSE);
         llSetStatus( STATUS_ROTATE_X | STATUS_ROTATE_Y, FALSE);
     }
     }
}</lsl>
}</source>


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


<lsl>default  
<source lang="lsl2">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());
     }
     }
}</lsl>
}</source>


この問題が解決されるまでは、詳細を JIRA のコメント [http://jira.secondlife.com/browse/SVC-1773 SVC-1773] から得てください。
この問題が解決されるまでは、詳細を JIRA のコメント [http://jira.secondlife.com/browse/SVC-1773 SVC-1773] から得てください。

Latest revision as of 13:46, 25 February 2016

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

default
{
    state_entry()
    {
        llSetStatus( STATUS_DIE_AT_EDGE | STATUS_PHYSICS, TRUE);
        llSetStatus( STATUS_ROTATE_X | STATUS_ROTATE_Y, FALSE);
    }
}

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

default 
{
    state_entry() {
        llSetStatus(STATUS_BLOCK_GRAB,TRUE);           // プリムに 'Grab 不可' フラグを設定します。
        llOwnerSay("'No Grab' was set!");
        llRemoveInventory(llGetScriptName());
    }
}
この問題が解決されるまでは、詳細を JIRA のコメント SVC-1773 から得てください。

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 );