locally tested, adds more features. ready for dedi

This commit is contained in:
2024-02-02 14:34:04 -08:00
parent 3f5c6c5a59
commit b67888f4f1
24 changed files with 416 additions and 163 deletions

View File

@@ -13,8 +13,8 @@ private _fileForReinsertAction = [
{ // statement
params ["_target", "_player", "_params"];
// find nearest base or location
private _base = [_player] call milsim_reinsert_fnc_getNearestBase;
private _baseName = [_base] call milsim_reinsert_fnc_getBaseName;
private _base = [_player] call milsim_fnc_getNearestBase;
private _baseName = [_base] call milsim_fnc_getNameOfBase;
// send event to server
["milsim_reinsert_fileReinsertRequest", [_player, _base]] call CBA_fnc_serverEvent;
// notify player their request was filed
@@ -23,7 +23,7 @@ private _fileForReinsertAction = [
{ // condition
params ["_target", "_player", "_params"];
// find nearest base or location
private _base = [_player] call milsim_reinsert_fnc_getNearestBase;
private _base = [_player] call milsim_fnc_getNearestBase;
private _baseDistance = _player distance _base;
private _maxRangeToReady = missionNamespace getVariable ["milsim_reinsert_setting_reinsertion_maxRangeToReady", 400];

View File

@@ -1,8 +0,0 @@
params [["_base", objNull, [objNull]]];
if (_base == objNull) exitWith {""};
// get base name
private _baseName = _base getVariable ["name", ""];
if (_baseName == "") then {_baseName = format["near %1", text (nearestLocation [_base, ["NameCity", "NameLocal"]])]};
_baseName;

View File

@@ -1,10 +0,0 @@
params [["_player", objNull, [objNull]]];
if (isNull _player) exitWith {objNull};
private _bases = missionNamespace getVariable ["milsim_baseObjects", []];
if (count _bases == 0) exitWith {objNull};
// get nearest base (Module_Respawn_F)
private _closestBase = [_bases, _player] call BIS_fnc_nearestPosition;
if (isNull _closestBase) exitWith {objNull};
_closestBase;

View File

@@ -41,9 +41,9 @@ publicVariable "milsim_reinsert_reinsertionQueue";
// log to rpt
private _logParams = [
["filedAtBase", [_base] call milsim_reinsert_fnc_getBaseName],
["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
["closestBase", [_nearestBase] call milsim_reinsert_fnc_getBaseName],
["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]

View File

@@ -21,7 +21,7 @@ if (count _timeoutPlayers > 0) then {
private _thisBase = _x;
// Add line for base name
_playerLines pushBack ([[_thisBase] call milsim_reinsert_fnc_getBaseName, 1, [0,1,0,1]]);
_playerLines pushBack ([[_thisBase] call milsim_fnc_getNameOfBase, 1, [0,1,0,1]]);
// Get players under this base
private _thisBasePlayers = _timeoutPlayers select {_x#1 isEqualTo _thisBase};
@@ -35,7 +35,7 @@ if (count _timeoutPlayers > 0) then {
{ // for each player under this base, add a line
_x params ["_player", "_base", "_timeFiled"];
// get the closest base to the player
private _nearestBase = [_player] call milsim_reinsert_fnc_getNearestBase;
private _nearestBase = [_player] call milsim_fnc_getNearestBase;
// add player to array of players under bases
_playerLines pushBack ([format [
@@ -47,9 +47,9 @@ if (count _timeoutPlayers > 0) then {
// log to rpt
private _logParams = [
["filedAtBase", [_base] call milsim_reinsert_fnc_getBaseName],
["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
["closestBase", [_nearestBase] call milsim_reinsert_fnc_getBaseName],
["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]

View File

@@ -39,12 +39,12 @@ publicVariable "milsim_reinsert_reinsertionQueue";
// get first entry (longest wait)
(_unitArrs#0) params ["_player", "_base", "_timeFiled"]; // _unitArr = [unit, base, timeInQueue]
// get the closest base to the player
private _nearestBase = [_player] call milsim_reinsert_fnc_getNearestBase;
private _nearestBase = [_player] call milsim_fnc_getNearestBase;
// log to rpt
private _logParams = [
["filedAtBase", [_base] call milsim_reinsert_fnc_getBaseName],
["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
["closestBase", [_nearestBase] call milsim_reinsert_fnc_getBaseName],
["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]

View File

@@ -48,7 +48,7 @@ if (count _basesWithPeople isEqualTo 0) then {
// forEach _basesWithPeople
{
private _thisBase = _x;
private _baseName = [_thisBase] call milsim_reinsert_fnc_getBaseName;
private _baseName = [_thisBase] call milsim_fnc_getNameOfBase;
// generate player lines for this base
private _playerLines = _queue select {

View File

@@ -7,16 +7,16 @@ private _maxRangeToReady = missionNamespace getVariable ["milsim_reinsert_settin
private _distanceToOriginalBase = _player distance _base;
// get the closest base to the player
private _nearestBase = [_player] call milsim_reinsert_fnc_getNearestBase;
private _nearestBase = [_player] call milsim_fnc_getNearestBase;
private _isCloseEnoughToAnyBase = (_player distance _nearestBase) < _maxRangeToReady;
if (not _isCloseEnoughToAnyBase || not (alive _player)) then {
// don't include player in updated queue
// log to rpt
private _logParams = [
["filedAtBase", [_base] call milsim_reinsert_fnc_getBaseName],
["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
["closestBase", [_nearestBase] call milsim_reinsert_fnc_getBaseName],
["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]
@@ -36,9 +36,9 @@ private _maxRangeToReady = missionNamespace getVariable ["milsim_reinsert_settin
// if player's base has changed, log to rpt
if (_base != _nearestBase) then {
private _logParams = [
["filedAtBase", [_base] call milsim_reinsert_fnc_getBaseName],
["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
["closestBase", [_nearestBase] call milsim_reinsert_fnc_getBaseName],
["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]