Français Solved Comment récupérer la licence du civil dans un script ?

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

LouLou

User
4/8/20
39
3
1
450
Bonjour à tous,

Je fais appel à votre aide car je n'arrive pas à comprendre le fonctionnement.

Récemment j'ai mit en place un système afin que suivant les licences qu'on a, on traite plus ou moins vite. J'ai réussi à faire ça assez facilement en faisant ainsi :
Code:
if (license_civ_xxx) then {
            uiSleep 0.xx;
        } else {if (license_civ_xxx) then {
            uiSleep 0.xx;
        } else {if (license_civ_xxx) then {
            uiSleep 0.xx;
        } else {
            uiSleep 0.xx;
        };
        };
        };

Jusque là, tout va bien, ça fonctionne il prend bien en compte la licence du civil. Cependant, j'ai voulu faire la même chose pour le script fn_deviceMine.sqf
J'ai voulu simplement faire en sorte que suivant la licence du civil, la variable _random soit plus ou moins grosse.
Code:
_random = 15 + round((random(15)));

J'ai donc voulu faire pareil pour mettre un _random différent en fonction de la licence, sauf qu'il est incapable de "lire" la licence du civil.
Je suppose que c'est parce qu'on fait appel à un véhicule et non un civil et donc le véhicule n'a pas de licence ? En fait j'en sais trop rien, j'ai essayé plusieurs façon de faire, aucune n'a fonctionné, j'ai toujours une erreur.
Quelqu'un serait-il comment récupérer la licence du civil ?
 
Solution
Je pense que ceci devrait fonctionner :
Code:
_random = 0;

switch (true) do { 
    case license_civ_aaa : {_random = 10 + round((random(10)));}; 
    case license_civ_bbb : {_random = 15 + round((random(15)));}; 
    default {}; 
};
Je vais essayer de faire avec un switch par la suite, merci Maxence Maxence.

En fait ce que j'ai fait c'est exactement pareil que pour le traitement

Tout ceci ce passe dans le fichier "fn_deviceMine.sqf" dans la missions => core => vehicle

Code:
if (license_civ_xxx) then {
            _random = 10 + round((random(10)));
        } else {if (license_civ_xxx) then {
            _random = 15 + round((random(15)));
        } else {if (license_civ_xxx) then {
            _random = 20 + round((random(20)));
        } else {
            _random = 10 + round((random(5)));
        };
        };
        };

Après j'ai essayé

Code:
if ("license_civ_xxx" == 1) then {
            _random = 10 + round((random(10)));
        } else {if ("license_civ_xxx" == 1) then {
            _random = 15 + round((random(15)));
        } else {if ("license_civ_xxx" == 1) then {
            _random = 20 + round((random(20)));
        } else {
            _random = 10 + round((random(5)));
        };
        };
        };

Puis

Code:
if ("xxx" == 1) then {
            _random = 10 + round((random(10)));
        } else {if ("xxx" == 1) then {
            _random = 15 + round((random(15)));
        } else {if ("xxx" == 1) then {
            _random = 20 + round((random(20)));
        } else {
            _random = 10 + round((random(5)));
        };
        };
        };

Etc etc. Et forcément, jamais il me trouve la licence. En fait, comment pourrai-je récupérer la licence d'un civil lorsqu'on ne peut pas utiliser simplement "license_civ_xxx" qui nous retourne normalement True ou False ?

Je vais me pencher sur le switch et regarder comment ça marche :D
 
Voilà c'est ce que je pensais, et il n'y a aucun moyen du coup d'agir sur le joueur ?

En attendant ce que j'ai fait c'est que j'ai créé en triple le deviceMine, et lorsque le joueur a telle ou telle licence, ça call le bon deviceMine.
 
Moi je ferai autrement (je pense que c'est le plus opti)

je créerai un fichier qui serai call au bouton, dans celui-ci je ferai mes checks de licence et ma config pour le random, ensuite je ferai un spawn avec le random

Code:
[_randomParam] spawn life_fnc_deviceMine;

et dans le deviceMine

Code:
_random = _randomParam;
 
Dernière édition:
Merci Maxence pour le switch, depuis que tu m'as appris ça je l'utilise autant que je peux. Cependant, je n'ai toujours pas trouvé le moyen de l'utiliser dans le cas ci-dessus..
Comment tu peux utiliser un switch si la license_civ_xxx change à chaque fois ? Tu mets quoi dans le switch ?

Merci Yuri également, ça fonctionne très bien avec le paramètre ;)