From 445df82a3d975fbd2b3fe159e5fa94dd4d1cdd9a Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 22:54:58 +0000 Subject: [PATCH 01/14] prep --- addons/main/config.cpp | 12 +++++++----- ...nedPlayer.sqf => fn_ResetDownedPlayerFAM.sqf} | 0 addons/main/func/fn_ResetDownedPlayerOld.sqf | 16 ++++++++++++++++ addons/main/func/fn_ResetDownedPlayerVanilla.sqf | 16 ++++++++++++++++ 4 files changed, 39 insertions(+), 5 deletions(-) rename addons/main/func/{fn_ResetDownedPlayer.sqf => fn_ResetDownedPlayerFAM.sqf} (100%) create mode 100644 addons/main/func/fn_ResetDownedPlayerOld.sqf create mode 100644 addons/main/func/fn_ResetDownedPlayerVanilla.sqf diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 5782e1b..dbcd99b 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -52,11 +52,13 @@ class CfgFunctions class teleportMapClick {}; class teleportMapLoaded {}; class messageAdmin {}; - class UnflipVehicle; - class ResetDownedPlayer; - class HealPlayer; - class RepairVehicle; - class ResurrectPlayer; + class UnflipVehicle{}; + class ResetDownedPlayerOld{}; + class ResetDownedPlayerFAM{}; + class ResetDownedPlayerVanilla{}; + class HealPlayer{}; + class RepairVehicle{}; + class ResurrectPlayer{}; }; class scripts { diff --git a/addons/main/func/fn_ResetDownedPlayer.sqf b/addons/main/func/fn_ResetDownedPlayerFAM.sqf similarity index 100% rename from addons/main/func/fn_ResetDownedPlayer.sqf rename to addons/main/func/fn_ResetDownedPlayerFAM.sqf diff --git a/addons/main/func/fn_ResetDownedPlayerOld.sqf b/addons/main/func/fn_ResetDownedPlayerOld.sqf new file mode 100644 index 0000000..87bb74d --- /dev/null +++ b/addons/main/func/fn_ResetDownedPlayerOld.sqf @@ -0,0 +1,16 @@ +#include "\1tac_admin\module_header.hpp" +downedUnits = (position _logic) nearEntities [["Man"], 1]; +{ + + // if unit is down , revive him. + if(_x getVariable ["f_wound_down",false] ) then + { + [_x,false] remoteExec ["f_fnc_SetDowned", _x, false] ; + }; + + if(_x getVariable ["f_wound_bleeding",false]) then { + [_x,false] remoteExec ["f_fnc_SetBleeding", _x, false] ; + }; +} forEach downedUnits; + +#include "\1tac_admin\module_footer.hpp" \ No newline at end of file diff --git a/addons/main/func/fn_ResetDownedPlayerVanilla.sqf b/addons/main/func/fn_ResetDownedPlayerVanilla.sqf new file mode 100644 index 0000000..87bb74d --- /dev/null +++ b/addons/main/func/fn_ResetDownedPlayerVanilla.sqf @@ -0,0 +1,16 @@ +#include "\1tac_admin\module_header.hpp" +downedUnits = (position _logic) nearEntities [["Man"], 1]; +{ + + // if unit is down , revive him. + if(_x getVariable ["f_wound_down",false] ) then + { + [_x,false] remoteExec ["f_fnc_SetDowned", _x, false] ; + }; + + if(_x getVariable ["f_wound_bleeding",false]) then { + [_x,false] remoteExec ["f_fnc_SetBleeding", _x, false] ; + }; +} forEach downedUnits; + +#include "\1tac_admin\module_footer.hpp" \ No newline at end of file From e0ac307bf8a6a35fde044e99032d56ae261fd9a7 Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 22:56:49 +0000 Subject: [PATCH 02/14] Improved unflip --- addons/main/func/fn_UnflipVehicle.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/main/func/fn_UnflipVehicle.sqf b/addons/main/func/fn_UnflipVehicle.sqf index 5503a0e..534b6aa 100644 --- a/addons/main/func/fn_UnflipVehicle.sqf +++ b/addons/main/func/fn_UnflipVehicle.sqf @@ -12,9 +12,9 @@ if (isNil "fa_UnflipVehicleFunction") then { publicVariable "fa_UnflipVehicleFunction"; }; -vehicleFlipped = (position _logic) nearEntities [["Car"], 10]; +private _vehicleFlipped = (position _logic) nearEntities [["LandVehicle"], 10]; { - [_x, "fa_UnflipVehicleFunction", true] spawn BIS_fnc_MP; -} forEach vehicleFlipped; + [_x] remoteExec ["fa_UnflipVehicleFunction",_x]; +} forEach _vehicleFlipped; #include "\1tac_admin\module_footer.hpp" \ No newline at end of file From 69d880e842e94f68836b2e6d08a1bfc35be9a1f3 Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 22:58:40 +0000 Subject: [PATCH 03/14] Improve old revive --- addons/main/func/fn_ResetDownedPlayerFAM.sqf | 8 ++++---- addons/main/func/fn_ResetDownedPlayerOld.sqf | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/main/func/fn_ResetDownedPlayerFAM.sqf b/addons/main/func/fn_ResetDownedPlayerFAM.sqf index 87bb74d..22f92ca 100644 --- a/addons/main/func/fn_ResetDownedPlayerFAM.sqf +++ b/addons/main/func/fn_ResetDownedPlayerFAM.sqf @@ -1,16 +1,16 @@ #include "\1tac_admin\module_header.hpp" -downedUnits = (position _logic) nearEntities [["Man"], 1]; +private _downedUnits = (position _logic) nearEntities [["Man"], 1]; { // if unit is down , revive him. if(_x getVariable ["f_wound_down",false] ) then { - [_x,false] remoteExec ["f_fnc_SetDowned", _x, false] ; + [_x,false] remoteExec ["f_fnc_SetDowned", _x] ; }; if(_x getVariable ["f_wound_bleeding",false]) then { - [_x,false] remoteExec ["f_fnc_SetBleeding", _x, false] ; + [_x,false] remoteExec ["f_fnc_SetBleeding", _x] ; }; -} forEach downedUnits; +} forEach _downedUnits; #include "\1tac_admin\module_footer.hpp" \ No newline at end of file diff --git a/addons/main/func/fn_ResetDownedPlayerOld.sqf b/addons/main/func/fn_ResetDownedPlayerOld.sqf index 87bb74d..d182c08 100644 --- a/addons/main/func/fn_ResetDownedPlayerOld.sqf +++ b/addons/main/func/fn_ResetDownedPlayerOld.sqf @@ -1,16 +1,16 @@ #include "\1tac_admin\module_header.hpp" -downedUnits = (position _logic) nearEntities [["Man"], 1]; +private _downedUnits = (position _logic) nearEntities [["CAManBase"], 1]; { // if unit is down , revive him. if(_x getVariable ["f_wound_down",false] ) then { - [_x,false] remoteExec ["f_fnc_SetDowned", _x, false] ; + [_x,false] remoteExec ["f_fnc_SetDowned", _x]; }; if(_x getVariable ["f_wound_bleeding",false]) then { - [_x,false] remoteExec ["f_fnc_SetBleeding", _x, false] ; + [_x,false] remoteExec ["f_fnc_SetBleeding", _x]; }; -} forEach downedUnits; +} forEach _downedUnits; #include "\1tac_admin\module_footer.hpp" \ No newline at end of file From 15a5f00b430dec6245a278bbf994fb57ca487e15 Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 23:01:00 +0000 Subject: [PATCH 04/14] update modules --- addons/main/cfgVehiclesModulesFa.hpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/addons/main/cfgVehiclesModulesFa.hpp b/addons/main/cfgVehiclesModulesFa.hpp index 42f0a00..e01ab42 100644 --- a/addons/main/cfgVehiclesModulesFa.hpp +++ b/addons/main/cfgVehiclesModulesFa.hpp @@ -6,11 +6,25 @@ class Fa_Module_Unflip_Vehicle : Fa_Fa_Module_Base function = "tac1_admin_fnc_UnflipVehicle"; }; -class Fa_Module_Reset_Downed_Player : Fa_Fa_Module_Base +class Fa_Module_Reset_Downed_PlayerOld : Fa_Fa_Module_Base { scopeCurator = 2; - displayName = "Reset downed player"; - function = "tac1_admin_fnc_ResetDownedPlayer"; + displayName = "Reset downed player (SWS)"; + function = "tac1_admin_fnc_ResetDownedPlayerOld"; +}; + +class Fa_Module_Reset_Downed_PlayerFAM : Fa_Fa_Module_Base +{ + scopeCurator = 2; + displayName = "Reset downed player (FAM)"; + function = "tac1_admin_fnc_ResetDownedPlayerFAM"; +}; + +class Fa_Module_Reset_Downed_PlayerVanilla : Fa_Fa_Module_Base +{ + scopeCurator = 2; + displayName = "Reset downed player (vanilla)"; + function = "tac1_admin_fnc_ResetDownedPlayerVanilla"; }; class Fa_Module_Repair_Vehicle : Fa_Fa_Module_Base From cc82577c7d7ddf0a71be4d68568569636c6a636c Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 23:03:17 +0000 Subject: [PATCH 05/14] Add FAM revive --- addons/main/func/fn_ResetDownedPlayerFAM.sqf | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/addons/main/func/fn_ResetDownedPlayerFAM.sqf b/addons/main/func/fn_ResetDownedPlayerFAM.sqf index 22f92ca..acdbd57 100644 --- a/addons/main/func/fn_ResetDownedPlayerFAM.sqf +++ b/addons/main/func/fn_ResetDownedPlayerFAM.sqf @@ -1,16 +1,10 @@ #include "\1tac_admin\module_header.hpp" private _downedUnits = (position _logic) nearEntities [["Man"], 1]; { - - // if unit is down , revive him. - if(_x getVariable ["f_wound_down",false] ) then + if(isPlayer _x) then { - [_x,false] remoteExec ["f_fnc_SetDowned", _x] ; + [_x] remoteExec ["f_fnc_famReset", _x] ; }; - - if(_x getVariable ["f_wound_bleeding",false]) then { - [_x,false] remoteExec ["f_fnc_SetBleeding", _x] ; - }; } forEach _downedUnits; #include "\1tac_admin\module_footer.hpp" \ No newline at end of file From 9b496931aadc983210ce85643574a03dd392bb0d Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 23:03:42 +0000 Subject: [PATCH 06/14] Update FAM revive --- addons/main/func/fn_ResetDownedPlayerFAM.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/main/func/fn_ResetDownedPlayerFAM.sqf b/addons/main/func/fn_ResetDownedPlayerFAM.sqf index acdbd57..97740d2 100644 --- a/addons/main/func/fn_ResetDownedPlayerFAM.sqf +++ b/addons/main/func/fn_ResetDownedPlayerFAM.sqf @@ -1,5 +1,5 @@ #include "\1tac_admin\module_header.hpp" -private _downedUnits = (position _logic) nearEntities [["Man"], 1]; +private _downedUnits = (position _logic) nearEntities [["CAManBase"], 1]; { if(isPlayer _x) then { From 31ca9628e9b2fb6e158a624696ea56ca655e5d57 Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 23:26:49 +0000 Subject: [PATCH 07/14] Add vanilla revive --- addons/main/func/fn_ResetDownedPlayerVanilla.sqf | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/addons/main/func/fn_ResetDownedPlayerVanilla.sqf b/addons/main/func/fn_ResetDownedPlayerVanilla.sqf index 87bb74d..aabeef9 100644 --- a/addons/main/func/fn_ResetDownedPlayerVanilla.sqf +++ b/addons/main/func/fn_ResetDownedPlayerVanilla.sqf @@ -1,16 +1,13 @@ #include "\1tac_admin\module_header.hpp" -downedUnits = (position _logic) nearEntities [["Man"], 1]; +private _downedUnits = (position _logic) nearEntities [["CAManBase"], 1]; { // if unit is down , revive him. - if(_x getVariable ["f_wound_down",false] ) then + if(isPlayer _x) then { - [_x,false] remoteExec ["f_fnc_SetDowned", _x, false] ; + ["#rev",1,_x] remoteExecCall ["BIS_fnc_reviveOnState", _x] ; }; - - if(_x getVariable ["f_wound_bleeding",false]) then { - [_x,false] remoteExec ["f_fnc_SetBleeding", _x, false] ; - }; -} forEach downedUnits; + +} forEach _downedUnits; #include "\1tac_admin\module_footer.hpp" \ No newline at end of file From 9191278e9ba14a3ac36862902bcef8e0e58dfe5d Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 23:52:50 +0000 Subject: [PATCH 08/14] Add FCS adder --- addons/main/cfgVehiclesModulesFa.hpp | 7 ++++++ addons/main/func/fn_AddVehicleFA3FCS.sqf | 32 ++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 addons/main/func/fn_AddVehicleFA3FCS.sqf diff --git a/addons/main/cfgVehiclesModulesFa.hpp b/addons/main/cfgVehiclesModulesFa.hpp index e01ab42..f1db534 100644 --- a/addons/main/cfgVehiclesModulesFa.hpp +++ b/addons/main/cfgVehiclesModulesFa.hpp @@ -34,6 +34,13 @@ class Fa_Module_Repair_Vehicle : Fa_Fa_Module_Base function = "tac1_admin_fnc_RepairVehicle"; }; +class Fa_Module_AddVehicleFA3FCS : Fa_Fa_Module_Base +{ + scopeCurator = 2; + displayName = "Add FA3 FCS to vehicle"; + function = "tac1_admin_fnc_AddVehicleFA3FCS"; +}; + class Fa_Module_Heal_Player : Fa_Fa_Module_Base { scopeCurator = 2; diff --git a/addons/main/func/fn_AddVehicleFA3FCS.sqf b/addons/main/func/fn_AddVehicleFA3FCS.sqf new file mode 100644 index 0000000..2aa8928 --- /dev/null +++ b/addons/main/func/fn_AddVehicleFA3FCS.sqf @@ -0,0 +1,32 @@ +#include "\1tac_admin\module_header.hpp" + +if (isNil "f_fnc_fcsInit") exitWith { systemChat "FA ADMIN ZEUS MODULE: FA3 FCS module not present in mission.";}; + +private _vehicleToFCS = (position _logic) nearestObject "LandVehicle"; +private _displayName = getText (configOf _vehicleToFCS >> "displayName"); + +titleText [format ["Selected vehicle - %1 - press ENTER within 10 seconds to confirm",_displayName],"PLAIN"]; + +uiNamespace setVariable ["fa_admin_vehicleToFCS",_vehicleToFCS]; +private _EH = (findDisplay 46) displayAddEventHandler ["KeyDown",{ + params ["_displayOrControl", "_key", "_shift", "_ctrl", "_alt"]; + if (_key in [156,28]) then { + private _vehicle = uiNamespace getVariable ["fa_admin_vehicleToFCS",objNull]; + if (alive _vehicle) then { + [_vehicle] remoteExec ["f_fnc_fcsInit",0,_vehicle]; + }; + (findDisplay 46) displayRemoveEventHandler _thisEventHandler; + uiNamespace setVariable ["fa_admin_vehicleToFCS",objNull]; + true + } else { + false + }; +}]; + +_EH spawn { + sleep 10; + (findDisplay 46) displayRemoveEventHandler _EH; + uiNamespace setVariable ["fa_admin_vehicleToFCS",objNull]; +}; + +#include "\1tac_admin\module_footer.hpp" \ No newline at end of file From f482f4c5430e02eb9a8a91d5455da85a574a9b72 Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sun, 24 Dec 2023 23:53:46 +0000 Subject: [PATCH 09/14] Improve man healer --- addons/main/func/fn_HealPlayer.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/main/func/fn_HealPlayer.sqf b/addons/main/func/fn_HealPlayer.sqf index 3d5bd8b..e5ab61a 100644 --- a/addons/main/func/fn_HealPlayer.sqf +++ b/addons/main/func/fn_HealPlayer.sqf @@ -1,7 +1,7 @@ #include "\1tac_admin\module_header.hpp" -menToHeal = (position _logic) nearEntities [["Man"], 2]; +private _menToHeal = (position _logic) nearEntities [["CAManBase"], 2]; { _x setDamage 0; -} forEach menToHeal; +} forEach _menToHeal; #include "\1tac_admin\module_footer.hpp" \ No newline at end of file From e7ce8aa338baa43887abb3d6dc8da89edfc48f13 Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Mon, 25 Dec 2023 02:48:41 +0000 Subject: [PATCH 10/14] Add slap module --- addons/main/cfgVehiclesModulesFa.hpp | 7 +++++ addons/main/config.cpp | 1 + addons/main/func/fn_SlapPlayer.sqf | 46 ++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 addons/main/func/fn_SlapPlayer.sqf diff --git a/addons/main/cfgVehiclesModulesFa.hpp b/addons/main/cfgVehiclesModulesFa.hpp index f1db534..8f50f3d 100644 --- a/addons/main/cfgVehiclesModulesFa.hpp +++ b/addons/main/cfgVehiclesModulesFa.hpp @@ -53,4 +53,11 @@ class Fa_Module_Resurrect_Player : Fa_Fa_Module_Base scopeCurator = 2; displayName = "Resurrect player"; function = "tac1_admin_fnc_ResurrectPlayer"; +}; + +class Fa_Module_SlapPlayer : Fa_Fa_Module_Base +{ + scopeCurator = 2; + displayName = "Slap player"; + function = "tac1_admin_fnc_slapPlayer"; }; \ No newline at end of file diff --git a/addons/main/config.cpp b/addons/main/config.cpp index dbcd99b..51d7a35 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -59,6 +59,7 @@ class CfgFunctions class HealPlayer{}; class RepairVehicle{}; class ResurrectPlayer{}; + class SlapPlayer{}; }; class scripts { diff --git a/addons/main/func/fn_SlapPlayer.sqf b/addons/main/func/fn_SlapPlayer.sqf new file mode 100644 index 0000000..744906d --- /dev/null +++ b/addons/main/func/fn_SlapPlayer.sqf @@ -0,0 +1,46 @@ +#include "\1tac_admin\module_header.hpp" + +if (isNil "fa_admin_fnc_slapPlayerLocal") then { + fa_admin_fnc_slapPlayer = { + params ["_unit"]; + _unit allowDamage false; + private _randomStage1 = [ + random [-1, selectRandom [0.5,-0.5], 1], + random [-1, selectRandom [0.5,-0.5], 1] + ]; + private _randomStage2 = [selectRandom _randomStage1, selectRandom _randomStage1, 0.5]; + _unit addForce [_randomStage2 vectorMultiply 4000, [0,0,1]]; + sleep 10; + _unit setUnconscious false; + _unit allowDamage true; + _unit playMoveNow "amovppnemstpsraswrfldnon"; + }; + publicVariable "fa_admin_fnc_slapPlayerLocal"; +}; + +private _targetUnit = (position _logic) nearestObject "CAManBase"; +titleText [format ["Selected player - %1 - press ENTER within 10 seconds to confirm",name _targetUnit],"PLAIN"]; + +uiNamespace setVariable ["fa_admin_playerToSlap",_targetUnit +private _EH = (findDisplay 46) displayAddEventHandler ["KeyDown",{ + params ["_displayOrControl", "_key", "_shift", "_ctrl", "_alt"]; + if (_key in [156,28]) then { + private _unit = uiNamespace getVariable ["fa_admin_playerToSlap",objNull]; + if (alive _unit) then { + [_unit] remoteExec ["fa_admin_fnc_slapPlayerLocal",_unit]; + }; + (findDisplay 46) displayRemoveEventHandler _thisEventHandler; + uiNamespace setVariable ["fa_admin_playerToSlap",objNull]; + true + } else { + false + }; +}]; + +_EH spawn { + sleep 10; + (findDisplay 46) displayRemoveEventHandler _EH; + uiNamespace setVariable ["fa_admin_playerToSlap",objNull]; +}; + +#include "\1tac_admin\module_footer.hpp" \ No newline at end of file From 195eb0a2165b318e760c0e20ef5f2ff05d7c471b Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Mon, 25 Dec 2023 02:49:11 +0000 Subject: [PATCH 11/14] Fix FCS module function --- addons/main/config.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 51d7a35..b8e5ed3 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -38,6 +38,7 @@ class CfgFunctions class actionGroupTeleport {}; class actionPlayerTeleport {}; class actionZeusAddAllObjects {}; + class addVehicleFA3FCS{}; class endMissionInstant {}; class endMissionSmooth {}; class fillMissionEndingBox {}; From 628620d7282284f45f993d902f09e928d67f855b Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Wed, 17 Jan 2024 17:05:45 +0000 Subject: [PATCH 12/14] Safe start safety --- addons/main/func/fn_SlapPlayer.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/main/func/fn_SlapPlayer.sqf b/addons/main/func/fn_SlapPlayer.sqf index 744906d..49e0fa0 100644 --- a/addons/main/func/fn_SlapPlayer.sqf +++ b/addons/main/func/fn_SlapPlayer.sqf @@ -3,6 +3,7 @@ if (isNil "fa_admin_fnc_slapPlayerLocal") then { fa_admin_fnc_slapPlayer = { params ["_unit"]; + private _oldDamageState = isDamageAllowed _unit; _unit allowDamage false; private _randomStage1 = [ random [-1, selectRandom [0.5,-0.5], 1], @@ -12,7 +13,7 @@ if (isNil "fa_admin_fnc_slapPlayerLocal") then { _unit addForce [_randomStage2 vectorMultiply 4000, [0,0,1]]; sleep 10; _unit setUnconscious false; - _unit allowDamage true; + _unit allowDamage _oldDamageState; _unit playMoveNow "amovppnemstpsraswrfldnon"; }; publicVariable "fa_admin_fnc_slapPlayerLocal"; From 336dc6b423a7c77d65701d1281354ff0a7fd2dd7 Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Wed, 17 Jan 2024 17:33:12 +0000 Subject: [PATCH 13/14] Improve resurrectPlayer This function has more issues (rerunning init.sqf???? what is loadoutCopy???) but I don't have time to rewrite it fully right now --- addons/main/func/fn_ResurrectPlayer.sqf | 44 ++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/addons/main/func/fn_ResurrectPlayer.sqf b/addons/main/func/fn_ResurrectPlayer.sqf index c2b2ac7..c293988 100644 --- a/addons/main/func/fn_ResurrectPlayer.sqf +++ b/addons/main/func/fn_ResurrectPlayer.sqf @@ -1,9 +1,8 @@ #include "\1tac_admin\module_header.hpp" -if(isNil "initRunner") then { - initRunner = { - _corpse = _this select 0; - _unit = _this select 1; +if(isNil "fa_admin_fnc_initRunner") then { + fa_admin_fnc_initRunner = compileFinal { + params ["_corpse","_unit"]; if(!isNil "F_fnc_ForceExit") then { [] call F_fnc_ForceExit; f_cam_VirtualCreated = nil; @@ -13,36 +12,37 @@ if(isNil "initRunner") then { setPlayable _unit; selectPlayer _unit; - _corpse setName format ["Ressurection%1", round(random 20000)]; + _corpse setName format ["Resurrection%1", round(random 20000)]; _init = compile preprocessFile "init.sqf"; _handle = [] spawn _init; - waitUntil{scriptDone _handle}; + waitUntil {scriptDone _handle}; deleteVehicle _corpse; }; + publicVariable "fa_admin_fnc_initRunner"; }; - -serverRunner = { - { - _logicPos = _this select 0; - diag_log format ["comparing %1", (name _x)]; - if((_logicPos distance _x) < 2 && (owner _x != 2)) then { - _unit = (group _x) createUnit [(typeOf _x), position _x, [], 0, "NONE"]; - _unit setName format ["Ressurection%1", round(random 20000)]; - waitUntil{!isNil "_unit"}; - (group _unit) setGroupOwner (owner _x); - [_x, _unit] remoteExec ["initRunner", (owner _x), false]; - }; - }forEach allDead; +if (isNil "fa_admin_fnc_serverRunner") then { + fa_admin_fnc_serverRunner = compileFinal { + { + private _logicPos = _this select 0; + diag_log format ["comparing %1", (name _x)]; + if((_logicPos distance _x) < 2 && (owner _x != 2)) then { + _unit = (group _x) createUnit [(typeOf _x), position _x, [], 0, "NONE"]; + _unit setName format ["Resurrection%1", round(random 20000)]; + waitUntil{!isNil "_unit"}; + (group _unit) setGroupOwner (owner _x); + [_x, _unit] remoteExec ["fa_admin_fnc_initRunner", (owner _x), false]; + }; + }forEach allDead; + }; + publicVariable "fa_admin_fnc_serverRunner"; }; publicVariable "loadoutCopy"; -publicVariable "initRunner"; -publicVariable "serverRunner"; _logicPos = (position _logic); -[_logicPos] remoteExec ["serverRunner", 2, false]; +[_logicPos] remoteExec ["fa_admin_fnc_serverRunner", 2, false]; #include "\1tac_admin\module_footer.hpp" From 8d87645c22e62ebb49b0004c83005f3e8127deaf Mon Sep 17 00:00:00 2001 From: NikkoJT <35894105+NikkoJT@users.noreply.github.com> Date: Sat, 24 Feb 2024 23:19:27 +0000 Subject: [PATCH 14/14] correct remoteExecs --- addons/main/func/fn_AddVehicleFA3FCS.sqf | 2 +- addons/main/func/fn_ResurrectPlayer.sqf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/main/func/fn_AddVehicleFA3FCS.sqf b/addons/main/func/fn_AddVehicleFA3FCS.sqf index 2aa8928..5595f56 100644 --- a/addons/main/func/fn_AddVehicleFA3FCS.sqf +++ b/addons/main/func/fn_AddVehicleFA3FCS.sqf @@ -13,7 +13,7 @@ private _EH = (findDisplay 46) displayAddEventHandler ["KeyDown",{ if (_key in [156,28]) then { private _vehicle = uiNamespace getVariable ["fa_admin_vehicleToFCS",objNull]; if (alive _vehicle) then { - [_vehicle] remoteExec ["f_fnc_fcsInit",0,_vehicle]; + [_vehicle] remoteExec ["f_fnc_fcsInit",0]; }; (findDisplay 46) displayRemoveEventHandler _thisEventHandler; uiNamespace setVariable ["fa_admin_vehicleToFCS",objNull]; diff --git a/addons/main/func/fn_ResurrectPlayer.sqf b/addons/main/func/fn_ResurrectPlayer.sqf index c293988..02584de 100644 --- a/addons/main/func/fn_ResurrectPlayer.sqf +++ b/addons/main/func/fn_ResurrectPlayer.sqf @@ -31,7 +31,7 @@ if (isNil "fa_admin_fnc_serverRunner") then { _unit setName format ["Resurrection%1", round(random 20000)]; waitUntil{!isNil "_unit"}; (group _unit) setGroupOwner (owner _x); - [_x, _unit] remoteExec ["fa_admin_fnc_initRunner", (owner _x), false]; + [_x, _unit] remoteExec ["fa_admin_fnc_initRunner", (owner _x)]; }; }forEach allDead; }; @@ -42,7 +42,7 @@ publicVariable "loadoutCopy"; _logicPos = (position _logic); -[_logicPos] remoteExec ["fa_admin_fnc_serverRunner", 2, false]; +[_logicPos] remoteExec ["fa_admin_fnc_serverRunner", 2]; #include "\1tac_admin\module_footer.hpp"