Hardballer a fait du beau travail pour sa ...
rentre ces ligne dans ton init.sqf
Code:
///////////////////////////////////////
// JIP Stop
//////////////////////////////////////
if !(isDedicated) then
{
waitUntil {!isNull player};
// Parfois initPlayerLocal merde donc pour éviter les erreurs -->
if (isNil "playerIsJIP") then {playerIsJIP = true};
if (isNil "playerUnit") then {playerUnit = player};
};
call compile preprocessFileLineNumbers "loadout.sqf";
if !(isDedicated) then // Uniquement côté joueur
{
// playerUnit est définie dans initPlayerLocal.sqf
if !(isNil {playerUnit getVariable "loadout"}) then // La variable loadout doit être placer dans l'éditeur [init de l'unité] => this setVariable ["loadout", "aaf_sl"];
{
if !(playerIsJIP) then
{
[playerUnit] call hard_setLoadout;
playerUnit setVariable ["loadout_done", true, true]; // loadout_done permet de vérifier si le loadout a été fait afin d'éviter les doublons en cas de déco / reco.
}
else // Equipement en cas de JIP
{
if (isNil {playerUnit getVariable "loadout_done"}) then
{
[playerUnit] call hard_setLoadout;
playerUnit setVariable ["loadout_done", true, true];
};
};
};
playerUnit setBehaviour "SAFE";
};
crée deux .sqf un loadout.sqf
et un initPlayerLocal.sqf
loadout.sqf:
Code:
hard_setLoadout =
{
_unit = _this select 0;
_loadout = _unit getVariable "loadout";
switch _loadout do
{
case "otan_cs": {[_unit] call loadoutOTAN_CS};
case "otan_mc": {[_unit] call loadoutOTAN_MC};
};
};
loadoutOTAN_CS =
{
_unit = _this select 0;
removeAllWeapons _unit;
removeAllItems _unit;
removeAllAssignedItems _unit;
removeUniform _unit;
removeVest _unit;
removeBackpack _unit;
removeHeadgear _unit;
removeGoggles _unit;
_unit forceAddUniform "U_B_CombatUniform_mcam_vest";
for "_i" from 1 to 2 do {_unit addItemToUniform "11Rnd_45ACP_Mag";};
for "_i" from 1 to 2 do {_unit addItemToUniform "SmokeShell";};
_unit addItemToUniform "Chemlight_green";
_unit addVest "V_PlateCarrierGL_rgr";
for "_i" from 1 to 1 do {_unit addItemToVest "SmokeShellRed";};
for "_i" from 1 to 1 do {_unit addItemToVest "SmokeShellGreen";};
for "_i" from 1 to 8 do {_unit addItemToVest "30Rnd_65x39_caseless_mag";};
_unit addBackpack "tf_anarc210";
_unit addHeadgear "H_Beret_Colonel";
_unit addWeapon "arifle_MX_F";
_unit addPrimaryWeaponItem "optic_Nightstalker";
_unit addWeapon "hgun_Pistol_heavy_01_F";
_unit addWeapon "Rangefinder";
_unit linkItem "ItemMap";
_unit linkItem "ItemCompass";
_unit linkItem "ItemWatch";
_unit linkItem "ItemRadio";
_unit linkItem "NVGoggles";
_unit linkItem "ItemGPS";
_unit addItemToUniform "AGM_EarBuds";
};
rajoute les loadout que tu veux
initPlayerLocal.sqf;
Code:
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------
*** Author: Hardballer
*** Description:
client init
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 1) PARAM
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
playerUnit = _this select 0; // unité du joueur (sélectionnée dans l'écran des slots)
playerIsJIP = _this select 1; // boolean (true ou false). True = le joueur se connecte en cours de partie.
enableSaving [false, false]; // supprime la sauvegarde
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 2) CALL / COMPILE
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
call compile preprocessFileLineNumbers "loadout.sqf";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 3) LOADOUT
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if !(isNil {playerUnit getVariable "loadout"}) then // La variable loadout doit être placer dans l'éditeur [init de l'unité] => this setVariable ["loadout", "aaf_sl"];
{
if (isNil {playerUnit getVariable "loadout_done"}) then // loadout_done inexistant, on lance la function loadout
{
[playerUnit] call hard_setLoadout;
playerUnit setVariable ["loadout_done", true, true]; // loadout_done permet de vérifier si le loadout a été fait afin d'éviter les doublons en cas de déco / reco.
};
};
playerUnit action ["WeaponOnBack", playerUnit]; // pour que le joueur est l'arme baissée
Il ne te reste plus que a foutre cette commande dans l'init des tes uniter pour les relier au loadout
this setVariable ["loadout"", ""otan_cmd"];