Difference between revisions of "LlSetDamage/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Link fix)
 
Line 10: Line 10:
* オブジェクトが物理属性であり、かつ
* オブジェクトが物理属性であり、かつ
* 命中したアバターの居る土地が "安全(ダメージ無し)" 無効に設定されている
* 命中したアバターの居る土地が "安全(ダメージ無し)" 無効に設定されている
これらの前提が満たされたとき、アバターはダメージを受け、オブジェクトは {{LSLGC/ja|collision}} イベントを引き起こさずに [[llDie/ja|消滅]] します。
これらの前提が満たされたとき、アバターはダメージを受け、オブジェクトは {{LSLG/ja|collision}} イベントを引き起こさずに [[llDie/ja|消滅]] します。
|caveats=
|caveats=
* '''damage''' が [0, 100] の範囲を外れている場合、命中したアバターは即死します。
* '''damage''' が [0, 100] の範囲を外れている場合、命中したアバターは即死します。
* ダメージ設定無効の土地で衝突した場合、オブジェクトは消滅''せず''、{{LSLGC/ja|collision}} イベントもしくは {{LSLGC/ja|land_collision}} イベントがキューに追加されます。
* ダメージ設定無効の土地で衝突した場合、オブジェクトは消滅''せず''、{{LSLG/ja|collision}} イベントもしくは {{LSLG/ja|land_collision}} イベントがキューに追加されます。
*オブジェクトが物理属性を持たない場合、それが物理属性を持った時点でオブジェクトのダメージ設定が有効になります。; it will however not be physical while it is not damage enabled.
*オブジェクトが物理属性を持たない場合、それが物理属性を持った時点でオブジェクトのダメージ設定が有効になります。; it will however not be physical while it is not damage enabled.
* ダメージを受けることのできるオブジェクトが、アバターが座っている物理属性が有効のオブジェクトに命中した場合、アバターは自身に命中した場合と同様のダメージを受けます。
* ダメージを受けることのできるオブジェクトが、アバターが座っている物理属性が有効のオブジェクトに命中した場合、アバターは自身に命中した場合と同様のダメージを受けます。

Latest revision as of 15:00, 3 October 2020

要約

関数: llSetDamage( float damage );

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

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

仕様

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

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

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

警告

  • damage が [0, 100] の範囲を外れている場合、命中したアバターは即死します。
  • ダメージ設定無効の土地で衝突した場合、オブジェクトは消滅せずcollision イベントもしくは land_collision イベントがキューに追加されます。
  • オブジェクトが物理属性を持たない場合、それが物理属性を持った時点でオブジェクトのダメージ設定が有効になります。; it will however not be physical while it is not damage enabled.
  • ダメージを受けることのできるオブジェクトが、アバターが座っている物理属性が有効のオブジェクトに命中した場合、アバターは自身に命中した場合と同様のダメージを受けます。
All Issues ~ Search JIRA for related Bugs

サンプル

// 単純な自動殺人弾: 
// 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);
    }
}

特記事項

Search JIRA for related Issues

Signature

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