Français Une licence - Plusieurs traitements

  • Auteur de la discussion Auteur de la discussion Zaros
  • Date de début Date de début

Zaros

User
29/12/19
24
2
3
300
1587367611255.png

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:
Développer Réduire Copier
if (_vendor in [mari_processor,coke_processor,heroin_processor]) then {
    _hasLicense = true;
} else {
    _hasLicense = LICENSE_VALUE(_type,"civ");
};

Remplacer par ça :
Code:
Développer Réduire Copier
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


Pour le LICENSE_VALUE("Licence","side"); vous devrez rentrer la variable de votre licence configuré dans le config_licenses.hpp !
Screenshot_4.png


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:
Développer Réduire Copier
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

 
Activité
Pour l'instant, il n'y a personne ici