Skip to content

Commit

Permalink
Hide Rope Helpers via CBA Server Events
Browse files Browse the repository at this point in the history
  • Loading branch information
mrschick committed Mar 17, 2024
1 parent c86bd4f commit a1938f3
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
7 changes: 7 additions & 0 deletions addons/sys_core/XEH_preInit.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ PREP_RECOMPILE_END;
// CBA Settings
#include "initSettings.inc.sqf"

if (isServer) then {
[QGVAR(hideConnectorRopeHelpers), {
params ["_ropeHelpers"];
{ hideObjectGlobal _x; } forEach _ropeHelpers;
}] call CBA_fnc_addEventHandler;
};

if (!hasInterface) exitWith {
ADDON = true;
};
Expand Down
14 changes: 9 additions & 5 deletions addons/sys_core/fnc_handleConnectorRope.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -39,23 +39,26 @@ if (_state) then {
_connectorRopeHelpers set [0, _helper createVehicle position _toObject];
[_connectorRopeHelpers select 0, [0, 0, 0]] ropeAttachTo _connectorRope;
(_connectorRopeHelpers select 0) attachTo [_toObject, [-0.1, 0.1, 0.25], "Pelvis"];
[(_connectorRopeHelpers select 0), true] remoteExec ["hideObjectGlobal", 2];
(_connectorRopeHelpers select 0) allowDamage false;

// Hide Helper Object
[QGVAR(hideConnectorRopeHelpers), [_connectorRopeHelpers]] call CBA_fnc_serverEvent;
};
case 1: { // Connect rope to Ground Spike Antenna
// Create helper object on GSA
_connectorRopeHelpers set [0, _helper createVehicle position _fromObject];
(_connectorRopeHelpers select 0) disableCollisionWith _fromObject;
(_connectorRopeHelpers select 0) setPos (position _fromObject);
[(_connectorRopeHelpers select 0), true] remoteExec ["hideObjectGlobal", 2];
(_connectorRopeHelpers select 0) allowDamage false;

// Create helper object on player pelvis
_connectorRopeHelpers set [1, _helper createVehicle position _toObject];
(_connectorRopeHelpers select 1) attachTo [_toObject, [-0.1, 0.1, 0.15], "Pelvis"];
[(_connectorRopeHelpers select 1), true] remoteExec ["hideObjectGlobal", 2];
(_connectorRopeHelpers select 1) allowDamage false;

// Hide Helper Objects
[QGVAR(hideConnectorRopeHelpers), [_connectorRopeHelpers]] call CBA_fnc_serverEvent;

// Create Rope between helper objects
_connectorRope = ropeCreate [_connectorRopeHelpers select 0, _fromPoint, 5, nil, nil, QGVAR(connectorWire)];
[(_connectorRopeHelpers select 1), [0, 0, 0]] ropeAttachTo _connectorRope;
Expand All @@ -64,15 +67,16 @@ if (_state) then {
// Create helper object on radio owner
_connectorRopeHelpers set [0, _helper createVehicle position _fromObject];
(_connectorRopeHelpers select 0) attachTo [_fromObject, [-0.1, 0.1, 0.15], "Pelvis"];
[(_connectorRopeHelpers select 0), true] remoteExec ["hideObjectGlobal", 2];
(_connectorRopeHelpers select 0) allowDamage false;

// Create helper object on player pelvis
_connectorRopeHelpers set [1, _helper createVehicle position _toObject];
(_connectorRopeHelpers select 1) attachTo [_toObject, [-0.1, 0.1, 0.15], "Pelvis"];
[(_connectorRopeHelpers select 1), true] remoteExec ["hideObjectGlobal", 2];
(_connectorRopeHelpers select 1) allowDamage false;

// Hide Helper Objects
[QGVAR(hideConnectorRopeHelpers), [_connectorRopeHelpers]] call CBA_fnc_serverEvent;

// Create Rope between helper objects
_connectorRope = ropeCreate [_connectorRopeHelpers select 0, _fromPoint, 3, nil, nil, QGVAR(connectorWire)];
[_connectorRopeHelpers select 1, [0, 0, 0]] ropeAttachTo _connectorRope;
Expand Down

0 comments on commit a1938f3

Please sign in to comment.