Difference between revisions of "Object rez/ja"

From Second Life Wiki
Jump to navigation Jump to search
(Create)
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Issues/SVC-2926}}{{Issues/SVC-3421}}{{LSL_Event/ja|event_id=28|event_delay|event=object_rez
{{Issues/SVC-2926}}{{Issues/SVC-3421}}{{LSL_Event/ja|event_id=28|event_delay|event=object_rez
|p1_type=key|p1_name=id|p1_desc=rez されたオブジェクトの [[UUID/ja|UUID]]
|p1_type=key|p1_name=id|p1_desc=rez されたオブジェクトの {{LSLG/ja|UUID}}
|event_desc=オブジェクトがインベントリ内のオブジェクトを rez した時。
|event_desc=オブジェクトがオブジェクトを rez したときに発生します。
|constants
|constants
|spec
|spec
|caveats=* このイベントはプリム内の全てのスクリプトに対して発生します。すなわち [[llRezObject/ja|llRezObject]] [[llRezAtRoot/ja|llRezAtRoot]] を呼び出したスクリプト以外にも発生しますが、ただしそのプリムに限定されます。例えばある子プリムで [[llRezObject/ja|llRezObject]] がスクリプトで呼び出された場合、そのプリム内の ''全ての'' 他のスクリプトでも、object_rez イベントが記述されている限りは、それぞれでイベントが発生します。しかし同じオブジェクトの他のプリムでは object_rez イベントは発生しません。
|caveats=*スクリプトが {{LSLG/ja|llRezObject}} {{LSLG/ja|llRezAtRoot}} を呼び出したとき、このイベントは (存在していれば) 起動している全てのスクリプトで発生します。
**関数を呼び出しても、このイベントは (存在していても) リンクされたプリムのスクリプトでは発生しません。
|examples=
|examples=
<lsl>
<source lang="lsl2">
//rez する時、インベントリの内容をオブジェクトへ渡す
//rez されるとオブジェクトにインベントリアイテムを渡します
string inventory;
string inventory;
string object;
string object;
Line 15: Line 16:
     touch_start(integer count)
     touch_start(integer count)
     {
     {
         object=llGetInventoryName(INVENTORY_OBJECT,0);  //インベントリにある最初のオブジェクト名を取得
         object=llGetInventoryName(INVENTORY_OBJECT,0);  //インベントリにある最初のオブジェクトの名前を取得します
         llRezObject(object, llGetPos() + <0.0, 0.0, 0.5>, ZERO_VECTOR, ZERO_ROTATION, 0);  //最初のオブジェクトを rez する
         llRezObject(object, llGetPos() + <0.0, 0.0, 0.5>, ZERO_VECTOR, ZERO_ROTATION, 0);  //最初のオブジェクトを rez します
     }
     }
     object_rez(key id)
     object_rez(key id)
     {
     {
         inventory=llGetInventoryName(INVENTORY_OBJECT,1);  //インベントリにある2番目のオブジェクトの名前を取得
         inventory=llGetInventoryName(INVENTORY_OBJECT,1);  //インベントリにある 2 番目のオブジェクトの名前を取得します
         llGiveInventory(id,inventory);  //rez する時、2番目のオブジェクトを最初のオブジェクトへ渡す
         llGiveInventory(id,inventory);  //rez した時、 2 番目のオブジェクトを最初のオブジェクトへ渡します
     }
     }
}
}
</lsl>
</source>
|helpers
|helpers
|also_header
|also_header
|also_events=
|also_events=
{{LSL DefineRow||[[on_rez/ja|on_rez]]|当該スクリプトがあるオブジェクトが rez された時に発生する}}
{{LSL DefineRow||{{LSLG/ja|on_rez}}|スクリプトが rez されたときに発生します}}
|also_functions=
|also_functions=
{{LSL DefineRow||[[llRezObject/ja|llRezObject]]|重心基準でオブジェクトを rez するのに使う}}
{{LSL DefineRow||{{LSLG/ja|llRezObject}}|重心基準でオブジェクトを rez するのに使う}}
{{LSL DefineRow||[[llRezAtRoot/ja|llRezAtRoot]]|ルートプリム基準でオブジェクトを rez するのに使う}}
{{LSL DefineRow||{{LSLG/ja|llRezAtRoot}}|ルートプリム基準でオブジェクトを rez するのに使う}}
|also_articles
|also_articles
|also_footer
|also_footer

Latest revision as of 09:17, 21 February 2016

説明

イベント: object_rez( key id ){ ; }

オブジェクトがオブジェクトを rez したときに発生します。

• key id rez されたオブジェクトの UUID

警告

  • スクリプトが llRezObjectllRezAtRoot を呼び出したとき、このイベントは (存在していれば) 起動している全てのスクリプトで発生します。
    • 関数を呼び出しても、このイベントは (存在していても) リンクされたプリムのスクリプトでは発生しません。

サンプル

//rez されるとオブジェクトにインベントリアイテムを渡します
string inventory;
string object;

default
{
    touch_start(integer count)
    {
        object=llGetInventoryName(INVENTORY_OBJECT,0);  //インベントリにある最初のオブジェクトの名前を取得します
        llRezObject(object, llGetPos() + <0.0, 0.0, 0.5>, ZERO_VECTOR, ZERO_ROTATION, 0);  //最初のオブジェクトを rez します
    }
    object_rez(key id)
    {
        inventory=llGetInventoryName(INVENTORY_OBJECT,1);  //インベントリにある 2 番目のオブジェクトの名前を取得します
        llGiveInventory(id,inventory);  //rez した時、 2 番目のオブジェクトを最初のオブジェクトへ渡します
    }
}

参考情報

イベント

•  on_rez スクリプトが rez されたときに発生します

関数

•  llRezObject 重心基準でオブジェクトを rez するのに使う
•  llRezAtRoot ルートプリム基準でオブジェクトを rez するのに使う

特記事項

議論

   object_rez() erroneously triggers on full parcel
   Possible Mono bug with object_rez
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。