[Support] ESSV2

@moosepp - Woops sorry, just realized I had that backwards in the comments. Just fixed now. It should be:
Code:
_classLevel1 = ["76561198077558681","0","0"];
_classLevel2 = ["76561198101711327","76561198134067349","76561198140859904","76561198093511617"];
_classLevel3 = ["76561198042454417","76561198018610724","76561198036952663","76561198148096998","76561198052259694","76561198049679245","76561198122096029","76561198109746920","76561198071528570","76561198094731751","76561198097730894","76561198029310242"];
_classLevel1 = _classLevel1 + _classLevel2 + _classLevel3;
_classLevel2 = _classLevel2 + _classLevel3;

@alexsaurus - Your description.ext looks fine. It sounds like the script is just not starting at all for you just like ElDubya. Do you have any errors in client RPT? Directions for finding it are in the OP of this thread. This is in spawn\start.sqf:
Code:
_go = dayzPlayerLogin2 select 2;
If you add these two lines directly below it should output either "true" or "false" to systemChat and client RPT:
Code:
  diag_log str(_go);
    systemChat str(_go);
If there is no output at all it means it is getting stuck at the waitUntil directly above or spawn\start.sqf is not getting executed at all. It would help to know that. :p

So if I wanted the classes to have access to the ones below, it would look like this:
Code:
_classLevel1 = ["76561198077558681","0","0"];
_classLevel2 = ["76561198101711327","76561198134067349","76561198140859904","76561198093511617"];
_classLevel3 = ["76561198042454417","76561198018610724","76561198036952663","76561198148096998","76561198052259694","76561198049679245","76561198122096029","76561198109746920","76561198071528570","76561198094731751","76561198097730894","76561198029310242"];
_classLevel1 = _classLevel1;
_classLevel2 = _classLevel1 + _classLevel2;
_classLevel3 = _classLevel1 + _classLevel2 + _classLevel3;

_publicClasses = [
    // Tier 1
    ["M4A1 CCO","Survivor2_DZ","SurvivorW2_DZ",["30Rnd_556x45_Stanag",2,"RH_15Rnd_9x19_usp",3,VIP_ITEMS],["M4A1_Aim","RH_usp",VIP_TOOLS],"DZ_GunBag_EP1",[],[],1,0],
    ["M4A1 CCO SD","Survivor2_DZ","SurvivorW2_DZ",["30Rnd_556x45_StanagSD",2,"RH_15Rnd_9x19_usp",3,VIP_ITEMS],["M4A1_AIM_SD_camo","RH_usp",VIP_TOOLS],"DZ_GunBag_EP1",[],[],1,0],
    ["Hk416 Aimpoint","Survivor2_DZ","SurvivorW2_DZ",["30Rnd_556x45_Stanag",2,"RH_15Rnd_9x19_usp",3,VIP_ITEMS],["RH_hk416aim","RH_usp",VIP_TOOLS],"DZ_GunBag_EP1",[],[],1,0],
    ["Hk416 SD Aimpoint","Survivor2_DZ","SurvivorW2_DZ",["30Rnd_556x45_StanagSD",2,"RH_15Rnd_9x19_usp",3,VIP_ITEMS],["RH_hk416sdaim","RH_usp",VIP_TOOLS],"DZ_GunBag_EP1",[],[],1,0],
    // Tier 2
    ["M249 SAW","FR_OHara_DZ","SurvivorW3_DZ",["200Rnd_556x45_M249",2,"RH_15Rnd_9x19_uspsd",3,VIP_ITEMS],["DMR_DZ","RH_uspsd",VIP_TOOLS],"DZ_CivilBackpack_EP1",[],[],2,0],
    ["M14 AIM","FR_OHara_DZ","SurvivorW3_DZ",["20Rnd_762x51_DMR",2,"RH_15Rnd_9x19_uspsd",3,VIP_ITEMS],["M14_EP1","RH_uspsd",VIP_TOOLS],"DZ_CivilBackpack_EP1",[],[],2,0],
    ["M24","FR_OHara_DZ","SurvivorW3_DZ",["5Rnd_762x51_M24",4,"RH_15Rnd_9x19_uspsd",3,VIP_ITEMS],["M24","RH_uspsd",VIP_TOOLS],"DZ_CivilBackpack_EP1",[],[],2,0],
    ["Mk17 EGLM RCO","FR_OHara_DZ","SurvivorW3_DZ",["20rnd_762x51_B_SCAR",2,"1Rnd_HE_M203",2,"RH_15Rnd_9x19_uspsd",3,VIP_ITEMS],["SCAR_H_STD_EGLM_Spect","RH_uspsd",VIP_TOOLS],"DZ_CivilBackpack_EP1",[],[],2,0],
    // Tier 3
    ["DMR","Sniper1_DZ","SurvivorWcombat_DZ",["20Rnd_762x51_DMR",2,"RH_15Rnd_9x19_uspsd",3,VIP_ITEMS],["DMR_DZ","RH_uspsd",VIP_TOOLS],"DZ_Backpack_EP1",[],[],3,0],
    ["Hk417 Sniper","Sniper1_DZ","SurvivorWcombat_DZ",["RH_20Rnd_762x51_hk417",2,"RH_15Rnd_9x19_uspsd",3,VIP_ITEMS],["RH_hk417sp","RH_uspsd",VIP_TOOLS],"DZ_Backpack_EP1",[],[],3,0],
    ["Hk417 SD Sniper","Sniper1_DZ","SurvivorWcombat_DZ",["RH_20Rnd_762x51_SD_hk417",2,"RH_15Rnd_9x19_uspsd",3,VIP_ITEMS],["RH_hk417sdsp","RH_uspsd",VIP_TOOLS],"DZ_Backpack_EP1",[],[],3,0],
    ["M21 (Wood)","Sniper1_DZ","SurvivorWcombat_DZ",["20Rnd_762x51_DMR",2,"RH_15Rnd_9x19_uspsd",3,VIP_ITEMS],["vil_M21","RH_uspsd",VIP_TOOLS],"DZ_Backpack_EP1",[],[],3,0],
    // Defualt Loadout
    ["Default Loadout","Survivor2_DZ","SurvivorW2_DZ",["RH_15Rnd_9x19_usp",2,VIP_ITEMS],["RH_usp","ItemMap","ItemToolbox","ItemHatchet_DZE","ItemRadio","Binocular"],"DZ_TerminalPack_EP1",[],[],0,0]
];
 
Hi, I've installed this script on my NAPF server and it was working brilliantly.
Then one day it just started acting weird.
If a player logs in, no matter if they are dead or alive, once the count-down on the load screen starts, it pops up with an empty gear/inventory menu.
You have to close this before the game loads any further. Any idea what this might be?
I get no errors on the server or client RPT files.

I don't know how to upload the picture for you guys
I have disabled class selection and it is set to Halo only
 
@FuzzyMonkey - It sounds like an issue with your player_switchModel.sqf or player_humanityMorph.sqf files. Have you installed any mods that modified those recently? Both of those functions run every time you log in regardless of whether you are a fresh spawn or not. They are responsible for morphing your player into the correct skin and adding the gear back. Also what dayz mod/version are you running?[/QUOTE]

I recently added a prevention to a glitch where you can get out of unconsciousness by bandaging yourself. I'll have to go back to that and see if it modifies anything in those files....
Running OverPoch 1.0.5.1 and 0.25
Will get back to you... Thanx for the quick reply

Here is the link to the glitch-Fix
http://epochmod.com/forum/index.php?/topic/15802-fix-knockout-glitch-action-using/

I'll remove it and see if it changes anything
 
Didn't work
Maybe I should try to re-install this mod from scratch.... I also have DZGM running...
I had the older version running and I changed only this in the Player_switchModel

if ((count units _oldGroup > 1) && {!isNil "PVDZE_plr_LoginRecord"}) then {[player] join _oldGroup;deleteGroup _group;};
_savedGroup = profileNamespace getVariable["savedGroup",[]];
player setVariable ["savedGroup",_savedGroup,true];
player setVariable ["purgeGroup",0,true];

Maybe a complete re-install of DZGM as well?
 
Got a bit of a problem...

6:19:59 Error in expression <then {

_worldspace = [0,_position];
};
};


dayz_players set [count dayz_player>
6:19:59 Error position: <};


dayz_players set [count dayz_player>
6:19:59 Error Missing {
6:19:59 File z\addons\dayz_server\compile\server_playerSetup.sqf, line 267
6:19:59 Error in expression <then {

_worldspace = [0,_position];
};
};


dayz_players set [count dayz_player>
6:19:59 Error position: <};


dayz_players set [count dayz_player>
6:19:59 Error Missing {
6:19:59 File z\addons\dayz_server\compile\server_playerSetup.sqf, line 267
[/spolier]

File of server_playerSetup.sqf
 
hi,

first of all i would like to thank you for that great script!

i was trying to install this http://epochmod.com/forum/index.php?/topic/6332-howto-add-chernarus-spawnselection/ but the instructions were totally confused. it took me over 3 hrs, but i cant get it to work.

then i´ve found this one, and after 15mins, everything runs. ;-)

but now i got some errors:

1. i am admin and i tried several spawn locations.
but after first suicide the map shows less spawn locations.

and after 2nd, 3rd suicide, the map is totally empty, so i only can choose random.
RPT seems to be clear... wheen i restart the server, on first spawn all areas were there again...

2. is it possible to get shown the distance to ground when HALO jump?

Many thanks

cheers

p.s. we run overpoch chernarus 1.63.125548 / 1.0.5.1
 
hi ebay,

thanks for your fast response.

errm, i dont have spawnConfig.sqf

i only have an Config.sqf which is in my Mission root folder.

I have extracted the zipfile to my missions root, contains the config.sqf and the spawn folder.
you mean this?

As long as the body stays active on the server. Random spawn is never blocked, so you should always keep it to prevent running out of spawns. server_spawncleanDead is defined in server_functions.sqf. On Epoch it is set to delete bodies older than 30 minutes by default. You can change that. In server_functions.sqf find:

if (diag_tickTime - _deathTime > 1800) then {

Change 1800 (30 mins) to 900 (15 mins) or whatever you want. If you change it below 10 mins you would also need to modify server_cleanup.fsm to run the parent loop faster.

and we dont see altimeter titletext in free fall...

thanks

cheers
edit: Oh oh, it seems that we have a different version, maybe older, we got it from here, and i installed it that way http://www.dayzpatriots.com/ess-enhanced-spawn-selection-t318.html


what to do now, remove everything and start from scratch, or do you know an workaround?


thanxxx
 
Last edited:
ok, i removed the older version, and the new one is much more better ;-)
but:
1. i got an error in RPT:
2015/03/08, 17:12:45 Error in expression <iable "spawnChoice") < 1} do {
AT_SPAWN
if (!dialog) then {cutText ["","BLACK OU>
2015/03/08, 17:12:45 Error position: <if (!dialog) then {cutText ["","BLACK OU>
2015/03/08, 17:12:45 Error Missing ;
2015/03/08, 17:12:45 File mpmissions\DayZ_Epoch_11.Chernarus\spawn\spawn.sqf, line 112

2. the chute opens automatically at 280m, how can i disable that? <--set to 102 ;-)

3. In the Menu, last City in Row, Zelenogorsk is slightly cutten off, and we cant scroll more down... see my pic:

11tn1ir.jpg



4. maybe we lost our kill messages
//Enables global title text messaging of player deaths
DZE_DeathMsgTitleText = true;
//Enables global chat messaging of player deaths.
DZE_DeathMsgGlobal = true;
//Enables side chat messaging of player deaths.
DZE_DeathMsgSide = true;

seems they not working anymore...


any chance to fix that?

...An really great Script!!! :)

Thanxxxx
 
Last edited:
hi ebay,
thanks again for your really understandable tips! works every time as a charm :D

because we only have an free supported infiStar Version from GTX Gaming, i really didnt know where to put the infistar steps.

but i´ve found how to add 88890 in our AHconfigAdvanced.sqf
but the second part,
Delete this from AH.sqf:
lbsetpicture='no';
Also delete lbsetpicture from the functions restored check (_FRC):
'lbsetpicture',
i cant find because we dont have the full AH.cfg

but still same error.

should i remove the lbSetPicture now as you described higgibaby, or might there be an other chance?

i also didnt do anything to the
CSS:
private ["_characterID","_minutes","_newObject","_playerID","_infected","_victim","_victimName","_killer","_killerName","_weapon","_distance","_message","_loc_message","_key","_death_record"];
//[unit, weapon, muzzle, mode, ammo, magazine, projectile]
_characterID =     _this select 0;
_minutes =        _this select 1;
_newObject =     _this select 2;
_playerID =     _this select 3;
_infected =        _this select 4;
if (((count _this) >= 6) && {(typeName (_this select 5)) == "STRING"} && {(_this select 5) != ""}) then {
    _victimName =    _this select 5;
} else {
    _victimName =  if (alive _newObject) then {name _newObject;} else {"";};
};
_victim = _newObject;
_newObject setVariable ["bodyName", _victimName, true];
//_newObject setVariable ["bodyUID", _playerID, true];

_killer = _victim getVariable["AttackedBy", "nil"];
_killerName = _victim getVariable["AttackedByName", "nil"];

// when a zombie kills a player _killer, _killerName && _weapon will be "nil"
// we can use this to determine a zombie kill && send a customized message for that. right now no killmsg means it was a zombie.
if ((typeName _killer) != "STRING") then
{
    _weapon = _victim getVariable["AttackedByWeapon", "nil"];
    _distance = _victim getVariable["AttackedFromDistance", "nil"];

    if ((owner _victim) == (owner _killer)) then
    {
        _message = format["%1 killed himself",_victimName];
        _loc_message = format["PKILL: %1 killed himself", _victimName];
    }
    else
    {
        _message = format["%1 was killed by %2 with weapon %3 from %4m",_victimName, _killerName, _weapon, _distance];
        _loc_message = format["PKILL: %1 was killed by %2 with weapon %3 from %4m", _victimName, _killerName, _weapon, _distance];
    };

    diag_log _loc_message;

    if(DZE_DeathMsgGlobal) then {
        [nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
    };
    /* needs customRemoteMessage
    if(DZE_DeathMsgGlobal) then {
        customRemoteMessage = ['globalChat', _message, _killer];
        publicVariable "customRemoteMessage";
    };
    */
    if(DZE_DeathMsgSide) then {
        [nil, nil, rspawn, [_killer, _message], { (_this select 0) sideChat (_this select 1) }] call RE;
    };
    if(DZE_DeathMsgTitleText) then {
        [nil,nil,"per",rTITLETEXT,_message,"PLAIN DOWN"] call RE;
    };

    // build array to store death messages to allow viewing at message board in trader citys.
    _death_record = [
        _victimName,
        _killerName,
        _weapon,
        _distance,
        ServerCurrentTime
    ];
    PlayerDeaths set [count PlayerDeaths,_death_record];

    // Cleanup
    _victim setVariable["AttackedBy", "nil", true];
    _victim setVariable["AttackedByName", "nil", true];
    _victim setVariable["AttackedByWeapon", "nil", true];
    _victim setVariable["AttackedFromDistance", "nil", true];
};

// Might not be the best way...
/*
if (isnil "dayz_disco") then {
    dayz_disco = [];
};
*/

// dayz_disco = dayz_disco - [_playerID];
_newObject setVariable["processedDeath",diag_tickTime];

if (typeName _minutes == "STRING") then
{
    _minutes = parseNumber _minutes;
};

diag_log ("PDEATH: Player Died " + _playerID);

if (_characterID != "0") then
{
    _key = format["CHILD:202:%1:%2:%3:",_characterID,_minutes,_infected];
    #ifdef DZE_SERVER_DEBUG_HIVE
    diag_log ("HIVE: WRITE: "+ str(_key));
    #endif
    _key call server_hiveWrite;
}
else
{
    deleteVehicle _newObject;
};
I only have commented out the body check string, cause we dont need that atm.
is there a chance to check my kill messages now by myself, cause currently there is no player online. i have the RPT and the server_console.log from BE and the chat.log. where i could see the kill msgs before.
i dont know how to activate those kills by zombies and AI´s to the message system...


i found an solution for the kill msgs here^^ http://epochmod.com/forum/index.php?/topic/28650-release-fixed-killdeath-messages/
 
Last edited:
hmm... still the rpt error

i followed the steps u mentioned
In spawn.sqf take out these lines:
Code (Text):
#define UNLCK_PIC _lb lbSetPicture[_index,"\ca\ui\data\objective_complete_ca.paa"];
if (_lock > 0) then {_lb lbSetPicture [_index,"\ca\ui\data\ui_server_locked_ca.paa"];};
Also delete this constant anywhere you see it:
Code (Text):
UNLCK_PIC
In class.sqf take out these lines:
Code (Text):
lbSetPicture [8888,_index,"\ca\ui\data\objective_complete_ca.paa"];
if (_lock > 0) then {lbSetPicture [8888,_index,"\ca\ui\data\ui_server_locked_ca.paa"];};
lbSetPicture [8888,_index,"\ca\ui\data\objective_complete_ca.paa"];
maybe i did wrong?

here´s my
CSS:
#define GET_TEXT disableSerialization;_text=lbText[8888,(lbCurSel 8888)];{if(_text==(_x select 0))then{_spawn=_x;};}forEach _spawnPoints+_customBases;
#define GROUP_POS _leader=leader(group player);_grid=getPosATL _leader;if(surfaceIsWater _grid)then{_grid=getPosASL _leader;};
#define PLOT_POS _plot=(uiNamespace getVariable "myPlotPos")select 0;_grid=getPosATL _plot;if(surfaceIsWater _grid)then{_grid=getPosASL _plot;};
//#define UNLCK_PIC _lb lbSetPicture[_index,"\ca\ui\data\objective_complete_ca.paa"];

moveMap = {
    #include "spawnConfig.sqf"
    private ["_ctrl","_leader","_plot","_grid","_spawn","_text","_zoom"];
    GET_TEXT
    _zoom = .35;
    if (isNil "_spawn") then {_spawn = [[],getMarkerPos "center"];_zoom = 4;};
    _grid = _spawn select 1;
    if (count _spawn > 4) then {_grid = getMarkerPos "center";_zoom = 4;};
    if (_text == "Near MyGroup") then {GROUP_POS};
    if (_text == "Near MyPlot") then {PLOT_POS};
    _ctrl = (findDisplay 88890) displayCtrl 8890;
    _ctrl ctrlMapAnimAdd [1,_zoom,_grid];
    ctrlMapAnimCommit _ctrl;
};

spawnFill = {
    #include "spawnConfig.sqf"
    private ["_block","_bodies","_body","_humanity","_index","_lb","_lock","_text","_puid"];
    disableSerialization;
    _blockGroup = 0;
    _blockPlot = 0;
    _bodies = [];
    _lb = (findDisplay 88890) displayCtrl 8888;
    _humanity = player getVariable ["humanity",0];
    _puid = getPlayerUID player;
    {if ((!isNull _x) && {(_x getVariable["bodyUID","0"]) == _puid}) then {_bodies set [count _bodies,(getPosATL _x)];};} count allDead;
    if (_spawnNearPlot) then {
        _poles = (getMarkerPos "center") nearEntities ["Plastic_Pole_EP1_DZ",_mapRadius];
        {if ((_x getVariable ["ownerPUID","0"]) == _puid) exitWith {uiNamespace setVariable ["myPlotPos",[_x]];};} count _poles;
    };
    _block = [];
    if (count _bodies > 0) then {
        {
            _body = _x;
            {
                if ((count _x < 5) && {(_body distance (_x select 1)) < _bodyCheck}) then {_block set [count _block,(_x select 0)];};
            } forEach _spawnPoints;
            if ((count units group player > 1) && {_spawnNearGroup}) then {GROUP_POS if ((_body distance _grid) < _bodyCheck) then {_blockGroup = 1;};};
            if (count (uiNamespace getVariable "myPlotPos") > 0) then {PLOT_POS if ((_body distance _grid) < _bodyCheck) then {_blockPlot = 1;};};
        } count _bodies;
        if ((count _block > 0) || {_blockGroup > 0} || {_blockPlot > 0}) then {systemChat format ["Note: some spawns are blocked due to a body of yours within %1m",_bodyCheck];};
    };
    lbClear _lb;
    {
        _text = _x select 0;
        if !(_text in _block) then {
            _lock = 0;
            _level = _x select 2;
            _hlevel = _x select 3;
            if (((_hlevel < 0) && {_humanity >= _hlevel}) ||
                {(_level == 1) && {!(_puid in _spawnLevel1)}} ||
                {(_level == 2) && {!(_puid in _spawnLevel2)}} ||
                {(_level == 3) && {!(_puid in _spawnLevel3)}} ||
                {(_hlevel > 0) && {_humanity <= _hlevel}}
                ) then {_lock=1;};
            _index = _lb lbAdd _text;
            //UNLCK_PIC
            //if (_lock > 0) then {_lb lbSetPicture [_index,"\ca\ui\data\ui_server_locked_ca.paa"];};
            if (count _x > 4) then {_lb lbSetColor [_index,[.97,.87,.35,1]];};
            if (_hlevel > 0) then {_lb lbSetColor [_index,[.38,.7,.9,1]];};
            if (_hlevel < 0) then {_lb lbSetColor [_index,[1,0,0,.8]];};
            if (_level > 0) then {_lb lbSetColor [_index,[0,1,0,.8]];};
        };
    } forEach _spawnPoints;
    //if ((count units group player > 1) && {_spawnNearGroup} && {_blockGroup < 1}) then {_index = _lb lbAdd "Near MyGroup";_lb lbSetColor [_index,[1,.7,.4,1]];UNLCK_PIC};
    //if ((_blockPlot < 1) && {count (uiNamespace getVariable "myPlotPos") > 0}) then {_index = _lb lbAdd "Near MyPlot";_lb lbSetColor [_index,[1,.7,.4,1]];UNLCK_PIC};
    if (_puid in _customBase) then {
        {if (_puid == _x) then {_index = _forEachIndex;};} forEach _customBase;
        _base = _customBases select _index;
        _index = _lb lbAdd (_base select 0);
        _lb lbSetColor [_index,[0,1,0,.8]];
        //UNLCK_PIC
    };
    lbSort _lb;
};

spawnPick = {
    private ["_go","_humanity","_level","_spawn","_text","_puid"];
    #include "spawnConfig.sqf"
    _go = 1;
    GET_TEXT
    if (_text == "Near MyGroup") then {_spawn = [0,[],0,0];};
    if (_text == "Near MyPlot") then {_spawn = [0,[1],0,0];};
    if (isNil "_spawn") exitWith {systemChat "Select a spawn!";_go=0;};
    if (count _spawn > 2) then {
        _level = _spawn select 2;
        _hlevel = _spawn select 3;
        _humanity = player getVariable ["humanity",0];
        _puid = getPlayerUID player;
        if ((_hlevel < 0) && {_humanity >= _hlevel}) exitWith {systemChat format["Your humanity must be less than %1 for this spawn.",_hlevel];_go=0;};
        if ((_hlevel > 0) && {_humanity <= _hlevel}) exitWith {systemChat format["Your humanity must be greater than %1 for this spawn.",_hlevel];_go=0;};
        if ((_level == 1) && {!(_puid in _spawnLevel1)}) exitWith {systemChat "This spawn is for level 1 VIPs only.";_go=0;};
        if ((_level == 2) && {!(_puid in _spawnLevel2)}) exitWith {systemChat "This spawn is for level 2 VIPs only.";_go=0;};
        if ((_level == 3) && {!(_puid in _spawnLevel3)}) exitWith {systemChat "This spawn is for level 3 VIPs only.";_go=0;};
    };
    if (_go > 0) then {uiNamespace setVariable ["spawnChoice",_spawn];};
};

private ["_count","_find","_leader","_ok","_plot","_grid","_spawn","_spot"];
#include "spawnConfig.sqf"
uiNamespace setVariable ["haloChoice",-1];
uiNamespace setVariable ["spawnChoice",[]];
uiNamespace setVariable ["myPlotPos",[]];

while {count (uiNamespace getVariable "spawnChoice") < 1} do {
    AT_SPAWN
    if (!dialog) then {cutText ["","BLACK OUT",0];_i="createDialog";createDialog "SpawnDialog";call spawnFill;call moveMap;};
    uiSleep 1;
};
closeDialog 0;
moveMap=nil;spawnFill=nil;spawnPick=nil;

_spawn = uiNamespace getVariable "spawnChoice";
_grid = _spawn select 1;
if (count _spawn > 3) then {
    if (count _spawn > 4) then {_grid = _grid call BIS_fnc_selectRandom;};
    if (count _grid == 0) then {GROUP_POS};
    if (count _grid == 1) then {PLOT_POS};
    _count = 0;
    _find = true;
    while {_find && {_count < 99}} do {
        _spot = [_grid,0,_spawnRadius,10,0,2000,0] call BIS_fnc_findSafePos;
        _ok = (_spot distance _grid) < _spawnRadius;
        _spot set [2,0];
        if ((((ATLtoASL _spot) select 2) > 2.5) &&
            {({isPlayer _x} count (_spot nearEntities ["Man",100])) < 1} &&
            {count (nearestObjects [_spot,["Plastic_Pole_EP1_DZ"],45]) < 1} && {_ok}) then {_find = false;};
        _count = _count + 1;
    };
    _grid = _spot;
};
may you have a look on it?

thanks again
 
Back
Top