mirror of
https://github.com/valmojr/armatak.git
synced 2026-06-13 23:43:28 +00:00
added init functions to handle thread socket starting and stopping
This commit is contained in:
@@ -16,5 +16,11 @@ class CfgPatches {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Extended_PostInit_EventHandlers {
|
||||||
|
class armatak_main {
|
||||||
|
init = "call compileScript ['\armatak\armatak\armatak_main\initPlayerLocal.sqf']";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
#include "CfgFunctions.hpp"
|
#include "CfgFunctions.hpp"
|
||||||
#include "CfgVehicles.hpp"
|
#include "CfgVehicles.hpp"
|
||||||
@@ -3,69 +3,3 @@ params [
|
|||||||
["_units", [], [[]]],
|
["_units", [], [[]]],
|
||||||
["_activated", true, [true]]
|
["_activated", true, [true]]
|
||||||
];
|
];
|
||||||
/*
|
|
||||||
if (isServer && _activated) exitWith {
|
|
||||||
private _warning = format ["<t color='#FF8021'>ARMATAK</t><br/> %1", "Connecting..."];
|
|
||||||
[[_warning, 1.5]] call CBA_fnc_notify;
|
|
||||||
|
|
||||||
_atak_ots_address = _logic getVariable "armatak_module_ots_api_instance_address";
|
|
||||||
_atak_ots_protocol = _logic getVariable "armatak_module_ots_api_instance_protocol";
|
|
||||||
_atak_ots_port = _logic getVariable "armatak_module_ots_api_instance_port";
|
|
||||||
|
|
||||||
_atak_ots_fulladdress = _atak_ots_protocol + ":" + "/" + "/" + _atak_ots_address + ":" + (str _atak_ots_port);
|
|
||||||
_atak_ots_api_username = _logic getVariable "armatak_module_ots_api_instance_username";
|
|
||||||
_atak_ots_api_password = _logic getVariable "armatak_module_ots_api_instance_password";
|
|
||||||
|
|
||||||
missionNamespace setVariable ["_atak_server_instance", _atak_ots_fulladdress];
|
|
||||||
missionNamespace setVariable ["_atak_server_instance_username", _atak_ots_api_username];
|
|
||||||
missionNamespace setVariable ["_atak_server_instance_password", _atak_ots_api_password];
|
|
||||||
|
|
||||||
_atak_server_instance_token = call armatak_fnc_extract_auth_token;
|
|
||||||
|
|
||||||
if (_atak_server_instance_token == "") then {
|
|
||||||
private _warning = format ["<t color='#FF0000'>ARMATAK</t><br/> %1", "Connection Failed"];
|
|
||||||
[[_warning, 2]] call CBA_fnc_notify;
|
|
||||||
} else {
|
|
||||||
private _warning = format ["<t color='#2B7319'>ARMATAK</t><br/> %1", "Connected"];
|
|
||||||
[[_warning, 2]] call CBA_fnc_notify;
|
|
||||||
};
|
|
||||||
|
|
||||||
[{
|
|
||||||
if (isMultiplayer) then {
|
|
||||||
[{
|
|
||||||
_markers = [];
|
|
||||||
|
|
||||||
{
|
|
||||||
private _unit = _x;
|
|
||||||
_m = _unit call armatak_fnc_extract_info;
|
|
||||||
_markers append [_m];
|
|
||||||
} forEach playableUnits;
|
|
||||||
{
|
|
||||||
private _unit = _x;
|
|
||||||
if (_unit getVariable "_atak_uav_connected") then {
|
|
||||||
_m = _unit call armatak_fnc_extract_drone_info;
|
|
||||||
_markers append [_m];
|
|
||||||
};
|
|
||||||
} forEach allUnitsUAV;
|
|
||||||
[_markers] call armatak_fnc_postMarkers;
|
|
||||||
}, 1, []] call CBA_fnc_addPerFrameHandler;
|
|
||||||
} else {
|
|
||||||
[{
|
|
||||||
_markers = [];
|
|
||||||
|
|
||||||
_m = player call armatak_fnc_extract_info;
|
|
||||||
_markers append [_m];
|
|
||||||
|
|
||||||
{
|
|
||||||
if (_x getVariable "_atak_uav_connected") then {
|
|
||||||
_m = _x call armatak_fnc_extract_drone_info;
|
|
||||||
_markers append [_m];
|
|
||||||
};
|
|
||||||
} forEach allUnitsUAV;
|
|
||||||
[_markers] call armatak_fnc_postMarkers;
|
|
||||||
}, 1, []] call CBA_fnc_addPerFrameHandler;
|
|
||||||
};
|
|
||||||
}, [], 1] call CBA_fnc_waitAndExecute;
|
|
||||||
};
|
|
||||||
|
|
||||||
*/
|
|
||||||
39
addons/main/initPlayerLocal.sqf
Normal file
39
addons/main/initPlayerLocal.sqf
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
if (!hasInterface) exitWith {};
|
||||||
|
|
||||||
|
_initializedServer = "armatak" callExtension ["start",[]] select 0;
|
||||||
|
_local_address = "armatak" callExtension ["local_ip", []] select 0;
|
||||||
|
|
||||||
|
player setVariable ["initializedSocket", _initializedServer];
|
||||||
|
player setVariable ["localAddress", _local_address];
|
||||||
|
|
||||||
|
waitUntil {alive player};
|
||||||
|
|
||||||
|
[{
|
||||||
|
if (alive player) then {
|
||||||
|
"armatak" callExtension ["location",[player call armatak_fnc_extract_info]];
|
||||||
|
};
|
||||||
|
}, 1, []] call CBA_fnc_addPerFrameHandler;
|
||||||
|
|
||||||
|
player addEventHandler ["Killed", {
|
||||||
|
"armatak" callExtension ["stop", []];
|
||||||
|
}];
|
||||||
|
|
||||||
|
player addEventHandler ["Deleted", {
|
||||||
|
"armatak" callExtension ["stop", []];
|
||||||
|
}];
|
||||||
|
|
||||||
|
player addEventHandler ["Respawn", {
|
||||||
|
params["_unit", "_corpse"];
|
||||||
|
|
||||||
|
_unit spawn {
|
||||||
|
"armatak" callExtension ["start", []];
|
||||||
|
|
||||||
|
[{
|
||||||
|
if (alive _this) then {
|
||||||
|
"armatak" callExtension ["location",[player call armatak_fnc_extract_info]];
|
||||||
|
};
|
||||||
|
}, 1, []] call CBA_fnc_addPerFrameHandler;
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
|
||||||
|
onPlayerDisconnected "'armatak' callExtension ['stop',[]];";
|
||||||
Reference in New Issue
Block a user