【音】ARMA3 EXILE MODサーバの旅その104

2020年2月16日

image

追加:Arma3のダメージの仕組み

追記:車両スカベンジの設定

追記:AI死んだ後の処理カスタム

追記:トレーダーやら色々配置

追記:鯖味噌構築の再開

追記:まだ半分かよ・・

ちょっと寄り道して、(自分用でもある)Arma3の楽曲動画を作成しており・・・

や・・・・・・・・と、動画編集用ファイルを取り終えた。

(;´Д`)

楽曲メインですが、1時間超えの動画になりそうです。作業用として十分な長さじゃないでしょうか。ドライブとかでも、聞ける。

今から、動画編集作業になります。アップはいつになるだろう、できれば今日中に仕上げたい・・。

image

ぬおーーー、ダメだ、眠いッッッ!

(;^ω^)

骨組みがなんとか出来たので、あとは貼っ付けるだけだ。明日にはアップロードできる・・はず。

追記:まだ半分かよ・・

image

気付いたら、現在朝6時・・・・。

(´;ω;`)

まだ、半分しか終わってない。

動画の長さは既に90分超え、全部で3時間!?(今確認したら、Youtube最長12時間までイケるらしいw)

ただ、貼っ付けて微調整してるだけなのに、なんでよw

image

しかし、やっぱHDD、残容量の心配が要らないという点は流石です。ガンガン録画してるつもりでも、まだまだ余裕っす。

もう寝るッ

追記:鯖味噌構築の再開

image

動画の方は、昨夜なんとかアップロードできた。

(;´∀`)

早速、鯖味噌の構築に入ってます。

制作した動画で、さっそくArma3の曲を聞きながら・・、テンション上がりますねw

各スクリプトの動作確認、設定値の調整、難易度調整、天候、運用周辺などなどとやることは山ほどあります。

どこから手を付けて良いのか・・

(;^ω^)

上写真は、現在のデスクトップの状況そのまんまですw

幸いDiscordで、繋がってるArma3デベロッパーさん達がいるので、分からない点はすぐ質問できます。

もし、これを見ているArma3サーバ管理者さんや、MOD・スクリプト開発者さんがいたら、ぜひともご参加ください!!!!(コメでも良いし、鯖味噌Discordでメッセージ書いて頂ければOKです)

image

こまめに、利用するマップのChernarusReduxで、見っけたおかしい点は、コミュニティの方にバグ報告しなければなりません。

利用させて頂いてるので、せめてもの奉仕で御座います。

image

なーんだ、こんなナイスなアイテムが追加されていたのかぁ・・。

クラス:H_Hat_Tinfoil_F

(;´∀`)採用!!

image

AIにもうちょっと人間性を持たせたく、グラサンなどの装飾をしてみる。

顔にアイテムを加える場合は、addGogglesを使うらしい。

this addGoggles “G_Spectacles";

現行のAI出現スクリプトでは、こんな事考えられてないので、改造するしかない。

ただ、Arma3ではランダム設定があるので、グラサンとかしてるAIがいるのはその性。

image

鯖味噌では、決まった場所にトレーダーが居るわけではないので(自作スクリプト)、どこに出現させるかマップを吟味中。

追記:トレーダーやら色々配置

image

トレーダーやら、(スクリプトにて)色々とオブジェクトを配置する。

マップ上に色々な観光スポットがあるので、基本的にはそんな場所に配置してる。

追記:AI死んだ後の処理カスタム

image

チョイチョイとイジってみた。

(;^ω^)

倒される直前に、グレネードやスモークを握ってる場合だってあるはず・・。

そういう事もあるよねぇ・・w

追記:車両スカベンジの設定

image

マップ全域で、インテリア・放棄車両からのスカベンジ(探索)周辺を設定。

3D酔いしながらの長時間作業ぇ・・・。

(;´Д`)

以前も一度設定したが、ミスがあるかどうかも確認する。

追加:Arma3のダメージの仕組み

image

たまーに、AIやプレーヤーのダメージを軽減させる仕組みを入れ込もうと思っていた。

当たりどころが良かった・・

ってやつだ。

(;^ω^)

簡単に組み込めるだろうと思っていたが、そう簡単には行かないのがArma3である。

(;´Д`)・・・・

ダメージと言っても、部位ごとにあるし、気絶値(incapacitated)なんてものもある。

image

ログを取り、元Kongariベーコンの鯖缶さんからお聞きしながら、調査する。

上記のログは、HandleDamageイベント時の内容。

イベント後に、戻り値を返せば良いのだが、ダメージ軽減させる場合、現在の部位ダメージとの差にしないとダメ。

ちなみに、ゼロにすると無敵になる(厳密には、ダメージを受けると、その部位が全開する)

あと、攻撃されるだけじゃない、落下ダメージ、爆発系の間接ダメージなど、他にも色々ある。これらは、省くつもり。

getAllHitPointsDamageにて、全部位を取得できる。見ての通り、最後の項目が、incapacitated(気絶)・body(体)となってるのがわかる。途中で仕様変更したらしい。

[[“"hitface"",""hitneck"",""hithead"",""hitpelvis"",""hitabdomen"",""hitdiaphragm"",""hitchest"",""hitbody"",""hitarms"",""hithands"",""hitlegs"",""incapacitated""],[“"face_hub"",""neck"",""head"",""pelvis"",""spine1″",""spine2″",""spine3″",""body"",""arms"",""hands"",""legs"",""body""],[0,0,0,0,0,0,0,0,0,0,0,0]]

※3番目に実際のダメージ(0-1)

んで、色々調査した結果のコード(EDEN用)

image

こんなコードを書けば、プレーヤーさんは100倍打たれ強くなるw(100の部分を、変えればOK)

(;^ω^)

initの部分にね。

this addEventHandler[“HandleDamage",
  {
   _damparts = getAllHitPointsDamage (_this#0);
   if((_this#5) > -1)then{
     _dmg=_this#2;
     _hit=_this#0 getHitIndex _this#5;
     _dmgPt=(_dmg-_hit)/100;
     _hit+_dmgPt;
   }else{
    0;
   };
  }
];

image

バンディットAIさんの方はサーバ側で管理されているが、プレーヤーさんは、クライアント側になるので・・。

@ExileModの内部コードをオーバーライドしないと実装できない。

おもむろに更新。

テストしないとダメですが、即死パターンが多いArma3ですが、たまーに被弾ダメージを軽減する感じで、程よい難易度にする予定です。

アルコールを飲むと、さらに、効果が大きくなるとか・・w

(;^ω^)