LlSetDamage/ja

From Second Life Wiki
< LlSetDamage
Revision as of 05:09, 27 May 2009 by MasterOf Perl (talk | contribs) (Initial translation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

要約

関数: llSetDamage( float damage );

オブジェクトがアバターに命中したときのダメージ量を damage として設定します。

• float damage 範囲: 0.0 (ダメージ無し) ~ 100.0 (即座に死亡)

仕様

このオブジェクトがアバターに衝突した際、アバターがダメージを受けるには以下の条件が必要です:

  • オブジェクトが物理属性であり、かつ
  • 命中したアバターの居る土地が "安全(ダメージ無し)" 無効に設定されている

これらの前提が満たされたとき、アバターはダメージを受け、オブジェクトは 衝突 イベントを引き起こさずに消滅します。

警告

  • damage が [0, 100] の範囲を外れている場合、命中したアバターは即死します。
  • ダメージ設定無効の土地で衝突した場合、オブジェクトは消滅せず衝突 イベントもしくは land_collision/ja イベントが発生します。
  • オブジェクトが物理属性を持たない場合、それが物理属性を持った時点でオブジェクトのダメージ設定が有効になります。
  • ダメージ設定有効のオブジェクトが、アバターが座っている物理属性付きのオブジェクトに命中した場合、アバターは自身に命中した場合と同様のダメージを受けます。

サンプル

<lsl> // 単純な自動殺人弾: // rez されると、一番近くにいるアバターを検知し、 // そこへ移動して殺します。 // (弾がアバターと接触するため) default {

   on_rez(integer i) {
       llSetTimerEvent(10.0);
       llSensor("", "", AGENT, PI, 96.0);
   }
   timer() { llDie(); }
   sensor(integer num) {
       llSetStatus(STATUS_PHYSICS, TRUE);
       llSetDamage(100.0);
       llMoveToTarget(llDetectedPos(0), 1.0);
   }
}</lsl>

特記事項

Search JIRA for related Issues

Signature

function void llSetDamage( float damage );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。