2009/6/25 木曜日

ARMA2マルチ

Filed under: Arma一般 — gachopin @ 23:53:49

ARMA2が届いたのでさっそくマルチをやりました。
arma2multi.jpg

私のPCのスペック↓
CPU:q8200
GPU:9800gtx+(mem1GB)

全部設定normal、1920×1200で常時28fps?36fps出てます。快適。
複数のジョイスティックを認識し、trackIRもoption->control->下のcontrollerでenableにして使えました。
radeonで言うと4770や4850が同じぐらいじゃないかと思います。

2009/6/18 木曜日

ガナー定義のこと

Filed under: Arma一般 — gachopin @ 1:13:34

輸送船の20mm対空砲のガナー定義が8つ終わりました。
liverty_gunner8.JPG

OFP・ARMAは50m以上の大きさのものはジオメトリが計算できない仕様ですが(ARMA2も同じと思われる)、
「50m以上離れたところのガナーの定義」は動くことが分かりました。
また、OFPでは50m以上離れた場合、1人称視点で自分の乗り物すら表示されませんが、ARMAでは表示されます。

この前私がリリースした輸送船は、先頭が「見た目135m」、「ジオメトリ45m」の船で、
「見た目透明かつ45mのジオメトリのみの船」を2つ後ろに召還し、スクリプトでくっつけて動かしています。
これらの3つの船のうちどれかが壊れたとき、他の2つも同時に壊れるようスクリプトを組んでいます。

2009/6/15 月曜日

SSD

Filed under: その他 — gachopin @ 14:28:29

A-DATA s592 64GBが届きました。(dospara通販)
これでARMA2の準備が整った。
ssd.JPG

2009/6/10 水曜日

Uボート、フラワーコルベット、リバティシップ

Filed under: アドオン — gachopin @ 18:22:18

ベータ版で、完成はARMA2の予定。 (協力:kudo氏)
とはいえ、マルチプレイで対戦ができます。
ぜひお試しを。
warships.JPG

BISフォーラム

youtube

ダウンロード

2009/6/7 日曜日

水しぶき

Filed under: Arma一般 — gachopin @ 15:10:41

水しぶきのスクリプト作成中。
でかいのは大変だ・・・
ship_wave.JPG
ship_wave2.JPG
cargo_wave.JPG

2009/6/6 土曜日

サーチライト

Filed under: Arma一般 — gachopin @ 23:18:36

サーチライトの定義はほぼできました。
しかし、AIがライトつけてくれない・・・・
ARMAのデフォのサーチライトは敵がいても点くというのに。
warship.JPG

2009/6/2 火曜日

コマンダー席

Filed under: Arma一般 — gachopin @ 23:58:37

コマンダー席として見張り台に人を定義。
V視点で双眼鏡の視点になります。
com.JPG

スクリプト解説

Filed under:   ─スクリプト編 — gachopin @ 14:36:39

スクリプトが分かれば、ゲームエンジンが許す限り何でも出来ます。エディタ画面を弄らなくても、スクリプトだけでミッションを作れます。
アドオンに新規の機能を組み込む場合、スクリプトが必須になってきます。

スクリプトの記述はARMA2でも大きく変わらない(だろう)と思うので、ちょっとだけ解説します。
理解するには、ユーザーミッションやアドオンのスクリプトの中身をみて、ちょっと改造してみるのが一番です。

★全てのスクリプトに共通すること
・名前がinitのスクリプトは、ミッションで最初に必ず実行される。(init.sqs or init.sqf)
・実行するスクリプトのファイルだけに使える変数は、_をつける
・全てのスクリプトに共通の変数を使う場合は、_をつけない
例) a.sqsの中身 ’変数にプレーヤと乗り物を指定するスクリプト’
1: _hoge = player
2: hoge = vehicle(player)

b.sqsの中身 ’ダメージを与えて破壊するスクリプト’
1: _hoge setdammage 1
2: hoge setdammage 1

ミッションの中で a.sqsとb.sqsを実行させたとき、
1行目→b.sqsは_hogeが参照できないので、エラーが出ます。
2行目→b.sqsはa.sqsで定義したhogeを参照できるので、プレーヤーの乗り物を破壊します。

・[]は配列を表す。
配列の使い方例) -ある配列から3番目の要素を取り出す-
_array1 = [A,B,C,D]
_elementC = _array select 2 ←Aは0番目、Cは2番目と数えます

まずOFP・ARMAで使えるスクリプトは2種類あります。
?sqs
OFPで最も一般的に使われているスクリプトです。

・行の最初に;をつけるとコメント行になります。
・命令文の最後に;をつけ、続けて命令文を書くことができます。
・エラーが出たとき、1行でエラーの内容が表示されます。
・if文の書き方が2種類ある
例1) ?(条件) : 命令文1;命令文2
例2) if(条件) then {命令文1;命令文2};

呼び出し方: 
引数 exec “スクリプト” (特に引数が無い場合は[] exec “script.sqs”)
[引数1,引数2] exec “スクリプト”

?sqf
ARMAで推奨されているスクリプトです。
記述を厳格に書かないとエラーが出ます。

・行の最初に//をつけるとコメント行になります。
・複数行のコメントは/*と*/で囲めばOK。
・命令文の最後は必ず;をつけなければいけません。エラーが出ます。
・エラーが出たとき、複数行でエラーの内容が表示されます。
・sqsで使えたif文の省略形 ?(条件):命令文 は使えません。
・for文、foreach文、if文、ifelse文、switch文、while文が使えます。

呼び出し方: 
execVM “スクリプト” ←引数の指定無し
[引数] execVM “スクリプト” ←引数の指定有り

call compile preprocessFile “script.sqf”;の後、引数 call “実行文”
call compile preprocessFile “script.sqf”;の後、[引数1,引数2] call “実行文”

sqfには2種類あります。
A.実行するもの
・sqsと同じ。ただし中身は厳格に書かないとエラーが出る。

B.関数を定義するもの
関数を定義し、call文で実行させることができる。
別ファイルから実行する場合、
実行する前に、関数を書いたファイルを読むおまじない「call compile preprocessFile “スクリプト名”」を書く必要がある

以下の例では2つのファイルに分けていますが、A.B.は1つのファイルに書くこともできます。
その場合、call compile preprocessFile? は必要ありません。

関数の例)
———func.sqfの中身———
func1 =
{
_unit = _this select 0;
_unit setdammage 1;
};
——————————-

関数を呼び出した例)
———call.sqfの中身———
call compile preprocessFile “func.sqf”;
[player] call func1;
——————————-

execVM “call.sqf” を実行すると、プレーヤが死亡します。


大雑把ですが、説明は以上です。sqf文は私が慣れていないせいもあって、不完全です。

HTML convert time: 0.128 sec. Powered by WordPress ME