OFP MissionFAQ(一般編)


OperationFlashpointのMissionEditの作成に関するFAQやTIPSをネット上や自分の経験から集めてきたFAQ集です。


No. Question Answer
1 「主人公が脱出地点にたどり着いたら終了」みたいなエンディングにしたい。 (1)トリガを設置し、Axisに到達範囲の大きさを設定する
(2)トリガのActivationをプレイヤーの陣営にする(米軍兵士ならWEST)
(3)トリガのTypeをend#1等に設定する
(4)トリガのConditionにplayer in thislistと記述
2 ゲーム開始直後から飛行機や舟に載せたい隊員だけを乗せるようにする設定はどうしたら良いのですか? A.乗り物と小隊が同一グループの場合はUNIT画面のSpecial項目をIn cargo
B.乗り物と小隊が別グループの場合は、小隊のinitializationにgrp_name(任意)= group this ; "_x moveInCargo car_name(任意)" forEach units grp_nameと記述する。乗り物に名前を付けるのも忘れずに(この場合はcar_name)
3 Insert Unit画面のSkill項目ですが、どっちに降ると強くなるのでしょうか。 左−積極的に弾を撃たない。
右−積極的に弾を撃つ。しかも精度高し。
ただしこれはAIの場合であり、Playerが操作する兵士にはまったく関係ないです
4 橋の上に車両を置くと、川の上に設置されてしまいます。 車両のInitializationにthis setPos [getPos this select 0 , getPos this select 1 , 橋の路面の高さ(m)]と記述すると良いでしょう。
5 Emptyのユニットを置けないのですが・・・ 最初にプレイヤーユニットを設置すれば、その後はEmptyユニットを設置できるようになります。
6 WayPointのTRANSPORT UNLOADとUNLOADはどう違うのですか? 運転手と同じグループにある乗員を降ろす時はUNLOAD、運転手と別のグループにある乗員を降ろす時はTransportUnloadです。
(Getoutは、運転手も含め全員が下車します)
7 建物の屋上や灯台の上とかにユニット置く事出来ますか? 設置したい座標(平面)にUNITを設置した後、Initilizationにthis setpos [getpos this select 0, getpos this select 1, 高さ]
8 死んでも何度でも復活できるミッションを作りたいのですが、可能でしょうか。 SinglePlayモードでは出来ません。
MultiPlayモードで遊べば可能です。(もちろんdescription.extのspawn=x;に復活設定を施してください)
9 小隊の中に必ずメガネをかけた奴がいるのですが。
メガネはまだしもサングラスをかけた兵士など、厳格をモットーとする我が隊にいてほしくないです。
作成順に由来するようです。
どうしても嫌なら、description.extでIdentityの中にglasses="none";を定義して、editor画面でthis setIdentityクラス名を呼び出すか、またはサングラス兵士を小隊から切り離して、どこか遠いところに配置するとか・・・。
10 OFPの座標[x,y,z] の0,0,0地点は、どこにあるのですか。 マップ上の最左下の海面です。
11 あるWebサイトから、ミッションファイルをダウンロードしました。
これはどこに入れればよいのでしょうか?
一般的にzipやらrarといった圧縮形式に格納されています。まずこれを解凍して中からファイルを取り出してください。
大抵、readme.txtファイルが入っていて、そこにインストール方法に関する指示があると思います。
一般的にシングルミッションはmissionフォルダ、キャンペーンはCampaignフォルダに入れれば、OKです。
もっともそのままではそれらのアドオンはゲーム中には登場しません。そのアドオンが登場するミッションを自分で作るか、またはそれらが登場するミッションを入手する必要があります。
(つまりあなたが格好いいM4A1のアドオンを入手しても、何らかの加工なしにColdWar中のアームストロング君に所持させられるわけではないのです。)
12 ミッションを作りました。ある一定範囲を制圧したらクリアという終了条件を付けました。
でもエンドになりません。
まずは正しくトリガの中で「敵側がnot present設定」になっているか確認しましょう。
あとよくあるのですが、劣勢に立った敵兵士が逃亡してどこかに隠れてしまい、判定上は範囲内にいるということでエンドにならないケースです。敵小隊の各リーダに"_x allowFleeing 0" forEach units グループ名を付けておくとよいお呪いになります。
13 予定を変更し、本来のウェイポイントへの到達前に強制的にその次のウェイポイントへGroupなりを移動指定させる事は出来ますか? (1)予定変更の条件をトリガーにして属性をswitchに設定
(2)飛ばしたいwaypointとシンクロで結ぶこと。
MoveよりHOLD,GUARD,SUPPORT,CYCLEで使うといいです。
14 AIユニットに地雷を埋めさせるにはどうしたらいいですか? WESTは、ユニット名 fire ["put","Mine"]
EASTは、ユニット名 fire ["put","MineE"]
15 AK47,AK47CZ,AK74のそれぞれの違いは何ですか。 性能面の差異は未検証なのでよく分からないですが、それぞれ見た目が違うことだけははっきりと言えます。
ちなみにAK47 はマガジンが黒いので少々見栄えがいいです。
removeAllweapons this ; this addMagazine "ak47";this addWeapon "ak47"でぜひどうぞ。
16 よくthis setPos[getPos this select 0,getPos this select 1,(getPos this select 2)+1]という技を見かけるのですが、この0とか1とか2ってどういう意味ですか。 たとえばgetPosで取得できる数字は[x,y,z]の3つの座標値です。
でxがselect 0でyがselect 1、zがselect 2なのです、と知っていれば配列がどうとかの本質的なことを知らなくても何とかなります。
17 主人公がある範囲より外に逃亡したら、罰として死ぬみたいな設定をしたいのですが、どうすればいいですか? さまざまな方法がありますが、任意の範囲のトリガを置いて、プレイヤー陣営にしてnot presentにし、on Activationにplayer setDamage 1と記述するなどがあります。
18 コマンド文を打っていると、つい誤字が入ってしまいERRORを起こしてしまいます。皆さんは完全に記憶されているのですか。
長いコマンド名を正しく打つのはとても面倒です。
コマンドの最初の数文字を押していると白文字で候補名が出ますから、自分の打ちたいコマンドだった時はそのままTABキーを押してください。
OFPがあなたの入力を支援してくれます。
19 WayPointのDestroyとSearchDestroyはどう違うのですか? Destroyは、ある目標物を破壊しに行く指令です。(よって目標物に重ねてください)
SearchDestroyは指定範囲の中から敵を見つけ出し攻撃するという指令です。
20 市民を敵兵士にして、さらにRPGを持たせるにはどうすればいいですか。 (1)兵士ユニットを作りInitializationにthis removeMagazines "HandGrenade";this addMagazine "RPGLauncher" ; this addWeapon "RPGLauncher"
またはremoveAllWeapons this;this addMagazine "PK"; this addWeapon "PK"と記述する。
(2)mission.sqmをメモ帳等で編集して、vehicle="xxxx"の部分を、SoldierGFakeCまたはSoldierGFakeC2に書き換える
(3)さらにside="xxx"を敵陣営(eastとか)に書き換える。
21 ある範囲に小隊Aの全員が入ったらトリガが起動するようにしたいのですが、どうすればよいですか。

いくつか方法はありますが、簡単なのはそのトリガと小隊をF2(GROUP)で結びます。そしてActivationをwhole groupにしてください。ちなみに、

  • vehicleが、ユニットが侵入した時
  • group leader:リンクしたユニットのリーダーが侵入した時
  • Any group member:リンクしたユニットのグループのどれかが侵入した時
にトリガが起動します。
22 下らない話ですが、一度作ったグループを消したい時に、ユニットをひとつずつ消すのがたるいです。 マウスで囲んだ後に、Shift+delでどうぞ。3人だけ消したいときとかにも便利です。
23 AIを歩かせて建物の中に入れたいのですが、何となく思ったようにいきません。 BIS純正の建物でのことなら、F4(waypoint)のMOVEを置く時に、野原においてから移動させるのでなく、Wクリックを建物の上で行ってください。するとposition in house というのが出ますので適当にposition#をいじってください。(2階に行ってくれたりしますよ)
24 commandFire,commandMoveとFire,Moveは何が違うの? ラジオで指示メッセージが入る/入らないの違いみたいです。
25 EDIT画面の右側にあるMERGEって、どんなときに使うのですか。 今、開いているMissionに、別のファイルのMissionを読み込んで足しこむ時に使います。フェンスやらをたくさん置いた陣地とかを再利用するときに便利です。
26 自分をALPHA BALACKとかBRAVO とかのチーム名に指定したい。 ユニットのinitialization等にGroupID SetGroupID["Alpha","groupcolor0"]を記述する。
27 一定の範囲から敵が居なくなったら、ミッションが終了するトリガの設定は。 例えば敵がEASTだったとした場合。
(1)axisX,Yを任意のサイズにし範囲を設定する。
(2)ConditionのリストボックスをEASTにし、notpresentの枠が囲まれるようにする。
(3)Typeをend#1等に設定する。
28 ある範囲にwest兵士が侵入し、それをEast兵士が発見した場合にトリガを起動させるには? (1)axisX,Yを任意のサイズにし範囲を設定する。
(2)ConditionのリストボックスをWEST
(3)Detected by Eastに設定する。
(4)Activation等にトリガ発動後の実行式を記述(アラームを鳴らすとか)
29 GameLogicって何に使うの? 正直、何なのか分かりませんが私は”目に見えないユニット”として扱っています。特に瞬間移動させたりする際の、座標取得の目印や移動先のマークポイントとして使いたい際に便利です。
(1)瞬間移動させたい場所にGameLogicを置き、名前をつけてあげる。
(2)瞬間移動させるユニットに対しthis setPos[getPos GameLogicの名前select 0,getPos GameLogicの名前select 1]を発動させる。
(3)瞬間移動先ポイントとして、後で座標修正する際はGameLogicの位置を動かしてあげればよい
その他には、スクリプトを発動させる際に起動者として使ったりとか。
30 マーカーのタイプや色を変えたいのにエラーが出てしまう。 "マーカーの名前" setmarkerType "Dot"というようにマーカーの名前を””で囲んでやらないといけません。
31 トリガーのcontdownとtimeoutではどう違うの? contdown:トリガがアクティブになった後、指定した時間を経てから指定した動作、スクリプトが実行される。
Timeout:トリガがアクティブになって指定した動作、スクリプト実行をした後に、指定した時間を経過して次の動作に移行する。
32 純正アドオンしか使ってないのに、あるユーザー作成のアドオンが入ってないとエラーが出る。 ミッション作成時に、一度でもアドオンのユニットを配置して保存した場合、たとえ最後にそのアドオンのユニットを消したとしても、mission.sqmにアドオン名が消されずに残ってしまうのです。
その際はmission.sqmを直接テキストエディタ等で開いて冒頭のアドオン名の定義分を削除してください。そしてOFPのエディタで開いて、一度Previewをした後に保存すれば解決します。
33 座標をいちいち調べて、setPos [x, y, z]に座標を書き込まなくてはならないのがウザイ。。 調べたい位置にGameLogicを置いて名前を付けてください。
その後setPos[getPos GameLogicの名前 select 0 ,getPos GameLogicの名前 select 1,getPos GameLogicの名前 select 2]とすると、微調整もしやすいし、とても便利です。(高さの微調整が全く必要がない場合は、setPos getPos GameLogicの名前 でも可)
34 無敵UNITはできないですか? 昔はできたらしいですが、現在のパッチ(1.96)では出来ません。
ただし正確には無敵ではありませんが、不死身という意味でならinitializationにthis setCaptive trueで敵から発砲されないunitになります。敵が撃ってこなくなるだけで、高いところから落ちれば死にますし、溺死も爆死も免れません。
35 いちいち小隊の兵士全員にthis setBehaviour "safe"と書くのが面倒だ。 グループのリーダーをsafe状態にすると、小隊全員がsafe状態になります。
戦闘後等でリーダーが変わる可能性がある後に起動させたいならば、"_x setBehaviour ""safe""" forEach units group_nameでもいいです。
36 グループの人数が全員死んだら起動するトリガーを作りたい。 count units groupの名前 <= 0 (半角で)
またはトリガと小隊をF2(GROUP)で結び、Activationをnot prestentとwhole groupに設定するとよいです。
37 グループの人数を数える条件のトリガーを作ったところ、条件に合っているのにトリガーが発動してくれません。 count文は、反映されるまで時間がかかる時があります。
38 素手で白兵戦は出来ませんか? 一応、できます。
removeAllWapons this ; this AddMagazine "StrokeFist";this AddWeapon "StrokeFist"でパンチ?2発で相手をマットに静めることが出来なくはないです。実用性は低いですが。
39 BASのTonalという島アドオンを入手しました。試した後にOFPのメイン画面に戻ると背景が直前の戦闘画面になっています。何で? ひょっとしてショートカットに-modオプションを使ってアドオンを振り分けていませんか?
pboファイルは振り分けて差し支えありませんが、一緒についてきたフォルダ(名前にanim...とついた)は、振り分けてはいけません。そのフォルダだけres\addonsフォルダの中に格納してください。またその他の島Addonも同様の症状が出る場合は、一緒についてきたanimと名前が付いたフォルダを、res\ addonsかまたはOFPルートのaddonsフォルダに格納してください。(各々の島アドオンによって、どちらか決まった方のフォルダのみが機能します)
40 BOHアドオンを使ったミッションを作りました。ミッションエディタ上では問題ないのですが、exportした後、SingleGame(又はキャンペーン)で遊ぶと最初にMissing BOHJSDF**.pboと表示されます。それでも普通に遊べるのですが、いまいち気持ち悪い。何で? 手っ取り早くやるには、ミッションエディタを開き、数秒でいいからPreviewをしてアドオンを読み込ませた上でAbortとして保存してください。
確実にやりたいなら、mission.sqmに、Missingと表示されたアドオンのファイル名を手動で書き足してください。
なおaddOns[]={}で囲んだアドオンファイル名の列挙のところは、最終行以外には文末に,(カンマ)を付けるのを忘れないでください。