« MG42の作り方 | メイン | Enemy Territoryで自分だけのモデルを作ろう »

April 15, 2005

■ ダイナマイトで破壊するオブジェクト

Dynamite Object

翻訳元:http://etmapping.andityler.com/dynamiteobject.php

1. お好みのサイズのブラシを作ってください。


2. 作ったブラシが選択されている状態で、2D表示ウィンドウ上のどれでもいいので右クリックを押し、func/func_explosiveを選んでください。


3.ブラシが選択されている状態で、Nを押してentityウィンドウを表示させてください。表示されたウィンドウでは、上部でfunc_explosiveが選択されている状態で、中央部分にはキーとその値が表示されており、下部では変更したい部分と入力するべき値のガイダンスが表示されていると思います。キー入力欄に'scriptname'といれて、Tabを押して値入力欄に移り'dynamitetest'と入力してください。そうしたら、Enterを押してください。これで、このオブジェクトにスクリプトを使うことが出来ます。dynamitetest以外の名前でも構いませんが、変更したら後ほど作る該当するファイル名も変更してくださいね。


***オプション***
4. キーに'mass'、値に'400'を入れて、Enterを押してください。これにより、これが爆破された時により多くの破片が作成されます。またuse shaderを左クリックすると、破片にもテクスチャとシェーダーが適応されます。他にも色々なキーと値があるので、試してみてくださいね。


5. Escを押して選択状態を解除します。別のブラシを、先ほど作ったブラシを覆うように作ってください。シェーダーに、'common/trigger'を使います。これによってゲーム中では、このブラシは透明になります。このトリガーブラシは、プレイヤーに爆破可能なオブジェクトが近くにありますよと知らせるのと、このブラシ中にダイナマイトを設置しなさい、という範囲を定めます。


6. トリガーブラシが選択されている状態で、2Dウィンドウ上で右クリックを押し、'trigger/trigger_objective_info'を選んでください。


7. トリガーブラシが選択されている状態で、Nを押してください。Entityウィンドウが表示されます。キー入力欄に、'track'と入力し、値入力欄に'the Dynamite Tes'と入力し、Enterを押してください。今入力したものは、プレイヤーがトリガブラシに触れると表示されるものですので、自分の望むものを設定しましょう。実際には「You are near 〜」と表示されます。
さて、まだまだ入力しなければならないキーと値があります。まず、キーに'shortname'、値に'Dynamite Tes'を値に入力してEnterを押してください。これは、コマンドマップ上でプレイヤーのオブジェクトの隣に表示されるものです(ちょっとよくわかんないです、ごめんなさい by ika)。次に、キーに'objflag'、値に'4'を設定してください。これは、コマンドマップ上でそのオブジェクトの場所にダイナマイトのアイコンを表示させ、このオブジェクトがダイナマイトでのみ破壊できるとするためのものです。最後に、どちらのチームがこのオブジェクトを破壊するのかということを設定します。Axis_objectiveを左クリックすると、このオブジェクトはAxisの物ということになり、Alliedがこれを爆破することになります。Allied_objectiveを選ぶと、逆になります。
ikanatto補足:objflagは1〜4とあり、4は既に説明したようにダイナマイトでのみ破壊可能であることを表し、1は全ての武器でダメージを与えられ(窓などに設定)、2は爆発物なら全てダメージを与えられ(戦車など)、3はダイナマイトかCoのリモートで破壊可能ということを表しています。1と2には別にオブジェクトの破壊されるまでに与えるダメージを設定しなければなりませんが、詳しくは他のチュートリアルを見てください。たぶんそのうち和訳します。たぶん。


8. 次に、トリガーブラシを選択し、その後破壊されるオブジェクトを選択します。この順どおりに選択したら、Ctrl+Kを押してこの二つをリンクします。これによって、二つに'targetname'とランダムなものがキーと値として設定されます。リンクされている間なら、いつでもこの二つに同じキーと値が追加できます。

9. いよいよ実際にダイナマイト爆破の処理をするスクリプトを作ります。が、その前に、これから作るスクリプトが使えるようにするためのEntityを作らねばなりません。Escを押して選択状態を解除し、2D画面で右クリックを押して、script/script_multiplayerを選びます。これが選択されている状態でNを押し、キーに'scriptname'、値に'game_manager'と入力してEnterを押してください。再びEscを押して非選択状態にします。これでスクリプトが使えるようになります。(もし、既にこのEntityを作っているなら改めて作る必要はありません。)


10. Radiantを使っての設定はこれで終わりです。ではスクリプトファイルを作りましょう。(もし既にスクリプトファイルを作っているのなら、そのファイルに下のものを追加すればOKです)。新規のプレインテキストを作り、下のものを入力してあなたのマップが保存してあるディレクトリに、'あなたの作っているマップの名前.script'と保存してください。スクリプト中にあるwm_announce以下のダブルクオーテーションで囲まれた部分は、オブジェクトがダイナマイトで破壊された時にプレイヤーに表示されるメッセージですので、お好きなように変えてください。

game_manager
{
   spawn
   {
   }
}

dynamitetest
{
   spawn
   {
      wait 200
      constructible_class 3
   }
   death
   {
      wm_announce "Allies have blown up the Dynamite Test!"
   }
}


ご苦労様です。これで全ての設定が完了しました。ゲーム中では、破壊目標に近づけばダイナマイトのアイコンが表示されるはずです。つまり、これがダイナマイトで破壊できるということを表しています!

投稿者 ikanatto : April 15, 2005 06:46 PM