ホーム › フォーラム › TRI Gaming フォーラム › Arma3 スクリプト公開スレ
-
投稿者投稿
-
2014年1月17日 9:30 AM #2820Stealerメンバー
役立ちそうなスクリプトを作った・見つけたら紹介しよう。
「こんなの欲しいな」なリクエスト受付もこちらで。
使えるタグ
<pre>スクリプト</pre>
<code>コード</code>
<blockquote>引用文</blockquote>
2014年1月17日 10:07 AM #2821Stealerメンバー乗車完了を運転手に知らせるスクリプト
概要:
トラックの荷台や装甲車は、乗員が発車を運転手や車長に伝えたくても、車内の騒音や設定でVCで伝わらないことがままあります。
こういった時兵士はどういった行動を取るでしょうか-トラックの荷台をバンバン叩くのです。そうですロマンです。
趣味と実益を兼ねた再現をしてみました。使い方:
※前提として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!”のメッセージが出ます。- この返信は10年、 9ヶ月前にStealerが編集しました。
2014年1月18日 12:53 AM #2824く”らぅん参加者ACE WoundsのEpinephrineだけをメディテントでしか使えなくするっていうのは可能ですか?
2014年1月18日 3:04 PM #2825Stealerメンバーうーん…既に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からモルヒネを持ったまま出ると、持っているモルヒネが全てボッシュートされます。
- この返信は10年、 9ヶ月前にStealerが編集しました。理由: ソリューション
2014年1月18日 8:01 PM #2830AresメンバーMAP上のすべてのドアからアクションメニューのオープンドアを消去することは可能ですか?
ドアにC4を設置し爆破してこじ開けたり、ショットガンでこじ開けたりできるScriptを見つけたのですが。そのScriptを入れても、アクションメニューのオープンドアが表示されたままなので、ミッションで導入しようとしても使われずに終わりそうです。
容易にドアやゲートの開閉ができなくなれば、ハシゴやワイヤーカッターの活躍も増えそうって妄想したり。2014年1月20日 12:51 PM #2839Stealerメンバーそれについてですが、解決法が無くはないものの、非常に難しいです。
まず、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_bookEDIT: 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.
2014年1月27日 9:10 PM #2926[JPN]Fenrir参加者パラメーターでタスクが変わるものとかってありますか??
2014年1月29日 7:00 PM #2971く”らぅん参加者上にも書かれているStealerさんのEpinephrine除去トリガーですが、
player removeMagazines "ACE_Epinephrine";
をplayer removeMagazines "ACE_Epinephrine"; [player, "MAG", "ACE_Epinephrine", -1] call ACE_fnc_RemoveGear;
にしたらバックパックの中のEpinephrineまで取り除けました。
次のCoop Nightで使おうと思います。
Stealerさんありがとうございました!!
- この返信は10年、 9ヶ月前にく”らぅんが編集しました。
2014年2月24日 2:52 PM #3224く”らぅん参加者HELP!
Ammoboxの中にある特定のWeaponやMagazineの数をCountで数えることって可能ですか?
例えば「あるAmmoboxの中にStoneが○個以上入った場合」みたいなTriggerのConditionを作りたいです。2014年2月24日 7:00 PM #3225POLPOXゲスト>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。2014年2月25日 3:50 PM #3228く”らぅん参加者POLPOXさんの書いてくれたスクリプトを試してみましたが、_lastNumberに0しか返ってきません(´・ω・`)
2014年3月2日 2:15 PM #3340POLPOXゲスト>_lastNumberに0しか返ってきません
自分の環境では普通に動きましたが…classNameが違うとかじゃないですか?2014年3月3日 7:55 PM #3398く”らぅん参加者動きました~
ずいぶん初歩的なミスを犯してたみたいです^^;ミッションに使わせてもらいます、POLPOXさんありがとう!
2014年8月24日 2:43 PM #18692POLPOXメンバー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は対応してません。2015年12月25日 11:29 PM #90046michy_REV19キーマスター.. 、 ,_
 ̄\_/ ̄ ̄\/ ̄ ゴゴゴゴゴゴ・・・
___/ ̄へ√⌒l⌒´ ̄ ̄\_
´ / \どうも、スクリプト沼に堕ちはじめたみっちーです。
僭越ながら初めて製作したスクリプトを公開させていただきます。
Branch Divided Arsenal Script by michy表示するアイテムを兵科ごとに分けることができるArsenalスクリプトです。このスクリプトを導入することにより、各プレイヤーごとのArsenalに表示されるアイテムが減り、準備時間を短縮することが出来るほか、各兵科の役割を明確にすることが出来ます。
マルチプレイヤーミッション向けに製作しており、途中参加プレイヤーにも対応しています。実際に何人かの方々に協力していただき、サーバー上でも動作確認済です。詳しい使用方法等はReadmeファイルをお読みください。もし何かわからないことがあれば、何なりとお申し付けください、サポートいたします。
とくに難しい処理とか使ってませんし、使いづらいかもしれないし、既存のスクリプトと大差ないかもしれませんが、興味のある方は是非使ってみてください!!!何卒!!!
※追記1 (2016/3/10)
ヘッダーコメント編集によりv1.1へ更新。仕様に変化は無し。- この返信は8年、 7ヶ月前にmichy_REV19が編集しました。理由: URL更新
-
投稿者投稿
- このトピックに返信するにはログインが必要です。