返信先: Arma3 スクリプト公開スレ

ホーム フォーラム TRI Gaming フォーラム Arma3 スクリプト公開スレ 返信先: Arma3 スクリプト公開スレ

#214252
Stealer
メンバー

TKゲリラの服装バリエーションを増やして湧かせるmixed_gurillagroupスクリプト

防衛シチュエーションなどに。CUPのTK勢力用なので要CUP MOD。
TKゲリラとTK反政府勢力のユニットをミックスして一つの部隊として湧かせる事によって服装や装備のバリエーションが増えます。
服装や装備をランダムに選ばせるよりクラス選んだほうが楽だと思っただけ
広く使われいてる既存の湧きスクリプトに変更を加えたものです。

Mixed_GuerillaGroup_Spawn_Test.VR

つかいかた:
① エディタ上に湧きポイントのマーカを置きます。マーカの名前はenspwn_n (n=整数)になります。
② 湧いた部隊の移動目標のマーカーを作ります。名前はなんでもいいです。
③ mixed_gurillagroup.sqf を開き、_spawnmkr =の数値を先程置いたenspwn_nの数と同じにします。
④ 湧かせるトリガなどに実行用の構文を書きます。

nul = [グループの人数サイズ,陣営,部隊の移動目標マーカ] execvm "scripts\rnd_gurillagroup.sqf";
ie: nul = [7,RESISTANCE,"atkmkr"] execvm "scripts\mixed_gurillagroup.sqf";

※サンプルに同梱の死体処理スクリプトbury.sqfも一緒にscriptsフォルダに入れておいてください。

なかみ:

if (!isserver) exitWith {};
private ["_spawnmkr","_grpsize","_side","_ary","_inf_list","_createpos","_squadgroup","_wp"];

//エディタ上のスポーンさせたい所にマーカ enspwn_n (n=整数)を置き、下の_spawnmkr = に置いた数を書く
_spawnmkr = 12;

_grpsize = _this select 0;
_side = _this select 1;
_dest_mkr = _this select 2;
_ary = [];

_inf_list = [
"CUP_O_TK_INS_Soldier_MG",
"CUP_O_TK_INS_Soldier_AT",
"CUP_O_TK_INS_Soldier",
"CUP_O_TK_INS_Soldier_AR",
"CUP_O_TK_INS_Sniper",
"CUP_O_TK_INS_Soldier_FNFAL",
"CUP_I_TK_GUE_Soldier_TL",
"CUP_I_TK_GUE_Soldier_MG",
"CUP_I_TK_GUE_Sniper",
"CUP_I_TK_GUE_Soldier_AT",
"CUP_I_TK_GUE_Soldier_AK_47S",
"CUP_I_TK_GUE_Commander",
"CUP_I_TK_GUE_Soldier_AAT",
"CUP_I_TK_GUE_Soldier",
"CUP_O_TK_INS_Soldier",
"CUP_O_TK_INS_Guerilla_Medic",
"CUP_I_TK_GUE_Guerilla_Medic"];

for [{_i = 0}, {_i < _grpsize}, {_i = _i + 1}] do{
_ary set [_i,(_inf_list select (floor(random(count _inf_list))))];
sleep .25;
};

_createpos = getmarkerpos (""+ "enspwn_" + (str ([1, _spawnmkr] call BIS_fnc_randomInt)) + "");

_squadgroup = creategroup (_side);
sleep .2;
_squadgroup = [_createpos, _side, _ary] call BIS_fnc_spawnGroup;
sleep .2;

_wp = _squadgroup addwaypoint [getMarkerPos _dest_mkr,20];

_squadgroup setCombatMode "RED";
_squadgroup setspeedmode "FULL";
_squadgroup AllowFleeing 0;

_wp setWaypointType "SAD";

_wp setWaypointCombatMode "red";
_wp setWaypointBehaviour "AWARE";
_wp setWaypointSpeed "FULL";
_wp setWaypointFormation "LINE";

{_x addEventHandler ["killed", {handle = [_this select 0] execVM "scripts\bury.sqf"}]} forEach (units _squadgroup);

{
_x setskill ["aimingAccuracy",0.15];
_x setskill ["spotDistance",0.25];
_x setskill ["spotTime",0.65];
_x setskill ["courage",1];
_x setskill ["commanding",1];
_x setskill ["aimingShake",0.65];
_x setskill ["aimingSpeed",0.85];
}foreach (units _squadgroup);

_squadgroup = GrpNull;

自分のミッション用に作ったので公開するほどのものではないのだけれど、
一応”違う陣営のランダムなクラスのユニットをミックスし、一つの部隊にして突進させる”ものなので、_aryの中身を変えれば他の用途にも使えるかと思いました。