ホーム › フォーラム › TRI Gaming フォーラム › ARMA3 ミッションエディットスレ
-
投稿者投稿
-
2014年8月24日 6:56 PM #18696tricoキーマスター
Arma3のミッション製作者のためのスレッドです。
エディット関係の質問、ちょっとした情報提供などにご自由にお使いください。エディット初心者の方はこちらのガイドもご覧ください。
ミッションエディット初心者ガイドスレスクリプトの要望や紹介はこちらにどうぞ!
スクリプト公開スレ2014年9月13日 10:06 PM #19500く”らぅん参加者JIP向けのテレポートスクリプトは特別な事情がない限り入れた方がいいと思います。
2014年9月30日 10:58 AM #20731tricoキーマスターAGMのMax unconscious timeはVehicleの中で死ぬと正常に動作しないバグがあります。
Ver.0.94で修正される予定だそうですが、それまでは使わない(-1 無限)方向でよろしくお願いします。2014年10月18日 12:37 PM #21667NANASHINO_GONBEIゲスト大変だ! TRYK’s Uniform ver 0.3beta のクラスネームが大きく変更されているぞ!!
ミッションエディタは速やかに新しいクラスネームを適用しないと、下着で出撃することになるぞ。
概要
TRYKのクラスネームの先頭に “TRYK_” が追加されている。
これらはベスト、ユニフォーム、ゴーグル、ヘルメット等において適用されている。
つまり、TRYKの衣装を装備させる場合、クラスネームを変更する必要があるのだ!!!2014年10月18日 12:50 PM #21669NANASHINO_GONBEIゲストまぁとりあえず。 TRYK’s Uniform を ver 0.3beta に更新しないほうがいいと思います。
結構影響が大きいので、様子を見ることを進言します。2014年10月23日 10:15 AM #22085tricoキーマスターAGM v0.94で医薬品その他のアイテムがArsenalから取り出せるようになりました。
あとTask Force Radioに関する現在のサーバー設定は以下の通りです。
- リーダーに自動でLongrange radioを持たせる機能はOFF
- 全ての兵科は (Rifleman radioではなく) Personal radioを持つ
- Microdagrを自動で持つ機能はOFF
- 全員のRadioでチャンネルの周波数を統一
2014年10月27日 2:24 PM #22446RoomyメンバーLEA とりさばプリセット 2014/10/26日版。
MP5とAGM0.96.1はLEAのRepositoryが更新されてないので入ってません。
https://drive.google.com/file/d/0B6giPcHwWLNsR0s2V1FEaVRkTkk/view?usp=sharing2014年10月28日 2:54 PM #22502Tempura9メンバーRHSが来たので、ロシア軍の組織についてwikiのコピペですがかるくまとめてみます。
Russian Motor Rifle troops (MSV)
ロシア連邦軍の歩兵(機械化歩兵)。モトストレルキ、自動車化狙撃兵とも。完全に機械化されていて、通常IFVかAPCに乗って移動する。Russian Naval Force (VMF)
ロシア海軍歩兵。ロシア海軍の水陸両用作戦部隊で、他国の海兵隊・海軍陸戦隊に相当する。PT-76、T-80、BRMD-2などを装備。
海軍歩兵大隊のうち1つはBTR系列の水陸両用車両で機械化されている。少なくとも1個海軍歩兵大隊は空挺任務に関する訓練を受けており、他の大隊もヘリボーン任務に関する訓練を受けている。らしい。Russian Airborne Troops (VDV)
ロシア空挺軍。連邦軍の独立兵科であり、機動軍の主力を構成する。青ベレーと水兵シャツが特徴。
BTR、BMPで機械化された一部を除いて、基本的にBMD系列で機械化されている。
RHSでは第76親衛空挺師団を基にしていて、この部隊は今年のクリミア危機で陸軍の任務部隊とともに動員されました。Russian Air Defense Troops (VPVO)
ソ連防空軍。ソ連崩壊後98年に空軍に吸収合併。シルカのユニットのfunctionがVPVOでした。Russian Air Force (VVS)
ロシア空軍。人員約16万人、ヘリコプターを除く作戦機約1940機。陸軍航空隊は空軍の兵科。Russian Internal Troops (VV)
ロシア国内軍または内務省軍。内務省に所属する国内での活動を目的とした軍隊。公共秩序の維持、重要施設の警備等を任務とする。
チェルノブイリとかチェチェン戦争のミッションに使えるかも?Russian Rocket Troops (RVA)
Russian Tank Troops (TV)
ロシア陸軍における戦車兵。RHSでは4th Guards Kantemirovskaya Tank Divisionが基になっており、主力戦車やIFV、自走砲を装備している。
T-80-310両 BMP-2-300両 2S3&2S19-130両 BM-21-12両2014年10月28日 2:58 PM #22503く”らぅん参加者RHS入れましょう♥
2014年10月28日 3:58 PM #22507Tempura9メンバーロシア軍編成例
海外フォーラムからまるっとコピペBMP/BTR Company
1x Company HQ with 6x Personnel
1x ATGM Section with 3x Metis gunners totalling 9 personnel ※中隊の中に9人編成の対戦車ミサイルセクションが一つ
3x BMP/BTR Platoons. ※機械化小隊が三つ
Each Platoon Consists of:
3x Motor Rifle Sections with 8x Personnel ※小隊の中に8人編成のセクションが三つ
1x Platoon HQ with 4x Personnel
Each Section Consists of:
1x BMP/BTR Commander or Dismount Leader
2x BMP/BTR Crew
1x 2 man RPG team
1x Senior Rifleman
1x RPK Gunner
1x Rifleman
VDV Company
1x Company HQ with 6x Personnel
3x VDV Platoon.
Each Platoon Consists of:
3x Motor Rifle Sections with 7 Personnel
Each Section Consists of:
1x BMD Commander/Dismount Leader
2x BMD Crew
1x 2 Man RPG team
1x Senior Rifleman
1x RPK Gunner
- この返信は10年前にTempura9が編集しました。理由: ※
2014年11月9日 12:42 AM #24578POLPOXメンバープレイヤーがtricoさんだったときにいつもの帽子を自動的に着けてくれるスクリプトです!これをinit.sqfかなんかに入れればtricoさんもニッコリ!
if (toLower name player == "trico") then { player addHeadgear "H_Cap_surfer" ; } ;
2014年11月26日 9:54 AM #28768Line参加者Show / Hideモジュール問題点
Object Modifierのshow / hide ですが、使い方によっては見えてる人がいるようです。
問題点
ObjectにGroup単位でHideとShowをリンクさせ、Showの方にコンディショントリガーを設定。
こうすることでは上記の問題が発生します。
解決策?(未検証)
Intel Taskの様に、HideにShowをリンクさせ更にコンディショントリガーをリンクさせる事によって上記の問題解決が出来るのかなと思っています。
私はこの問題を回避する為、とりあえずCurrent Waypoint +1の対策を取りました。後程結果を報告します。
2014年11月26日 11:07 AM #28775Line参加者役立ちトリガーコンディション集
あまりこのスレが活性化されてないと思いましたので、私の知っている事を少しずつ綴りたいと思います。
これからエディットを始めてみたい方や、知らなかったという方は是非ご自分のミッションに取り入れてみてください。殲滅系
トリガーの範囲内の敵が居なくなるとOn Actでタスクを完了させたりとよくあるミッションのうちの1つですが、敵を細かい配置にしているとNot Presentのみでは中々完了できない事もあります。エディターの本意としては間延びさせたくはないですよね。
そこで次のトリガーを設定します。ActivateはAnybodyに設定し、Condition欄に
east countSide thislist <= 5
もしくはActivateをOpforに設定し
{Side _x == EAST} count thislist <=5
EASTにしてますが敵軍がBluforならWEST、敵軍がAAFの場合はINDEPENDENTと入力します。こうすることにより、敵の数が5人かそれ以下になった場合On Actが発動します。
5人以下に設定したい場合は
east countSide thislist < 5
=を外すだけでいいです。輸送系
トリガーと目標車両をグループで結ぶという手が大変楽なのですが、複雑になってくると線が邪魔です。また、何台も輸送しないといけない場合1つにまとめたくなりますよね。
そこで次のトリガーを設定します。ActivateはAnybodyに設定し、Condition欄に
{vehicle _x iskindof "I_Truck_02_ammo_F"} count thislist > 1
AAFの弾薬輸送車が2台トリガー内に入るとOn Actが発動する内容です。
またクラスネームを断定せずに車両が2台としたい場合は
{vehicle _x iskindof "LandVehicle"} count thislist > 1
航空機を設定したい場合
{vehicle _x iskindof "Air"} count thislist > 1
このように特定の車両のみならず、指定する物の幅を広げることもできます。
最近追加されたヘリアドオンでコンテナを輸送できるようになりましたが、そのコンテナを特定の場所まで運ぶと達成されるコンディションは
{(vehicle _x iskindof "B_Slingload_01_Ammo_F") and (getPos _x select 2 <= 5)} count thisList > 3
弾薬コンテナが4つトリガー内に入り、尚且つコンテナの高さが地上より5m以下になった場合発動する条件です。市民救出ミッションの場合は
市民にciv01,civ02,civ03とアレイを追加し
ActivationをAnybodyに設定
Civillian countSide thislist > 2
もしくは
{alive _x and (getPos _x select 2 <= 1.5) and _x in thislist} count [civ01,civ02,civ03] == {alive _x} count [civ01,civ02,civ03]
この構文はまずciv01,civ02,civ03が範囲内に入り、次に市民が地上より1.5m以下であること、そして市民が3名とも生存している事が条件です。
タスク失敗条件を別のトリガーに入れる
(!alive civ01) or (!alive civ02) or (!alive civ03)
市民にUnconsciousを追加したい場合は
対象市民のInitializationに
this setVariable ["AGM_AllowUnconscious", true];
を追記することにより即死を間逃れる可能性が高くなります。とりあえずここまでにしておきます。まだまだ沢山バリエーションがありますのでそれはまた後ほど投稿したいと思います。
質問や突っ込みがあればどうぞ!補足でcountという命令はミッション製作の上で重宝しますので覚えておくとミッション構成の幅が広がりますよ。
- この返信は9年、 11ヶ月前にLineが編集しました。理由: 構文説明追記
2014年11月26日 1:31 PM #28794Line参加者ミッション製作における注意点
偉そうに書いてるなと思われるかもしれませんが、これからミッションを作りたいという方向けの投稿です。
- 全体の流れ
ただ物を壊す、殲滅する、だけでは単調になりがちです。
それらのミッションはただ場所が違うだけでやることは一緒ですからね。
それ+αで何か調味料を加えてあげる事で1つのミッションが濃厚な物になります。
しかし長時間(大体1時間半以上)になるのは避けたいところです。工夫としては
メインタスク完了後に敵の増援が来る → 退却? or 撃破?
メインタスク遂行が不可能な状況にさせる → メインをキャンセルし新たなタスクが発生
市街地戦遂行中に何かを見つける → サブタスクが発生する(捕虜や、証拠品等)- 移動距離
徒歩移動の目安としては1km圏内、
車移動ならば3~5km圏内を目安として考えた方が良いです。
またプレイヤーさん達は車を大事にしたり、遠くに乗り捨てて移動をする傾向が強いので武装車両ならば人数構成をきちんと決めておかないと車両在りきでミッションを製作した場合アンバランスな状況になります。
ドライバー、ガンナーを予めチーム内に組み込んで置くと利用しやすいですね。- パワーバランス
味方が使える兵器は1つ入れることでバランスが崩壊したりします。
何かを追加するならば敵にも対抗できる何かを追加しなければなりません。
またHMGかGMGかでも全くバランスが異なります。両サイドに1つでもあると独壇場になる場合もあります。
また、航空兵器を登場させ、華やかな感じにしたい時もありますよね。
しかし、その航空兵器には恐ろしい武装があり味方で登場するとプレイヤーが暇になるか、FFが発生、敵に登場するとクチャクチャにされてプレイヤーが激怒したりします。
そういった場合は航空機の例:O_Heli_Attack_02_Fのロケットとミサイルを取り外します。
this removeMagazinesTurret ["38Rnd_80mm_rockets",[-1]]; this removeMagazinesTurret ["8Rnd_LG_scalpel",[-1]];
戦車の例:O_MBT_02_cannon_FのHE弾を取り外します。
this removeMagazinesTurret ["12Rnd_125mm_HE_T_Green",[0]]; this removeMagazinesTurret ["12Rnd_125mm_HEAT_T_Green",[0]];
こうする事により凶悪な兵器を使用させることはできなくなりました。
- 殲滅系ミッションの注意点
乗組員が初めから搭乗している車両やヘリは乗組員が居なくなった状態でも敵としてカウントされています。
これを破壊しないとタスクが完了しなかったりと不自然な事になってしまいますので解決策としてはEmptyで車両を配置し、エディター上で
this assignAsDriver tank01; this orderGetIn true;
若しくは
this moveinDriver tank01;
こうする事により乗組員が居なくなった状態でも敵として認識されることはなくなります。- 車両破壊系ミッションの注意点
最近RHS等で強固な乗り物が増え、ある一定以上の部分破壊を行わないと爆発しない等の問題があります。
こういった場合の対処法はタスク完了トリガーに
Condition欄
not (alive Tank01) or isNull (driver Tank01)
と表記し、派手に爆破をしたい場合は
On Act欄に
if (alive tank01) then {tank01 setDamage 1;};
こうする事により乗員が降車と同時に爆発が起きます。
車両の爆発を遅らせたい時は、トリガーのTimeoutの所に秒数を入れましょう。
MAX・MID・MINはそれぞれ何秒で実行するかの秒数を記入するところです。
MAX:30/MID:15/MIN:0
に設定した場合3通りのいずれかを選択します。間を取って20秒とかにはなりません。
またTimeoutとCountdownの説明を記入しておきます。Timeout:トリガー内に対象が存続している間は秒数が減って0になると発動。時間内にトリガー外に出ればリセット。
Countdown:トリガー内に侵入した時点でカウントが始まり、自動的に0になる。とりあえずここまで。
何か質問や指摘があればお気軽にどうぞ!
(暇なので会社PCから手書き投稿してるのでミスあるかも)- この返信は9年、 11ヶ月前にLineが編集しました。理由: フォントカラー使えなかった
2014年11月26日 2:10 PM #28800Line参加者- ミッション製作お役立ちスクリプト
先人でもあり偉人でもあるStealer氏のScriptを自分なりに改良した物です。
下記コードの内容をテキストに張り付け名前をcopypos.sqfに変更し、mission.sqmのある階層に放り込み
init.sqf内にplayer addAction [“>Copy Position”,”copypos.sqf”];と入れるだけです。
ミッションをリリースする時は、必ず「//」コメントアウトするか削除してください。Copy Position Script
copypos.sqf
//player addAction [">Copy Position","copypos.sqf"]; _dir = getdir player; _stance = "NULL"; _canmove = "move"; _pos = getpos player; _posX = _pos select 0; _posY = _pos select 1; _posZ = _pos select 2; _posASL = getposASL player; _neck = player selectionPosition "Neck" select 2; if (_neck <= 0.45) then {_stance = "DOWN";}; if (_neck >= 0.8 && _neck <= 1.2) then {_stance = "MIDDLE";}; if (_neck >= 1.3) then {_stance = "UP";}; if (_stance == "NULL") then {hint "ERROR - Stance capture failed\nkeep your stance horizontality and try again"} else{ hint format ["Position > %1,\nDirection >\n%2\nStance > %3\n\n*Position data copied*",_posASL,_dir,_stance];}; copytoclipboard ("this setPosASL "+str _posASL+"; this setdir "+str _dir+"; this setunitpos "+str _stance+";this disableAI "+str _canmove+";");
getposで三次元座標をgetdirで向きを決め、
モデルの首の位置の高さを計測し、setunitposの値を決めています。
これで実際に歩いてユニットを置きたい場所に移動し、アクションメニューから選択したら裏画面に戻り、メモ帳にCtrl+Vをしてメモしていきましょう。
エディット画面に戻った時に、メモ帳に記録してあるコードをユニットのinitializationにメモ帳からCtrl+XしてCtrl+Vするだけでハッピー! -
投稿者投稿
- このトピックに返信するにはログインが必要です。