Le But

Avoir des caisses de munitions standards avec la possibilité d'y retirer quelques armes ou munitions

Principe

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.

Préalable

La caisses à définir devra être posée sur la map dans l'éditeur et être nommée

Appel du script

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”

Les Fonctions

Caisses par défaut US
  • FNCT_Init_USBasicWeaponsbox
  • FNCT_Init_USSpecialWeaponsBox
  • FNCT_Init_USLaunchersBox
  • FNCT_Init_USVehicleBox
  • FNCT_Init_USBasicAmmunitionBox
  • FNCT_Init_USOrdnanceBox
Caisses par défaut RUSSES
  • FNCT_Init_RUBasicWeaponsBox
  • FNCT_Init_RUSpecialWeaponsBox
  • FNCT_Init_RULaunchersBox
  • FNCT_Init_RUVehicleBox
  • FNCT_Init_RUBasicAmmunitionBox
  • FNCT_Init_RUOrdnanceBox
Caisses par défaut AUTRES
  • FNCT_Init_LocalBasicWeaponsBox
  • FNCT_Init_LocalBasicAmmunitionBox
  • FNCT_Init_SpecialWeaponsBox
  • FNCT_Init_GuerillaCacheBox

Le Code

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;
};

Notes

  • Remerciements particuliers à Jean et BeTep des R3F pour leur précieuse aide à la réalisation de ces fonctions.

—- Clint 02/10/2009 16:55

 
scripts/default_caisse.txt · Dernière modification: 12/04/2011 21:57 (modification externe)
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante :GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki