【GAME】ARMA3 EXILE MODサーバの旅その33

2017年12月10日プライベートarma3,exile,mod,server

いわゆるミッソン以外のAIさんのほとんどは、Occupationアドオンを利用する事が多いと思います。

和訳すると”職業”なんだとか。

(;´∀`)

サーバサイドスクリプトですので、如何ようにもいじくれます。

新しい日本のサーバでしょうか。この前からリスト上にあります。

muneyakeサーバ、MAPはMaldenでPvEのようです。

現在はまだロックが掛かって入ることはできませんけども。

RHS系(ロシア)のMODが必要なようです。

そういえば、現在ARMA3シリーズ(DLC込み)セール中ですよ。書いそびれたDLCをゲットするチャンスです。

最高の夜食・・

(;´∀`)

(ここからネタバレが入るのでピュアなプレーヤーさんはお控えください)
一応備忘録として、Occupationの弄り箇所辺りを記していきたいと思います(都度追記してるので整理してません)

※DMSアドオンとは違い、エラーを分かり易く出力してくれません。更新履歴を取りながら作業する事必須です

AI装備選択:functions/fnc_selectGear.sqf

AI装備品の決定部分、ほとんどがランダムで適用。SC_RandomMagazinesは、1~3個が選ばれる(53行)Weaponアタッチメントは50%の確立で有り無し判定がされる(80行付近)

SC_RandomMagazinesに、装備系(コンパスやGPS等含め)のモノは書けない(エラーになる)ランダムで選ばれるが、重複する場合あり。

メイン武器・ピストルの予備マガジンは2~3個(100行付近、他1箇所)

AI湧きログ

[OCCUPATION]:: %2 loadout created: %1というログで出力(%1装備、%2サイド)

AIのリアルタイム総数

Occupationと直接関係無いですが、以下のスクリプトで出力できます。occupationStatic.sqfから抜粋。

_aiActive = { !isPlayer _x } count allunits;

_logDetail = format [“%1 active AI",_aiActive];
[_logDetail] call SC_fnc_log;

Place湧きAIの数:occupationPlaces.sqf

configでは有り無ししか指定できません。occupationPlaces.sqf(131行)で、数と行動範囲を指定できます。難易度はrandomとなってます。

NameVillage(村),NameCity(街),NameCityCapital(都市)この3種類の町が対象になってるので、MAPの他ランドマークを追加したい場合は、追記しましょう。種類は以下だけあります。

https://community.bistudio.com/wiki/Location#Location_Types

MOD地図によっては、これらが規定されてない場合があるかもしれない。そんな時は、createLocationで任意に場所を作れる。

パトロール車両の物資:occupationVihicle.sqf

パトロール車両の物資はConfigで設定できません。313行から、物資と武器の設定コードになります。デフォでは、グレネード・GPS・インスタ・水・EMREがランダム、武器は6種のライフル(LMG系)から選ばれます。

私は、丸っと書き換えましたw

パトロールヘリの物資:occupationSky.sqf

もちろんヘリの方も同様です。238行からになります。ただ・・、空を飛んでるし落ちたら全ロスト、どーやってこの物資を奪うのか?積んでる武器はスナイパー系です。

ヘリクラ:occupationHeliCrasheds.sqf

Wreck系オブジェクト(車両破損系・750m)やサプライコンテナ(500m)の近くには落ちません。ログは、以下の形。

[OCCUPATION:HeliCrashes] Crash %1 : Location %2

ガードAIは102行から。

レイドAI:occupationRandomSpawn.sqf

デフォだと、いまいち使いみちが無いので、コード弄りの醍醐味がこれでしょう(サーバ起動後5分後動作)古いコード上では、”COPS”(警察?憲兵?)だったりするんですが、”RandomSpawn”で決まったようです。

対象プレーヤーから500mを超えると削除。

Waypoint辺りは95行から。警戒(YELLOW)で、対象プレーヤーの位置まで移動となってます(この部分が機械的なんですよね・・)。距離が200m以内になったら、近くの建物を索敵しだすようです。

_wp = _group addWaypoint [_destination, 0] ;

デフォでは、一直線にプレーヤーに向かってくるようになってますが、「おおよその場所」の感じだと、リアルっぽくなりそうです。

AI自体のスキル設定はDMSに依存

OccupationからAIを湧かせる際、DMSを呼び出してます(装備等はOccupationで設定してる)randomとして呼び出した際は、DMS側のRandom設定(1050行付近)から選ばれます。

(Occupationの話題はここまで)

mission.sqfのaddons[]設定

必要なモノをここに記述するのは分かってますが、何を書くと良いのか、未だ分かってませんが・・。

addOnsAuto[]も同様です。

サーバ起動後、ログに以下のようなエラーが出た場合に、それを追加すると良いようです。

Warning Message: You cannot play/edit this mission; it is dependent on downloadable content that has been deleted.
a3_characters_f

私の場合はCUP Terrainsを入れてますが、ものすごい量のエラーが出てました。よって、上記のような記述でOKなようです。出なくなった。

こんな名称・仕様、どこに書いてんですか・・

(;´Д`)

a3_characters_fはどーしてもエラーが出てしまうようです。動作には支障無いっぽいけども。

ふっと途中に1行出てたりするので、しばらくログを流して見た方が良いかもしれない。

ちなみに現在の私の内容はこれ(何なのコレw)追加MODはCup Terrains core/mapsのみ。

addons[]={
    “A3_Ui_F",
    “exile_client",
    “a3_characters_f",
    “cup_camisc",
    “cup_misc3_config",
    “cup_misc_e_config",
    “cup_buildings_config",
    “cup_castructures_mil",
    “cup_ind_malykomin",
    “cup_shed_small",
    “cup_pila_dbe1",
    “cup_zakladna_dbe1",
    “cup_camisc_acr_shooting_range",
    “cup_castructures_e_misc_misc_garbage",
    “cup_castructures_e_misc_misc_market",
    “cup_castructures_e_misc_misc_interier",
    “cup_desert2_config",
    “cup_editor_structures_config",
    “cup_cabuildings2_misc_cargo",
    “cup_warfarebuildings",
    “uh1h"
};

クラス名から、どんなオブジェクトなのか(実物)調べたい時があります。

EDEN内の検索でも、明確にタブを切り替えないと出てくれません。

ボヘミア公式サイトでも、検索出来なかったり、画像が無かったりと。

最終的にはGoogle画像検索を利用してましたが、あまり有益にはならず・・。

んで、ふっとM3EditorなるMODがあった事を思い出しました。

これなら、全オブジェクトが一覧でリスト表示されてたので、検索もそのまま掛けられそうです。

ビンゴッ(゚∀゚)ノ

設定の際テキストエディタを開きながら、調べたい時に予めM3Editorで立ち上げたARMA3に切り替えて調べられます。

こんな事してるのも、LootSpawnの再設定をしてるがタメですw

適当なタイミングでインしては、動作を確認します。

あれ?ヘリクライベントっぽいけども、これは戦車かな・・?

(;^ω^)

LOOT中身もヘリクラだな。

むむむ・・。後で確認だな(これはこれで採用案件だけども)

あぁ・・車両湧きです。

空港以外で、この車両は場違いです。

これは削除だな。

前構築時に、表示関連で自前スクリプトを書いてたんですが、多分、Arma3本体のバージョンアップで表示項目とバッティングしてるらしく、微妙に全体表示がおかしい。直すのも難儀やし、諦めるか。

(写真からも分かると思いますが、ステータス系表示の削除)

ほとんどのサーバは、結構バニラ状態のままが多いのが、AIなどの装備品です(違っても武器位)

テストプレーする度に、弄りまくってるので大変な事になってますけども・・。

楽しい設定の一つでもありますw

(;^ω^)

ゴリゴリ弄ってます。ほら、鹵獲って楽しいじゃないですか。

AIが所持してるマネーの設定が、DMS仕様上、ほぼ固定なので、ここはスクリプトを弄りたい。Poptabも鹵獲の要素として。

a3_dms/scripts/fn_SpawnAISoldier.sqf(488行)

で書かれてます。

仕様では、「基本値×インしてるプレーヤー」(※設定による)となってるようです(サーバによってはゼロなんて事もある)

さて、イジるか・・

(;^ω^)

とりあえず、こんなでいいかな。設定値が最大のPoptabになると。

_base_money_amount = round(random _base_money_amount);

2017年12月10日プライベートarma3,exile,mod,server

Posted by nabe