![1587367611255.png 1587367611255.png](https://forum.the-programmer.com/data/attachments/0/687-aac7a2fa9560c43082fc1f374e129bf1.jpg?hash=qsei-pVgxD)
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 :
fn_processAction.sqf:
if (_vendor in [mari_processor,coke_processor,heroin_processor]) then {
_hasLicense = true;
} else {
_hasLicense = LICENSE_VALUE(_type,"civ");
};
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 :
![Screenshot_3.png Screenshot_3.png](https://forum.the-programmer.com/data/attachments/0/688-310ed316b45d94ac23b2bc9e3c8a3347.jpg?hash=MQ7TFrRdlK)
Pour le LICENSE_VALUE("Licence","side"); vous devrez rentrer la variable de votre licence configuré dans le config_licenses.hpp !
![Screenshot_4.png Screenshot_4.png](https://forum.the-programmer.com/data/attachments/0/689-5ba6c8ccd3ac7d501a39d48324ddfbdb.jpg?hash=W6bIzNOsfV)
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