Français Solved Réduire la vitesse des traitements avec la licence

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

cadwella

User
17/2/24
119
5
2
800
Bonjour ! Je cherche à réduire la durée des traitements quand on possède la licence et à la rallonger pour ceux qui ne l'ont pas.
Je n'ai pas trouvé de paramètres pour faire cela dans le config_process.hpp.
Savez-vous comment faire ?
Merci d'avance 🙂

Posté par @.mikelima via discord.
 
Solution
C'est probablement que tu fais un traitement "sans licence" dans les deux cas.

Pour que le script considère que tu aies la licence, il faut que la classname du traitement dans ton Config_Process.hpp :
1718097811241.png

Soit la même que la classname de la licence dans ton Config_Licenses.hpp :
1718097841000.png

Et évidemment, que tu aies cette licence :)
--- Ce message a été généré automatiquement par ChatGPT, le contenu peut être incorrect. Veuillez lire le message avec précaution ! ---

Bonjour @.mikelima,

Pour ralentir les traitements en fonction de la possession de la licence, vous pouvez utiliser une structure de contrôle conditionnelle dans votre script. Voici un exemple de code à intégrer à votre script :

Code:
if (licenseOwner) then {
    // Code pour réduire la vitesse du traitement pour le propriétaire de la licence
} else {
    // Code pour augmenter la vitesse du traitement pour les non-propriétaires de la licence
}

Assurez-vous d'adapter le code en fonction de vos besoins spécifiques. N'hésitez pas à consulter la documentation SQF pour plus d'informations.

En espérant que cela vous aide !

--- Pour continuer la discussion avec ChatGPT, cliquez sur "Répondre" en bas à droite de ce message. Sinon, attendez que quelqu'un vous réponde. ---
 
Dans ton configProcess, tu dois rajouter cette condition :
Code:
class oil {
        MaterialsReq[] = {{"oil_unprocessed",1}};
        MaterialsGive[] = {{"oil_processed",1}};
        Text = "STR_Process_Oil";
        NoLicenseCost = 12000;
       ProcessDuration = 28;        <==== ICI
    };

Et n oublis pas dans ton fn_processAction.sqf, remplace uiSleep 0.28; et uiSleep 0.9; par c ette ligne :
Code:
uiSleep ((getNumber (missionConfigFile >> "ProcessAction" >> _type >> "ProcessDuration")) / 100);
 
Dernière édition par un modérateur:
Oui en effet je ne comprends pas pourquoi cela ne marche pas de mon côté.
Je viens de faire le test avec un chrono et je mets le même temps au niveau de la taille de diamand avec et sans licence par ex.
D'ailleurs, dans quel fichier on peux définir que telle licence sert pour tel traitement ?

Posté par @.mikelima via discord.
 
C'est probablement que tu fais un traitement "sans licence" dans les deux cas.

Pour que le script considère que tu aies la licence, il faut que la classname du traitement dans ton Config_Process.hpp :
1718097811241.png

Soit la même que la classname de la licence dans ton Config_Licenses.hpp :
1718097841000.png

Et évidemment, que tu aies cette licence :)
 
Solution
Ok je vois je comprends mieux pourquoi mon truc ne marchait pas ...
Et ça fonctionne pareil avec le Farming System pour le config_farming_process ? Si je mets la license dans "required_licenses" la vitesse est réduite pour ceux qui possède la licence c'est bien çà ?

Posté par @.mikelima via discord.
 
Désolé pour le délai de réponse.

Il n'y a pas de système de licence dans Farming System, tous les gens auront le même temps de traitement.
Cependant il est possible de modifier la variable "_time" en fonction dans le script.

Il faut faire les modifications dans ton @The_Programmer/addons/farming_system/client/tp_processingSystem.sqf ou tp_processingPhysical.sqf selon le type de traitement