Français Solved Problème de configuration du remoteExecCall

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

protogun

User
24/4/20
4
2
100
Bonjour,

Pour mon serveur, j'utilise un système de airdrop lié avec des captures de zone. Lorsqu'un gang capture une zone, un drapeau (marker) est attribué au gang pour avoir le même marqueur sur les 3 zones.

Voici comment je procède :
core\captureAreaOne.sqf :

[CODE lang="clike" title="core\actions\fn_captureAreaOne.sqf"]// Gestion des markers
_pos = getPos gang_flag_5;
_oldMarker = "ILL_airdrop_2";

if (!(getMarkerPos _oldMarker isEqualTo [0,0,0])) then {
deleteMarker _oldMarker;
} else {
deleteMarker "imtheone";
};

if (team_flag isEqualTo "") then {
_flag = ["flag_CTRG","flag_EAF","flag_EnochLooters","flag_Spetsnaz","flag_Syndicat","flag_Viper"] call BIS_fnc_selectRandom;
[_flag] remoteExecCall ["life_fnc_assignFlag", (units (group player)), false];
waitUntil {!(team_flag isEqualTo "")};
deleteMarker "imtheone";
_groupName = format ["Capturé par %1",(group player) getVariable "gang_name"];
_mark = createMarker [ "imtheone", _pos ];
_mark setMarkerType team_flag;
_mark setMarkerText _groupName;
} else {
deleteMarker "imtheone";
_groupName = format ["Capturé par %1",(group player),(group player) getVariable "gang_name"];
_mark = createMarker [ "imtheone", _pos ];
_mark setMarkerType team_flag;
_mark setMarkerText _groupName;
};[/CODE]

On peut voir ici :

[CODE title="core\actions\fn_captureAreaOne.sqf"] _flag = ["flag_CTRG","flag_EAF","flag_EnochLooters","flag_Spetsnaz","flag_Syndicat","flag_Viper"] call BIS_fnc_selectRandom;
[_flag] remoteExecCall ["life_fnc_assignFlag", (units (group player)), false];
waitUntil {!(team_flag isEqualTo "")};[/CODE]

Je définis un drapeau random que je renvoie vers un script qui permet de l'ajouter à une variable globale (définie dans configuration.sqf comme ceci : team_flag = ""; ), puis j'attends que cette variable soit remplie.

Voici le fichier exécuté via remoteExecCall :

[CODE lang="clike" title="core\actions\fn_assignFlag.sqf"]params ["_flag"]

team_flag = _flag;[/CODE]

Le problème étant que cette variable ne se remplie jamais, à savoir que mon remoteExecCall est bien déclaré dans mon CfgRemoteExec.hpp :

[CODE title="CfgRemoteExec.hpp"]F(life_fnc_assignFlag,CLIENT)[/CODE]

Sauriez-vous m'indiquer d'où vient mon erreur ? Mes autres remoteExecCall fonctionnent très bien mais pour celui-ci, je pense peut-être faire une erreur lorsque j'envoie puis récupère mon paramètre mais malgré de nombreux essais, rien de concluant.

Merci d'avance pour le temps que vous saurez m'accorder.
 
Solution
Salut !

Est-ce que tu as une erreur dans tes logs client ? Est-ce que la fonction assignFlag est bien définie dans ton Functions.hpp ?

D'ailleurs à la ligne 22 tu as ça en trop :
Code:
(group player)
Merci déjà pour mon erreur, effectivement ça m'a créé un problème ^^

En fait j'avais un gros problème de relation client/serveur à cause d'un basic.cfg mal configuré. Pour la majorité des remoteExec c'était la mort !

Tu m'as néanmoins permis de faire d'une pierre deux coups ;)

Résolu !