ポップガン




銃のサンプルです。



弾丸のスクリプトで使われている llMakeFountain() という関数は、既に廃止されているので、別の関数に置き換えます。
popgun 内容タブの中にある bullet を取り出し、中のスクリプト ball を書き換えます。
bullet は直接地面にドラッグできます。
スクリプトの 17-18行め にある下記の行を、

llMakeFountain(50, 0.3, 2.0, 4.0, 0.5*PI, FALSE, "drop", <0,0,0>, 0.0);

以下に入れ替えます。

llParticleSystem([
    PSYS_PART_FLAGS,            PSYS_PART_INTERP_COLOR_MASK |
                                PSYS_PART_INTERP_SCALE_MASK |
                                PSYS_PART_WIND_MASK |
                                PSYS_PART_BOUNCE_MASK |
                                PSYS_PART_EMISSIVE_MASK,
    PSYS_SRC_PATTERN,           PSYS_SRC_PATTERN_ANGLE_CONE,
    PSYS_PART_START_COLOR,      <1.0, 1.0, 1.0>,
    PSYS_PART_END_COLOR,        <1.0, 1.0, 1.0>,
    PSYS_PART_START_ALPHA,      0.50,
    PSYS_PART_END_ALPHA,        0.25,
    PSYS_PART_START_SCALE,      <0.3/1.5, 0.3/1.5, 0.0>,
    PSYS_PART_END_SCALE,        <0.0, 0.0, 0.0>,
    PSYS_PART_MAX_AGE,          3.0,
    PSYS_SRC_ACCEL,             <1.0, 0.0, -4>,
    PSYS_SRC_TEXTURE,           "drop",
    PSYS_SRC_BURST_RATE,        5/50,
    PSYS_SRC_ANGLE_BEGIN,       0.0,
    PSYS_SRC_ANGLE_END,         0.5*PI*PI,
    PSYS_SRC_BURST_PART_COUNT,  1,
    PSYS_SRC_BURST_RADIUS,      0.0,
    PSYS_SRC_BURST_SPEED_MIN,   2.0,
    PSYS_SRC_BURST_SPEED_MAX,   2.0,
    PSYS_SRC_MAX_AGE,           4.0/2,
    PSYS_SRC_OMEGA,             <0.0, 0.0, 0.0>
]);

書き換えたら、MONO にチェックを入れて 保存 をクリックします。
編集が終わった bullet を右クリックからインベントリに取ります。
銃の内容タブから bullet を削除し、代わりに、インベントリに取った bullet をドラッグして入れます。

間違えるといけないので、編集のおわった popgun は popgun-kai とかに名前を変えて、右クリックからインベントリに取ります。

装着して、マウスルックでねらいをさだめ、左クリックで撃ちます。

llMakeFountain については、下記をご参照ください。

http://wiki.secondlife.com/wiki/LlMakeFountain/ja

相手を突き飛ばすプッシュ弾は llPushObject() を、ダメージ弾は llSetDamage() を、弾丸のスクリプトに適切に書き加えます。

Second Life での戦闘については、下記をご参照ください。

http://wiki.secondlife.com/wiki/LlMakeFountain/ja
[戻る]  [最初に戻る]