Merge branch 'RC1-1.0.5.2' of https://github.com/vbawol/DayZ-Epoch into DB_backup_script

Conflicts:
	SQF/dayz_code/Configs/CfgVehicles/AIR/CH53.hpp
This commit is contained in:
RimBlock
2014-07-24 20:30:25 +08:00
87 changed files with 615 additions and 477 deletions

View File

@@ -314,6 +314,7 @@ class CfgSurvival {
sex = "female";
playerModel = "SurvivorWpink_DZ";
};
/*
class Skin_SurvivorWsequisha_DZ: Default {
sex = "female";
playerModel = "SurvivorWsequisha_DZ";
@@ -322,6 +323,7 @@ class CfgSurvival {
sex = "female";
playerModel = "SurvivorWsequishaD_DZ";
};
*/
class Skin_SurvivorWcombat_DZ: Default {
sex = "female";
playerModel = "SurvivorWcombat_DZ";

View File

@@ -116,7 +116,7 @@ class CfgBuildingLoot {
{"specialclothes","specialclothes",0.01},
{"WeaponHolder_MeleeCrowbar","object",0.03},
{"ItemBriefcaseEmpty","magazine",0.01},
{ "shotgunsingleshot", "cfglootweapon", 0.05},
{ "shotgunsingleshot", "cfglootweapon", 0.05}
};
lootTypeSmall[] = {
{ "ItemSodaMdew","magazine",0.01 },
@@ -225,7 +225,7 @@ class CfgBuildingLoot {
{"ItemFishingPole","weapon",0.02},
{"ItemLightBulb","magazine",0.02},
{"ItemSledgeHandle","magazine",0.02},
{ "farmweapons", "cfglootweapon", 0.15},
{ "farmweapons", "cfglootweapon", 0.15}
};
lootTypeSmall[] = {
{ "","generic", 0.79},
@@ -366,17 +366,15 @@ class CfgBuildingLoot {
{ "machineguns", "cfglootweapon", 0.03 }
};
lootTypeSmall[] = {
{ "pistols","cfglootweapon",0.15 },
{ "Binocular","weapon",0.02 },
{ "ItemFlashlightRed","weapon",0.03 },
{ "ItemKnife","weapon",0.04 },
{ "ItemGPS","weapon",0.02 },
{ "ItemMap","weapon",0.02 },
{ "","medical",0.09 },
{ "","generic",0.34 },
{ "","military",0.26 },
{ "submachinegun","cfglootweapon",0.02 },
{ "ItemEtool","weapon",0.01 }
{ "pistols", "cfglootweapon", 0.14 },
{ "Binocular", "weapon", 0.05 },
{ "ItemFlashlightRed", "weapon", 0.03 },
{ "ItemKnife", "weapon", 0.04 },
{ "ItemGPS", "weapon", 0.02 },
{ "", "medical", 0.12 },
{ "", "generic", 0.22 },
{ "", "military", 0.35 },
{ "ItemEtool", "weapon", 0.03 }
};
};
class MilitaryIndustrial: Default {
@@ -412,16 +410,15 @@ class CfgBuildingLoot {
{ "machineguns", "cfglootweapon", 0.01 }
};
lootTypeSmall[] = {
{ "pistols","cfglootweapon",0.12 },
{ "Binocular","weapon",0.05 },
{ "ItemFlashlightRed","weapon",0.03 },
{ "ItemKnife","weapon",0.04 },
{ "ItemGPS","weapon",0.02 },
{ "","medical",0.02 },
{ "","generic",0.09 },
{ "","military",0.34 },
{ "submachinegun","cfglootweapon",0.26 },
{ "ItemEtool","weapon",0.03 }
{ "pistols", "cfglootweapon", 0.14 },
{ "Binocular", "weapon", 0.05 },
{ "ItemFlashlightRed", "weapon", 0.03 },
{ "ItemKnife", "weapon", 0.04 },
{ "ItemGPS", "weapon", 0.02 },
{ "", "medical", 0.12 },
{ "", "generic", 0.22 },
{ "", "military", 0.35 },
{ "ItemEtool", "weapon", 0.03 }
};
};
class IndustrialMilitary: Default {
@@ -462,15 +459,14 @@ class CfgBuildingLoot {
{ "machineguns", "cfglootweapon", 0.01 }
};
lootTypeSmall[] = {
{ "pistols", "cfglootweapon", 0.12 },
{ "pistols", "cfglootweapon", 0.14 },
{ "Binocular", "weapon", 0.05 },
{ "ItemFlashlightRed", "weapon", 0.03 },
{ "ItemKnife", "weapon", 0.04 },
{ "ItemGPS", "weapon", 0.02 },
{ "", "medical", 0.02 },
{ "", "generic", 0.09 },
{ "", "military", 0.34 },
{ "submachinegun", "cfglootweapon", 0.26 },
{ "", "medical", 0.12 },
{ "", "generic", 0.22 },
{ "", "military", 0.35 },
{ "ItemEtool", "weapon", 0.03 }
};
};

View File

@@ -307,8 +307,9 @@ class Land_A_Castle_Gate: Residential {
lootPos[] = {{0.244141,-4.48486,-3.14362},{-1.25293,2.98779,-3.07028},{4.50684,-3.31152,-2.94885},{4.55176,3.29834,-2.94858},{7.94824,1.4082,-2.91003}};
}; // Qty: 3
class Land_Mil_Barracks: Military {
lootPos[] = {};
lootPosZombie[] = {{9.02515,-0.694336,-1.16602},{9.01538,0.856445,-1.16602}};
lootPos[] = {{-0.891113,-3.48926,-1.51633},{-1.09204,2.88672,-1.51633},{-3.55591,3.42871,-1.51633},{-6.31299,3.7041,-1.51633},{-7.68262,-3.54102,-1.93634},{-5.11475,-2.09961,-1.93634},{0.24707,3.57324,-1.93634},{6.72217,-2.47949,-1.93634},{5.41602,3.99316,-1.93634},{-6.34912,3.90137,-0.726349},{-3.58691,2.8252,-0.726349},{-1.04224,3.39941,-0.726349},{-3.75195,-3.25977,-0.726349},{-0.864746,-3.88672,-0.726349},{-3.52563,-2.44824,-1.93634},{-6.06396,2.57422,-1.93634},{-0.935059,-4.05078,-1.93634},{-1.39502,3.89941,-1.93634}};
lootPosZombie[] = {{-2.15845,-3.12793,-1.06134},{2.13281,3.24316,-1.06134},{-6.20679,-0.125,-1.06134},{2.09521,-3.36719,-1.06134}};
lootPosSmall[] = {{-6.45703,2.03125,-1.79633},{-3.5127,1.98242,-1.79633},{-1.14746,1.9873,-1.79633},{-0.911621,-1.87598,-1.79633},{-3.81567,-1.90234,-1.79633},{-6.5249,-1.86426,-1.79633},{3.78979,-4.17773,-1.13635},{5.32861,-4.19043,-1.13635},{5.20923,-1.99805,-1.65634},{6.54175,-1.99707,-1.65634},{3.82324,-1.96582,-1.65634},{6.89209,2.93457,-1.84634},{6.98877,1.95215,-1.84634},{6.98291,2.23145,-1.46634},{7.00391,2.73438,-1.46634},{6.96729,3.01953,-1.08633},{6.94824,2.04785,-0.706329},{4.36768,3.13086,-0.396332},{3.86768,3.49316,-0.396332},{3.84521,3.49609,-1.86633},{4.33984,3.1748,-1.86633}};
}; // Qty: 8
class Land_Mil_Barracks_L: Military {
lootPos[] = {};

View File

@@ -1700,7 +1700,7 @@ class CfgMagazines {
{
class Crafting
{
text = $STR_EPOCH_PLAYER_269;
text = $STR_EPOCH_PLAYER_269b;
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {"workshop"};
requiretools[] = {"ItemToolbox","ItemKnife"};

View File

@@ -155,6 +155,7 @@ class Skin_SurvivorWpink_DZ: SkinBase {
displayName = "Melly (female)";
descriptionShort = "Purple top with blue pants.";
};
/*
class Skin_SurvivorWsequisha_DZ: SkinBase {
scope = 2;
displayName = "Maria (female)";
@@ -165,6 +166,7 @@ class Skin_SurvivorWsequishaD_DZ: SkinBase {
displayName = "Sequisha (female)";
descriptionShort = "Sequisha Clothes (female)";
};
*/
class Skin_SurvivorWcombat_DZ: SkinBase {
scope = 2;
displayName = "Alejandria";

View File

@@ -1,4 +1,49 @@
class AH6_Base_EP1;
class AH6J_EP1_DZ: AH6_Base_EP1
{
scope = 2;
side = 2;
displayName = "AH6J_DZ";
crew = "";
typicalCargo[] = {};
weapons[] = {"TwinM134","CMFlareLauncher"};
magazines[] = {"4000Rnd_762x51_M134","60Rnd_CMFlareMagazine"};
threat[] = {0.6,0.4,0.1};
gunBeg[] = {"muzzle_1","muzzle_2"};
gunEnd[] = {"chamber_1","chamber_2"};
radarType = 0;
class TransportMagazines {};
class TransportWeapons {};
class Turrets {};
class AnimationSources
{
class Gatling_1
{
source = "revolving";
weapon = "TwinM134";
};
class Gatling_2
{
source = "revolving";
weapon = "TwinM134";
};
};
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"ca\air_e\ah6j\data\ah6_merge1_co.paa","ca\air_e\ah6j\data\default_co.paa"};
commanderCanSee = 2+16+32;
gunnerCanSee = 2+16+32;
driverCanSee = 2+16+32;
transportMaxWeapons = 3;
transportMaxMagazines = 10;
transportmaxbackpacks = 2;
};
class AH6J_EP1_DZE: AH6J_EP1_DZ
{
scope = 2;
side = 2;
displayName = "AH6J_DZE";
magazines[] = {};
};
class AH6X_DZ: AH6_Base_EP1 {
displayname = "AH6X Little Bird";
displaynameshort = "AH6X_DZ";

View File

@@ -1,21 +1,21 @@
#include "\usec_ch53\config.cpp"
class CH53_base: USEC_ch53_E {
class Turrets: Turrets {
class MainTurret: MainTurret {
class ViewOptics: ViewOptics {};
class Turrets: Turrets {};
};
};
};
class CH53_DZ: CH53_base {
displayname = "USEC CH53E";
displaynameshort = "CH53_DZ";
enablemanualfire = 0;
class USEC_ch53_E;
class CH53_DZE : USEC_ch53_E {
scope = 2;
side = 2;
displayname = "USEC CH53E DZE";
displaynameshort = "CH53_DZE";
destrType = "DestructWreck";
enablemanualfire = 0;
crew = "";
soundGetIn[] = {"\ca\Sounds\Air\Noises\heli_door_01",0.316228,1};
soundGetOut[] = {"\ca\Sounds\Air\Noises\heli_door_01",0.316228,1,30};
soundEnviron[] = {"",0.0316228,1};
soundEngineOnInt[] = {"ca\sounds\Air\UH1Y\int\int-start-final",0.1,1};
soundEngineOnExt[] = {"ca\sounds\Air\UH1Y\ext\ext-motor-start",1,1,800};
soundEngineOffInt[] = {"ca\sounds\Air\UH1Y\int\int-stop-final",0.1,1};
soundEngineOffExt[] = {"ca\sounds\Air\UH1Y\ext\ext-motor-stop",1,1,800};
soundGear[] = {"\usec_ch53\sound\ch53_gear", db10, 1, 100};
soundDammage[] = {"\usec_ch53\sound\dws_warning_beeps", 3.16228, 1, 20};
typicalCargo[] = {};
hiddenSelections[] = {};
radartype = 0;
@@ -27,6 +27,7 @@ class CH53_DZ: CH53_base {
transportMaxWeapons = 25;
transportMaxMagazines = 80;
transportmaxbackpacks = 15;
<<<<<<< HEAD
fuelCapacity = 3849;
class Turrets : Turrets {
@@ -43,3 +44,6 @@ class CH53_DZE: CH53_DZ {
};
};
};
=======
};
>>>>>>> 41c658c0c8b8f580c5b137ea22830ac81c2123e6

View File

@@ -274,7 +274,7 @@ class CfgWeapons {
#include "CfgWeapons\Weapon\Sniper\KSVK.hpp"
#include "CfgWeapons\Weapon\Sniper\DMR_DZ.hpp"
#include "CfgWeapons\Weapon\Pistol\MakerovSD.hpp"
#include "CfgWeapons\Weapon\Pistol\MakarovSD.hpp"
#include "CfgWeapons\Weapon\LMG\m240_scoped.hpp"
#include "CfgWeapons\Weapon\LMG\M249_EP1.hpp"
#include "CfgWeapons\Weapon\LMG\M249_m145_EP1.hpp"

View File

@@ -1,7 +1,4 @@
class Crossbow_DZ : Crossbow {
displayName = $STR_EQUIP_CROSSBOW;
magazines[] =
{
"WoodenArrow"
};
magazines[] ={"Quiver","WoodenArrow"};
};

View File

@@ -119,6 +119,14 @@ class RscTitles
name = "statusBorder";
onLoad = "uiNamespace setVariable ['DAYZ_GUI_display', _this select 0];";
class ControlsBackground {
class RscStructuredText_1199: RscStructuredText
{
idc = 1199;
x = 0.250001;
y = 0.350001;
w = 0.5;
h = 0.1;
};
class RscPicture_1901: RscPictureGUI
{
idc = 1901;

View File

@@ -215,6 +215,8 @@ class CfgVehicles {
#include "CfgVehicles\AIR\UH1.hpp"
#include "CfgVehicles\AIR\AH6.hpp"
#include "CfgVehicles\AIR\C130.hpp"
#include "CfgVehicles\AIR\CH53.hpp"
// LAND (Armed)
#include "CfgVehicles\LAND\HMMWV.hpp"

View File

@@ -181,7 +181,7 @@ class RscDisplayMain : RscStandardDisplay {
class CA_Version;
class DAYZ_Version : CA_Version {
idc = -1;
text = "1.0.5";
text = "1.0.5.2";
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
};
delete CA_TitleMainMenu;

View File

@@ -7,6 +7,8 @@ _isVehicle = false;
_vehicleSrc = _this select 3;
_abort = false;
if(!(isNull _vehicleSrc)) then {
_isVehicle = ((_vehicleSrc isKindOf "AllVehicles") && !(_vehicleSrc isKindOf "Man"));
@@ -147,4 +149,4 @@ if(_IsNearVehicle >= 1) then {
} else {
cutText [(localize "str_epoch_player_27"), "PLAIN DOWN"];
};
DZE_ActionInProgress = false;
DZE_ActionInProgress = false;

View File

@@ -115,7 +115,7 @@ switch _option do {
_countIn = _x select 1;
_itemText = getText(configFile >> "CfgMagazines" >> _itemIn >> "displayName");
if (_cost != "") then {
_cost = _cost + " && ";
_cost = _cost + " and ";
};
_cost = _cost + (str(_countIn) + " of " + _itemText);
} count _requirements;

View File

@@ -153,7 +153,7 @@ if(_IsNearPlot == 0) then {
_nearestPole = _findNearestPole select 0;
// Find owner
_ownerID = _nearestPole getVariable["CharacterID","0"];
_ownerID = _nearestPole getVariable ["CharacterID","0"];
// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
@@ -183,7 +183,7 @@ _missing = "";
_hasrequireditem = true;
{
_hastoolweapon = _x in weapons player;
if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); }
if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); };
} count _require;
_hasbuilditem = _this in magazines player;

View File

@@ -37,7 +37,8 @@ _abort = false;
_distance = 3;
_reason = "";
_waterLevel = 0;
_outputWeapons = [];
_selectedRecipeOutput = [];
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);
@@ -95,7 +96,7 @@ if (_canDo) then {
{
_hastoolweapon = _x in weapons player;
if(!_hastoolweapon) exitWith { _craft_doLoop = false; _missingTools = true; _missing = _x; };
} count _selectedRecipeTools;
} forEach _selectedRecipeTools;
if(!_missingTools) then {
@@ -167,13 +168,13 @@ if (_canDo) then {
if ((_x == _itemIn) || (!_selectedRecipeInputStrict && _configParent == _itemIn)) then {
// Get lowest waterlevel
if ((_x == "ItemWaterbottle") ||( _configParent == "ItemWaterbottle")) then {
_waterLevel = floor((getNumber(configFile >> "CfgMagazines" >> _x >> "wateroz")) - 1);
_waterLevel = getNumber(configFile >> "CfgMagazines" >> _x >> "wateroz");
if (_waterLevel_lowest == 0 || _waterLevel < _waterLevel_lowest) then {
_waterLevel_lowest = _waterLevel;
};
};
};
} count magazines player;
} forEach (magazines player);
{
_configParent = configName(inheritsFrom(configFile >> "cfgMagazines" >> _x));
@@ -194,7 +195,7 @@ if (_canDo) then {
_temp_removed_array set [count _temp_removed_array,_x];
};
};
} forEach magazines player;
} forEach (magazines player);
} forEach _selectedRecipeInput;
@@ -205,15 +206,13 @@ if (_canDo) then {
_num_removed_weapons = 0;
{
_num_removed_weapons = _num_removed_weapons + ([player,_x] call BIS_fnc_invRemove);
} count _inputWeapons;
} forEach _inputWeapons;
if (_num_removed_weapons == (count _inputWeapons)) then {
if(_randomOutput == 1) then {
_outputWeapons = [];
if (!isNil "_outputWeapons" && count _outputWeapons > 0) then {
_selectedWeapon = _outputWeapons call BIS_fnc_selectRandom;
_outputWeapons = [_selectedWeapon];
};
_selectedRecipeOutput = [];
if (!isNil "_selectedRecipeOutput" && count _selectedRecipeOutput > 0) then {
_selectedMag = _selectedRecipeOutput call BIS_fnc_selectRandom;
_selectedRecipeOutput = [_selectedMag];
@@ -223,7 +222,7 @@ if (_canDo) then {
};
{
player addWeapon _x;
} count _outputWeapons;
} forEach _outputWeapons;
{
_itemOut = _x select 0;
@@ -250,14 +249,14 @@ if (_canDo) then {
// sleep here
sleep 1;
} count _selectedRecipeOutput;
} forEach _selectedRecipeOutput;
_tradeComplete = _tradeComplete+1;
};
} else {
// Refund parts since we failed
{player addMagazine _x;} count _temp_removed_array;
{player addMagazine _x; } forEach _temp_removed_array;
cutText [format[(localize "str_epoch_player_151"),_removed_total,_tobe_removed_total], "PLAIN DOWN"];
};

View File

@@ -48,26 +48,31 @@ if (["ItemSoda",_itemorignal] call fnc_inString) then {
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
};
if (_hasoutput && !_invehicle) then {
// Selecting output
_itemtodrop = drink_output select (drink_with_output find _itemorignal);
if (_hasoutput) then{
_itemtodrop = drink_output select(drink_with_output find _itemorignal);
sleep 3;
_nearByPile= nearestObjects [(getPosATL player), ["WeaponHolder","WeaponHolderBase"],2];
if (count _nearByPile ==0) then {
_iPos = getPosATL player;
_radius = 0.0;
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
_item setposATL _iPos;
} else {
_item = _nearByPile select 0;
};
_item addMagazineCargoGlobal [_itemtodrop,1];
};
if (!_invehicle) then {
// Selecting output
_itemtodrop = drink_output select (drink_with_output find _itemorignal);
sleep 3;
_nearByPile= nearestObjects [(getPosATL player), ["WeaponHolder","WeaponHolderBase"],2];
if (count _nearByPile ==0) then {
_iPos = getPosATL player;
_radius = 0.0;
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
_item setposATL _iPos;
} else {
_item = _nearByPile select 0;
};
_item addMagazineCargoGlobal [_itemtodrop,1];
};
if (_invehicle) then {
sleep 2;
(vehicle player) addMagazineCargoGlobal [_itemtodrop,1];
};
if (_hasoutput && _invehicle) then {
sleep 2;
(vehicle player) addMagazineCargoGlobal [_itemtodrop,1];
};
//add infection chance for "ItemWaterbottle",

View File

@@ -5,18 +5,19 @@ _caller = _this select 1;
call fnc_usec_medic_removeActions;
r_action = false;
_callerID = _caller getVariable "CharacterID";
_targetID = _target getVariable "CharacterID";
_callerID = _caller getVariable ["CharacterID", "0"];
_targetID = _target getVariable ["CharacterID", "0"];
if ((_callerID != "0") && (_targetID != "0")) then {
_friendlies = _caller getVariable ["friendlies", []];
_friendlies set [count _friendlies, _targetID];
_caller setVariable ["friendlies", _friendlies, true];
_friendlies = _caller getVariable ["friendlies", []];
_friendlies set [count _friendlies, _targetID];
_caller setVariable ["friendlies", _friendlies, true];
_rfriendlies = _target getVariable ["friendlies", []];
_rfriendlies = _target getVariable ["friendlies", []];
if !(_callerID in _rfriendlies) then {
titleText [(localize "STR_EPOCH_ACTIONS_8"), "PLAIN DOWN"]; //To Caller
/* PVS/PVC - Skaronator */
PVDZE_send = [_target,"tagFriendly",[_target]]; //To Target
publicVariableServer "PVDZE_send";
if !(_callerID in _rfriendlies) then {
titleText [(localize "STR_EPOCH_ACTIONS_8"), "PLAIN DOWN"]; //To Caller
/* PVS/PVC - Skaronator */
PVDZE_send = [_target,"tagFriendly",[_target]]; //To Target
publicVariableServer "PVDZE_send";
};
};

View File

@@ -4,7 +4,7 @@ private ["_part_out","_part_in","_qty_out","_qty_in","_textPartIn","_textPartOut
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
DZE_ActionInProgress = true;
//_activatingPlayer = getPlayerUID player;
//_activatingPlayer = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
_part_out = (_this select 3) select 0;
_part_in = (_this select 3) select 1;

Binary file not shown.

View File

@@ -15,9 +15,10 @@ private "_ret";
if(count _this > 0) then
{
_ret = count _this; //number of elements in the array
//_ret = count _this; //number of elements in the array
//_ret = [0, _ret] call BIS_fnc_randomInt; //choose random index
_ret = floor(random _ret);
_ret = floor(random(count _this));
_ret = _this select _ret; //get the element, return it
};
_ret
_ret;

View File

@@ -31,9 +31,9 @@ if (_inVehicle) then {
//allow switch to pilot
if (((_assignedRole select 0) != "driver") && ((!alive _driver) || ((_vehicle emptyPositions "Driver") > 0))) then {
if (_vehicle isKindOf "helicopter") then {
_action = _vehicle addAction [localize "STR_EPOCH_PLAYER_308A", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToPilot",_driver], 0, false, true];
_action = _vehicle addAction[localize "STR_EPOCH_PLAYER_308A", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToPilot", _driver], 0, false, true];
} else {
_action = _vehicle addAction [localize "STR_EPOCH_PLAYER_308", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToPilot",_driver], 0, false, true];
_action = _vehicle addAction[localize "STR_EPOCH_PLAYER_308", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToPilot", _driver], 0, false, true];
};
r_player_actions2 set [count r_player_actions2,_action];
r_action2 = true;
@@ -46,13 +46,13 @@ if (_inVehicle) then {
};
//allow switch to gunner
if (((_assignedRole select 0) != "Turret") && ((_vehicle emptyPositions "Gunner") > 0)) then {
_action = _vehicle addAction [localize "STR_EPOCH_PLAYER_310", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToTurret",_driver], 0, false, true];
_action = _vehicle addAction[localize "STR_EPOCH_PLAYER_310", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToTurret", _driver], 0, false, true];
r_player_actions2 set [count r_player_actions2,_action];
r_action2 = true;
};
//allow switch to commander
if (((assignedCommander _vehicle) != player) && ((_vehicle emptyPositions "Commander") > 0)) then {
_action = _vehicle addAction [localize "STR_EPOCH_PLAYER_311", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToTurret",_driver], 0, false, true];
_action = _vehicle addAction[localize "STR_EPOCH_PLAYER_311", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToTurret", _driver], 0, false, true];
r_player_actions2 set [count r_player_actions2,_action];
r_action2 = true;
};

View File

@@ -1,4 +1,4 @@
private ["_cTarget","_isOk","_display","_inVehicle"];
private ["_cTarget","_isOk","_Dis","_display","_inVehicle"];
disableSerialization;
_display = (_this select 0);
_inVehicle = (vehicle player) != player;
@@ -13,8 +13,8 @@ _isOk = false;
_isOk = _cTarget isKindOf _x;
};
} count ["LandVehicle","Air", "Ship"];
if((locked _cTarget) && _isOk && (((vehicle player) distance _cTarget) < 12)) then {
_Dis = if (_cTarget isKindOf "USEC_ch53_E") then {25;} else {12;};
if((locked _cTarget) && _isOk && (((vehicle player) distance _cTarget) < _Dis)) then {
cutText [(localize "str_epoch_player_7") , "PLAIN DOWN"];
_display closeDisplay 1;
};

View File

@@ -468,7 +468,7 @@ if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance curso
if (_player_SurrenderedGear) then {
if (s_player_SurrenderedGear < 0) then {
s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTION_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""];
s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTIONS_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_SurrenderedGear;

View File

@@ -1,14 +1,13 @@
private ["_nul","_timeout","_isOnDeck","_isInLocation","_inVehicle","_bloodLow","_isHospital","_totalTimeout","_display","_ctrl1","_ctrl1Pos"];
private ["_totalTimeout","_timeout","_bloodLow","_display","_ctrl1","_ctrl1Pos"];
disableSerialization;
if ((!r_player_handler1) && (r_handlerCount == 0)) then {
//Unconscious Meter
if (r_player_cardiac) then {r_player_timeout = r_player_timeout max 300;};
_totalTimeout = r_player_timeout;
if (_totalTimeout == 0) then { _totalTimeout = 1; }; //Fix for zero divisor
if (_totalTimeout == 0) then { _totalTimeout = 1; };
4 cutRsc ["playerStatusWaiting", "PLAIN",0];
_display = uiNamespace getVariable 'DAYZ_GUI_waiting';
_ctrl1 = _display displayCtrl 1400;
_ctrl1Pos = ctrlPosition _ctrl1;
_timeout = 0;
r_handlerCount = r_handlerCount + 1;
r_player_handler1 = true;
@@ -17,27 +16,16 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then {
"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit 0;
0 fadeSound 0.05;
disableUserInput true;
//waitUntil{USEC_MotherInbox == ""};
//["MED001",0,"Unconscious"] call fnc_usec_recordEventClient;
//diag_log "CLIENT: Unconscious...";
while {(r_player_unconscious)} do {
while {r_player_unconscious} do {
_ctrl1 ctrlSetPosition [(_ctrl1Pos select 0),(_ctrl1Pos select 1),(_ctrl1Pos select 2),((0.136829 * safezoneH) * (1 -(r_player_timeout / _totalTimeout)))];
_ctrl1 ctrlCommit 1;
playSound "heartbeat_1";
sleep 1;
_isOnDeck = false; //getPos player in LHA_Deck;
_isInLocation = false; //getPos player in LHA_Location;
_inVehicle = (vehicle player != player);
_bloodLow = ((r_player_blood/r_player_bloodTotal) < 0.5);
if ((surfaceIsWater (getPosASL player)) && !_isOnDeck && !_inVehicle) then {
player setpos [(getPosASL player select 0),(getPosASL player select 1),0.3];
};
if(_timeout == 0) then {
if (!r_player_dead && !_bloodLow && r_player_injured) then {
_timeout = 10;
//_animType = (USEC_WoundAnim select (floor(random (count USEC_WoundAnim))));
//player playActionNow _anim;
};
} else {
_timeout = _timeout - 1;
@@ -46,54 +34,10 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then {
if (r_player_timeout > 0) then {
r_player_timeout = r_player_timeout - 1;
} else {
if ((!r_player_dead) && (!r_player_cardiac)) then {
if (!r_player_dead) then {
_nul = [] spawn fnc_usec_recoverUncons;
};
};
//Check if near field hospital
_isHospital = false; //(count( nearestObjects [player, ["USMC_WarfareBFieldhHospital"], 8]) > 0);
if (_isHospital || _isOnDeck || _isInLocation) then {
waitUntil {!(player getVariable ["NORRN_unit_dragged", false])};
cutText[localize "str_medical_healing", "PLAIN", 2];
sleep 5;
r_player_inpain = false;
r_player_dead = false;
r_player_injured = false;
r_player_cardiac = false;
//Give Blood
r_player_blood = r_player_bloodTotal;
player setVariable["USEC_lowBlood",false,true];
//Self Healing
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medMorphine.sqf";
player setVariable ["hit_legs",0,false];
player setVariable ["hit_hands",0,false];
player setVariable["medForceUpdate",true];
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf";
player setVariable["medForceUpdate",true];
/* REMOVED USE THAT ABOVE
usecMorphine = [player,player];
publicVariable "usecMorphine";
usecBandage = [player,player];
publicVariable "usecBandage";
*/
player setVariable ["USEC_inPain", false, true];
player setdamage 0;
{player setVariable[_x,false,true];} count USEC_woundHit;
player setVariable ["USEC_injured",false,true];
sleep 1;
r_player_handler = false;
_nul = [] spawn fnc_usec_recoverUncons;
};
if (!(player getVariable ["NORRN_unconscious", true])) then {
_nul = [] spawn fnc_usec_recoverUncons;
};
@@ -102,10 +46,7 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then {
};
};
4 cutRsc ["default", "PLAIN",1];
//diag_log "CLIENT: Conscious...";
disableUserInput false;
//waitUntil{USEC_MotherInbox == ""};
//["MED001",0,"Conscious"] call fnc_usec_recordEventClient;
if (!r_player_injured && ((r_player_blood/r_player_bloodTotal) >= 0.5)) then {
10 fadeSound 1;
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5;

View File

@@ -2,7 +2,9 @@ private ["_display","_body","_playerID","_array","_source","_method","_canHitFre
disableSerialization;
if (deathHandled) exitWith {};
deathHandled = true;
if ((alive player) && {isNil {dayz_playerName}}) then {
dayz_playerName = name player;
};
//Prevent client freezes
_display = findDisplay 49;
if(!isNull _display) then {_display closeDisplay 0;};
@@ -10,7 +12,7 @@ if (dialog) then {closeDialog 0;};
if (visibleMap) then {openMap false;};
_body = player;
_playerID = getPlayerUID player;
_playerID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
disableUserInput true;
//add weapon on back to player...
@@ -22,7 +24,7 @@ _infected = 0;
if (r_player_infected && DZE_PlayerZed) then {
_infected = 1;
};
PVDZE_plr_Died = [dayz_characterID,0,_body,_playerID,_infected];
PVDZE_plr_Died = [dayz_characterID,0,_body,_playerID,_infected, dayz_playerName];
publicVariableServer "PVDZE_plr_Died";
_id = [player,20,true,getPosATL player] call player_alertZombies;
@@ -91,9 +93,9 @@ addSwitchableUnit dayz_originalPlayer;
setPlayable dayz_originalPlayer;
selectPlayer dayz_originalPlayer;
_myGroup = group _body;
[_body] joinSilent dayz_firstGroup;
deleteGroup _myGroup;
//_myGroup = group _body;
//[_body] joinSilent dayz_firstGroup;
//deleteGroup _myGroup;
3 cutRsc ["default", "PLAIN",3];
4 cutRsc ["default", "PLAIN",3];

View File

@@ -22,7 +22,7 @@ EpochDeathBoardLoad = {
];*/
{
lbAdd [EpochDeathBoardDialogList, (_x select 0)];
} count PVDZE_plr_DeathBResult;
} forEach PVDZE_plr_DeathBResult;
};
@@ -34,7 +34,7 @@ EpochDeathBoardClick = {
"What happens if you get scared half to death, twice?",
"Don't upset me.. I'm running out of places to hide the bodies.",
"Don't run, you'll just die tired.",
"Give me immortality || give me death.",
"Give me immortality or give me death.",
"I can't live with death; he's always leaving the toilet seat up.",
"Why won't you die?!?!",
"Guns don't kill people; death kills people. It's a proven medical fact."
@@ -77,5 +77,7 @@ EpochDeathBoardClick = {
_record_stxt = format["%1<t font='Bitstream'>%2</t>", _record_stxt, (_quotes call BIS_fnc_selectRandom)];
call compile format["epoch_death_board_record_%1 = ""%2"";" ,_i , _record_stxt];
};
_output ctrlSetStructuredText parseText _record_stxt;
if (!isNil "_record_stxt") then {
_output ctrlSetStructuredText (parseText _record_stxt);
};
};

View File

@@ -1,11 +1,11 @@
private ["_weapons","_backpackWpn","_backpackMag","_currentWpn","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_tagSetting","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_playerObjName","_wpnType","_ismelee"];
private ["_weapons","_backpackWpn","_backpackMag","_currentWpn","_isWeapon","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_tagSetting","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_playerObjName","_wpnType","_ismelee"];
_class = _this;
_position = getPosATL player;
_dir = getDir player;
_currentAnim = animationState player;
_tagSetting = player getVariable["DZE_display_name",false];
_playerUID = getPlayerUID player;
_playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
_weapons = weapons player;
_countMags = call player_countMagazines;
_magazines = _countMags select 0;
@@ -130,7 +130,12 @@ if (!isNil "_newBackpackType") then {
//magazines
_countr = 0;
{
if (!(isClass(configFile >> "CfgWeapons" >> _x))) then {
if ((typeName _x) != "STRING") then {
_isWeapon = (isClass(configFile >> "CfgWeapons" >> (_x select 0)));
} else {
_isWeapon = (isClass(configFile >> "CfgWeapons" >> _x));
};
if (!_isWeapon) then {
_countr = _countr + 1;
if ((typeName _x) != "STRING") then {
(unitBackpack player) addMagazineCargoGlobal [(_x select 0), 1];
@@ -158,7 +163,7 @@ if (_tagSetting) then {
DZE_ForceNameTags = true;
};
_playerUID = getPlayerUID player;
_playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
_playerObjName = format["PVDZE_player%1",_playerUID];
call compile format["%1 = player;",_playerObjName];
publicVariableServer _playerObjName; //Outcommit in DayZ 1.8 No clue for what this is - Skaronator

View File

@@ -39,7 +39,7 @@ if ((_ownerID == dayz_combination) || (_ownerID == dayz_playerUID)) then {
// Check if any players are nearby if not allow player to claim item.
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]) > 1;
_playerID = getPlayerUID player;
_playerID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
// Only allow if not already claimed.
if (_claimedBy == "0" || !_playerNear) then {

View File

@@ -1,4 +1,4 @@
private ["_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_humanityTarget"];
private ["_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"];
disableSerialization;
_foodVal = 1 - (dayz_hunger / SleepFood);
@@ -6,7 +6,7 @@ _thirstVal = 1 - (dayz_thirst / SleepWater);
_tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1]
_combatVal = 1 - dayz_combat; // May change later to be a range of red/green to loosely indicate 'time left in combat'
if (uiNamespace getVariable ['DZ_displayUI', 0] == 1) exitWith {
if (uiNamespace getVariable ["DZ_displayUI", 0] == 1) exitWith {
_array = [_foodVal,_thirstVal];
_array
};
@@ -139,12 +139,11 @@ if (r_player_injured) then {
/*
Opt-in tag system with friend tagging
*/
_targetControl = _display displayCtrl 1199;
_string = "";
_humanityTarget = cursorTarget;
if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget) then {
_distance = (player distance _humanityTarget);
_distance = player distance _humanityTarget;
if (_distance < DZE_HumanityTargetDistance) then {
@@ -157,24 +156,19 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget
_rcharID = _humanityTarget getVariable ["CharacterID", "0"];
_rfriendlies = _humanityTarget getVariable ["friendlies", []];
_rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
if ((_rcharID in _friendlies) && (_charID in _rfriendlies)) then {
if (!(_charID in _rfriendlyTo)) then {
if !(_charID in _rfriendlyTo) then {
// diag_log format["IS FRIENDLY: %1", _player];
_rfriendlyTo set [count _rfriendlyTo, _charID];
_humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
// titleText [format[(localize "STR_EPOCH_ACTIONS_17"), (name _humanityTarget)], "PLAIN DOWN"];
};
// <br /><t %2 align='center' size='0.7'>Humanity: %3</t>
_color = "color='#339933'";
_humanityName = if (alive _humanityTarget) then {name _humanityTarget; } else { "Dead Player";};
_string = format["<t %2 align='center' size='%3'>%1</t>",_humanityName,_color,_size];
_string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
} else {
@@ -190,8 +184,7 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget
};
};
if((_humanityTarget getVariable ["DZE_display_name", false]) || (DZE_ForceNameTagsInTrader && isInTraderCity)) then {
_humanityName = if (alive _humanityTarget) then {name _humanityTarget; } else { "Dead Player";};
_string = format["<t %2 align='center' size='%3'>%1</t>",_humanityName,_color,_size];
_string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
};
};
};
@@ -199,6 +192,7 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget
// update gui if changed
if (dayz_humanitytarget != _string) then {
_targetControl = _display displayCtrl 1199;
_targetControl ctrlSetStructuredText (parseText _string);
dayz_humanitytarget = _string;
};

View File

@@ -17,7 +17,6 @@ if (isServer) then {
PVDZE_veh_Update = [_unit, "killed",_killer];
_killerVeh = if (vehicle _killer != _killer) then { format["[KILLER IN VEHICLE %1 OF TYPE %2]", (vehicle _killer), (typeOf (vehicle _killer))]; } else {""};
_name = if (alive _killer) then { name _killer; } else { format["OBJECT %1", _killer]; };
// diag_log format["DAMAGE: Vehicle %1 (TYPE: %2) Killed by player %3 (UID: %4) %5",_unit, (typeOf _unit), _name, (getPlayerUID _killer), _killerVeh];
} else {
PVDZE_veh_Update = [_unit, "killed"];
};

View File

@@ -21,7 +21,7 @@ class CfgPatches {
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"dayz_equip","dayz_weapons","dayz_sfx","CAMisc3","CABuildingParts","CABuildingParts_Signs","CAStructuresHouse","CAStructuresLand_Ind_Stack_Big","CAStructures_Misc_Powerlines","CAStructures","CABuildings","CABuildings2","Ind_MalyKomin","CAStructures_A_CraneCon","CAStructures_Mil","CAStructures_Nav","CAStructures_Rail","A_Crane_02","A_TVTower","CAStructures_Railway","CAStructuresHouse","CAStructuresHouse_HouseBT","asc_eu_lights","gnt_c185"};
requiredAddons[] = {"dayz_equip","dayz_weapons","dayz_sfx","CAMisc3","CABuildingParts","CABuildingParts_Signs","CAStructuresHouse","CAStructuresLand_Ind_Stack_Big","CAStructures_Misc_Powerlines","CAStructures","CABuildings","CABuildings2","Ind_MalyKomin","CAStructures_A_CraneCon","CAStructures_Mil","CAStructures_Nav","CAStructures_Rail","A_Crane_02","A_TVTower","CAStructures_Railway","CAStructuresHouse","CAStructuresHouse_HouseBT","asc_eu_lights","gnt_c185","usec_ch53"};
};
class DZ_DebriefingRemoved
{
@@ -41,7 +41,7 @@ class CfgMods
hidePicture = 0;
hideName = 0;
action = "http://www.dayzepoch.com";
version = "1.0.5";
version = "1.0.5.2";
hiveVersion = 0.96; //0.93
};
};

View File

@@ -39,10 +39,11 @@ if (!isDedicated) then {
};
player_login = {
private ["_unit","_detail"];
private ["_unit","_detail","_PUID"];
_unit = _this select 0;
_detail = _this select 1;
if(_unit == getPlayerUID player) then {
_PUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
if(_unit == _PUID) then {
player setVariable["publish",_detail];
};
};
@@ -559,6 +560,8 @@ if (!isDedicated) then {
if (isServer) then {
_unit addEventHandler ["local", {_this call zombie_findOwner}];
};
_id = _unit addeventhandler["HandleDamage", { _this call local_zombieDamage }];
_id = _unit addeventhandler["Killed", { [_this, "zombieKills"] call local_eventKill }];
};
dayz_EjectPlayer = {

View File

@@ -6,12 +6,13 @@ _classname = _this select 2;
// Exit if player zombie
if(player isKindOf "PZombie_VB") exitWith {};
_name = getText (configFile >> _type >> _classname >> "displayName");
if (!isNull _holder) then {
_name = getText(configFile >> _type >> _classname >> "displayName");
_actionSet = _holder getVariable["actionSet", false];
_actionSet = _holder getVariable["actionSet", false];
if (!_actionSet) then {
s_player_holderPickup = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
player reveal _holder;
_holder setVariable["actionSet", true];
if (!_actionSet) then {
s_player_holderPickup = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
player reveal _holder;
_holder setVariable["actionSet", true];
};
};

View File

@@ -1,5 +1,7 @@
disableSerialization;
if (isNil "DayZ_UseSteamID") then {
DayZ_UseSteamID = true;
};
//Model Variables
Bandit1_DZ = "Bandit1_DZ";
Bandit2_DZ = "Bandit2_DZ";
@@ -297,7 +299,7 @@ r_action_targets = [];
r_pitchWhine = false;
r_isBandit = false;
isInTraderCity = false;
NORRN_dropAction = -1;
DZE_PROTOBOX = objNull;
//ammo routine
@@ -386,7 +388,8 @@ DZE_HeliAllowTowFrom = [
"CH_47F_EP1_DZ",
"CH_47F_BAF",
"CH_47F_EP1",
"BAF_Merlin_DZE"
"BAF_Merlin_DZE",
"CH53_DZE"
];
DZE_HeliAllowToTow = [
@@ -436,7 +439,6 @@ dayz_spawnArea = 200; // radius around player where we can spawn loot & Z
dayz_cantseeDist = 150; // distance from which we can spawn a Z in front of any player without ray-tracing && angle checks
dayz_cantseefov = 70; // half player field-of-view. Visible Z won't be spawned in front of any near players
dayz_canDelete = 300; // Z, further than this distance from its "owner", will be deleted
selfTransfusionTime = time; //time to keep for last self transfusion.
if(isNil "DZE_SelfTransfuse") then {
DZE_SelfTransfuse = false;
@@ -469,7 +471,7 @@ if(isNil "DZEdebug") then {
DZEdebug = false;
};
if (isNil "DZE_Debug_Damage") then {
DZE_Debug_Damage = true; //enable by default
DZE_Debug_Damage = true;
};
if(isNil "DZE_TRADER_SPAWNMODE") then {
DZE_TRADER_SPAWNMODE = false;
@@ -550,7 +552,7 @@ if(isNil "dayz_zedsAttackVehicles") then {
};
// update objects
dayz_updateObjects = ["Plane","Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","LockboxStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ"];
dayz_updateObjects = ["Plane","Tank","Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","LockboxStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ"];
dayz_disallowedVault = ["TentStorage", "BuiltItems","ModularItems","DZE_Base_Object"];
dayz_reveal = ["AllVehicles","WeaponHolder","Land_A_tent","BuiltItems","ModularItems","DZE_Base_Object"];
dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"];
@@ -606,7 +608,15 @@ if(isServer) then {
if(isNil "DZE_CleanNull") then {
DZE_CleanNull = false;
};
if (isNil "DZE_DeathMsgGlobal") then {
DZE_DeathMsgGlobal = false;
};
if (isNil "DZE_DeathMsgSide") then {
DZE_DeathMsgSide = false;
};
if (isNil "DZE_DeathMsgTitleText") then {
DZE_DeathMsgTitleText = false;
};
DZE_safeVehicle = ["ParachuteWest","ParachuteC"];
};
@@ -664,7 +674,6 @@ if(!isDedicated) then {
dayz_guiHumanity = -90000;
dayz_firstGroup = group player;
dayz_originalPlayer = player;
dayz_playerName = "Unknown";
dayz_sourceBleeding = objNull;
dayz_clientPreload = false;
dayz_authed = false;
@@ -676,18 +685,24 @@ if(!isDedicated) then {
dayz_spawnZombies = 0;
dayz_swarmSpawnZombies = 0;
//Max local
dayz_maxLocalZombies = 30; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
//Current NearBy
dayz_CurrentNearByZombies = 0;
//Max NearBy
dayz_maxNearByZombies = 60; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
if (isNil "dayz_maxNearByZombies") then {
dayz_maxNearByZombies = 60; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
//Current total
};
dayz_currentGlobalZombies = 0;
//Max global zeds.
dayz_maxGlobalZeds = 3000;
dayz_spawnDelay = 120;
dayz_spawnWait = -120;
dayz_lootDelay = 3;
if (isNil "dayz_maxGlobalZeds") then {
dayz_maxGlobalZeds = 3000;
};
if (isNil "dayz_spawnDelay") then {
dayz_spawnDelay = 120;
};
dayz_spawnWait = -(dayz_spawnDelay);
if (isNil "dayz_lootDelay") then {
dayz_lootDelay = 3;
};
dayz_lootWait = -300;
//used to count global zeds around players
dayz_CurrentZombies = 0;

View File

@@ -60,10 +60,6 @@ while {true} do {
sleep 1;
[] spawn fnc_med_publicBlood;
};
//Add player actions
[] call fnc_usec_damageActions;
[] call fnc_usec_selfActions;
//Low Blood Effects
if (!r_player_unconscious) then {

View File

@@ -12,7 +12,7 @@ r_action = false;
r_action_load = false;
call fnc_usec_medic_removeActions;
_dragger removeAction NORRN_loadWoundedAction;
//_dragger removeAction NORRN_loadWoundedAction;
if ((_vcl emptyPositions "cargo") > 0) then
{

View File

@@ -8,7 +8,7 @@ _name = _args select 0;
_vcl = _args select 1;
_crewVcl = crew _vcl;
_name removeAction NORRN_pullOutAction;
_name removeAction (_this select 2);
for [{ _loop = 0 },{ _loop < count _crewVcl },{ _loop = _loop + 1}] do
{

View File

@@ -16,5 +16,5 @@ if ((_unit == player) || (vehicle player != player)) then {
_control = _display displayCtrl 1203;
_control ctrlShow false;
_id = false spawn dayz_disableRespawn;
// _id = false spawn dayz_disableRespawn;
};

View File

@@ -5,14 +5,19 @@ _unit = _this select 0;
_rndInfection = (random 15);
_TransfusionInfection = (_rndInfection < 1);
if (_unit == player) then {
if ((count _this) > 1) then {
if (((count _this) > 1) && {(typeName (_this select 1)) == "ARRAY"}) then { //DO NOT TOUCH THE CODE BRACKETS!
_selfTransValues = _this select 1;
r_player_blood = (_selfTransValues select 0);
_TransfusionInfection = ((random (_selfTransValues select 1)) < 1);
r_player_blood = r_player_blood + (_selfTransValues select 0);
if (r_player_blood > 12000) then {r_player_blood = 12000;};
if ((_selfTransValues select 1) < 0) then {
_TransfusionInfection = false;
} else {
_TransfusionInfection = ((random (_selfTransValues select 1)) < 1);
};
} else {
r_player_blood = r_player_bloodTotal;
};
r_player_lowblood = false;
r_player_lowblood = false;
10 fadeSound 1;
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5;
"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5;
@@ -27,5 +32,5 @@ if (_unit == player) then {
_control = _display displayCtrl 1300;
_control ctrlShow true;
player setVariable["USEC_BloodQty",r_player_bloodTotal,true];
player setVariable["USEC_BloodQty",r_player_blood,true];
};

View File

@@ -24,4 +24,4 @@ while {_int>1} do
sleep _x;
if((_lifecheck&&(alive _v))||(isnull _v)||(((getposASL _v)select 2)<0))exitwith{};
createVehicle ["SmallSecondary", (_v modelToWorld _effect2pos), [], 0, "CAN_COLLIDE"];
}count(_list);
}forEach(_list);

View File

@@ -2,14 +2,14 @@
Anti-Teleport - Created By Razor / Refactored By Alby & CopyPasted to Epoch by Skaronator
*/
private ["_log","_playerName","_playerUID","_al1veOnce","_debug","_lastpos","_lastheight","_lasttime","_lastVehicle","_v","_h","_topv","_toph","_curpos","_distance","_curtime","_difftime","_plant","_curheight","_speed","_topSpeed","_terrainHeight","_differenceCheck","_lastPosVar","_safetyVehicle","_curPos"];
private ["_log","_playerName","_playerUID","_PUID","_al1veOnce","_debug","_lastpos","_lastheight","_lasttime","_lastVehicle","_v","_h","_topv","_toph","_curpos","_distance","_acceptableDistance","_curtime","_difftime","_plant","_curheight","_speed","_topSpeed","_terrainHeight","_differenceCheck","_lastPosVar","_safetyVehicle","_curPos"];
waitUntil {vehicle player == player};
[] spawn {
private ["_playerName","_playerUID"];
_playerName = name player;
_playerUID = getPlayerUID player;
_playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
while {1 == 1} do {
if (typeName player != "OBJECT") then {
PVDZE_atp = format["WARNING typename error for player UID#%1", _playerUID];
@@ -24,7 +24,7 @@ waitUntil {vehicle player == player};
[] spawn {
_playerName = name player;
_playerUID = getPlayerUID player;
_playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
while {true} do {
sleep 5;
};
@@ -34,7 +34,29 @@ waitUntil {vehicle player == player};
sleep 10;
};
_al1veOnce = false;
[] spawn {
_al1veOnce = false;
if (!_al1veOnce) then {
private [ "_loc", "_plant","_debug"];
_debug = getMarkerpos "respawn_west";
// check that plants libs are properly loaded
// thanks to Tansien the great
// run only once per character life
{
_plant = _x createVehicleLocal _debug;
sleep 0.1;
if (sizeOf _x == 0) exitWith {
PVDZE_atp = "Plants texture hack for type " + _x;
publicVariableServer "PVDZE_atp";
endMission "LOSER";
};
deleteVehicle _plant;
} count ["grass", "prunus", "picea", "fallentree", "phragmites", "acer", "amygdalusn", "Brush", "fiberplant", "amygdalusc", "boulder"];
diag_log format [ "%1: Plants libs tests done!", __FILE__];
};
_al1veOnce = true;
};
while {1 == 1} do {
_debug = getMarkerpos "respawn_west";
_lastpos = getPosATL (vehicle player);
@@ -53,71 +75,38 @@ while {1 == 1} do {
_distance = _lastpos distance _curpos;
_curtime = diag_ticktime;
_difftime = _curtime - _lasttime;
_acceptableDistance = if (_lastVehicle isKindOf "Plane") then { 15; } else { 10; };
if ((_distance > 10) || {(_difftime > 1)}) then {
if (!_al1veOnce) then {
private [ "_loc", "_plant"];
// check that plants libs are properly loaded
// thanks to Tansien the great
// run only once per character life
{
_plant = _x createVehicleLocal _debug;
sleep 0.1;
if (sizeOf _x == 0) exitWith {
PVDZE_atp = "Plants texture hack for type " + _x;
publicVariableServer "PVDZE_atp";
endMission "LOSER";
};
deleteVehicle _plant;
} count ["grass", "prunus", "picea", "fallentree", "phragmites", "acer", "amygdalusn", "Brush", "fiberplant", "amygdalusc", "boulder"];
diag_log format [ "%1: Plants libs tests done!", __FILE__];
};
_al1veOnce = true;
if ((_distance > _acceptableDistance) || {(_difftime > 1)}) then {
_curheight = (ATLtoASL _curpos) select 2;
_speed = _distance / _difftime;
_topSpeed = 10;
_topSpeed = if (_acceptableDistance == 15) then { 20; } else { 10; };
if (vehicle player != player) then {
_topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) min 500;
if (_acceptableDistance == 15) then {
_topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) max 500;
} else {
_topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) min 500;
};
};
_terrainHeight = getTerrainHeightASL [_curpos select 0, _curpos select 1];
_safetyVehicle = vehicle player;
if (_lastVehicle == vehicle player) then {
if ((_speed > _topSpeed) && (alive player) && ((driver (vehicle player) == player) || (isNull (driver (vehicle player)))) && (_debug distance _lastpos > 3000) && !((vehicle player == player) && (_curheight < _lastheight) && ((_curheight - _terrainHeight) > 1))) then {
(vehicle player) setposATL _lastpos;
//PVDZE_atp = [name player, dayz_characterID, _lastpos, _curPos, getPosATL player];
PVDZE_atp = format["TELEPORT REVERT for player UID#%1 from %2 to %3, %4 meters, now at %5", getPlayerUID player, _lastpos, _curPos, round(_lastpos distance _curpos), getPosATL player];
_PUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};
PVDZE_atp = format["TELEPORT REVERT for player UID#%1 from %2 to %3, %4 meters, now at %5", _PUID, _lastpos, _curPos, round(_lastpos distance _curpos), getPosATL player];
publicVariableServer "PVDZE_atp";
} else {
_lastpos = _curpos;
_lastheight = _curheight;
};
_lasttime = _curtime;
};
if (_safetyVehicle == vehicle player) then {
_lastVehicle = vehicle player;
};
};
/*if ((animationState player) != "HaloFreeFall_non") then {
// freefall detection:
_v = -((velocity player) select 2);
_h = (getPosATL player) select 2;
if (_v > 4 && _h > 3) then {
_topv = _topv max _v;
_toph = _toph max _h;
Dayz_freefall = [ time, _toph, _topv ];
}
else {
_topv = 0;
_toph = 0;
};
};*/
sleep 0.25;
};
sleep 0.1;

View File

@@ -60,7 +60,7 @@ item55[] = {"get_ready_to_clo",2,250,400.000000,400.000000,500.000000,450.000000
item56[] = {"sleep_",4,218,550.000000,400.000000,650.000000,450.000000,0.000000,"sleep" \n ""};
item57[] = {"Disconnect",2,250,825.000000,400.000000,925.000000,450.000000,0.000000,"Disconnect"};
item58[] = {"No_time_date",4,218,25.000000,1150.000000,125.000000,1200.000000,0.000000,"No time/date"};
item59[] = {"ERROR__No_Date_or",2,250,175.000000,1150.000000,275.000000,1200.000000,0.000000,"ERROR:" \n "No Date || Time"};
item59[] = {"ERROR__No_Date_",2,250,175.000000,1150.000000,275.000000,1200.000000,0.000000,"ERROR:" \n "No Date || Time"};
item60[] = {"Too_Long",4,218,300.000000,1150.000000,400.000000,1200.000000,0.000000,"Too" \n "Long"};
item61[] = {"get_ready_to_clo_1",2,250,450.000000,800.000000,550.000000,850.000000,0.000000,"get ready to close"};
item62[] = {"sleep_",4,218,600.000000,800.000000,700.000000,850.000000,0.000000,"sleep" \n ""};
@@ -169,8 +169,8 @@ link85[] = {75,57};
link86[] = {76,78};
link87[] = {77,76};
link88[] = {78,57};
globals[] = {25.000000,1,0,0,0,640,480,1,143,6316128,1,-772.896301,771.877197,613.135803,-671.376831,864,612,1};
window[] = {0,-1,-1,-1,-1,862,104,1593,104,1,882};
globals[] = {25.000000,1,0,0,0,640,480,1,143,6316128,1,-648.860474,646.549011,954.039734,36.458042,864,612,1};
window[] = {0,-1,-1,-32000,-32000,1018,260,1749,260,1,882};
*//*%FSM</HEAD>*/
class FSM
{
@@ -408,7 +408,7 @@ class FSM
"" \n
"progressLoadingScreen 0.3;" \n
"" \n
"_playerUID = getPlayerUID player;"/*%FSM</STATEINIT""">*/;
"_playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
@@ -638,11 +638,17 @@ class FSM
name = "Phase_One";
init = /*%FSM<STATEINIT""">*/"if ((!isNil ""DZE_defaultSkin"") && _isNew && (_isInfected == 0)) then {" \n
" if (dayz_selectGender == ""Survivor2_DZ"") then {" \n
" _rand = floor(random (count (DZE_defaultSkin select 0)));" \n
" _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 0) select _rand) >> ""playerModel""); //MALE" \n
" _rand = (DZE_defaultSkin select 0) call BIS_fnc_selectRandom;" \n
" _model = getText (configFile >> ""CfgMagazines"" >> ""Skins"" >> _rand >> ""playerModel""); //MALE" \n
" if (_model == """") then {" \n
" _model = _rand;" \n
" };" \n
" } else {" \n
" _rand = floor(random (count (DZE_defaultSkin select 1)));" \n
" _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 1) select _rand) >> ""playerModel""); //FEMALE" \n
" _rand = (DZE_defaultSkin select 1) call BIS_fnc_selectRandom;" \n
" _model = getText (configFile >> ""CfgMagazines"" >> ""Skins"" >> _rand >> ""playerModel""); //FEMALE" \n
" if (_model == """") then {" \n
" _model = _rand;" \n
" };" \n
" };" \n
"};" \n
"" \n
@@ -1198,6 +1204,7 @@ class FSM
"player allowDamage true;" \n
"player enableSimulation true;" \n
"0 cutText ["""", ""BLACK IN"",3];" \n
"dayz_playerName = name player;" \n
"" \n
"//Add core tools" \n
"player addWeapon ""Loot"";" \n
@@ -1212,6 +1219,7 @@ class FSM
"r_player_cardiac = player getVariable[""USEC_isCardiac"",false];" \n
"r_player_lowblood = player getVariable[""USEC_lowBlood"",false];" \n
"r_player_blood = player getVariable[""USEC_BloodQty"",r_player_bloodTotal];" \n
"selfTransfusionTime = time; //time to keep for last self transfusion." \n
"" \n
"""colorCorrections"" ppEffectEnable true;" \n
"""colorCorrections"" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1 min (4*r_player_blood/3/r_player_bloodTotal)], [1, 1, 1, 0.0]];" \n
@@ -1312,7 +1320,7 @@ class FSM
class No_time_date
{
priority = 0.000000;
to="ERROR__No_Date_or";
to="ERROR__No_Date_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!isNil ""PVDZE_plr_SetDate"""/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
@@ -1375,7 +1383,7 @@ class FSM
priority = 2.000000;
to="ERROR__version_c";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(_myEpochAnim != ""1.0.5"") || (_myEpoch != ""1.0.4.2"") || (_myEpochB != ""1.0.5"") || (_myEpochSfx != ""1.0.5"") || (_myEpochDayZ != ""1.0.5"")"/*%FSM</CONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(_myEpochAnim != ""1.0.5"") || (_myEpoch != ""1.0.4.2"") || (_myEpochB != ""1.0.5.2"") || (_myEpochSfx != ""1.0.5"") || (_myEpochDayZ != ""1.0.5"")"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
@@ -1575,10 +1583,10 @@ class FSM
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "ERROR__No_Date_or">*/
class ERROR__No_Date_or
/*%FSM<STATE "ERROR__No_Date_">*/
class ERROR__No_Date_
{
name = "ERROR__No_Date_or";
name = "ERROR__No_Date_";
init = /*%FSM<STATEINIT""">*/"endLoadingScreen;" \n
"selectNoPlayer;" \n
"_myTime = diag_tickTime;" \n

View File

@@ -1,47 +1,75 @@
private ["_handle","_cursor","_delMe","_first","_town","_day","_world","_nearestCity"];
_timer = diag_tickTime;
_timer1 = diag_tickTime;
_spawnCheck = diag_tickTime;
_timer2 = diag_Ticktime;
_NewDay = diag_tickTime;
while {true} do {
_handle = [] spawn player_animalCheck;
waitUntil{scriptDone _handle};
//add player actions
if ((diag_tickTime - _timer2) > 0.5) then {
[] call fnc_usec_damageActions;
[] call fnc_usec_selfActions;
_timer2 = diag_Ticktime;
};
if ((diag_tickTime - _timer) > 300) then {
//Other Counters
dayz_currentGlobalAnimals = count entities "CAAnimalBase";
dayz_currentGlobalZombies = count entities "zZombie_Base";
//Animals
[] spawn player_animalCheck;
_timer = diag_tickTime;
};
//check monitored buildings
_cursor = 0;
_delMe = false;
{
private["_bPos","_isNoone"];
_bPos = getPosATL _x;
_isNoone = {isPlayer _x} count (_bPos nearEntities ["Man",200]) == 0;
if (_isNoone) then {
_x setVariable ["zombied",objNull,true];
dayz_buildingMonitor set [_cursor,"DEL"];
_delMe = true;
};
_cursor = _cursor + 1;
} count dayz_buildingMonitor;
if (_delMe) then {
dayz_buildingMonitor = dayz_buildingMonitor - ["DEL"];
if ((diag_tickTime - _timer1) > 60) then {
_position = getPosATL player;
//Current amounts
dayz_spawnZombies = {alive _x AND local _x} count (_position nearEntities ["zZombie_Base",200]);
dayz_CurrentNearByZombies = {alive _x} count (_position nearEntities ["zZombie_Base",200]);
dayz_currentWeaponHolders = count (_position nearObjects ["ReammoBox",100]);
_timer1 = diag_tickTime;
};
//spawning system
if ((diag_tickTime - _spawnCheck) > 14) then {
["both"] spawn player_spawnCheck;
_spawnCheck = diag_tickTime;
};
//Check if new day
_day = round(360 * (dateToNumber date));
if(dayz_currentDay != _day) then {
dayz_sunRise = call world_sunRise;
dayz_currentDay = _day;
};
if ((diag_tickTime - _NewDay) > 5) then {
private "_day";
_day = round(360 * (dateToNumber date));
if(dayz_currentDay != _day) then {
dayz_sunRise = call world_sunRise;
dayz_currentDay = _day;
};
_world = toUpper(worldName); //toUpper(getText (configFile >> "CfgWorlds" >> (worldName) >> "description"));
_nearestCity = nearestLocations [([player] call FNC_GetPos), ["NameCityCapital","NameCity","NameVillage","NameLocal"],300];
if (count _nearestCity > 0) then {
_town = text (_nearestCity select 0);
if(dayz_PreviousTown == "Wilderness") then {
_NewDay = diag_tickTime;
_world = toUpper(worldName); //toUpper(getText (configFile >> "CfgWorlds" >> (worldName) >> "description"));
_nearestCity = nearestLocations [([player] call FNC_GetPos), ["NameCityCapital","NameCity","NameVillage","NameLocal"],300];
if (count _nearestCity > 0) then {
_town = text (_nearestCity select 0);
if(dayz_PreviousTown == "Wilderness") then {
dayz_PreviousTown = _town;
};
if(_town != dayz_PreviousTown) then {
_first = [_world,_town,""] spawn BIS_fnc_infoText;
};
dayz_PreviousTown = _town;
};
if(_town != dayz_PreviousTown) then {
_first = [_world,_town,""] spawn BIS_fnc_infoText;
};
dayz_PreviousTown = _town;
};
//wait
sleep 5;
sleep 0.001;
};