Hey Guys after a couple days ive grabbed quite an amazing understanding of dayz code but some of it has me scratching my head!
My Issue is, that I want my loot spawn to be farmed rather then not farmed and I cant seem to get it to work!
Ive Changed a lot of property's and have come up with no luck at all if anyone has a foresight or info that can correct my issue please let me know!
Ive provided my code here
My Issue is, that I want my loot spawn to be farmed rather then not farmed and I cant seem to get it to work!
Ive Changed a lot of property's and have come up with no luck at all if anyone has a foresight or info that can correct my issue please let me know!
Ive provided my code here
Code:
_isAir = vehicle player iskindof "Air";
_inVehicle = (vehicle player != player);
_fastRun = _this select 0;
_dateNow = (DateToNumber date);
_age = -1;
if (!_inVehicle) then {
_position = getPosATL player;
//waitUntil{_position nearObjectsReady 200};
_nearby = _position nearObjects ["building",200]; //nearestObjects [player, ["building"], 200];
_tooManyZs = {alive _x} count (_position nearEntities ["zZombie_Base",400]) > dayz_maxLocalZombies;
{
_type = typeOf _x;
_config = configFile >> "CfgBuildingLoot" >> _type;
_canLoot = isClass (_config);
if (_canLoot) then {
_dis = _x distance player;
if ((_dis < 120) and (_dis > 120)) then {
_looted = (_x getVariable ["looted",-0.1]);
_cleared = (_x getVariable ["cleared",true]);
/*
if(isServer) then {
_dateNow = (DateToNumber date);
_age = (_dateNow - _looted) * 525948;
} else {
_dateNow = serverTime;
_age = (_dateNow * 60) - _looted;
};
*/
_dateNow = (DateToNumber date);
_age = (_dateNow - _looted) * 525948;
//diag_log ("SPAWN LOOT: " + _type + " Building is " + str(_age) + " old" );
if ((_age > 10) and (!_cleared) and !_inVehicle) then {
_nearByObj = nearestObjects [(getPosATL _x), ["WeaponHolder","WeaponHolderBase"],((sizeOf _type)+5)];
{deleteVehicle _x} forEach _nearByObj;
_x setVariable ["cleared",true,true];
_x setVariable ["looted",_dateNow,true];
};
if ((_age > 1) and (_cleared) and !_inVehicle) then {
//Register
_x setVariable ["looted",_dateNow,true];
//cleanup
_handle = [_x,_fastRun] spawn building_spawnLoot;
waitUntil{scriptDone _handle};
};
};
if ((time - dayz_spawnWait) > dayz_spawnDelay) then {
if (dayz_spawnZombies < dayz_maxLocalZombies) then {
if (!_tooManyZs) then {
private["_zombied"];
_zombied = (_x getVariable ["zombieSpawn",-0.1]);
_dateNow = (DateToNumber date);
_age = (_dateNow - _zombied) * 525948;
if (_age > 5) then {
_bPos = getPosATL _x;
_zombiesNum = {alive _x} count (_bPos nearEntities ["zZombie_Base",(((sizeOf _type) * 2) + 10)]);
if (_zombiesNum == 0) then {
//Randomize Zombies
_x setVariable ["zombieSpawn",_dateNow,true];
_handle = [_x,_fastRun] spawn building_spawnZombies;
waitUntil{scriptDone _handle};
//} else {
//_x setVariable ["zombieSpawn",_dateNow,true];
};
};
};
} else {
dayz_spawnWait = time;
dayz_spawnZombies = 0;
};
};
};
if (!_fastRun) then {
sleep 0.1;
};
} forEach _nearby;
};