Move HeliCrash and CarePackage area variables to markers

This allows finer grained control of crashsite, carepackage and infected
camp spawn positions and radii (further north, south, east, west, etc.).

Also removed some hardcoded checks for Chernarus, since
dayz_townGenerator should always be off on other maps for now. Someone
may add town generator coordinates for other maps later.

Related vanilla commits:

b20b402bf0

7c8b69eb82

7dfd3ef9cf
This commit is contained in:
ebaydayz
2016-09-11 14:45:39 -04:00
parent 48334e76d4
commit 16e4dc7b30
65 changed files with 579 additions and 253 deletions

View File

@@ -62,7 +62,7 @@ _insideloop = {
};
for "_i" from 1 to 2048 do {
if (!dayz_townGenerator or {toLower worldName != "chernarus"}) exitWith {};
if (!dayz_townGenerator) exitWith {};
_pos = _a call psrnd;
_pos call _insideloop;
if (_plantcount >= dayz_maxGlobalPlants) exitWith {};

View File

@@ -8,8 +8,8 @@ dayz_matchboxCount = false; // Enable match stick count. After five uses matches
dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used.
dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix
dayz_tameDogs = false; // Allow taming dogs with raw meat
dayz_townGenerator = false; // Spawn vanilla map junk in addition to Epoch DynamicDebris. Only works on Chernarus.
dayz_townGeneratorBlackList = [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]]; // Town generator will not spawn junk within 150m of these positions.
dayz_townGenerator = false; // Spawn vanilla map junk in addition to Epoch DynamicDebris. Currently only compatible with Chernarus. Need to add coordinates for other maps.
dayz_townGeneratorBlackList = []; // Town generator will not spawn junk within 150m of these positions. Example for Chernarus trader cities: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]]
DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with
DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with

View File

@@ -18,7 +18,7 @@
"PVDZE_veh_Init" addPublicVariableEventHandler {(_this select 1) call fnc_veh_ResetEH};
"PVDZE_obj_Remove" addPublicVariableEventHandler {_pos = (_this select 1); _obj = nearestObjects [_pos, DZE_isWreckBuilding, 5]; if (count _obj > 0) then {deleteVehicle (_obj select 0);};};
if (toLower worldName == "chernarus") then {
if (toLower worldName == "chernarus") then { //need to add building coordinates for other maps
{
private ["_building","_fckingcode"];

View File

@@ -131,7 +131,6 @@ pickupInit = false;
mouseOverCarry = false; //for carry slot since determining mouse pos doesn't work right
dayZ_partClasses = ["PartFueltank","PartWheel","PartEngine"]; //No need to add PartGeneric, it is default for everything
dayZ_explosiveParts = ["palivo","motor"];
dayz_centerMarker = getMarkerPos "center";
//Survival Variables
SleepFood = 2160; //minutes (48 hours)
@@ -421,6 +420,12 @@ if(isNil "dayz_ForcefullmoonNights") then {
if(isNil "dayz_randomMaxFuelAmount") then {
dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations.
};
if(isNil "dayz_townGenerator") then {
dayz_townGenerator = true; // Spawn map junk. Currently only compatible with Chernarus. Need to add coordinates for other maps.
};
if(isNil "dayz_townGeneratorBlackList") then {
dayz_townGeneratorBlackList = []; // Town generator will not spawn junk within 150m of these positions.
};
//Replace server individual settings with ranked settings
if(isNil "dayz_presets") then { dayz_presets = "Vanilla"; };
@@ -480,6 +485,14 @@ switch (dayz_presets) do {
};
};
switch (toLower worldName) do {
case "napf";
case "sauerland" : {dayz_minpos = -1000; dayz_maxpos = 26000;};
case "tavi" : {dayz_minpos = -26000; dayz_maxpos = 26000;};
case "chernarus" : {dayz_minpos = -1; dayz_maxpos = 16000;};
case default {dayz_minpos = -20000; dayz_maxpos = 20000;};
};
//start achievements_init
//call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\achievements_init.sqf";
@@ -543,14 +556,6 @@ if (isNil "DZE_PlotPole") then {DZE_PlotPole = [30,45];};
DZE_maintainRange = ((DZE_PlotPole select 0)+20);
if (isNil "DZE_slowZombies") then {DZE_slowZombies = false;};
switch (toLower worldName) do {
case "napf";
case "sauerland" : {dayz_minpos = -1000; dayz_maxpos = 26000;};
case "tavi" : {dayz_minpos = -26000; dayz_maxpos = 26000;};
case "chernarus" : {dayz_minpos = -1; dayz_maxpos = 16000;};
case default {dayz_minpos = -20000; dayz_maxpos = 20000;};
};
if (isServer) then {
dead_bodyCleanup = [];
needUpdate_objects = [];
@@ -573,9 +578,6 @@ if (isServer) then {
DZE_safeVehicle = ["ParachuteWest","ParachuteC"];
if (isNil "EpochUseEvents") then {EpochUseEvents = false;};
if (isNil "EpochEvents") then {EpochEvents = [];};
if (isNil "dayz_MapArea") then {dayz_MapArea = 10000;};
if (isNil "DynamicVehicleArea") then {DynamicVehicleArea = dayz_MapArea / 2;};
if (isNil "HeliCrashArea") then {HeliCrashArea = dayz_MapArea / 2;};
if (isNil "MaxDynamicDebris") then {MaxDynamicDebris = 100;};
if (isNil "MaxVehicleLimit") then {MaxVehicleLimit = 50;};
if (isNil "spawnArea") then {spawnArea = 1400;};

View File

@@ -9,7 +9,7 @@ inGameUISetEventHandler ["Action","false"];
// thanks to Tansien the great
// run only once per character life
{
_plant = _x createVehicleLocal dayz_centerMarker;
_plant = _x createVehicleLocal (getMarkerPos "center");
uiSleep 0.1;
if (sizeOf _x == 0) exitWith {
PVDZ_sec_atp = toArray ("Plants texture hack for type " + _x);

View File

@@ -14,7 +14,6 @@ poi_processObject = {
_o setVariable ["", true]; // prevent network SV by loot/zeds spawner
};
if (toLower worldName == "chernarus") then {
if (toLower worldName == "chernarus") then { //need to add building coordinates for other maps
call compile preprocessFileLineNumbers ("\z\addons\dayz_code\system\mission\chernarus\security\antiwallhack.sqf");
};
};

View File

@@ -159,10 +159,10 @@ sched_townGenerator = {
_x = _cell select _i;
//sched_tg_newSpawned = sched_tg_newSpawned + 1;
if ("" != (_x select 1)) then {
_blocked = if (!dayz_townGenerator or {toLower worldName != "chernarus"}) then {true} else {false};
_position = _x select 2;
_blocked = false;
{if (_position distance _x < 150) exitWith {_blocked = true;};} forEach dayz_townGeneratorBlackList;
if (!_blocked) then {
if (!_blocked && dayz_townGenerator) then {
_object = (_x select 1) createVehicleLocal [0,0,0];
_object setDir (_x select 3);
_object setPos [_position select 0,_position select 1,0];