Comment faire pour qu'une seule licence fonctionne pour plusieurs traitements ? Réponse ici !
Rendez vous dans le root>>core>>actions>>fn_processAction.sqf
Vous y trouverez c'est lignes :
[CODE title="fn_processAction.sqf"]if (_vendor in [mari_processor,coke_processor,heroin_processor]) then {
_hasLicense = true;
} else {
_hasLicense = LICENSE_VALUE(_type,"civ");
};[/CODE]
Remplacer par ça :
Code:
switch (_type) do {
case "ura_1": { _hasLicense = LICENSE_VALUE("Uranium","civ"); };
case "ura_2": { _hasLicense = LICENSE_VALUE("Uranium","civ"); };
case "ura_3": { _hasLicense = LICENSE_VALUE("Uranium","civ"); };
case "ura_4": { _hasLicense = LICENSE_VALUE("Uranium","civ"); };
case default { _hasLicense = LICENSE_VALUE(_type,"civ");};
};
J'ai volontairement laisser l'uranium comme exemple, vous devrez rentrer la class de votre traitement que vous avez configuré dans le config_process.hpp comme cela :
Pour le LICENSE_VALUE("Licence","side"); vous devrez rentrer la variable de votre licence configuré dans le config_licenses.hpp !
Donc imaginons que je veuille rajouter le traitement du cuivre avec comme licence "license_civ_copper" et pour traitement "trait_copper" et le traitement de cuivre supérieur avec "trait_copper_supp"
Code:
switch (_type) do {
case "ura_1": { _hasLicense = LICENSE_VALUE("Uranium","civ"); };
case "ura_2": { _hasLicense = LICENSE_VALUE("Uranium","civ"); };
case "ura_3": { _hasLicense = LICENSE_VALUE("Uranium","civ"); };
case "ura_4": { _hasLicense = LICENSE_VALUE("Uranium","civ"); };
case "trait_copper": { _hasLicense = LICENSE_VALUE("copper","civ");}
case "trait_copper_supp": { _hasLicense = LICENSE_VALUE("copper","civ");}
case default { _hasLicense = LICENSE_VALUE(_type,"civ");};
};
Voila ! Vous avez donc deux traitements différents qui utilisent tout deux la licence de cuivre !
C'est répétable à l'infini et plus optimiser qu'un if par dessus un autre et ainsi de suite !
Zaros
C'est répétable à l'infini et plus optimiser qu'un if par dessus un autre et ainsi de suite !
Zaros