detect and count spawn markers to ensure markers exist

This commit is contained in:
[VB]AWOL
2013-10-23 00:44:48 -05:00
parent 207f4e3b88
commit 507eee89c7
2 changed files with 22 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_lastinstance","_friendlies","_randomSpot","_position","_debug","_distance","_hit","_fractures","_score","_findSpot","_pos","_isIsland","_w","_clientID","_spawnMC"];
private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_lastinstance","_friendlies","_randomSpot","_position","_debug","_distance","_hit","_fractures","_score","_findSpot","_pos","_isIsland","_w","_clientID","_spawnMC","_namespace"];
//diag_log ("SETUP: attempted with " + str(_this));
@@ -188,12 +188,9 @@ if (_randomSpot) then {
if(isnil "spawnShoremode") then {
spawnShoremode = 1;
};
if(isnil "spawnMarkerCount") then {
spawnMarkerCount = 4;
};
// The wiki states floor has a uniform distribution but will not reach the last number so we add +1
_spawnMC = spawnMarkerCount + 1;
//
_spawnMC = actualSpawnMarkerCount;
//spawn into random
_findSpot = true;

View File

@@ -366,6 +366,25 @@ if (isServer and isNil "sm_done") then {
_debugMarkerPosition = [(_debugMarkerPosition select 0),(_debugMarkerPosition select 1),1];
_vehicle_0 = createVehicle ["DebugBox_DZ", _debugMarkerPosition, [], 0, "CAN_COLLIDE"];
_vehicle_0 setPos _debugMarkerPosition;
// max number of spawn markers
if(isnil "spawnMarkerCount") then {
spawnMarkerCount = 10;
};
actualSpawnMarkerCount = 0;
// count valid spawn marker positions
for "_i" from 0 to spawnMarkerCount do {
if (!([(getMarkerPos format["spawn%1", _i]), [0,0,0]] call BIS_fnc_areEqual)) then {
actualSpawnMarkerCount = actualSpawnMarkerCount + 1;
} else {
// exit since we did not find any further markers
_i = spawnMarkerCount + 99;
};
};
diag_log format["Total Number of spawn locations %1", actualSpawnMarkerCount];
};
sm_done = true;