ARMA3 ミッションエディットスレ

ホーム フォーラム TRI Gaming フォーラム ARMA3 ミッションエディットスレ

  • このトピックには444件の返信、56人の参加者があり、最後にahurineにより2ヶ月前に更新されました。
15件の投稿を表示中 - 301 - 315件目 (全445件中)
  • 投稿者
    投稿
  • #140264

    ファイル貼るの忘れてました。
    旧:
    http://www1.axfc.net/u/3713707.zip

    新:
    http://www1.axfc.net/u/3714406.zip

    パスワード:tri

    • この返信は7年、 8ヶ月前にJFetch(ふぇっち)が編集しました。理由: パスワード記載忘れ
    • この返信は7年、 8ヶ月前にJFetch(ふぇっち)が編集しました。理由: 修正版アップ
    #140572
    Matobasan
    参加者

    パスはtriらしいです。

    #140782
    trico
    キーマスター

    私の場合ですが、arsenal.sqf と gear.sqf (初期装備スクリプト) はミッションごとにセットになっているのです。
    なのでこの際 gear.sqf も継承する方法があると便利ですね。

    あと、上記の理由によりBackpack, Item, Magazine, Weapon と分ける必要はないと思います。全部セットでよろしいかと。
    検討よろしくお願いします。

    #140803

    継承できるようにgear.sqf (初期装備スクリプト)も新しく作ろうかなと思ってたのでちょうど良かったです。
    現状だと、全てのユニットのinit欄に対してどの処理をするか記入して、かつ、それをswitch文で判定しているのを、init.sqfに一文書くだけで初期装備を登録できるようにしようかなと。

    実現するには、Role Descriptionの最後に、現状のgear.sqfのように役割を.(ドット)をつけて決めればいいかなと。

    Role Description: [Alpha]Team Leader.tl

    init.sqf
    [] execVM "new_gear.sqf";
    
    new_gear.sqf
    
    waitUntil {sleep 0.1;!isNull player};
    if (player getVariable "装備は初期化済みですか?" isEqualTo true) then {
     _role = roleDescription player;
     if (_roleの末尾にドットで役割がありますか?) then {
      // 処理
     };
    };
    
    player setVariable ["装備は初期化済みですか?", true, true];
    

    こんな感じかな?

    あと、Backpack, Item, Magazine, Weaponをわけないようするのを検討してみます。

    #140894
    michy_REV19
    キーマスター

    >デバックするのにいろいろな装備品リストが必要になります
    全アイテムのクラスネームが必要ってことですかね?

    それでしたらみっちーとかいう奴が作ったスクリプトが便利です。Download
    取得データ(RifleとかOpticsとかFacewareとか)を設定してからArsenal開いてアイテムを選択すると配列形式でコピーされていきます。
    ライフル全部取得したければ一番上をクリックした後”↓”キーを押しっぱにすればダーっと取得することが出来ます。

    #140958

    michyさんグッジョブです!

    デバックはほぼほぼ済んだんですが、やっぱりリスト作りは軍事関係に詳しいプロのほうがいいですね・・・。
    まぁ、それを解消するためにスクリプト書いたんですけどね。

    4日(今日)中にスクリプト公開スレにて使い方とデモ用のミッションファイルを上げますね。
    その際、リスト作りのサポートスクリプトとしてmichyさんのスクリプトも併せて紹介させていただきます。

    #141336

    michyさんのスクリプトを使わせていただいております。
    グットタイミングで助かりました。

    ダウンロード: [Script]CustomVirtualArsenal.VR.zip
    パスワード: tri
    (2週間のみ有効)

    <<オブジェクトのinit欄に書いた例>>
    ※長くなるのならinit.sqfに書くのがオススメです。

    setArsenalContents.sqf
    [this,
    	["WEST_LWeightBackpack.sqf", "WEST_medicBackpack.sqf"],
    	["triServer_defaultItems.sqf", "WEST_shortRangeScope.sqf"],
    	["rhs_USMC_556_basicSet.sqf"],
    	["%ALL"]
    ] execVM "scripts\CustomVirtualArsenal\setArsenalContents.sqf";
    
    box1: アーセナルの内容を登録したいオブジェクト
    [](1つ目): バックパック
    [](2つ目): アイテム
    [](3つ目): ウェポン
    [](4つ目): マガジン
    
    「"%ALL"はゲームに存在する全てのクラス」という意味です。
    
    []の中にはクラスネーム、もしくは、クラスネームが書かれたリストのファイルをダブルクォーテーションで囲って記入してください。
    ちなみに、リスト(sqf)の中に更にリスト(sqf)を書けます。(マトリューシカ的な感じで。)
    あまりリストの中にリスト(以下略、をしちゃうとファイル管理がメンドクサイので細かくせず、なるべくざっくりした感じがオススメです。
    
    setArsenalContents.sqf
    [this, [this]] execVM "scripts\CustomVirtualArsenal\setArsenal.sqf";
    
    this: アーセナルの項目を表示したいオブジェクト名(この場合、)
    [this]: アーセナル内容があるオブジェクト名(複数可)
    

    スクリプト公開スレの前に自分の作成したミッションに組み込んで様子を見た後に公開、検討します。

    #143141
    trico
    キーマスター

    3CB BAF Weapons の更新で、弾薬のクラスネームが変更されました。
    古いクラスネームを使っているミッションはたぶん読み込まれませんので修正をお願いします。

    UK3CB_BAF_30Rnd -> UK3CB_BAF_556_30Rnd
    UK3CB_BAF_30Rnd_Blank -> UK3CB_BAF_556_30Rnd_Blank
    UK3CB_BAF_30Rnd_T -> UK3CB_BAF_556_30Rnd_T
    UK3CB_BAF_75Rnd -> UK3CB_BAF_762_100Rnd
    UK3CB_BAF_75Rnd_Blank -> UK3CB_BAF_762_100Rnd_Blank
    UK3CB_BAF_75Rnd_T -> UK3CB_BAF_762_100Rnd_T
    UK3CB_BAF_100Rnd -> UK3CB_BAF_556_100Rnd
    UK3CB_BAF_100Rnd_Blank -> UK3CB_BAF_556_100Rnd_Blank
    UK3CB_BAF_100Rnd_T -> UK3CB_BAF_556_100Rnd_T
    UK3CB_BAF_200Rnd -> UK3CB_BAF_556_200Rnd
    UK3CB_BAF_200Rnd_Blank -> UK3CB_BAF_556_200Rnd_Blank
    UK3CB_BAF_200Rnd_T -> UK3CB_BAF_556_200Rnd_T
    UK3CB_BAF_20Rnd -> UK3CB_BAF_762_L42A1_20Rnd
    UK3CB_BAF_20Rnd_Blank -> UK3CB_BAF_762_L42A1_20Rnd_Blank
    UK3CB_BAF_20Rnd_T -> UK3CB_BAF_762_L42A1_20Rnd_T
    UK3CB_BAF_L128A1_Slugs -> UK3CB_BAF_12G_Slugs
    UK3CB_BAF_L128A1_Pellets -> UK3CB_BAF_12G_Pellets
    UK3CB_BAF_10Rnd_127x99mm -> UK3CB_BAF_127_10Rnd
    UK3CB_BAF_10Rnd_127x99mm_AP -> UK3CB_BAF_127_10Rnd_AP
    UK3CB_BAF_100Rnd_127x99_Box -> UK3CB_BAF_127_100Rnd
    UK3CB_BAF_17Rnd_9mm -> UK3CB_BAF_9_17Rnd
    UK3CB_BAF_30Rnd_9mm -> UK3CB_BAF_9_30Rnd
    #147459
    classic
    参加者

    エンドトリガーに

    if (isServer) then {
        [] call ocap_fnc_exportData;
    };

    を記述するとocapが記録されます。

    #148711
    trico
    キーマスター

    おんおふさんが書いてくれた「最初にミッションスタートした人が死亡扱いになる」現象について。

    がんばって検証したところ、プレイアブルユニットのINITに doStop を書いていることが原因と思われます。
    これはAIユニットが勝手に着いてこないように書いていましたが、今後は削除してください。

    ミッションの空回しが必要な件についてはModが原因らしいので今のところ解決法はありません。


    現在ほとんどのミッションに不具合が出ていると思うので、9月26日にサーバーのミッションをリセットします。
    エディタの方は修正したあと動作を確認し、ミッションリストに記入してから、再度サーバーにアップロードしてください。


    ついでにミッションタイトルとファイル名の命名規則を微妙に変更しました。こちらのページを参照してください。

    ミッションをアップロードする方法


    お手数ですがよろしくお願いします。

    #148770
    nekokichi59
    メンバー

    検証お疲れ様です。確認なんですが、dostop以外であれば使用しても問題はありませんか?
    例:this disableAI "MOVE"

    #148788
    Gyamon360
    参加者

    to nekokichi59

    serverで検証してみないと判断できないそうです。
    #2に入れて試してみてください。

    #148916
    Matobasan
    参加者

    {_x disableAi "MOVE"} forEach units group this;

    検証の結果、dostopのかわりにこれをグループのリーダーのinitに書いてあげればいいとのことです。

    #149303
    michy_REV19
    キーマスター

    {_x disableAi "MOVE"} forEach units group this;
    このコードを適用すると車輌に乗車した際にdisableAiスクリプトが発動してしまい、スロットル全開にしても車輌が動かなくなってしまう不具合が確認されました。
    解決策としては、各ユニットがAIからプレイヤーになったことを検知して、disableAiの対となるenableAiスクリプトを実行すればよいかと思います。
    コードの方は明日の朝書いて見ます。

    ※追記1
    全グループリーダーのinitに書いていくのが面倒なのでinit.sqfにて実行できるようにしました。
    一瞬完成したと思ったけどMPID取得してるのでMPでしか動きません。
    イベントスクリプト使うのが手っ取り早そう…

    追記2
    IDじゃなくてプレイヤーリストからAI/非AI判定させるようにしました。使ったことないコマンドなのでローカルでの動作は保証しません。
    いらないかもしれないけどディスコネ対策とヘッドレスクライアント回避コード追加。
    鯖に負荷かかるようならイベントスクリプト[onPlayerRespawn.sqf]で実行した方がいいかも…

    ※追記3
    単体動作でwait使わない方法が思いつかない
    もうだめだ
    FIX待ちましょう

    とりさんが以下の2つを推奨しています。
    {_x stop true} forEach units group this;
    _pstop = [this] spawn {sleep 1; {doStop _x} forEach units group (_this select 0)};

    #149541
    JWACS
    参加者

    {_x disableAi “ANIM”} forEach units group this;

    #2で実験したところ”MOVE”から”ANIM”に変えることでAIは移動せず車の移動が出来ることを確認致しました。

15件の投稿を表示中 - 301 - 315件目 (全445件中)
  • このトピックに返信するにはログインが必要です。