That's okay I started off with mashing commands together with auto complete and hoping they'd work :D. I have rewritten the code so you can copy and paste it into the init line of an editor-placed flag: _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_white_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, "Capture Flag", _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; }, { 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   Here is a demo mission: Demo mission on Google Drive: demoMission_capFlag.vr  
    • Thanks