randomize

2014/09/21

Arma3スクリプティング講座その9:スクリプトファイル

第九弾…


答え合わせ。
for "_i" from 0 to 9 do {
 _unit = group player createUnit ["O_Soldier_M_F",getPos player,[],0,"FORM"] ;
 sleep 1 ;
} ;
できたかな?

さて、今回はユニットの装備についてお話をしてみましょう。
ユニットの装備は次のようなスクリプトで変更することが出来ます。
_unit addWeapon className ;//ユニットに武器を追加
_unit addMagazine className ;//ユニットにマガジンを追加
_unit addMagazine [className,Number] ;//ユニットにNumberの数だけ弾が入ったマガジンを追加
_unit addMagazines [className,Number] ;//ユニットにNumberの数だけマガジンを追加
_unit addUniform className ;//服を着せる(ユニットに対し敵陣営の服の場合、失敗する)
_unit forceAddUniform className ;//服を着せる(ユニットに対し敵陣営の服の場合でも成功する)
_unit addVest className ;//チョッキを着せる
_unit addBackpack className ;//リュックを装着する
_unit addHeadgear className ;//ヘルメットを装着する
_unit addGoggles className ;//眼鏡を装着する
_unit addBackpack className ;//リュックを装着する
などなど。
正直上げ続けるとキリがないんです。ではここでスクリプトを探す練習をしてみましょう。
https://community.bistudio.com/wiki/Category:Scripting_Commands_Arma_3
ここにはArma3で使用できるスクリプトが全て載っています。
次のスクリプトを探してみてください。
ユニットの服を取得するスクリプト
…見つかりましたか?答えはuniformです。さて、次は何気に重要な武器のアクセサリー変更についてです。
_unit addPrimaryWeaponItem className ;//メイン武器にアイテムを追加
_unit addSecondaryWeaponItem className ;//セカンダリ武器にアイテムを追加(ただし拳銃のことではなく、ランチャーのこと)
_unit addHandgunItem className ;//拳銃にアイテムを追加
などなど。

お願い!ネタください!
 

5 件のコメント :

  1. モーフィアス2018年12月7日 8:06

    参考にさせていただいてます。
    質問なのですが、同グループのAIにある場所に来たらユニホームなどを着替えさせたいのですが、どのようにすればよろしいでしょうか?
    トリガーを使い無線でアクティブ化しようと思ったのですが、範囲限定をどのようにすればいいかわからず悩んでおります。

    返信削除
    返信
    1. 申し訳ないんですが、何をしたいのかよくわかりません。
      ユニフォームを着替えるのはプレイヤーですか、AIですか?誰がどこに近づいたときに、または無線で行うのですか?

      削除
  2. モーフィアス2018年12月7日 23:38

    早々の返信ありがとうございます。
    プレイヤーが分隊リーダーで、ある場所(例えば車両の周辺2m以内)のとき、分隊の部下AIへ無線コマンド(キーボード0-0)を使って着替えろという命令を出せるようにしたいのです。

    返信削除
    返信
    1. AIユニットまたはプレイヤーにスクリプトを介して、プレイヤーが手動で行うように着替えさせる方法はどうやらないようなので、次のような方法が好ましいと思います。
      1.トリガーを2つ(仮にtrig_radioとtrig_condと名前をつける)置く
      2.trig_radioの条件を"triggerActivated trig_cond"(一番外側のクォートを外して、以下同様)とする
      3.trig_condの条件を"unit distance car < 2"とする
      4.trig_condの達成時スクリプトを"trig_radioAlpha setTriggerActivation ["ALPHA","PRESENT",false]"、非達成時を"trig_radioAlpha setTriggerActivation ["NONE","PRESENT",false]"とする
      5.trig_radioの条件達成時スクリプトを何らかのユニフォーム変更スクリプトにする
      他にわからないことがあればお気軽にどうぞ。

      削除
    2. モーフィアス2018年12月9日 0:50

      おお!ありがとうございます!
      トリガー2つ、"unit distance car < 2"・・なるほど、早速使ってみます。
      ハイレベルな方に基本的な質問をするのはどうかと思いつつ・・ほんとに助かります。

      削除

注: コメントを投稿できるのは、このブログのメンバーだけです。