точнее наоборот,то что я скинул в примере,работает норм в одиночке,но в сетевой игре действие,которое должно висеть на power2 вешается и на power1
Ну потому что там появились файлы client2.sqf и server2.sqf, плюс всякий бред кое-где написан, поэтому и работает не так, как нужно. А нужно почитать теорию, изучить мой код и сделать так, как уже сделано для power1, или как я писал -- разместить на серверной части код запуска функции, которая добавляет действие на объект.
 
 
Все спасибо,разобрался,работает и в одиночке и в мультиплеере...Тестил один,но у меня все норм работает.Мб потестим сегодня в двоем,что б знать наверняка.
 
в Perec1.sqf вписал это
 
TAG_fnc_addHackAction1 = {
    params ["_object"];
 
    _actionId1 = [
        _object,
        localize "$STR_Obig1",
        "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa",
        "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa",
        "(_this distance _target) < 3",
        "(_caller distance _target) < 3",
        {
           
        },
        {}, // codeProgress
        {
            params ["_target"];
 
            [_target] remoteExecCall ["TAG_fnc_removeHackAction"];
            [_target] remoteExecCall ["TAG_fnc_removeHackActionServer", 2];
 
            "Power.sqf" remoteExec ["execVM"];
        },
        { }, // codeInterrupted
        [], // arguments
        2, // duration
        0, // priority
        true, // removeCompleted
        false // showUnconscious
    ] call BIS_fnc_holdActionAdd;
 
    _object setVariable ["hackActionId", _actionId1];
};
 
в Perecserver1.sqf это
 
TAG_fnc_removeHackActionServer = {
    params ["_object"];
 
    _jipId = _object getVariable ["addHackActionJipId", ""];
 
    if (_jipId != "") then {
        remoteExec ["", _jipId];
    };
 
    _object setVariable ["addHackActionJipId", nil];
};
 
_jipId = [power1] remoteExecCall ["TAG_fnc_addHackAction1", [0, -2] select isDedicated, power1];
 
power1 setVariable ["addHackActionJipId", _jipId];
 
в Perec2.sqf и в Perecserver2.sqf собственно это
 
Perec2.sqf
 
TAG_fnc_addHackAction2 = {
    params ["_object"];
 
    _actionId2 = [
        _object,
        localize "STR_Zapis1",
        "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa",
        "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa",
        "(_this distance _target) < 3",
        "(_caller distance _target) < 3",
        {
            
        },
        {}, // codeProgress
        {
            params ["_target"];
 
            [_target] remoteExecCall ["TAG_fnc_removeHackAction"];
            [_target] remoteExecCall ["TAG_fnc_removeHackActionServer", 2];
 
           "interkom1.sqf" remoteExec ["execVM"];
        },
        { }, // codeInterrupted
        [], // arguments
        2, // duration
        0, // priority
        true, // removeCompleted
        false // showUnconscious
    ] call BIS_fnc_holdActionAdd;
 
    _object setVariable ["hackActionId", _actionId2];
};
 
Perecserver2.sqf
 
TAG_fnc_removeHackActionServer = {
    params ["_object"];
 
    _jipId = _object getVariable ["addHackActionJipId", ""];
 
    if (_jipId != "") then {
        remoteExec ["", _jipId];
    };
 
    _object setVariable ["addHackActionJipId", nil];
};
 
_jipId = [power2] remoteExecCall ["TAG_fnc_addHackAction2", [0, -2] select isDedicated, power2];
 
power2 setVariable ["addHackActionJipId", _jipId];
 
и в init.sqf это
 
TAG_fnc_removeHackAction = {
    params ["_object"];
 
    _actionId1 = _object getVariable ["hackActionId", -1];
 
    if (_actionId1 >= 0) then {
        [_object, _actionId1] call BIS_fnc_holdActionRemove;
    };
 
    _object setVariable ["hackActionId", nil];
};
 
 
TAG_fnc_removeHackAction = {
    params ["_object"];
 
    _actionId2 = _object getVariable ["hackActionId", -1];
 
    if (_actionId2 >= 0) then {
        [_object, _actionId2] call BIS_fnc_holdActionRemove;
    };
 
    _object setVariable ["hackActionId", nil];
};
 
 
if (!isDedicated) then {
    call (compileScript ["Perec1.sqf"]);
};
if (isServer) then {
    call (compileScript ["Perecserver1.sqf"]);
};
if (!isDedicated) then {
    call (compileScript ["Perec2.sqf"]);
};
if (isServer) then {
    call (compileScript ["Perecserver2.sqf"]);
};
 
 
 
 
Собственно все заработало и в одиночке и в мультиплеере.Ну по крайне мере я тестил один и у меня все работало хорошо. Испытаю ещё с несколькими людьми но думаю все будет работать нормально.Может кому пригодиться, поэтому и выложил,что у меня получилось.
 
 
 
А тебе  Schatten огромное спасибо,без тебя бы ничего не получилось.Просто от души,что помог.Надеюсь я все правильно написал в файлах и меня не закидают тапками

))...Но вроде все работает.