if (license_civ_depanneur) then {
player setVariable ["player_is_depanneur",true,true];
};
_Btn1 ctrlSetText localize "STR_vInAct_Repair";
_Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
_fnCountDepanneurs = {
_count = 0...
if (license_civ_depanneur) then {
player setVariable ["player_is_depanneur",true,true];
};
_Btn1 ctrlSetText localize "STR_vInAct_Repair";
_Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
_fnCountDepanneurs = {
_count = 0;
{
if (_x getVariable ["player_is_depanneur",false]) then {
_count = _count + 1;
};
} forEach playableUnits;
_count;
};
if ((([] call _fnCountDepanneurs) >= 1) && !license_civ_depanneur) then {_Btn1 ctrlEnable false;};
Par contre j'ai le Radial Menu du coup je fait comment pr le fn_vInteractionMenu.sqfAlors, c'est pas si simple puisque un joueur ne peut pas savoir si un autre joueur à une certaine licence, donc ce que tu peux faire c'est dans ton fn_requestReceived.sqf, ajoute à la fin :
Cette variable permettra à chaque joueur de savoir qui est dépanneur, et ainsi de les compter. Pense bien à modifier license_civ_depanneur si depanneur n'est pas la variable de ta licence dépanneur.Code:if (license_civ_depanneur) then { player setVariable ["player_is_depanneur",true,true]; };
Dans ton fn_vInteractionMenu.sqf, en dessous de :
ajoute :Code:_Btn1 ctrlSetText localize "STR_vInAct_Repair"; _Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
Code:_fnCountDepanneurs = { _count = 0; { if (_x getVariable ["player_is_depanneur",false]) then { _count = _count + 1; }; } forEach playableUnits; _count; }; if ((([] call _fnCountDepanneurs) >= 1) && !license_civ_depanneur) then {_Btn1 ctrlEnable false;};
Dis-moi si ça fonctionne
Oui, c'est le but.et la si y'a des dp normalement cela merchera pas pour reparer?
Ah ! Dans ton config_button.hpp (de Radial Menu), remplace :Par contre j'ai le Radial Menu du coup je fait comment pr le fn_vInteractionMenu.sqf
class button_3 {
displayName = "STR_vInAct_Repair";
buttonAction = "[cursorObject] spawn life_fnc_repairTruck; closeDialog 0;";
buttonToolTip = "";
side[] = {civ,west,guer};
disable = false;
condition = "";
};
class button_3 {
displayName = "STR_vInAct_Repair";
buttonAction = "[cursorObject] spawn life_fnc_repairTruck; closeDialog 0;";
buttonToolTip = "";
side[] = {civ,west,guer};
disable = false;
condition = "_depOnline = false; {if (_x getVariable [""player_is_depanneur"",false]) exitWith {_depOnline = true;}} forEach playableUnits; (!_depOnline || license_civ_depanneur)";
};
_depOnline = false;
{if (_x getVariable ["player_is_depanneur",false]) exitWith {_depOnline = true;}} forEach playableUnits;
hint str _depOnline;
et change leDebugMode = 0; //Enable many server/hc debugging logs. Default: 0 (1 = Enabled / 0 = Disabled)
parDebugMode = 0;
DebugMode = 1;
Du coup cela me donne False ^^Tu peux aussi tenter des trucs de ton côté, je ne suis pas là pour le faire à ta place ^^
Dans la debug console qu'est-ce que ça te donne comme résultat ceci :
Code:_depOnline = false; {if (_x getVariable ["player_is_depanneur",false]) exitWith {_depOnline = true;}} forEach playableUnits; hint str _depOnline;
Du coup cela me donne False ^^
C'est pas mon script ^^ et en gros
quand je suis pas dp et qu'il n'y en a pas je peux pas réparer, le bouton apparait pas et quand je suis dp le bouton apparait