bug fix related to HC issues.
1. fixed issues with vehicles not unlocking when released to players when HC was connected. 2. did a major rework of vehicle monitor and a few other bits of code.
This commit is contained in:
parent
1db215a176
commit
d72357bdc7
@ -1,10 +1,15 @@
|
|||||||
////////////////////////////////////////////
|
/*
|
||||||
// Delete and change Mission Markers
|
Killed handler for _units
|
||||||
// by Ghostrider-GFG-
|
By Ghostrider-GRG-
|
||||||
//////////////////////////////////////////
|
|
||||||
// delete a marker
|
|
||||||
|
|
||||||
//diag_log format["blck_fnc_deleteMarker:: _this = %1",_this];
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
private["_markerName"];
|
private["_markerName"];
|
||||||
_markerName = _this select 0;
|
_markerName = _this select 0;
|
||||||
deleteMarker _markerName;
|
deleteMarker _markerName;
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
/*
|
/*
|
||||||
Set Alive AI Count
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
*/
|
*/
|
||||||
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
params["_mArray","_count"];
|
params["_mArray","_count"];
|
||||||
|
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
////////////////////////////////////////////
|
/*
|
||||||
// Create, delete and change Mission Markers
|
Killed handler for _units
|
||||||
// 7/10/15
|
By Ghostrider-GRG-
|
||||||
// by Ghostrider-GRG-
|
|
||||||
//////////////////////////////////////////
|
--------------------------
|
||||||
// spawn a temporary marker to indicate the position of a 'completed' mission
|
License
|
||||||
// this will not show to JIP players
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
private["_location","_MainMarker","_name"];
|
private["_location","_MainMarker","_name"];
|
||||||
//diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this];
|
//diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this];
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
////////////////////////////////////////////
|
/*
|
||||||
// Create Mission Markers
|
Killed handler for _units
|
||||||
// by Ghostrider-GRG-
|
By Ghostrider-GRG-
|
||||||
//////////////////////////////////////////
|
|
||||||
// spawn a round marker of a size and color specified in passed parameters
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
private["_blck_fn_configureRoundMarker"];
|
private["_blck_fn_configureRoundMarker"];
|
||||||
_blck_fn_configureRoundMarker = {
|
_blck_fn_configureRoundMarker = {
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
/*
|
||||||
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
diag_log format["_fnc_HC_XferGroup:: _this = %1",_this];
|
diag_log format["_fnc_HC_XferGroup:: _this = %1",_this];
|
||||||
private["_group","_client","_unit","_tempEH"];
|
private["_group","_client","_unit","_tempEH"];
|
||||||
_group = _this select 0;
|
_group = _this select 0;
|
||||||
@ -9,11 +22,5 @@ _client = clientOwner;
|
|||||||
_tempEH = ["reloaded",_unit addEventHandler ["reloaded", {_this call compile preprocessfilelinenumbers blck_EH_unitWeaponReloaded;}]];
|
_tempEH = ["reloaded",_unit addEventHandler ["reloaded", {_this call compile preprocessfilelinenumbers blck_EH_unitWeaponReloaded;}]];
|
||||||
_localEH pushBack _tempEH;
|
_localEH pushBack _tempEH;
|
||||||
_x setVariable["localEH",_localEH,true];
|
_x setVariable["localEH",_localEH,true];
|
||||||
if(_unit != vehicle _unit) then
|
|
||||||
{
|
|
||||||
//diag_log format["_fnc_HC_XferGroup: _unit %1 is in vehicle %2",_unit, vehicle _unit];
|
|
||||||
blck_HC_monitoredVehicles pushBack (vehicle _unit);
|
|
||||||
//diag_log format["_fnc_HC_XferGroup: blck_HC_monitoredVehicles = %1", blck_HC_monitoredVehicles];
|
|
||||||
};
|
|
||||||
}forEach (units _group);
|
}forEach (units _group);
|
||||||
diag_log format["blckHC:: group %1 transferred to HC %1",_group,_client];
|
diag_log format["blckHC:: group %1 transferred to HC %1",_group,_client];
|
@ -1,19 +1,15 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
blck_fnc_HC_XferGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferGroup.sqf";
|
Killed handler for _units
|
||||||
//blck_fnc_HC_XferVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferVehicle.sqf";
|
By Ghostrider-GRG-
|
||||||
blck_fnc_onPlayerDisconnected = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_onPlayerDisconnected.sqf";
|
|
||||||
//blck_fnc_HC_groupsAssigned = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_groupsAssigned.sqf";
|
|
||||||
blck_fnc_HC_monitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HCmonitor.sqf";
|
|
||||||
blck_fnc_HC_vehicleMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_vehicleMonitor.sqf";
|
|
||||||
blck_fnc_monitorHC = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_monitorHC.sqf";
|
|
||||||
blck_fnc_passToHCs = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_passToHCs.sqf";
|
|
||||||
blck_fnc_HC_getListConnected = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_getListConnected.sqf";
|
|
||||||
blck_fnc_HC_leastBurdened = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_leastBurdened.sqf";
|
|
||||||
blck_fnc_HC_countGroupsAssigned = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_countGroupsAssigned.sqf";
|
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
*/
|
*/
|
||||||
//blck_fnc_HC_countGroupsAssigned =
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
params["_HC"];
|
params["_HC"];
|
||||||
private["_result"];
|
private["_result"];
|
||||||
|
@ -1,9 +1,18 @@
|
|||||||
|
/*
|
||||||
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
//blck_fnc_HC_getListConnected =
|
//blck_fnc_HC_getListConnected =
|
||||||
|
private _hcs = entities "HeadlessClient_F";
|
||||||
private _hcs = [];
|
//diag_log format["_fnc_HC_getListConected: _hcs = %1",_hcs];
|
||||||
{
|
|
||||||
if !(_x in _hcs) then {_hcs pushBack _x};
|
|
||||||
}forEach entities "HeadlessClient_F";
|
|
||||||
_hcs
|
_hcs
|
||||||
|
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
/*
|
/*
|
||||||
* passToHCs.sqf
|
Killed handler for _units
|
||||||
*
|
By Ghostrider-GRG-
|
||||||
* In the mission editor, name the Headless Clients "HC", "HC2", "HC3" without the quotes
|
|
||||||
*
|
--------------------------
|
||||||
* In the mission init.sqf, call passToHCs.sqf with:
|
License
|
||||||
* execVM "passToHCs.sqf";
|
--------------------------
|
||||||
*
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
* It seems that the dedicated server and headless client processes never use more than 20-22% CPU each.
|
|
||||||
* With a dedicated server and 3 headless clients, that's about 88% CPU with 10-12% left over. Far more efficient use of your processing power.
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
*
|
*/
|
||||||
*/
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
|
private _clientId = clientOwner;
|
||||||
|
private _groupsOwned = {groupOwner _x isEqualTo _clientId)} count allGroups;
|
||||||
|
//diag_log format["_fnc_HC_groupsAssigned:: %1 groups running on client %2",_groupsOwned,_clientId];
|
||||||
|
_groupsOwned
|
||||||
|
//[_clientId,_groupsOwned] remoteExec ["blck_fnc_updateClientGroupCounts",2];
|
||||||
|
|
||||||
_clientId = clientOwner;
|
|
||||||
_allGroups = allGroups;
|
|
||||||
_groupsOwned = {groupOwner _x isEqualTo _clientId)} count allGroups;
|
|
||||||
[_clientId,_groupsOwned] remoteExec ["blck_fnc_updateClientGroupCounts",2];
|
|
||||||
diag_log format["_fnc_HC_groupsAssigned:: %1 groups running on client %2",_groupsOwned,_clientId];
|
|
||||||
|
@ -1,23 +1,20 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
blck_fnc_HC_XferGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferGroup.sqf";
|
Killed handler for _units
|
||||||
//blck_fnc_HC_XferVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferVehicle.sqf";
|
By Ghostrider-GRG-
|
||||||
blck_fnc_onPlayerDisconnected = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_onPlayerDisconnected.sqf";
|
|
||||||
//blck_fnc_HC_groupsAssigned = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_groupsAssigned.sqf";
|
|
||||||
blck_fnc_HC_monitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HCmonitor.sqf";
|
|
||||||
blck_fnc_HC_vehicleMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_vehicleMonitor.sqf";
|
|
||||||
blck_fnc_monitorHC = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_monitorHC.sqf";
|
|
||||||
blck_fnc_passToHCs = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_passToHCs.sqf";
|
|
||||||
blck_fnc_HC_getListConnected = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_getListConnected.sqf";
|
|
||||||
blck_fnc_HC_leastBurdened = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_leastBurdened.sqf";
|
|
||||||
blck_fnc_HC_countGroupsAssigned = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_countGroupsAssigned.sqf";
|
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
*/
|
*/
|
||||||
//blck_fnc_HC_leastBurdened =
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
params["_HC_List"];
|
params["_HC_List"];
|
||||||
private["_result","_fewestGroupsAssigned","_leastBurdened","_groupsAssigned"];
|
|
||||||
if (count _HC_List == 0) exitWith {_result = objNull; _result};
|
if (count _HC_List == 0) exitWith {_result = objNull; _result};
|
||||||
|
if (count _HC_List == 1) exitWith {_result = _HC_List select 0; _result}:
|
||||||
|
private["_result","_fewestGroupsAssigned","_leastBurdened","_groupsAssigned"];
|
||||||
_fewestGroupsAssigned = [_HC_List select 0] call blck_fnc_HC_countGroupsAssigned;
|
_fewestGroupsAssigned = [_HC_List select 0] call blck_fnc_HC_countGroupsAssigned;
|
||||||
_leastBurdened = _HC_List select 0;
|
_leastBurdened = _HC_List select 0;
|
||||||
{
|
{
|
||||||
@ -28,5 +25,5 @@ _leastBurdened = _HC_List select 0;
|
|||||||
_fewestGroupsAssigned = _groupsAssigned;
|
_fewestGroupsAssigned = _groupsAssigned;
|
||||||
};
|
};
|
||||||
}forEach _HC_List;
|
}forEach _HC_List;
|
||||||
//diag_log format["_fnc_leastBurdened:: _fewestGroupsAssigned = %1 and _leastBurdened = %2",_fewestGroupsAssigned,_leastBurdened];
|
diag_log format["_fnc_leastBurdened:: _fewestGroupsAssigned = %1 and _leastBurdened = %2",_fewestGroupsAssigned,_leastBurdened];
|
||||||
_leastBurdened
|
_leastBurdened
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
/*
|
/*
|
||||||
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
vehicles = count blck_HC_monitoredVehicles;
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
*/
|
*/
|
||||||
diag_log "_fnc_HC_monitor.sqf";
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
|
diag_log "_fnc_HC_monitor.sqf <RUNNING>";
|
||||||
_blckGroups = 0;
|
_blckGroups = 0;
|
||||||
_otherGroups = 0;
|
_otherGroups = 0;
|
||||||
_totalGroups = 0;
|
_totalGroups = 0;
|
||||||
@ -11,28 +20,6 @@ diag_log "_fnc_HC_monitor.sqf";
|
|||||||
_timer3min = 0;
|
_timer3min = 0;
|
||||||
while {true} do
|
while {true} do
|
||||||
{
|
{
|
||||||
if (diag_tickTime > _timerOneSec) then
|
|
||||||
{
|
|
||||||
_timerOneSec = diag_tickTime + 1;
|
|
||||||
[] call blck_fnc_HC_vehicleMonitor;
|
|
||||||
};
|
|
||||||
if (diag_tickTime > _timerSixtySec) then
|
|
||||||
{
|
|
||||||
_timerSixtySec = diag_tickTime + 60;
|
|
||||||
private _theGroups = blck_HC_monitoredGroups;
|
|
||||||
{
|
|
||||||
if (isNull _x) then {blck_HC_monitoredGroups = blck_HC_monitoredGroups - [_x]};
|
|
||||||
if ( {alive _x} count (units _x) == 0) then { blck_HC_monitoredGroups = blck_HC_monitoredGroups - [_x]};
|
|
||||||
} forEach _theGroups;
|
|
||||||
//_blckGroups = count blck_HC_monitoredGroups;
|
|
||||||
//_totalGroups = {(groupOwner _x) isEqualTo clientOwner} count allGroups;
|
|
||||||
//_totalGroups = _blckGroups + _otherGroups;
|
|
||||||
//diag_log format["blckHC:: headless client %1 ",_blckGroups,_otherGroups];
|
|
||||||
};
|
|
||||||
if (diag_tickTime > _timer3min) then
|
|
||||||
{
|
|
||||||
_timer3min = diag_tickTime + 300;
|
|
||||||
diag_log format["blckHC:: headless client %1 | time stamp %2 | %3 fps | _blckGroups = %4 _otherGroups = %5 | vehicles %6",clientOwner,diag_tickTime,diag_fps, count blck_HC_monitoredGroups,{ ((groupOwner _x) isEqualTo clientOwner) && !(_x getVariable["blck_group",true])} count allGroups, count blck_HC_monitoredVehicles ];
|
|
||||||
};
|
|
||||||
uiSleep 1;
|
uiSleep 1;
|
||||||
};
|
};
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
/*
|
||||||
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
params["_name","_owner"];
|
params["_name","_owner"];
|
||||||
//diag_log format["_fnc_onPlayerDisconnected triggered with _name = %1 and _owner = %2",_name,_owner];
|
//diag_log format["_fnc_onPlayerDisconnected triggered with _name = %1 and _owner = %2",_name,_owner];
|
||||||
private["_HCownerids","_groupLocalEH","_vehicleLocalEH"];
|
private["_HCownerids","_groupLocalEH","_vehicleLocalEH"];
|
||||||
|
@ -1,52 +1,67 @@
|
|||||||
|
/*
|
||||||
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
|
if (!isServer) exitWith {};
|
||||||
|
blck_fnc_countGroupsAssigned = {
|
||||||
|
params["_HC"];
|
||||||
|
private["_result"];
|
||||||
|
_result = {(groupOwner _x) == (owner _HC)} count allGroups;
|
||||||
|
//diag_log format["_fnc_countGroupsAssigned = %1",_result];
|
||||||
|
_result
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//diag_log format["_fnc_passToHCs:: function called at server time %1",diag_tickTime];
|
//diag_log format["_fnc_passToHCs:: function called at server time %1",diag_tickTime];
|
||||||
private["_numTransfered","_clientId","_allGroups","_groupsOwned","_idHC","_id","_swap","_rc"];
|
private["_numTransfered","_clientId","_allGroups","_groupsOwned","_idHC","_id","_swap","_rc"];
|
||||||
blck_connectedHCs = call blck_fnc_HC_getListConnected;
|
_numTransfered = 0;
|
||||||
diag_log format["_fnc_passToHCs:: blck_connectedHCs = %1 | count _HCs = %2 | server FPS = %3",blck_connectedHCs,count blck_connectedHCs,diag_fps];
|
_idHC = -2;
|
||||||
|
blck_connectedHCs = call blck_fnc_HC_getListConnected; // Double check on this function; seems overly complicated.
|
||||||
|
//diag_log format["_fnc_passToHCs:: blck_connectedHCs = %1 | count _HCs = %2 | server FPS = %3",blck_connectedHCs,count blck_connectedHCs,diag_fps];
|
||||||
if ( (count blck_connectedHCs) > 0) then
|
if ( (count blck_connectedHCs) > 0) then
|
||||||
{
|
{
|
||||||
_idHC = [blck_connectedHCs] call blck_fnc_HC_leastBurdened;
|
_idHC = [blck_connectedHCs] call blck_fnc_HC_leastBurdened;
|
||||||
diag_log format["passToHCs: evaluating passTos for HC %1 || owner HC = %2",_idHC, owner _idHC];
|
//diag_log format["passToHCs: evaluating passTos for HC %1 || owner HC = %2",_idHC, owner _idHC];
|
||||||
{
|
{
|
||||||
// Pass the AI
|
// Pass the AI
|
||||||
_numTransfered = 0;
|
|
||||||
if (_x getVariable["blck_group",false]) then
|
if (_x getVariable["blck_group",false]) then
|
||||||
{
|
{
|
||||||
if ((leader _x) != vehicle (leader _x)) then
|
//diag_log format["group belongs to blckeagls mission system so time check if we should transfer it"];
|
||||||
|
//diag_log format["Owner of group %1 is %2",_x,groupOwner _x];
|
||||||
|
if ((groupOwner _x) == 2) then
|
||||||
{
|
{
|
||||||
private _v = vehicle (leader _x);
|
//diag_log format["blckeagls group %1 is on the server: we should be moved to HC %2 with _idHC %3",_x,_idHC];
|
||||||
blck_monitoredVehicles = blck_monitoredVehicles - [_v];
|
|
||||||
blck_HC_monitoredVehicles pushBack _v;
|
|
||||||
};
|
|
||||||
//diag_log format["group belongs to blckeagls mission system so time to transfer it"];
|
|
||||||
if ((typeName _x) isEqualTo "GROUP") then
|
|
||||||
{
|
|
||||||
_id = groupOwner _x;
|
|
||||||
//diag_log format["Owner of group %1 is %2",_x,_id];
|
|
||||||
if (_id > 2) then
|
|
||||||
{
|
|
||||||
//diag_log format["group %1 is already assigned to an HC with _id of %2",_x,_id];
|
|
||||||
_swap = false;
|
|
||||||
} else {
|
|
||||||
//diag_log format["group %1 should be moved to HC %2 with _idHC %3",_x,_idHC];
|
|
||||||
_x setVariable["owner",owner _idHC];
|
_x setVariable["owner",owner _idHC];
|
||||||
_rc = _x setGroupOwner (owner _idHC);
|
_x setVariable["Group",group (driver _x)),true]
|
||||||
[_x] remoteExec["blck_fnc_HC_XferGroup",_idHC];
|
private _sgor = _x setGroupOwner (owner _idHC);
|
||||||
if ( _rc ) then
|
//diag_log format["setGroupOwner returned %1",_sgor];
|
||||||
|
//diag_log format["_veh %1 variable owner set to %2",getVariable _veh["owner",-1]];
|
||||||
|
//diag_log format["_veh %1 Group set to %2",_veh getVariable["Group",grpNull]];
|
||||||
|
if (_sgor) then
|
||||||
{
|
{
|
||||||
|
[_x] remoteExec["blck_fnc_HC_XferGroup",_idHC];
|
||||||
_numTransfered = _numTransfered + 1;
|
_numTransfered = _numTransfered + 1;
|
||||||
//diag_log format["group %1 transferred to %2",_x, groupOwner _x];
|
//diag_log format["group %1 transferred to %2",_x, groupOwner _x];
|
||||||
} else {
|
} else {
|
||||||
//diag_log format["something went wrong with the transfer of group %1",_x];
|
//diag_log format["something went wrong with the transfer of group %1",_x];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
} else {
|
} else {
|
||||||
//diag_log format["group %1 does not belong to blckeagls mission system",_x];
|
//diag_log format["group %1 does not belong to blckeagls mission system",_x];
|
||||||
};
|
};
|
||||||
} forEach (allGroups);
|
} forEach (allGroups);
|
||||||
//diag_log format["_passToHCs:: %1 groups transferred to HC %2",_numTransfered,_idHC];
|
diag_log format["[blckeagls] _passToHCs:: %1 groups transferred to HC %2",_numTransfered,_idHC];
|
||||||
_numTransfered = 0;
|
//_numTransfered = 0;
|
||||||
// Note : the owner of a vehicle is the owner of the driver so vehicles are automatically transferred to the HC when the group to which the driver is assigned is transferred.
|
// Note : the owner of a vehicle is the owner of the driver so vehicles are automatically transferred to the HC when the group to which the driver is assigned is transferred.
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -70,7 +70,7 @@ if ( (count _missionGroups > 0) && _noAIGroups > 0) then
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
_newAI = units _newGroup;
|
_newAI = units _newGroup;
|
||||||
blck_monitoredMissionAIGroups pushback _newGroup;
|
//blck_monitoredMissionAIGroups pushback _newGroup;
|
||||||
#ifdef blck_debugMode
|
#ifdef blck_debugMode
|
||||||
if (blck_debugLevel >= 2) then
|
if (blck_debugLevel >= 2) then
|
||||||
{
|
{
|
||||||
|
@ -74,10 +74,10 @@ if (_missionPatrolVehicles isEqualTo []) then
|
|||||||
{
|
{
|
||||||
_abort = true;
|
_abort = true;
|
||||||
};
|
};
|
||||||
if !(isNull _vehGroup) then
|
//if !(isNull _vehGroup) then
|
||||||
{
|
//{
|
||||||
blck_monitoredMissionAIGroups pushBack _vehGroup;
|
//blck_monitoredMissionAIGroups pushBack _vehGroup;
|
||||||
};
|
//};
|
||||||
|
|
||||||
|
|
||||||
#ifdef blck_debugMode
|
#ifdef blck_debugMode
|
||||||
|
@ -21,19 +21,7 @@ if (_unit getVariable["blck_cleanupAt",-1] > 0) exitWith {};
|
|||||||
//diag_log format["_fnc_processAIKills:: function called with _this = %1",_this];
|
//diag_log format["_fnc_processAIKills:: function called with _this = %1",_this];
|
||||||
_unit setVariable ["blck_cleanupAt", (diag_tickTime) + blck_bodyCleanUpTimer, true];
|
_unit setVariable ["blck_cleanupAt", (diag_tickTime) + blck_bodyCleanUpTimer, true];
|
||||||
//diag_log format["_fnc_processAIKills: _unit = %1 | vehicle unit = %2",_unit, vehicle _unit];
|
//diag_log format["_fnc_processAIKills: _unit = %1 | vehicle unit = %2",_unit, vehicle _unit];
|
||||||
/*
|
|
||||||
if (_unit != (vehicle _unit) then
|
|
||||||
{
|
|
||||||
diag_log format["_fnc_processAIKills: evaluating status of crew of vehicle %1",vehicle _unit]
|
|
||||||
if ( {alive _x} count (crew (vehicle _unit)) < 1) then
|
|
||||||
{
|
|
||||||
diag_log format["_fnc_processAIKills: all crew dead, releasing vehicle"];
|
|
||||||
[vehicle _unit] call blck_fnc_releaseVehicleToPlayers;
|
|
||||||
} else {
|
|
||||||
diag_log format["_fnc_processAIKills: vehicle %1 still has %2 crew alive",vehicle _unit, {alive _x} crew (vehicle _unit)];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
blck_deadAI pushback _unit;
|
blck_deadAI pushback _unit;
|
||||||
_group = group _unit;
|
_group = group _unit;
|
||||||
[_unit] joinSilent grpNull;
|
[_unit] joinSilent grpNull;
|
||||||
@ -65,8 +53,8 @@ if ((diag_tickTime - _lastkill) < 240) then
|
|||||||
_killer setVariable["blck_kills",0];
|
_killer setVariable["blck_kills",0];
|
||||||
};
|
};
|
||||||
|
|
||||||
_unit action ["Eject", vehicle _unit];
|
//_unit action ["Eject", vehicle _unit];
|
||||||
|
[_unit, ["Eject", vehicle _unit]] remoteExec ["action",(owner _unit)];
|
||||||
if (blck_useKillMessages) then
|
if (blck_useKillMessages) then
|
||||||
{
|
{
|
||||||
_weapon = currentWeapon _killer;
|
_weapon = currentWeapon _killer;
|
||||||
|
@ -67,6 +67,6 @@ for "_i" from 1 to _numAI do
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
blck_monitoredMissionAIGroups pushback _paraGroup;
|
//blck_monitoredMissionAIGroups pushback _paraGroup;
|
||||||
|
|
||||||
_paraGroup
|
_paraGroup
|
||||||
|
@ -11,6 +11,6 @@
|
|||||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
*/
|
*/
|
||||||
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
diag_log format["_EH_processAIVehicleKill: _this = %1",_this];
|
//diag_log format["_EH_processAIVehicleKill: _this = %1",_this];
|
||||||
if !(isDedicated) exitWith {};
|
if !(isDedicated) exitWith {};
|
||||||
_this call blck_fnc_processAIVehicleKill;
|
_this call blck_fnc_processAIVehicleKill;
|
||||||
|
@ -1,8 +1,16 @@
|
|||||||
|
|
||||||
//_fn_destroyVehicleAndCrew = {
|
/*
|
||||||
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
params["_veh"];
|
params["_veh"];
|
||||||
//private["_crew"];
|
|
||||||
//_crew = crew _veh;
|
|
||||||
//diag_log format["_fn_destroyVehicleAndCrew: called for _veh = %1",_veh];
|
|
||||||
{[_x] call blck_fnc_deleteAI;} forEach (crew _veh);
|
{[_x] call blck_fnc_deleteAI;} forEach (crew _veh);
|
||||||
[_veh] call blck_fnc_deleteAIvehicle;
|
[_veh] call blck_fnc_deleteAIvehicle;
|
||||||
|
@ -1,23 +1,50 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
params["_veh"];
|
params["_veh"];
|
||||||
//blck_monitoredVehicles = blck_monitoredVehicles - [_veh];
|
blck_monitoredVehicles = blck_monitoredVehicles - [_veh];
|
||||||
_veh setVehicleLock "UNLOCKED" ;
|
//diag_log format["_fnc_releaseVehicleToPlayersl: _veh = %1 | (owner _veh) = %2",_veh,(owner _veh)];
|
||||||
//_v setVariable["releasedToPlayers",true];
|
//diag_log format["_fnc_releaseVehicleToPlayersl: initial lock state of vehicle 51 = %2",_veh,locked _veh];
|
||||||
//[_v] call blck_fnc_emptyObject;
|
//_veh setVehicleLock "UNLOCKED" ;
|
||||||
|
_locked = true;
|
||||||
|
_count = 0;
|
||||||
|
_timeIn = diag_tickTime;
|
||||||
|
while {_count < 2} do
|
||||||
|
{
|
||||||
|
//diag_log format["_fnc_releaseVehicleToPlayersl: attempting to unlock vehicle %1",_veh];
|
||||||
|
[_veh,"UNLOCKED"] remoteExec ["setVehicleLock",0]; // unlock on all clients so we don't have to worry about any change of ownership when the driver is ejected.
|
||||||
|
// a bit of bandwidth seems worth ensuring that vehicles do in fact get unlocked.
|
||||||
|
uiSleep 0.1;
|
||||||
|
_count = _count + 1;
|
||||||
|
diag_log format["_fnc_releaseVehicleToPlayersl: locked state of vehicle %1 = ^%2",_veh, locked _veh];
|
||||||
|
//if ((_veh locked) isEqualTo "UNLOCKED" || (diag_tickTime - _timeIn) > 5) then {_locked = false};
|
||||||
|
};
|
||||||
|
// {player setAmmo [primaryWeapon player, 1];} remoteExec ["bis_fnc_call", 0];
|
||||||
|
//{[_veh setVehicleLock "UNLOCKED"];} remoteExec ["BIS_fnc_call",(owner _veh)];
|
||||||
{
|
{
|
||||||
_veh removealleventhandlers _x;
|
_veh removealleventhandlers _x;
|
||||||
} forEach ["GetIn","GetOut","fired","hit","hitpart","reloaded","dammaged","HandleDamage"];
|
} forEach ["GetIn","GetOut","fired","hit","hitpart","reloaded","dammaged","HandleDamage"];
|
||||||
{
|
{
|
||||||
_veh removeAllMPEventHandlers _x;
|
_veh removeAllMPEventHandlers _x;
|
||||||
} forEach ["MPHit","MPKilled"];
|
} forEach ["MPHit","MPKilled"];
|
||||||
_veh setVariable["blck_releasedAt",diag_tickTime,true];
|
|
||||||
_veh setVariable["blck_DeleteAt",diag_tickTime + blck_vehicleDeleteTimer,true];
|
_veh setVariable["blck_DeleteAt",diag_tickTime + blck_vehicleDeleteTimer,true];
|
||||||
if ((damage _veh) > 0.5) then {_veh setDamage 0.5};
|
if ((damage _veh) > 0.6) then {_veh setDamage 0.6};
|
||||||
//diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1 and blck_deleteAT = %2",_veh, _veh getVariable["blck_DeleteAt",0]];
|
|
||||||
#ifdef blck_debugMode
|
#ifdef blck_debugMode
|
||||||
if (blck_debugLevel > 2) then
|
if (blck_debugLevel > 2) then
|
||||||
{
|
{
|
||||||
diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1",_veh];
|
diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1",_veh];
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
//diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1",_veh];
|
@ -1,6 +1,18 @@
|
|||||||
|
|
||||||
|
|
||||||
//_fn_reloadAmmo = {
|
/*
|
||||||
|
Killed handler for _units
|
||||||
|
By Ghostrider-GRG-
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
License
|
||||||
|
--------------------------
|
||||||
|
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
*/
|
||||||
|
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
params["_veh"];
|
params["_veh"];
|
||||||
private ["_crew","_mag","_allMags","_cnt"];
|
private ["_crew","_mag","_allMags","_cnt"];
|
||||||
// https://community.bistudio.com/wiki/fullCrew
|
// https://community.bistudio.com/wiki/fullCrew
|
||||||
|
@ -149,7 +149,7 @@ if !(isNull _grpPilot) then
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
blck_monitoredMissionAIGroups pushBack _grpPilot;
|
//blck_monitoredMissionAIGroups pushBack _grpPilot;
|
||||||
};
|
};
|
||||||
//diag_log format["[blckeagls] _fnc_spawnMissionHeli:: _patrolHeli %1 | _grpPilot %2 | _abort %3",_patrolHeli,_grpPilot,_abort];
|
//diag_log format["[blckeagls] _fnc_spawnMissionHeli:: _patrolHeli %1 | _grpPilot %2 | _abort %3",_patrolHeli,_grpPilot,_abort];
|
||||||
_return = [_patrolHeli,units _grpPilot,_abort];
|
_return = [_patrolHeli,units _grpPilot,_abort];
|
||||||
|
@ -11,29 +11,13 @@
|
|||||||
*/
|
*/
|
||||||
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
//diag_log format["_fnc_vehicleMonitor: starting function at diag_tickTime = %1",diag_tickTime];
|
private ["_vehList","_veh","_isEmplaced","_ownerIsPlayer","_allCrewDead","_deleteNow","_evaluate"];
|
||||||
|
|
||||||
#ifdef blck_debugMode
|
|
||||||
//diag_log format["_fnc_vehicleMonitor:: blck_debugMode defined"];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
private ["_vehList","_veh","_isEmplaced","_ownerIsPlayer","_allCrewDead","_deleteNow","_missionCompleted","_evaluate","_cleanupTimer"];
|
|
||||||
_vehList = +blck_monitoredVehicles;
|
_vehList = +blck_monitoredVehicles;
|
||||||
|
|
||||||
#ifdef blck_debugMode
|
#ifdef blck_debugMode
|
||||||
if (blck_debugLevel > 2) then {diag_log format["_fnc_vehicleMonitor:: function called at %1 with _vehList %2 and blck_monitoredVehicles %3",diag_tickTime,_vehList,blck_monitoredVehicles];};
|
if (blck_debugLevel > 2) then {diag_log format["_fnc_vehicleMonitor:: function called at %1 with _vehList %2 and blck_monitoredVehicles %3",diag_tickTime,_vehList,blck_monitoredVehicles];};
|
||||||
#endif
|
#endif
|
||||||
//diag_log format["_fnc_vehicleMonitor:: function called at %1 with _vehList %2 and blck_monitoredVehicles %3",diag_tickTime,_vehList,blck_monitoredVehicles];
|
//diag_log format["_fnc_vehicleMonitor:: function called at %1 with _vehList %2 ",diag_tickTime,_vehList,blck_monitoredVehicles];
|
||||||
|
|
||||||
// Check for any vehicles no longer on an HC
|
|
||||||
{
|
|
||||||
if ( (owner _x) == 2) then
|
|
||||||
{
|
|
||||||
// vehicle no longer on headless client
|
|
||||||
blck_HC_monitoredVehicles - blck_HC_monitoredVehicles - [_x];
|
|
||||||
blck_monitoredVehicles pushBack _x;
|
|
||||||
};
|
|
||||||
} forEach blck_HC_monitoredVehicles;
|
|
||||||
|
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -41,34 +25,33 @@ if (blck_debugLevel > 2) then {diag_log format["_fnc_vehicleMonitor:: function c
|
|||||||
_isEmplaced
|
_isEmplaced
|
||||||
_ownerIsPlayer
|
_ownerIsPlayer
|
||||||
_allCrewDead
|
_allCrewDead
|
||||||
_deleteNow
|
|
||||||
|
_handleReloadRefuel (0)
|
||||||
|
_scheduleDeletion (2) [_allCrewDead && !_isEmplaced && !_scheduled] // all vehicles other than statics
|
||||||
|
_disableNow and schedule for deletion (1) [_allCrewDead && _isEmplaced] // emplaced weapons
|
||||||
|
_deleteNow (3)
|
||||||
|
_releaseToPlayer (4) [_allCrewDead && !_isEmplaced && _ownerIsPlayer]
|
||||||
|
_default (5) reload rearm
|
||||||
*/
|
*/
|
||||||
//diag_log format["_fnc_vehicleMonitor: evaluating vehicle %1",_x];
|
|
||||||
if (local _x) then
|
if (true) then
|
||||||
{
|
{
|
||||||
|
private["_veh","_isEmplaced","_ownerIsPlayer","_allCrewDead","_deleteNow","_evaluate"];
|
||||||
_veh = _x; // (purely for clarity at this point, _x could be used just as well)
|
_veh = _x; // (purely for clarity at this point, _x could be used just as well)
|
||||||
|
|
||||||
_isEmplaced = _veh getVariable["GRG_vehType","none"] isEqualTo "emplaced";
|
_isEmplaced = _veh getVariable["GRG_vehType","none"] isEqualTo "emplaced";
|
||||||
_ownerIsPlayer = if (owner _veh > 2 && !(owner _veh in blck_connectedHCs)) then {true} else {false};
|
_ownerIsPlayer = if (owner _veh > 2 && !(owner _veh in blck_connectedHCs)) then {true} else {false};
|
||||||
_allCrewDead = if (({alive _x} count (crew _veh)) == 0) then {true} else {false};
|
_allCrewDead = if (({alive _x} count (crew _veh)) == 0) then {true} else {false};
|
||||||
//diag_log format["_fnc_vehicleMonitor: _allCrewDead = %1",_allCrewDead];
|
_evaluate = 0;
|
||||||
_deletenow = false;
|
if (_allCrewDead && _isEmplaced && (_veh getVariable["blck_deleteAt",0] == 0)) then {_evaluate = 1};
|
||||||
if ( (_veh getVariable["blck_DeleteAt",0] > 0) && (diag_tickTime > (_veh getVariable "blck_DeleteAt"))) then {_deleteNow = true};
|
if (_allCrewDead && !(_isEmplaced) && (_veh getVariable["blck_deleteAt",0] == 0)) then {_evaluate = 2};
|
||||||
_missionCompleted = if (_veh getVariable["missionCompleted",0] != 0) then {true} else {false};
|
if ((_veh getVariable["blck_deleteAt",0] > 0) && (diag_tickTime > (_veh getVariable["blck_deleteAt",0]))) then {_evaluate = 3};
|
||||||
_evaluate = true;
|
if (/*_ownerIsPlayer*/ (owner _veh > 2) && !(owner _veh in blck_connectedHCs)) then {_evaluate = 4};
|
||||||
|
//diag_log format["_fnc_vehicleMonitor: vehicle = %1 | owner = %2 | crew = %2",_veh, owner _veh, {alive _x} count (crew _veh)];
|
||||||
if (_ownerIsPlayer) then
|
switch (_evaluate) do
|
||||||
{
|
|
||||||
// disable further monitoring and mark to never be deleted.
|
|
||||||
_evaluate = false;
|
|
||||||
_veh setVariable["blck_DeleteAt",0];
|
|
||||||
blck_monitoredVehicles = blck_monitoredVehicles - [_veh];
|
|
||||||
//diag_log format["_fnc_vehicleMonitor: vehicle %1 now owned by player %2",_veh, owner _veh];
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_allCrewDead && _evaluate) then
|
|
||||||
{
|
|
||||||
if (_isEmplaced) then
|
|
||||||
{
|
{
|
||||||
|
case 0:{[_veh] call blck_fnc_reloadVehicleAmmo;};
|
||||||
|
case 1:{
|
||||||
if (blck_killEmptyStaticWeapons) then
|
if (blck_killEmptyStaticWeapons) then
|
||||||
{
|
{
|
||||||
#ifdef blck_debugMode
|
#ifdef blck_debugMode
|
||||||
@ -79,37 +62,23 @@ if (blck_debugLevel > 2) then {diag_log format["_fnc_vehicleMonitor:: function c
|
|||||||
}else {
|
}else {
|
||||||
[_veh] call blck_fnc_releaseVehicleToPlayers;
|
[_veh] call blck_fnc_releaseVehicleToPlayers;
|
||||||
};
|
};
|
||||||
_evaluate = false;
|
};
|
||||||
} else {
|
case 2:{
|
||||||
if (blck_killEmptyAIVehicles) then
|
if (blck_killEmptyAIVehicles) then
|
||||||
{
|
{
|
||||||
_veh setDamage 0.7;
|
_veh setDamage 0.7;
|
||||||
_veh setVariable["blck_DeleteAt",diag_tickTime + 60];
|
_veh setVariable["blck_DeleteAt",diag_tickTime + 60];
|
||||||
} else {
|
} else {
|
||||||
//diag_log format["_fnc_vehicleMonitor:: case of RELEASE where vehicle = %1 and Vehicle is typeOf %2",_veh, typeOf _veh];
|
|
||||||
[_veh] call blck_fnc_releaseVehicleToPlayers;
|
[_veh] call blck_fnc_releaseVehicleToPlayers;
|
||||||
};
|
};
|
||||||
_evaluate = false;
|
|
||||||
};
|
};
|
||||||
};
|
case 3:{
|
||||||
|
|
||||||
if (_missionCompleted && !(_allCrewDead)) then
|
|
||||||
{
|
|
||||||
//diag_log format["_fnc_vehicleMonitor:: case of mission vehicle with AI alive at mission end: schedule destruction with _veh = %1 and typeOf _veh = %2",_veh, typeOf _veh];
|
|
||||||
_cleanupTimer = _veh getVariable["blck_DeleteAt",0]; // The time delete to deleting any alive AI units
|
|
||||||
if (_cleanupTimer == 0) then {_veh setVariable["blck_DeleteAt",diag_tickTime + blck_vehicleDeleteTimer]};
|
|
||||||
_evaluate = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_evaluate) then
|
|
||||||
{
|
|
||||||
[_veh] call blck_fnc_reloadVehicleAmmo;
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_deleteNow) then
|
|
||||||
{
|
|
||||||
[_veh] call blck_fnc_destroyVehicleAndCrew;
|
[_veh] call blck_fnc_destroyVehicleAndCrew;
|
||||||
_evaluate = false;
|
};
|
||||||
|
case 4:{
|
||||||
|
_veh setVariable["blck_DeleteAt",nil];
|
||||||
|
blck_monitoredVehicles = blck_monitoredVehicles - [_veh];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}forEach _vehList;
|
}forEach _vehList;
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
#include"\q\addons\custom_server\Configs\blck_defines.hpp";
|
#include"\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||||
|
|
||||||
blck_debugON = false;
|
blck_debugON = true;
|
||||||
blck_debugLevel = 0; // Sets level of detail for debugging info - WIP.
|
blck_debugLevel = 0; // Sets level of detail for debugging info - WIP.
|
||||||
blck_minFPS = 8;
|
blck_minFPS = 8;
|
||||||
|
|
||||||
@ -36,8 +36,8 @@ blck_connectedHCs = [];
|
|||||||
blck_missionMarkers = [];
|
blck_missionMarkers = [];
|
||||||
blck_groupsOnHC = [];
|
blck_groupsOnHC = [];
|
||||||
blck_vehiclesOnHC = [];
|
blck_vehiclesOnHC = [];
|
||||||
blck_HC_monitoredVehicles = [];
|
//blck_HC_monitoredVehicles = [];
|
||||||
blck_HC_monitoredGroups = [];
|
//blck_HC_monitoredGroups = [];
|
||||||
#ifdef useDynamicSimulation
|
#ifdef useDynamicSimulation
|
||||||
"Group" setDynamicSimulationDistance 1800;
|
"Group" setDynamicSimulationDistance 1800;
|
||||||
enableDynamicSimulationSystem true;
|
enableDynamicSimulationSystem true;
|
||||||
|
Loading…
Reference in New Issue
Block a user