Français Solved Problème de syntaxe lors de l'exécution d'un script serveur

  • Auteur de la discussion Auteur de la discussion antonio3842
  • Date de début Date de début
29/4/23
29
3
3
300
Bonjour,
Je suis en train de faire un script pour que certain pompiers / gendarme puisse changer le cop/medic level des effectifs et ajouter des licences,

Pour la partie ajout des licences, tout marche correctement, mais pour les Level, j'ai adapter un script tiré de ce tuto : Français - Assurance de véhicules afin de créer une fonction serveur qui MAJ la BDD avec le nouveau level,

Or dans ma mission quand je lance la commande pour exécuter le script serveur, rien ne ce passe et j'ai ce message dans les logs :

13:15:38 Error in expression <tPlayerUID player,_rankup,"mediclevel"] remoteExec ["TON_fnc_levelMaj",RSERV]; c>
13:15:38 Error position: <remoteExec ["TON_fnc_levelMaj",RSERV]; c>
13:15:38 Error Type Quelconque, Nombre, Camp, Objet, Groupement, Chaîne attendu

Voici la commande qui appel la fonction serveur :

_rank = player call life_mediclevel;
_rankdo = _rank-1;

_Btn2 buttonSetAction "[getPlayerUID player,_rankdo,""mediclevel""] remoteExec [""TON_fnc_levelMaj"",RSERV]; closeDialog 0;";

J'avoue que je ne vois pas d'où vient ce problème de syntaxe, alros que la commande est identique à celle d'autres script 🙂

Si quelqu'un à une idée, je suis prenneur ^^
Merci d'avance

Posté par antonio3842 via discord.
 
Solution
Hello ! Essaye de remplacer RSERV par un 2 dans ton code.

Comme ceci :
Code:
_Btn2 buttonSetAction "[getPlayerUID player,_rankdo,""mediclevel""] remoteExec [""TON_fnc_levelMaj"",2]; closeDialog 0;";

PS : Tu peux faire ce que tu souhaites avec le script Whitelist Menu
Hi,
Je vais test,

Alors, j'ai le script WhiteList, mais on peut faire en sorte qu'une personne peut changer uniquement les medic level ?

J'ai l'impression que c'est uniqement pour les admins 🙂

Posté par antonio3842 antonio3842 via discord.
 
Oui tu peux :)

Dans le config_master.cpp il faut modifier ces réglages :
Code:
condition_addLicense = "(call life_adminlevel) >= 1";
condition_removeLicense = "(call life_adminlevel) >= 1";

Par exemple :
Code:
condition_addLicense = "((call life_adminlevel) >= 1) OR ((call life_coplevel) >= 6)";
condition_removeLicense = "((call life_adminlevel) >= 1) OR ((call life_coplevel) >= 6)";

Si le bouton de Whitelist Menu ne s'affiche pas dans ton menu Y, il faut aussi modifier la condition d'affichage du bouton