Difference between revisions of "LlSetStatus/ja"

From Second Life Wiki
Jump to: navigation, 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 );