Avoir des caisses de munitions standards avec la possibilité d'y retirer quelques armes ou munitions
Ces fonctions permettent de créer à la volée les caisses de munitions par défaut d'Arma II. Elle permettent aussi de créer ces caisses en précisant les classes d'armes que l'ont ne voudra pas intégrer.
La caisses à définir devra être posée sur la map dans l'éditeur et être nommée
Le script est un ensemble de fonctions régissant les caisses de munitions par défaut. Il faudra intégrer ces fonctions dans votre map par exemple dans un fichier que vous appèlerez “mes_fonctions_de_caisses.sqf”.
Puis compilez ses fonctions par :
call compile preprocessFileLineNumbers "mes_fonctions_de_caisses.sqf";
L'appel des fonctions se fera, par exemple, dans le fichier init.sqf de votre mission.
[MyUsBox,["MP5A5"]] call FNCT_Init_USBasicWeaponsbox;
Dans cette exemple, la caisse de munitions nommée “MyUsBox” contiendra toutes les armes et munitions par défaut pour ce type de caisse “USBasicWeaponsbox” sauf le “MP5A5”;
[MyUsBox,["M9","MP5A5"],["15Rnd_9x19_M9","30rnd_9x19_MP5"]] call FNCT_Init_USBasicWeaponsbox;
Dans cette exemple, la caisse de munitions nommée “MyUsBox” contiendra toutes les armes et munitions par défaut pour ce type de caisse “USBasicWeaponsbox” sauf le 'M9”,”MP5A5” et toutes les munitions pour le “M9” et le “MP5”
Caisses par défaut US
Caisses par défaut RUSSES
Caisses par défaut AUTRES
FNCT_DoBox = { _forbidenWeapons = []; _forbidenMuns = []; _params = _this select 0; _defaultWeapons = _this select 1; _defaultMuns = _this select 2; //------Récupération des paramètres passés à la fonction------ if ( (count _params) > 0) then { _bobox = _params select 0; // La caisse de mun if ( (count _params) > 1) then { _forbidenWeapons = _params select 1; // Les armes interdites if ( (count _params) > 2 ) then { _forbidenMuns = _params select 2; // Les munitions interdites }; }; ClearWeaponCargo _bobox; // On vide les armes de la caisse ClearMagazineCargo _bobox; //On vide les munitions de la caisse // on rempli la caisse avec les armes par défaut (tableau _defaultWeapons) { _class = _x select 0; // On extrait le nom de la classe de l'arme _nb = _x select 1; // On extrait la quantité à mettre // On regarde si la classe de l'arme n'est pas dans le tableau des armes interdites if ( ! (_class in _forbidenWeapons)) then // Si elle n'est pas interdite { _bobox AddWeaponCargo [_class, _nb]; // On ajoute l'arme dans la caisse }; } foreach _defaultWeapons; // on rempli la caisse avec les munitions par défaut (tableau _defaultMuns) { _class = _x select 0; // On extrait le nom de la classe de la munition _nb = _x select 1; // On extrait la quantité à mettre // On regarde si la classe de la munition n'est pas dans le tableau des munitions interdites if ( ! (_class in _forbidenMuns) ) then // Si elle n'est pas interdite { _bobox AddMagazineCargo [_class, _nb]; // On ajoute la munition dans la caisse }; } foreach _defaultMuns; }; true; }; FNCT_Init_USBasicWeaponsbox = { //---------Initialisation des variables--------- // Les armes par défaut _defaultWeapons = [ ["M16A2", 4], ["M16A2GL", 2], ["M16A4", 10], ["M16A4_ACG", 5], ["M16A4_GL", 5], ["M16A4_ACG_GL", 5], ["Colt1911", 4], ["M4A1", 10], ["M4A1_AIM", 4], ["M4A1_RCO_GL", 2], ["M9", 4], ["MP5A5", 4] ]; // Les munitions par défaut _defaultMuns = [ ["7Rnd_45ACP_1911", 40], ["15Rnd_9x19_M9", 40], ["30rnd_9x19_MP5", 40], ["1Rnd_Smoke_M203", 2], ["1Rnd_SmokeYellow_M203", 2], ["1Rnd_SmokeRed_M203", 2], ["1Rnd_SmokeGreen_M203", 2], ["FlareWhite_M203", 2], ["FlareYellow_M203", 2], ["FlareRed_M203", 2], ["FlareGreen_M203", 2], ["1Rnd_HE_M203", 50], ["20Rnd_556x45_Stanag", 50], ["30Rnd_556x45_Stanag", 400] ]; // Let's go man ! [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; // par principe une fonction renvoi toujours quelque chose }; FNCT_Init_USSpecialWeaponsBox = { _defaultWeapons = [ ["DMR", 3], ["M1014", 3], ["M107", 2], ["M24", 2], ["M240", 4], ["M249", 4], ["M40A3", 1], ["M4A1_AIM_CAMO", 2], ["M4A1_AIM_SD_CAMO", 2], ["M4A1_HWS_GL", 2], ["M4A1_HWS_GL_CAMO", 2], ["M4A1_HWS_GL_SD_CAMO", 2], ["MK_48", 2], ["MP5SD", 5], ["M4SPR", 5] ]; _defaultMuns = [ ["10Rnd_127x99_M107", 20], ["200Rnd_556x45_M249", 40], ["8Rnd_B_Beneli_74Slug", 50], ["20Rnd_762x51_DMR", 30], ["30rnd_9x19_MP5", 50], ["1Rnd_Smoke_M203", 2], ["1Rnd_SmokeYellow_M203", 2], ["1Rnd_SmokeRed_M203", 2], ["1Rnd_SmokeGreen_M203", 2], ["FlareWhite_M203", 2], ["FlareYellow_M203", 2], ["FlareRed_M203", 2], ["FlareGreen_M203", 2], ["1Rnd_HE_M203", 80], ["5Rnd_762x51_M24", 30], ["100Rnd_762x51_M240", 40], ["20Rnd_556x45_Stanag", 50], ["30Rnd_556x45_Stanag", 100], ["30Rnd_556x45_StanagSD", 50] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_USLaunchersBox = { _defaultWeapons = [ ["Javelin", 1], ["Stinger", 4], ["M136", 15], ["SMAW", 2] ]; _defaultMuns = [ ["Stinger", 4], ["Javelin", 2], ["M136", 45], ["SMAW_HEAA", 3], ["SMAW_HEDP", 3] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_USVehicleBox = { _defaultWeapons = [ ]; _defaultMuns = [ ["200Rnd_556x45_M249", 50], ["100Rnd_762x51_M240", 50] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_USBasicAmmunitionBox = { _defaultWeapons = [ ["M4A1", 4], ["M9", 4] ]; _defaultMuns = [ ["10Rnd_127x99_M107", 30], ["200Rnd_556x45_M249", 50], ["8Rnd_B_Beneli_74Slug", 50], ["20Rnd_762x51_DMR", 30], ["7Rnd_45ACP_1911", 30], ["15Rnd_9x19_M9", 30], ["15Rnd_9x19_M9SD", 20], ["30rnd_9x19_MP5", 90], ["30rnd_9x19_MP5SD", 30], ["HandGrenade_West", 50], ["SmokeShell", 5], ["SmokeShellYellow", 2], ["SmokeShellRed", 2], ["SmokeShellGreen", 2], ["M136", 20], ["1Rnd_Smoke_M203", 2], ["1Rnd_SmokeYellow_M203",2], ["1Rnd_SmokeRed_M203", 2], ["1Rnd_SmokeGreen_M203", 2], ["FlareWhite_M203", 2], ["FlareYellow_M203", 2], ["FlareRed_M203", 2], ["FlareGreen_M203", 2], ["1Rnd_HE_M203", 80], ["5Rnd_762x51_M24", 30], ["100Rnd_762x51_M240", 50], ["20Rnd_556x45_Stanag", 20], ["30Rnd_556x45_Stanag", 400], ["30Rnd_556x45_StanagSD", 20] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_USOrdnanceBox = { _defaultWeapons = [ ]; _defaultMuns = [ ["PipeBomb", 20], ["HandGrenade_West", 50], ["Mine", 10] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_RUBasicWeaponsBox = { _defaultWeapons = [ ["AK_107_kobra", 4], ["AK_107_GL_kobra", 2], ["AK_107_pso", 2], ["AK_74", 4], ["AK_74_GL", 2], ["AK_107_GL_pso", 2], ["AK_47_M", 4], ["AK_47_S", 4], ["AKS_74_kobra", 2], ["AKS_74_pso", 2], ["AKS_74_U", 4], ["Bizon", 4], ["Makarov", 10] ]; _defaultMuns = [ ["30Rnd_545x39_AK", 250], ["30Rnd_762x39_AK47", 80], ["64Rnd_9x19_Bizon", 40], ["8Rnd_9x18_Makarov", 100], ["1Rnd_SMOKE_GP25", 2], ["1Rnd_SMOKEYELLOW_GP25", 2], ["1Rnd_SMOKERED_GP25", 2], ["1Rnd_SMOKEGREEN_GP25", 2], ["FlareWhite_GP25", 2], ["FlareYellow_GP25", 2], ["FlareRed_GP25", 2], ["FlareGreen_GP25", 2], ["1Rnd_HE_GP25", 80], ["HandGrenade_East", 50] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_RUSpecialWeaponsBox = { _defaultWeapons = [ ["AKS_74_UN_kobra", 2], ["Bizon_silenced", 4], ["KSVK", 2], ["MakarovSD", 8], ["PK", 4], ["Pecheneg", 2], ["RPK_74", 4], ["Saiga12K", 4], ["SVD_Camo", 2], ["SVD", 4], ["VSS_Vintorez", 2] ]; _defaultMuns = [ ["5Rnd_127x108_KSVK", 20], ["30Rnd_545x39_AKSD", 60], ["8Rnd_B_Saiga12_74Slug", 40], ["64Rnd_9x19_SD_Bizon", 40], ["8Rnd_9x18_Makarov", 80], ["100Rnd_762x54_PK", 30], ["10Rnd_762x54_SVD", 40], ["75Rnd_545x39_RPK", 40], ["10Rnd_9x39_SP5_VSS", 20] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_RULaunchersBox = { _defaultWeapons = [ ["Strela", 3], ["Igla", 1], ["MetisLauncher", 1], ["RPG7V", 3], ["RPG18", 3] ]; _defaultMuns = [ ["Strela", 3], ["Igla", 1], ["AT13", 1], ["OG7", 10], ["PG7V", 15], ["PG7VL", 10], ["PG7VR", 5], ["RPG18", 15] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_RUVehicleBox = { _defaultWeapons = [ ]; _defaultMuns = [ ["100Rnd_762x54_PK", 50] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_RUBasicAmmunitionBox = { _defaultWeapons = [ ["AK_74", 4], ["AK_47_M", 4] ]; _defaultMuns = [ ["5Rnd_127x108_KSVK", 30], ["30Rnd_545x39_AK", 400], ["30Rnd_545x39_AKSD", 20], ["8Rnd_B_Saiga12_74Slug", 50], ["30Rnd_762x39_AK47", 100], ["64Rnd_9x19_Bizon", 50], ["64Rnd_9x19_SD_Bizon", 20], ["8Rnd_9x18_Makarov", 50], ["100Rnd_762x54_PK", 100], ["10Rnd_762x54_SVD", 50], ["8Rnd_9x18_MakarovSD", 20], ["1Rnd_SMOKE_GP25", 2], ["1Rnd_SMOKEYELLOW_GP25", 2], ["1Rnd_SMOKERED_GP25", 2], ["1Rnd_SMOKEGREEN_GP25", 2], ["FlareWhite_GP25", 2], ["FlareYellow_GP25", 2], ["FlareRed_GP25", 2], ["FlareGreen_GP25", 2], ["1Rnd_HE_GP25", 80], ["HandGrenade_East", 50], ["SmokeShell", 5], ["SmokeShellYellow", 2], ["SmokeShellRed", 2], ["SmokeShellGreen", 2], ["PG7V", 15], ["PG7VR", 5], ["RPG18", 10], ["20Rnd_9x39_SP5_VSS", 20], ["10Rnd_9x39_SP5_VSS", 20] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_RUOrdnanceBox = { _defaultWeapons = [ ]; _defaultMuns = [ ["PipeBomb", 20], ["HandGrenade_East", 50], ["Mine", 10] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_LocalBasicWeaponsBox = { _defaultWeapons = [ ["AK_74_GL", 5], ["AK_47_S", 4], ["AKS_74_pso", 3], ["Makarov", 5], ["PK", 2], ["RPG7V", 4], ["RPK_74", 2], ["SVD", 2] ]; _defaultMuns = [ ["30Rnd_545x39_AK", 100], ["30Rnd_762x39_AK47", 400], ["8Rnd_9x18_Makarov", 25], ["100Rnd_762x54_PK", 12], ["10Rnd_762x54_SVD", 15], ["HandGrenade_East", 20], ["PG7V", 12], ["75Rnd_545x39_RPK", 20] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_LocalBasicAmmunitionBox = { _defaultWeapons = [ ["AK_74", 4], ["AK_47_S", 4] ]; _defaultMuns = [ ["30Rnd_545x39_AK", 200], ["30Rnd_762x39_AK47", 80], ["8Rnd_9x18_Makarov", 25], ["100Rnd_762x54_PK", 30], ["10Rnd_762x54_SVD", 30], ["HandGrenade_East", 20], ["PG7V", 20], ["75Rnd_545x39_RPK", 30] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_SpecialWeaponsBox = { _defaultWeapons = [ ["M8_carbine", 5], ["M8_SAW", 2], ["G36A", 3], ["G36C", 5], ["G36K", 3], ["G36_C_SD_eotech", 3], ["MG36", 2], ["M8_carbineGL", 3], ["M8_Compact", 3], ["M8_Sharpshooter", 2] ]; _defaultMuns = [ ["30Rnd_556x45_G36", 75], ["100Rnd_556x45_BetaCMag", 40], ["30Rnd_556x45_G36SD", 20], ["1Rnd_Smoke_M203", 5], ["1Rnd_SmokeYellow_M203", 5], ["1Rnd_SmokeRed_M203", 5], ["1Rnd_SmokeGreen_M203", 5], ["FlareWhite_M203", 5], ["FlareYellow_M203", 5], ["FlareRed_M203", 5], ["FlareGreen_M203", 5], ["1Rnd_HE_M203", 40] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; }; FNCT_Init_GuerillaCacheBox = { _defaultWeapons = [ ["AK_74", 6], ["AK_74_GL", 4], ["AK_47_M", 8], ["AK_47_S", 8], ["huntingrifle", 2], ["Makarov", 5], ["PK", 2], ["RPG7V", 2], ["RPK_74", 2], ["Saiga12K", 1], ["SVD", 1] ]; _defaultMuns = [ ["30Rnd_545x39_AK", 100], ["8Rnd_B_Saiga12_74Slug", 8], ["30Rnd_762x39_AK47", 120], ["5x_22_LR_17_HMR", 20], ["8Rnd_9x18_Makarov", 50], ["100Rnd_762x54_PK", 20], ["10Rnd_762x54_SVD", 8], ["1Rnd_HE_GP25", 10], ["PG7V", 6], ["75Rnd_545x39_RPK", 20] ]; [_this, _defaultWeapons, _defaultMuns] call FNCT_DoBox; true; };