Arma3 スクリプト公開スレ

ホーム フォーラム TRI Gaming フォーラム Arma3 スクリプト公開スレ

このトピックには42件の返信が含まれ、12人の参加者がいます。3 ヶ月、 3 週間前TorpolM TorpolM さんが最後の更新を行いました。

15件の投稿を表示中 - 1 - 15件目 (全43件中)
  • 投稿者
    投稿
  • #2820 返信

    Stealer
    参加者

    役立ちそうなスクリプトを作った・見つけたら紹介しよう。
    「こんなの欲しいな」なリクエスト受付もこちらで。


    使えるタグ

    <pre>スクリプト</pre>
    <code>コード</code>
    <blockquote>引用文</blockquote>
    #2821 返信

    Stealer
    参加者

    乗車完了を運転手に知らせるスクリプト

    概要:
    トラックの荷台や装甲車は、乗員が発車を運転手や車長に伝えたくても、車内の騒音や設定でVCで伝わらないことがままあります。
    こういった時兵士はどういった行動を取るでしょうか-トラックの荷台をバンバン叩くのです。そうですロマンです。
    趣味と実益を兼ねた再現をしてみました。

    bodyslap_sample.utes.zip

    使い方:
    ※前提としてCBA Addonの導入が必要です(triserverでも使われているものです)
    ①同梱のdescription.extをmission.sqmと同階層に置くか、内容を自分のミッションの同ファイルにコピーする
    ②scriptsフォルダも同様にコピペする
    ③適用したい車輌(複数可)に以下の命令を貼り付ける
    this addAction ["SLAP VEHICLE BODY","scripts\bodyslap.sqf",[this]];

    車内の乗員が”SLAP VEHICLE BODY”アクションを実行すると、その車内の乗員に限り荷台を叩く音が聞こえます。
    また、Vehicleチャンネルのchatで”ready to go!”のメッセージが出ます。

    • この返信は4 年、 3 ヶ月前に  Stealer さんが編集しました。
    #2824 返信
    く”らぅん
    く”らぅん
    参加者

    ACE WoundsのEpinephrineだけをメディテントでしか使えなくするっていうのは可能ですか?

    #2825 返信

    Stealer
    参加者

    うーん…既にACE側で組まれてるルーチンを外部から制御する方法が私には見当がつかないけれど、
    アプローチの仕方を変えて、”一般兵士がエピネフリンを持ったままテントから離れると持っているエピネフリンが消える”なら出来そうだけれど、
    そういうのでいいのなら一応可能だと思います。

    追記:
    このポストの後、実際に以下のソリューションを提示したら満足してくれたので、記載します。
    ・triggerを作る
    10m x 10m
    repeatedly
    Activation: BLUFOR present
    Condition: this && (vehicle player == player)
    on Act: (無し)
    on Dea: player removemagazines “Ace_Epinephline”;
    ・triggerの中央に医薬品の入ったMASHを置く

    こうすることで、triggerからモルヒネを持ったまま出ると、持っているモルヒネが全てボッシュートされます。

    • この返信は4 年、 3 ヶ月前に  Stealer さんが編集しました。理由: ソリューション
    #2830 返信
    Ares
    Ares
    参加者

    MAP上のすべてのドアからアクションメニューのオープンドアを消去することは可能ですか?
    ドアにC4を設置し爆破してこじ開けたり、ショットガンでこじ開けたりできるScriptを見つけたのですが。そのScriptを入れても、アクションメニューのオープンドアが表示されたままなので、ミッションで導入しようとしても使われずに終わりそうです。
    容易にドアやゲートの開閉ができなくなれば、ハシゴやワイヤーカッターの活躍も増えそうって妄想したり。

    #2839 返信

    Stealer
    参加者

    それについてですが、解決法が無くはないものの、非常に難しいです。
    まず、open doorアクションを消去することは不可能です。
    おそらくremoveactionのようなアクションを取り除く感覚を想像していると思いますが、まずremoveactionはデフォルトのアクションを取り除けません。
    removeAction

    なので連続して閉め続けるアクションをするスクリプトがあれば解決できるのですが、ここで問題があります。
    ArmAの建物関連のアクション、とりわけBIS謹製の物に関しては、非常に融通が利かず、最もコントロールの面倒くさいものの一つになっています。
    というのも建物に付いているドアの一つ一つがアクションの名前が異なり、しかも例えば閉める動作が1、開く動作が0のものもあれば、その逆もあるのです。

    以下はchernarusとutesのドア全てをミッション開始時に開くスクリプトについてのポストですが、それでも空港や倉庫や一部のドアはカバーされていません。OAやアドオンの建物を含めると、そのアクションの名前自体の調査が煩雑であることも含め、”汎用性のあるドアを閉めるスクリプト”にどれだけの手間が掛かるか分からないのが現状です…

    Huh,
    I see, this is an old one. So what, I’m gonna reply anyway.
    Closing doors, well, that’s not an easy one, thanks to BIS. I mean, basically, all you need is this:
    Code:
    _houses = [1000,1000] nearobjects [“house”, 1000000];
    {
    _x animate [“door”, 0];
    sleep 0.0001;
    } foreach _houses;
    Or so you think! Problem: BIS forgot to use a standard or nomenclature for their buildings. So, some doors are named “door”, some are named “dvere”, then we have “door01” or “door_01” and so on. It’s a mess!
    And it gets even worse! On ArmA 2 buildings, the parameter to close a door is 0, while on OA buildings, the parameter is 1! Dear BIS, how can you possibly confuse 0s and 1s?!?
    Whatever! So, after a long period of trying, this came out:

    Code:

    _houses = [1000,1000] nearObjects [“house”, 1000000];
    _zeroes = [“dvere”,”dvere1l”,”dvere1r”,”dvere2l”,”dvere2r”,”dvere_spodni_r”,”dvere_spodni_l”,”dvere_vrchni”,”vrata1″,”vrata2″,”vratal1″,”vratar1″,”vratal2″,”vratar2″,”vratal3″,”vratar3″];
    _ones = [“door”,”door_1_1″,”door_1_2″,”door_2_1″,”door_2_2″,”dvere1″,”dvere2″,”dvere3″,”dvere4″,”dvere5″,”dvere6″,”dvere7″,”dvere8″,”dvere9″,”dvere10″,”dvere11″,”dvere12″,”dvere13″,”dvere14″,”doorl”,”doorr”,”door_01″,”door01_a”,”door_02″,”door02_a”,”door_03″,”door_04″,”door_05″,”door_06″,”door_1a”,”door_1″,”door_2″];
    {
    _y = _x;
    {_y animate [format [“%1”, _x], 0]} foreach _zeroes;
    {_y animate [format [“%1”, _x], 1]} foreach _ones;
    sleep 0.0001;
    } foreach _houses;

    As far as I know, it works on most buildings. No, wait, I think forgot about the LHD. Ach, not that important, eh? If there’s more missing, or not working at all, just let me know.
    Good day,
    mr_book

    EDIT: I just found out that above script doesn’t work on both Utes and Chernarus. A (rather unsatisfying) workaround is:

    Code:

    {
    _y = _x;
    {_y animate [format [“%1″, _x], 0]} foreach _zeroes;
    if ((worldname==”Utes”) or (worldname==”Chernarus”)) then
    {
    {_y animate [format [“%1”, _x], 0]} foreach _ones;
    } else
    {
    {_y animate [format [“%1”, _x], 1]} foreach _ones;
    };
    sleep 0.0001;
    } foreach _houses;

    It does work now, although it looks really messed up. Take it or leave it, the choice is yours.

    #2926 返信
    [JPN]Fenrir
    [JPN]Fenrir
    参加者

    パラメーターでタスクが変わるものとかってありますか??

    #2971 返信
    く”らぅん
    く”らぅん
    参加者

    上にも書かれているStealerさんのEpinephrine除去トリガーですが、

    player removeMagazines "ACE_Epinephrine";

    player removeMagazines "ACE_Epinephrine";
    [player, "MAG", "ACE_Epinephrine", -1] call ACE_fnc_RemoveGear;

    にしたらバックパックの中のEpinephrineまで取り除けました。

    次のCoop Nightで使おうと思います。

    Stealerさんありがとうございました!!

    • この返信は4 年、 2 ヶ月前に く”らぅん く”らぅん さんが編集しました。
    #3224 返信
    く”らぅん
    く”らぅん
    参加者

    HELP!

    Ammoboxの中にある特定のWeaponやMagazineの数をCountで数えることって可能ですか?
    例えば「あるAmmoboxの中にStoneが○個以上入った場合」みたいなTriggerのConditionを作りたいです。

    #3225 返信
    POLPOX
    POLPOX

    >Ammoboxの中にある特定のWeaponやMagazineの数をCountで数える
    Arma2の話と仮定してちょっとMagazineで作ってみました。Arma3(まだ持ってない)には新しくmagazineCargoなるスクリプトが出来たみたいなので、それを使ってみるといいかも。
    Array0番にammobox、1番に探したいMagazineのclassNameを入れると、_lastNumberにその数が返ってきます。

    _ammocase = _this select 0 ;
    _wantFind = _this select 1 ;
    
    _findNumber = nil ;
    _lastNumber = 0 ;
    
    _magazineCargo = getMagazineCargo _ammocase ;
    
    for "_i" from 0 to ((count (_magazineCargo select 0)) -1) do {
    	if ((_magazineCargo select 0 select _i) == _wantFind) exitWith {
    		_findNumber = _i ;
    	} ;
    } ;
    
    if (isNil "_findNumber") then {
    	_lastNumber = 0 ;
    } else {
    	_lastNumber = (_magazineCargo select 1 select _findNumber) ;
    } ;

    もっといい書き方あるかもしれないけど、とりあえず。
    このスクリプトを定期的に繰り返して取得したり、グローバル変数に持ってきたり、このスクリプトの後にスクリプトを書くとかがいいと思います。改造OK。

    #3228 返信
    く”らぅん
    く”らぅん
    参加者

    POLPOXさんの書いてくれたスクリプトを試してみましたが、_lastNumberに0しか返ってきません(´・ω・`)

    #3340 返信
    POLPOX
    POLPOX

    >_lastNumberに0しか返ってきません
    自分の環境では普通に動きましたが…classNameが違うとかじゃないですか?

    #3398 返信
    く”らぅん
    く”らぅん
    参加者

    動きました~
    ずいぶん初歩的なミスを犯してたみたいです^^;

    ミッションに使わせてもらいます、POLPOXさんありがとう!

    #18692 返信
    POLPOX
    POLPOX
    参加者

    Arma3のCAF Aggressorsで追加されたAKを出来る限りHLC AK Packのものに置き換えるスクリプト作ってみました。
    DL
    使い方は簡単!水を入れたらレンジでチン!init.sqfなどに次のコードを入力してください。
    [] execVM "PLP_akReplace.sqf"
    又は
    true execVM "PLP_akReplace.sqf"
    前者のコードは例えばCAF AK74がHLC AK74に置き換わりますが、後者のコードはHLC AK74に加え時々HLC AKS74やAKS74u等に置き換わるようになります。

    CAF AK47とCAF AK74とCAF AK74GLとCAF RPK74とそのマガジンに対応。
    残念ながら人のみ対応。Ammoboxは対応してません。

    #90046 返信

    michy
    参加者

           ..     、      ,_    
            ̄\_/ ̄ ̄\/ ̄     ゴゴゴゴゴゴ・・・
        ___/ ̄へ√⌒l⌒´ ̄ ̄\_ 
        ´        /   \ 

    どうも、スクリプト沼に堕ちはじめたみっちーです。
    僭越ながら初めて製作したスクリプトを公開させていただきます。
    Branch Divided Arsenal Script by michy

    表示するアイテムを兵科ごとに分けることができるArsenalスクリプトです。このスクリプトを導入することにより、各プレイヤーごとのArsenalに表示されるアイテムが減り、準備時間を短縮することが出来るほか、各兵科の役割を明確にすることが出来ます。
    マルチプレイヤーミッション向けに製作しており、途中参加プレイヤーにも対応しています。実際に何人かの方々に協力していただき、サーバー上でも動作確認済です。

    詳しい使用方法等はReadmeファイルをお読みください。もし何かわからないことがあれば、何なりとお申し付けください、サポートいたします。

    とくに難しい処理とか使ってませんし、使いづらいかもしれないし、既存のスクリプトと大差ないかもしれませんが、興味のある方は是非使ってみてください!!!何卒!!!

    ※追記1 (2016/3/10)
    ヘッダーコメント編集によりv1.1へ更新。仕様に変化は無し。

    • この返信は2 年、 1 ヶ月前に  michy さんが編集しました。理由: URL更新
15件の投稿を表示中 - 1 - 15件目 (全43件中)
返信先: Arma3 スクリプト公開スレ
あなたの情報: