Script per armar civils

Moska

Miquelet
3 Juny 2011
769
0
16
31
Ciutat de Mallorca
#1
En trobar en falta un script per armar civils vaig començar aquest que és molt senzill, l'he pujat aqui per que qui vulgui el pugui anar millorant :çsi:

Codi:
//by TBlack "armarCivils.sqf"
//Armar als civils

private["_arrayVest","_arrayBack","_arrayWeapon","_unit","_weapon"];

_unit = _this select 0;

_arrayVest = ["V_Rangemaster_belt","V_BandollierB_blk","V_BandollierB_cbr","V_BandollierB_khk","V_BandollierB_oli","V_BandollierB_rgr"];
_arrayBack = ["B_OutdoorPack_blk","B_OutdoorPack_tan","B_OutdoorPack_blu","B_HuntingBackpack","B_AssaultPack_rgr_Medic","B_Kitbag_rgr_Exp"];
_arrayWeapon = ["SMG_01_F","SMG_02_F","hgun_PDW2000_F","arifle_TRG20_F","arifle_TRG21_GL_F","SMG_01_F","SMG_02_F","hgun_PDW2000_F","launch_RPG32_F","LMG_Mk200_F"];

_unit addVest (_arrayVest call BIS_fnc_selectRandom);
Sleep 0.1;
_unit addBackpack (_arrayBack call BIS_fnc_selectRandom);
Sleep 0.1;
_weapon = _arrayWeapon call BIS_fnc_selectRandom;
_unit addWeapon (_weapon);
if(_weapon == "SMG_01_F")then{_unit addMagazine "30Rnd_45ACP_Mag_SMG_01";_unit addMagazine "30Rnd_45ACP_Mag_SMG_01";_unit addMagazine "30Rnd_45ACP_Mag_SMG_01";_unit addMagazine "30Rnd_45ACP_Mag_SMG_01";_unit addMagazine "30Rnd_45ACP_Mag_SMG_01";_unit addMagazine "30Rnd_45ACP_Mag_SMG_01";_unit addMagazine "30Rnd_45ACP_Mag_SMG_01";_unit addMagazine "30Rnd_45ACP_Mag_SMG_01";};
if(_weapon == "SMG_02_F")then{_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";};
if(_weapon == "hgun_PDW2000_F")then{_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";_unit addMagazine "30Rnd_9x21_Mag";};
if(_weapon == "arifle_TRG20_F")then{_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";};
if(_weapon == "arifle_TRG21_GL_F")then{_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "30Rnd_556x45_Stanag";_unit addMagazine "3Rnd_Smoke_Grenade_shell";_unit addMagazine "3Rnd_Smoke_Grenade_shell";_unit addMagazine "3Rnd_Smoke_Grenade_shell";_unit addMagazine "3Rnd_Smoke_Grenade_shell";_unit addMagazine "3Rnd_HE_Grenade_shell";_unit addMagazine "3Rnd_HE_Grenade_shell";_unit addMagazine "3Rnd_HE_Grenade_shell";_unit addMagazine "3Rnd_HE_Grenade_shell";};
if(_weapon == "launch_RPG32_F")then{removeBackpack _unit;_unit addBackpack "B_Carryall_oli";_unit addMagazine "RPG32_F";_unit addMagazine "RPG32_F";_unit addMagazine "RPG32_F";_unit addMagazine "RPG32_F";_unit addMagazine "RPG32_F";};
if(_weapon == "LMG_Mk200_F")then{removeBackpack _unit;_unit addBackpack "B_Carryall_oli";_unit addMagazine "200Rnd_65x39_cased_Box";_unit addMagazine "200Rnd_65x39_cased_Box";_unit addMagazine "200Rnd_65x39_cased_Box";_unit addMagazine "200Rnd_65x39_cased_Box";_unit addMagazine "200Rnd_65x39_cased_Box";_unit addMagazine "200Rnd_65x39_cased_Box";};
Sleep 0.1;
_unit addMagazine "HandGrenade";
_unit addMagazine "HandGrenade";
_unit addMagazine "HandGrenade";
_unit addMagazine "HandGrenade";
_unit addMagazine "SmokeShell";
_unit addMagazine "SmokeShell";
_unit addMagazine "SmokeShell";
_unit addMagazine "SmokeShell";
També es pot complementar amb aquest que genera els grups sencers i els disposa en patrulla a una zona amb el UPS.sqf
Codi:
//by TBlack "tropesCivils.sqf"

//hint "SCRIPT ACTIVAT";
//private["_arrayUnits","_groupNumber","_groupNumberUnits","_groupSide","boolBomber","_markerName","_group","_group1","_waypoint0","_waypoint1"];
private["_a","_b"];

_arrayUnits = ["C_man_1","C_man_1_1_F","C_man_1_2_F","C_man_1_3_F","C_man_polo_1_F","C_man_polo_2_F","C_man_polo_3_F","C_man_polo_4_F","C_man_polo_5_F","C_man_polo_6_F","C_Orestes","C_Nikos","C_man_p_fugitive_F","C_man_p_fugitive_F_afro","C_man_p_fugitive_F_euro","C_man_p_fugitive_F_asia","C_man_p_beggar_F","C_man_p_beggar_F_afro","C_man_p_beggar_F_euro","C_man_p_beggar_F_asia","C_man_w_worker_F","C_man_hunter_1_F","C_man_p_shorts_1_F","C_man_p_shorts_1_F_afro","C_man_p_shorts_1_F_euro","C_man_p_shorts_1_F_asia","C_man_shorts_1_F","C_man_shorts_1_F_afro","C_man_shorts_1_F_euro","C_man_shorts_1_F_asia","C_man_shorts_2_F","C_man_shorts_2_F_afro","C_man_shorts_2_F_euro","C_man_shorts_2_F_asia","C_man_shorts_3_F","C_man_shorts_3_F_afro","C_man_shorts_3_F_euro","C_man_shorts_3_F_asia","C_man_shorts_4_F","C_man_shorts_4_F_afro","C_man_shorts_4_F_euro","C_man_shorts_4_F_asia","C_man_pilot_F","C_man_polo_1_F_afro","C_man_polo_1_F_euro","C_man_polo_1_F_asia","C_man_polo_2_F_afro","C_man_polo_2_F_euro","C_man_polo_2_F_asia","C_man_polo_3_F_afro","C_man_polo_3_F_euro","C_man_polo_3_F_asia","C_man_polo_4_F_afro","C_man_polo_4_F_euro","C_man_polo_4_F_asia","C_man_polo_5_F_afro","C_man_polo_5_F_euro","C_man_polo_5_F_asia","C_man_polo_6_F_afro","C_man_polo_6_F_euro","C_man_polo_6_F_asia","C_Nikos_aged","C_journalist_F","C_scientist_F"];

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//VARIABLES DE ENTRADA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

_groupNumber = _this select 0;
_groupNumberUnits = _this select 1;
_groupSide = _this select 2;
_boolBomber = _this select 3;
_markerName = _this select 4;
_spawnPos = _this select 5;

for[{_a=0},{_a<_groupNumber},{_a=_a+1}]do
{
	_group = createGroup east;
	_group1 = createGroup civilian;
	for[{_b=0},{_b<_groupNumberUnits},{_b=_b+1}]do
	{
		(_arrayUnits call BIS_fnc_selectRandom)createunit [getPos _spawnPos,_group,"[this]execVM'armarCivils.sqf'",random 1,"PRIVATE"];
		Sleep 0.5;
	};
	(_arrayUnits call BIS_fnc_selectRandom)createunit [getPos _spawnPos,_group1,"[this,[WEST,RESISTANCE],'Sh_120mm_HE'] execVM 'suicideBomber.sqf'",random 1,"PRIVATE"];
	//(_arrayUnits call BIS_fnc_selectRandom)createunit [getPos _spawnPos,_group1,"[this,[WEST,RESISTANCE],'Sh_122_HE'] execVM 'suicideBomber.sqf'",random 1,"PRIVATE"];
	
	[leader _group,_markerName,"noai"]execVM"UPS.sqf";
	[leader _group1,_markerName,"noai"]execVM"UPS.sqf";
	
};
Ara mateix les variables de entrada estan una mica cahotiques
 

ZeroQ

Més pesat que Kuban
27 Desembre 2011
1,632
3
38
Bilbo
#2
Moltes gràcies TBlack,

si vols podem mirar de pujar-ho a github i anar fent un recopilatori de tot el material generat pels Cavallers tot i que ara mateix només ho generis tu. D'altra banda encara que no he provat mai de programar scipts per l'Arma si que et recomanaria que posessis més comentaris de que fa el codi per tal de fer-ho més mantenible. Només es una recomanació perquè si d'aquí a un temps agafes aquest script per saber com ho vas fer t'has de mirar tot de cop analitzant el codi