Tengo una mision acabada pero no la puedo dar por terminada por lo siguiente.
En el INIT de un objeto bandera le tenia puesto el siguiente codigo
Código: Seleccionar todo
call{_flag = this;
_afterCommand = {};
_fncOwnFlag = {
params ["_winSide"];
_flagPath = "\a3\data_f\flags\%1.paa";
_fileFlag = switch _winSide do {
case west: {"flag_nato_co"};
case east: {"flag_csat_co"};
case independent: {"flag_aaf_co"};
default {"flag_FIA_CO"}
};
format [_flagPath,_fileFlag];
};
_actionParams = ["_flag", "_caller", "_actionId", "_arguments"];
_flag setflagAnimationPhase 1;
_flag setFlagTexture (civilian call _fncOwnFlag);
_flag setVariable ["TER_flagSide",civilian];
_icon = "\a3\ui_f\data\igui\cfg\holdactions\holdaction_takeoff2_ca.paa";
_duration = 10;
_addID = [_flag, "Cambiar Bandera", _icon, _icon,
"_target getVariable [""TER_flagSide"",civilian] != side _this",
"true",
{
},
{
params ["_flag", "_caller", "_actionId", "_arguments","_progress","_maxProgress"];
_arguments params ["_actionParams","_fncOwnFlag","_afterCommand"];
_relProgress = _progress/_maxProgress;
if (_relProgress < 0.5) then {
_flag setFlagAnimationPhase (1-(2*_relProgress));
} else {
if (_relProgress == 0.5) then {_flag setFlagTexture (side _caller call _fncOwnFlag)};
_flag setFlagAnimationPhase ((2*_relProgress)-1);
};
},
{
params ["_flag", "_caller", "_actionId", "_arguments"];
_arguments params ["_actionParams","_fncOwnFlag","_afterCommand"];
_flag setVariable ["TER_flagSide",side _caller];
[] call _afterCommand; BH_OBJx = true ; publicVariable "BH_OBJx";
},
{
params ["_flag", "_caller", "_actionId", "_arguments"];
_arguments params ["_actionParams","_fncOwnFlag","_afterCommand"];
_flag setFlagAnimationPhase 1;
_side = _flag getVariable ["TER_flagSide",civilian];
_flag setFlagTexture (_side call _fncOwnFlag);
},
[_actionParams,_fncOwnFlag,_afterCommand], _duration, 1.5, false] call BIS_fnc_holdActionAdd;
_addID}
Pues bien, en servidor dedicado solo ve el que ejecuta la accion el jugador que la hace, pero el resto no ve la accion ni el cambio de bandera.
En una segunda version, probe este codigo
Código: Seleccionar todo
If (isServer) then {
call{_flag = this;
_afterCommand = {};
_fncOwnFlag = {
params ["_winSide"];
_flagPath = "\a3\data_f\flags\%1.paa";
_fileFlag = switch _winSide do {
case west: {"flag_nato_co"};
case east: {"flag_csat_co"};
case independent: {"flag_aaf_co"};
default {"flag_FIA_CO"}
};
format [_flagPath,_fileFlag];
};
_actionParams = ["_flag", "_caller", "_actionId", "_arguments"];
_flag setflagAnimationPhase 1;
_flag setFlagTexture (civilian call _fncOwnFlag);
_flag setVariable ["TER_flagSide",civilian];
_icon = "\a3\ui_f\data\igui\cfg\holdactions\holdaction_takeoff2_ca.paa";
_duration = 10;
_addID = [_flag, "Cambiar Bandera", _icon, _icon,
"_target getVariable [""TER_flagSide"",civilian] != side _this",
"true",
{
},
{
params ["_flag", "_caller", "_actionId", "_arguments","_progress","_maxProgress"];
_arguments params ["_actionParams","_fncOwnFlag","_afterCommand"];
_relProgress = _progress/_maxProgress;
if (_relProgress < 0.5) then {
_flag setFlagAnimationPhase (1-(2*_relProgress));
} else {
if (_relProgress == 0.5) then {_flag setFlagTexture (side _caller call _fncOwnFlag)};
_flag setFlagAnimationPhase ((2*_relProgress)-1);
};
},
{
params ["_flag", "_caller", "_actionId", "_arguments"];
_arguments params ["_actionParams","_fncOwnFlag","_afterCommand"];
_flag setVariable ["TER_flagSide",side _caller];
[] call _afterCommand; BH_OBJx = true ; publicVariable "BH_OBJx";
},
{
params ["_flag", "_caller", "_actionId", "_arguments"];
_arguments params ["_actionParams","_fncOwnFlag","_afterCommand"];
_flag setFlagAnimationPhase 1;
_side = _flag getVariable ["TER_flagSide",civilian];
_flag setFlagTexture (_side call _fncOwnFlag);
},
[_actionParams,_fncOwnFlag,_afterCommand], _duration, 1.5, false] call BIS_fnc_holdActionAdd;
_addID}}
Y es aqui donde solicito la ayuda de los masters.
Lo que necesito es que esa accion de cambio de bandera, todo el proceso de ese codigo, lo vean todos los jugadores, aparte de lanzar una variable para dar por cumplido el objetivo.
Gracias por la ayuda.