Init more or less done

This commit is contained in:
icomrade
2016-02-27 22:30:15 -05:00
parent e418e921c5
commit cfbebe7ffd
6 changed files with 706 additions and 48 deletions

View File

@@ -45,3 +45,20 @@ ARE NO MORE, USE BELOW!! ACTUALLY IT MAY BE EASIER TO JUST RENAME THE BELOW TO A
fnc_veh_handleDam = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleDam.sqf";
fnc_veh_handleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleKilled.sqf";
dayz_serverObjectMonitor = []; IS REPLACED WITH PVDZE_serverObjectMonitor = [];
PVDZ_obj_Publish IS PVDZE_obj_Publish
PVCDZ_obj_HideBody IS PVDZE_obj_HideBody
******REPLACE ALL PVCDZ_ AND PVDZ_ with PVCDZE/PVDZE_
PVDZ_drg_RaLW IS norrnRaLW
PVDZ_drg_RLact IS norrnRLact
NEW FNC PVDZE_hlt_Bleed -- THATS AN L change it to an I
PVCDZE_vehSH needs to be changed to PVCDZE_veh_SH
PVDZE_plr_HideBody BECOMES PVCDZE_plr_HideBody
PVDZE_obj_GutBody BECOMES PVCDZE_obj_GutBody
PVDZE_veh_SFuel BECOMES PVCDZE_veh_SetFuel
PVDZ_plr_Death BECOMES PVDZE_plr_Died
PVDZ_plr_Login1 BECOMES PVDZE_plr_Login
PVDZ_obj_Destroy BECOMES PVDZE_obj_Delete //WHO RENAMED THESE VARIABLES IN DAYZ VANILLA, THE COMPILE IT CALLS IS STILL NAMED server_deleteObj WHY CHANGE IT TO DESTROY!!!!???
dayzSetDate BECOMES PVDZE_plr_SetDate

View File

@@ -2,16 +2,16 @@ private ["_holder","_type","_classname","_name","_actionSet"];
_holder = _this select 0;
_type = _this select 1;
_classname = _this select 2;
_name = getText (configFile >> _type >> _classname >> "displayName");
// Exit if player zombie
if(player isKindOf "PZombie_VB") exitWith {};
if (!isNull _holder) then {
_name = getText(configFile >> _type >> _classname >> "displayName");
if ((!isNil "_holder") and {(!isNull _holder)}) then {
_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];
if ((isNil "_actionSet") or {(!_actionSet)}) then {
s_player_holderPickup = _holder addAction [format [localize "str_init_take", _name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
player reveal _holder;
_holder setVariable["actionSet", true];
};

View File

@@ -7,6 +7,7 @@ _name = getText (configFile >> _type >> _classname >> "displayName");
// Exit if player zombie
if(player isKindOf "PZombie_VB") exitWith {};
pickupInit = true;
actionMonitor = {
private ["_holder","_type","_classname","_name","_action","_distance","_run","_timeout","_null"];
@@ -25,19 +26,20 @@ actionMonitor = {
_distance = player distance _holder;
// Add action to player
if ((_distance < 1.75) && (_action == -1)) then {
_action = player addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
_action = player addAction [format[(localize "str_init_take"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
player reveal _holder;
_timeout = 0.3;
};
// Remove action from player
if ((_distance >= 1.75) && (_action != -1)) then {
player removeAction _action;
pickupInit = true;
_action = -1;
_timeout = 2;
};
// Stop the loop && fall back to old code
if (_distance > 100) then {
_null = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
null = _holder addAction [format[(localize "str_init_take"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
player reveal _holder;
_run = false;
_timeout = 0;
@@ -46,6 +48,7 @@ actionMonitor = {
if (_action != -1) then {
player removeAction _action;
_action = -1;
pickupInit = true;
};
_timeout = 0;
_run = false;
@@ -57,6 +60,7 @@ actionMonitor = {
if (_classname == "WoodenArrow") then {
[_holder,_type,_classname,_name] spawn actionMonitor;
} else {
_holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true, "", "DZE_CanPickup"];
s_player_holderPickup = _holder addAction [format[(localize "str_init_take"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
player reveal _holder;
pickupInit = true;
};

View File

@@ -3,31 +3,37 @@
"norrnRLact" addPublicVariableEventHandler {(_this select 1) execVM "\z\addons\dayz_code\medical\load\load_wounded.sqf"};
"norrnRDead" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\deadState.sqf"};
"usecBleed" addPublicVariableEventHandler {_id = (_this select 1) spawn fnc_usec_damageBleed};
"usecBandage" addPublicVariableEventHandler {(_this select 1) call player_medBandage};
//"usecBandage" addPublicVariableEventHandler {(_this select 1) call player_medBandage};
"usecInject" addPublicVariableEventHandler {(_this select 1) call player_medInject};
"usecEpi" addPublicVariableEventHandler {(_this select 1) call player_medEpi};
"usecTransfuse" addPublicVariableEventHandler {(_this select 1) call player_medTransfuse};
"usecMorphine" addPublicVariableEventHandler {(_this select 1) call player_medMorphine};
"usecPainK" addPublicVariableEventHandler {(_this select 1) call player_medPainkiller};
//"usecEpi" addPublicVariableEventHandler {(_this select 1) call player_medEpi};
//"usecTransfuse" addPublicVariableEventHandler {(_this select 1) call player_medTransfuse};
//"usecMorphine" addPublicVariableEventHandler {(_this select 1) call player_medMorphine};
//"usecPainK" addPublicVariableEventHandler {(_this select 1) call player_medPainkiller};
"PVDZE_plr_Hit" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageHandler};
"PVDZE_plr_HitV" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageVehicle};
"usecBreakLegs" addPublicVariableEventHandler {(_this select 1) call player_breaklegs};
//"usecBreakLegs" addPublicVariableEventHandler {(_this select 1) call player_breaklegs};
//Both
"PVDZE_veh_SFuel" addPublicVariableEventHandler {(_this select 1) spawn local_setFuel};
"PVCDZ_veh_SetFuel" addPublicVariableEventHandler {(_this select 1) spawn local_setFuel};
"PVDZE_veh_SFix" addPublicVariableEventHandler {(_this select 1) call object_setFixServer};
"PVDZE_plr_HideBody" addPublicVariableEventHandler {hideBody (_this select 1)};
"PVDZE_obj_Hide" addPublicVariableEventHandler {hideObject (_this select 1)};
"PVDZE_veh_Lock" addPublicVariableEventHandler {(_this select 1) spawn local_lockUnlock};
"PVDZE_plr_GutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject};
"PVCDZE_plr_GutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject};
"PVDZE_plr_GutBodyZ" addPublicVariableEventHandler {(_this select 1) spawn local_gutObjectZ};
"PVDZE_plr_DelLocal" addPublicVariableEventHandler {(_this select 1) call object_delLocal};
"PVDZE_veh_Init" addPublicVariableEventHandler {(_this select 1) call fnc_veh_ResetEH};
"PVDZE_plr_HumanityChange" addPublicVariableEventHandler {(_this select 1) spawn player_humanityChange};
//"PVDZE_plr_HumanityChange" addPublicVariableEventHandler {(_this select 1) spawn player_humanityChange};
"PVDZE_serverObjectMonitor" addPublicVariableEventHandler {PVDZE_serverObjectMonitor = dayz_safety};
/* PVS/PVC - Skaronator */
"PVCDZE_vehSH" addPublicVariableEventHandler {(_this select 1) call vehicle_handleDamage}; // set damage to vehicle part
"PVCDZE_veh_SH" addPublicVariableEventHandler {(_this select 1) call vehicle_handleDamage}; // set damage to vehicle part
"PVCDZE_veh_SF" addPublicVariableEventHandler {(_this select 1) call fnc_veh_handleDam}; // set damage to vehicle part
//reset OpenTarget timer
"PVCDZE_OpenTarget_Reset" addPublicVariableEventHandler { OpenTarget_Time = diag_tickTime; };
"PVCDZE_veh_engineSwitch" addPublicVariableEventHandler {(_this select 1) spawn dayz_engineSwitch};
"PVDZE_Server_Simulation" addPublicVariableEventHandler {
_agent = ((_this select 1) select 0);
_control = ((_this select 1) select 1);
@@ -35,6 +41,61 @@
_agent enableSimulation _control;
};
{
private ["_building", "_fckingcode"];
_fckingcode = {
private [ "_building", "_part", "_dmgLvl", "_who", "_ammo", "_dist" ];
_building = _this select 0;
_part = _this select 1;
_dmgLvl = 1 min (_this select 2);
_who = _this select 3;
_ammo = _this select 4;
if (_part != 'glass' AND _dmgLvl > 0.01) then {
if (isServer) then {
diag_log ['Log building damage', _this];
}
else {
if (isNull _who) then {
if (_ammo != "" and _ammo isKindOf "HelicopterExploSmall") then {
_who = player;
_dist = round (_who distance _building);
PVDZ_sec_atp = format [ "UID#%1 d4maged %2 %5 to %3pct with ammo %4 at dist4nce %6m.",
getPlayerUID _who, typeOf _building, round (100 * _dmgLvl), _ammo, _part, _dist ];
publicVariableServer "PVDZ_sec_atp";
};
}
else {
if (_who == player) then {
_dist = round (_who distance _building);
PVDZ_sec_atp = format [ "UID#%1 d4maged %2 %5 to %3pct with ammo %4 at dist4nce %6m.",
getPlayerUID _who, typeOf _building, round (100 * _dmgLvl), _ammo, _part, _dist ];
publicVariableServer "PVDZ_sec_atp";
};
};
};
};
if ((!isNull _who) and {(_who distance _building < 150)}) then {_dmgLvl} else {0}
};
_building = [_x select 0,_x select 1,0] nearestObject (_x select 2);
_building removeAllEventHandlers "handleDamage";
_building addEventHandler ["handleDamage", _fckingcode];
} forEach [
[7069,7727,206458], [6009,7815,203486], [10638,8016,272598], [6553,5598,223435], [6914,11431,141876],
[4660,9596,145234], [4788,10257,143923], [11467,7479,276453], [4628,10489,137736], [4551,6395,212964],
[3815,8948,132069], [3804,8925,132182], [11957,9120,261904], [12031,9158,261252], [12057,9103,261945],
[12227,9518,256625], [12237,9493,262727], [12256,9508,262732], [12275,9479,262631], [3064,7975,172476],
[3055,7855,172835], [12742,9593,259691], [11254,12210,236245], [12780,10128,257815], [12805,10089,258268],
[12803,10119,258288], [11251,4274,353940], [13100,7177,297715], [7098,2738,966951], [6817,2702,966613],
[6379,2791,965644], [6414,2760,965688], [6371,2747,965657], [6386,2735,965658], [6410,2716,965659],
[6383,2691,965643], [6899,2561,969372], [6854,2556,969371], [6770,2525,968272], [6901,2484,969736],
[6783,2485,968116], [6507,2532,967694], [6835,2388,969223], [6578,2402,968509], [6661,2345,968949],
[6679,2302,969332], [2587,5069,188570], [6537,2302,968797], [10424,2562,362226], [10420,2368,363222],
[10443,2345,363318], [10481,2358,363308], [10365,2241,363748], [10518,2288,364628], [10457,2256,363454],
[10174,1810,366820], [3589,2175,328944]
];
//Server only
if (isServer) then {
/* PVS/PVC - Skaronator */
@@ -57,10 +118,194 @@ if (isServer) then {
"PVDZE_plr_LoginRecord" addPublicVariableEventHandler {_id = (_this select 1) spawn dayz_recordLogin};
//Checking
"PVDZE_obj_Delete" addPublicVariableEventHandler {(_this select 1) spawn server_deleteObj};
"PVDZ_obj_Save" addPublicVariableEventHandler {(_this select 1) call server_updateObject; diag_log ("PublicEH");};
// upgrade && maintain
"PVDZE_obj_Swap" addPublicVariableEventHandler {(_this select 1) spawn server_swapObject};
// disable zombies server side
"PVDZE_zed_Spawn" addPublicVariableEventHandler {(_this select 1) spawn server_handleZedSpawn};
"PVDZ_dayzCarBomb" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\actions\detonate_bomb.sqf";};
"PVDZ_playerMedicalSync" addPublicVariableEventHandler { (_this select 1) call server_medicalSync; ((_this select 1) select 0) setVariable["Medical",((_this select 1) select 1),false]; }; //diag_log format["%1 - %2",((_this select 1) select 0),((_this select 1) select 1)]; };
"PVDZ_object_replace" addPublicVariableEventHandler {
_cursorTarget = _this select 1;
_vars = ((_this select 1)select 0) getVariable "MaintenanceVars";
if (!isnil "_vars" and _cursorTarget isKindOf "DZ_buildables") then {
deleteVehicle ((_this select 1)select 0);
_object = createVehicle [(_vars select 0), (_vars select 1), [], 0, if (_type in DayZ_nonCollide) then {"NONE"} else {"CAN_COLLIDE"}];
_object setVariable["Maintenance",false,true];
};
};
"PVDZ_sendUnconscious" addPublicVariableEventHandler {
_owner = ((_this select 1) select 0);
_duration = ((_this select 1) select 1);
diag_log format["%1,%2",_owner,_duration];
PVDZ_receiveUnconscious = [_owner,_duration];
(owner _owner) publicVariableClient "PVDZ_receiveUnconscious";
};
"PVDZ_gridsActive" addPublicVariableEventHandler {
_gridref = ((_this select 1) select 0);
_gridloc = ((_this select 1) select 1);
if (!(_gridref in dayz_gridsActive)) then {
dayz_gridsActive set [count dayz_gridsActive,_gridref];
dayz_seedloot set [count dayz_seedloot,[_gridloc,_gridref]];
};
diag_log format ["%1, %2, %3", _gridref, dayz_gridsActive, dayz_seedloot];
};
"PVDZ_gridsRemove" addPublicVariableEventHandler {
_gridref = ((_this select 1) select 0);
_gridloc = ((_this select 1) select 1);
if (_gridref in dayz_gridsActive) then {
dayz_gridsActive = dayz_gridsActive - [_gridref];
dayz_deseedloot set [count dayz_deseedloot,[_gridloc,_gridref]];
};
diag_log format ["%1, %2", _gridref, dayz_gridsActive];
};
"PVDZ_Server_Simulation" addPublicVariableEventHandler {
_agent = ((_this select 1) select 0);
_control = ((_this select 1) select 1);
_agent enableSimulation _control;
};
"PVDZ_obj_Delete" addPublicVariableEventHandler {
_obj = ((_this select 1) select 0);
_player = ((_this select 1) select 1);
_type = typeOf _obj;
_dis = _player distance _obj;
if (_type in Dayz_plants) then {
if (_dis < 3) then {
deleteVehicle _obj;
};
};
if (_type == "Blood_Trail_DZ") then {
deleteVehicle _obj;
};
//Make sure object is a cardboardbox and make sure the player distance is under 15 meters from object
if (_type iskindOf "CardboardBox") then {
if (_dis < 15) then {
deleteVehicle _obj;
};
};
};
"PVDZ_objgather_Knockdown" addPublicVariableEventHandler {
_tree = ((_this select 1) select 0);
_player = ((_this select 1) select 1);
_dis = _player distance _tree;
if (_dis < 30) then {
_tree setDamage 1;
deleteVehicle _tree;
};
};
"PVDZ_serverStoreVar" addPublicVariableEventHandler {
_obj = ((_this select 1) select 0);
_name = ((_this select 1) select 1);
_value = ((_this select 1) select 2);
_obj setVariable [_name, _value];
};
"PVDZ_receiveVar" addPublicVariableEventHandler {
_owner = ((_this select 1) select 0);
_object = ((_this select 1) select 1);
_name = ((_this select 1) select 2);
_value = ((_this select 1) select 3);
switch (_name) do {
case "looted": {
diag_log format ["%4 - %1, %2, %3", _object, _name, _value, "receive looted"];
};
case "zombieSpawn": {
//diag_log format ["%4 - %1, %2, %3", _object, _name, _value, "receive zombieSpawn"];
};
};
_ownerID = owner _owner;
_return = _object getVariable [_name,_value];
//diag_log format ["%1", _return];
PVCDZ_SetVar = [_object,_name,_return];
_ownerID publicVariableClient "PVCDZ_SetVar";
};
"PVDZ_Server_changeOwner" addPublicVariableEventHandler {
_agent = ((_this select 1) select 0);
_reciever = ((_this select 1) select 1);
_ownerID = owner _agent;
_newownerID = 1; //1 = server
if (typeName _reciever == "OBJECT") then {
_newownerID = owner _reciever;
};
if (isnil ("Owner")) then {
_agent setVariable ["Owner",_ownerID];
};
_agent setOwner _newownerID;
diag_log ("TRANSFER OWNERSHIP: " + (typeOf _agent) + " OF _unit: " + str(_agent) + " TO _client: " + str(_reciever) );
};
"PVDZ_Server_LogIt" addPublicVariableEventHandler {
_unitSending = (_this select 0);
_info = (_this select 1);
diag_log format["WARNING: %1",_info];
};
"PVDZ_Server_processCode" addPublicVariableEventHandler {(_this select 1) call pvs_processSetAccessCode};
"PVDZ_Server_processSetAccessCode" addPublicVariableEventHandler {
private ["_unitSending","_object","_object","_code"];
_unitSending = ((_this select 1) select 0);
_object = ((_this select 1) select 1);
_code = ((_this select 1) select 2);
//diag_log format["%1, %2-%3",_unitSending,_object,_code];
_ownerID = owner _unitSending;
_ownerArray = _object getVariable ["ownerArray",["0"]];
if ((_ownerArray select 0) == (getPlayerUID _unitSending)) then {
if (_unitSending distance _object < 5) then {
_object setVariable ["dayz_padlockCombination",_code,false];
PVCDZ_Client_processAccessCode = [_code];
_ownerID publicVariableClient "PVCDZ_Client_processAccessCode";
[_object,"accessCode",_code] call server_updateObject;
_object setVariable ["dayz_padlockHistory", [], true];
_object setVariable ["dayz_padlockLockStatus", true,true];
diag_log format["INFO: %1, %5 has changed the access code for %2 with %3 at time %4",(name _unitSending),(typeof _object),_code,time,(getPlayerUID _unitSending)];
} else {
diag_log format["WARNING: %1, %5 is asking to change access code of %2 from a distance of %3 at time %4",(name _unitSending),(typeof _object),(_unit distance _object),time,(getPlayerUID _unitSending)];
};
} else {
diag_log format["WARNING: %1, %2 is trying to set a code for a gate he does not own.",(name _unitSending),(getPlayerUID _unitSending)];
};
};
"PVDZ_Server_buildLock" addPublicVariableEventHandler {
_object = ((_this select 1) select 0);
[_object,"buildLock"] call server_updateObject;
};
// Dayz epoch custom
"PVDZE_veh_Publish" addPublicVariableEventHandler {(_this select 1) spawn server_publishVeh};
@@ -75,16 +320,92 @@ if (isServer) then {
//Client only
if (!isDedicated) then {
"PVDZE_plr_SetDate" addPublicVariableEventHandler {setDate (_this select 1)};
"PVDZE_plr_SetDate" addPublicVariableEventHandler {
_newdate = _this select 1;
_date = +(date); // [year, month, day, hour, minute].
//diag_log ['Date & time received:', _newdate, 'Local date on this client:', _date];
{
if (_x != _newdate select _forEachIndex) exitWith {
setDate _newdate;
//diag_log ['Date has been reset. Local date on this client:', date];
};
} forEach _date;
};
"PVDZE_plr_SetSaveTime" addPublicVariableEventHandler {DZE_SaveTime = (_this select 1)};
"PVDZE_obj_RoadFlare" addPublicVariableEventHandler {(_this select 1) spawn object_roadFlare};
"PVDZE_plr_Morph2" addPublicVariableEventHandler {(_this select 1) call player_serverModelChange};
"PVDZE_plr_Morph" addPublicVariableEventHandler {(_this select 1) call server_switchPlayer};
"PVDZE_obj_Fire" addPublicVariableEventHandler {nulexp=(_this select 1) spawn BIS_Effects_Burn};
"PVDZE_plr_FriendRQ" addPublicVariableEventHandler {(_this select 1) call player_tagFriendlyMsg};
"PVDZ_drg_RaDrag" addPublicVariableEventHandler {(_this select 1) execVM "\z\addons\dayz_code\medical\publicEH\animDrag.sqf"};
"PVDZ_dayzFlies" addPublicVariableEventHandler {(_this select 1) call spawn_flies};
//Medical
"PVCDZ_hlt_Morphine" addPublicVariableEventHandler {(_this select 1) call player_medMorphine};
"PVCDZ_hlt_Bandage" addPublicVariableEventHandler {(_this select 1) call player_medBandage};
"PVCDZ_hlt_Epi" addPublicVariableEventHandler {(_this select 1) call player_medEpi};
"PVCDZ_hlt_Transfuse" addPublicVariableEventHandler {(_this select 1) spawn player_medTransfuse; };
"PVCDZ_hlt_Transfuse_completed" addPublicVariableEventHandler {player setVariable["TransfusionCompleted",true]; };
"PVCDZ_hlt_PainK" addPublicVariableEventHandler {(_this select 1) call player_medPainkiller};
"PVCDZ_hlt_AntiB" addPublicVariableEventHandler {(_this select 1) call player_medAntiBiotics};
// "PVDZE_obj_Debris" addPublicVariableEventHandler {(_this select 1) call local_roadDebris};
"norrnRaDrag" addPublicVariableEventHandler {(_this select 1) execVM "\z\addons\dayz_code\medical\publicEH\animDrag.sqf"};
"norrnRnoAnim" addPublicVariableEventHandler {(_this select 1) execVM "\z\addons\dayz_code\medical\publicEH\noAnim.sqf"};
"PVCDZ_plr_Humanity" addPublicVariableEventHandler {(_this select 1) spawn player_humanityChange};
"PVCDZ_plr_Legs" addPublicVariableEventHandler {
_entity = (_this select 1) select 0;
_entity setHit ["legs", 1];
if (isPlayer _entity) then {
_entity setVariable ["hit_legs", 2, true];
};
};
"PVCDZ_SetVar" addPublicVariableEventHandler {
_object = ((_this select 1) select 0);
_name = ((_this select 1) select 1);
_value = ((_this select 1) select 2);
_object setVariable [_name,_value];
};
"PVDZ_receiveUnconscious" addPublicVariableEventHandler {
_unit = ((_this select 1) select 0);
_duration = ((_this select 1) select 1);
diag_log format["%1,%2",_unit,_duration];
[_unit,_duration] call fnc_usec_damageUnconscious;
_unit setVariable ["NORRN_unconscious", true, true];
};
"PVCDZ_Client_processCode" addPublicVariableEventHandler {
// [_object,_result]
_object = ((_this select 1) select 0);
_result = ((_this select 1) select 1);
_codeGuess = ((_this select 1) select 2);
if (_result) then {
_object setVariable ["dayz_padlockLockStatus", false,true];
_object setVariable ["isOpen", "1", true];
_object setVariable ["dayz_padlockHistory", [], true];
titleText [format["%1 unlocked", (typeof _object)],"PLAIN DOWN"];
}
else
{
titleText ["Incorrect combination", "PLAIN DOWN"];
_object setVariable ["dayz_padlockHistory", _codeGuess, true];
};
};
"PVCDZ_Client_processAccessCode" addPublicVariableEventHandler {
_codeGuess = ((_this select 1) select 0);
titleText [format["You have set the combination to %1", _codeGuess],"PLAIN DOWN"];
};
// flies and swarm sound sync
call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\client_flies.sqf";
};

View File

@@ -15,28 +15,65 @@ Sniper1_DZ = "Sniper1_DZ";
Camo1_DZ = "Camo1_DZ";
Soldier1_DZ = "Soldier1_DZ";
Rocket_DZ = "Rocket_DZ";
dayz_Trash = 0;
//Rolling Msg system
Message_1 = "";
Message_2 = "";
Message_3 = "";
Message_1_time = 0;
Message_2_time = 0;
Message_3_time = 0;
//OpenTarget timer
OpenTarget_Time = 0;
AllPlayers = ["Survivor2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","Bandit2_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","FR_OHara_DZ","FR_Rodriguez_DZ","CZ_Soldier_Sniper_EP1_DZ","Graves_Light_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_CO_DZ","GUE_Soldier_2_DZ","TK_Special_Forces_MG_EP1_DZ","TK_Soldier_Sniper_EP1_DZ","TK_Commander_EP1_DZ","RU_Soldier_Crew_DZ","INS_Lopotev_DZ","INS_Soldier_AR_DZ","INS_Soldier_CO_DZ","INS_Bardak_DZ","INS_Worker2_DZ"];
DayZ_Male = ["Survivor_DZ","Survivor1_DZ","Survivor2_DZ","Survivor3_DZ","Sniper1_DZ","Soldier1_DZ","Camo1_DZ","Bandit1_DZ","Bandit2_DZ","Soldier_Crew_PMC","Rocket_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","FR_OHara_DZ","FR_Rodriguez_DZ","CZ_Soldier_Sniper_EP1_DZ","Graves_Light_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_CO_DZ","GUE_Soldier_2_DZ","TK_Special_Forces_MG_EP1_DZ","TK_Soldier_Sniper_EP1_DZ","TK_Commander_EP1_DZ","RU_Soldier_Crew_DZ","INS_Lopotev_DZ","INS_Soldier_AR_DZ","INS_Soldier_CO_DZ","INS_Bardak_DZ","INS_Worker2_DZ"];
DayZ_Female = ["SurvivorW2_DZ","BanditW1_DZ","BanditW2_DZ","SurvivorWcombat_DZ","SurvivorWurban_DZ","SurvivorWdesert_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"];
MeleeWeapons = ["MeleeFishingPole","MeleeCrowbar","MeleeBaseBallBatNails","MeleeBaseBallBatBarbed","MeleeBaseBallBat","Crossbow_DZ","MeleeSledge","MeleeMachete","MeleeHatchet_DZE"];
MeleeMagazines = ["Hatchet_Swing","Crowbar_Swing","Machete_Swing","Bat_Swing","BatBarbed_Swing","BatNails_Swing","Fishing_Swing"];
Dayz_fishingItems = ["MeleeFishingPole"];
Dayz_plants = ["Dayz_Plant1","Dayz_Plant2","Dayz_Plant3"];
Dayz_attachment_array = ["Attachment_ACG","Attachment_AIM"];
DayZ_Backpacks = ["DZ_Patrol_Pack_EP1","DZ_Assault_Pack_EP1","DZ_Czech_Vest_Puch","DZ_ALICE_Pack_EP1","DZ_TK_Assault_Pack_EP1","DZ_British_ACU","DZ_CivilBackpack_EP1","DZ_Backpack_EP1","DZ_TerminalPack_EP1","DZ_CompactPack_EP1","DZ_GunBag_EP1","DZ_LargeGunBag_EP1"];
Dayz_Gutting = ["ItemKnife","ItemKnife5","ItemKnife4","ItemKnife3","ItemKnife2","ItemKnife1","ItemKnifeBlunt"];
Dayz_Ignators = ["ItemMatchbox","Item5Matchbox","Item4Matchbox","Item3Matchbox","Item2Matchbox","Item1Matchbox","ItemMatchbox_DZE"];
DayZ_fuelCans = ["ItemJerrycan","ItemFuelcan","ItemFuelBarrel"];
DayZ_fuelCansEmpty = ["ItemJerrycanEmpty","ItemFuelcanEmpty","ItemFuelBarrelEmpty"];
DayZ_traps = ["Trap_Cans", "TrapTripwireFlare", "TrapBearTrapSmoke", "TrapTripwireGrenade", "TrapTripwireSmoke", "TrapBearTrapFlare"];
DayZ_ViralZeds = ["z_new_villager2","z_new_villager3","z_new_villager4","z_new_worker2","z_new_worker3","z_new_worker4"];
DayZ_SafeObjects = ["Base_Fire_DZ","WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4","Land_Fire_DZ", "TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3", "StashMedium4", "Wire_cat1", "Sandbag1_DZ", "Fence_DZ", "Generator_DZ", "Hedgehog_DZ", "BearTrap_DZ", "DomeTentStorage", "DomeTentStorage0", "DomeTentStorage1", "DomeTentStorage2", "DomeTentStorage3", "DomeTentStorage4", "CamoNet_DZ", "Trap_Cans", "TrapTripwireFlare", "TrapBearTrapSmoke", "TrapTripwireGrenade", "TrapTripwireSmoke", "TrapBearTrapFlare"];
DayZ_GearedObjects = ["Car", "Helicopter", "Motorcycle", "Ship", "Tank", "VaultStorage", "LockboxStorage", "TentStorage", "TentStorage_base", "StashSmall_base", "StashMedium_base" ];
DayZ_RestingAnims = ["amovpsitmstpsnonwpstdnon_ground", "amovpsitmstpsnonwpstdnon_smoking", "amovpsitmstpsraswrfldnon_weaponcheck1", "amovpsitmstpsraswrfldnon"];
dayz_playerAchievements = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
gear_done = false;
//Cooking
meatraw = [
"FoodSteakRaw",
"FoodmeatRaw",
"FoodbeefRaw",
"FoodmuttonRaw",
"FoodchickenRaw",
"FoodrabbitRaw",
"FoodbaconRaw",
"FoodBeefRaw",
"FoodMuttonRaw",
"FoodChickenRaw",
"FoodRabbitRaw",
"FoodBaconRaw",
"FoodGoatRaw",
"FishRawTrout",
"FishRawSeaBass",
"FishRawTuna"
"ItemTrout",
"ItemSeaBass",
"ItemTuna"
];
exceptionsraw = ["ItemTuna"];
exceptionsraw = ["ItemTuna","ItemSeaBass","ItemTrout","FishRawTuna","FishRawSeaBass","FishRawTrout"];
meatcooked = [
"FoodSteakCooked",
"FoodmeatCooked",
"FoodbeefCooked",
"FoodGoatCooked",
"FishCookedTrout",
"FishCookedSeaBass",
"FishCookedTuna"
"FoodmuttonCooked",
"FoodchickenCooked",
"FoodrabbitCooked",
@@ -51,6 +88,49 @@ no_output_food = ["FoodMRE", "FoodPistachio", "FoodNutmix","FoodBioMeat"]+meatco
// Food with increased chance for infection.
badfood = ["FoodBioMeat","FoodCanUnlabeled"];
boil_tin_cans =
[
"TrashTinCan",
"FoodCanGriffEmpty",
"FoodCanBadguyEmpty",
"FoodCanBoneboyEmpty",
"FoodCanCornEmpty",
"FoodCanCurgonEmpty",
"FoodCanDemonEmpty",
"FoodCanFraggleosEmpty",
"FoodCanHerpyEmpty",
"FoodCanDerpyEmpty",
"FoodCanOrlokEmpty",
"FoodCanPowellEmpty",
"FoodCanTylersEmpty",
"FoodCanUnlabeledEmpty",
"FoodCanRusUnlabeledEmpty",
"FoodCanRusStewEmpty",
"FoodCanRusPorkEmpty",
"FoodCanRusPeasEmpty",
"FoodCanRusMilkEmpty",
"FoodCanRusCornEmpty",
"ItemSodaEmpty",
"ItemSodaClaysEmpty",
"ItemSodaDrwasteEmpty",
"ItemSodaFrankaEmpty",
"ItemSodaGrapeDrinkEmpty",
"ItemSodaLemonadeEmpty",
"ItemSodaLirikEmpty",
"ItemSodaLvgEmpty",
"ItemSodaMtngreenEmpty",
"ItemSodaMzlyEmpty",
"ItemSodaPeppsyEmpty",
"ItemSodaR4z0rEmpty",
"ItemSodaRabbitEmpty",
"ItemSodaRocketFuelEmpty",
"ItemSodaSacriteEmpty",
//"ItemSodaSherbetEmpty",
"ItemSodaSmashtEmpty",
"FoodCanPotatoesEmpty",
"FoodCanBeefEmpty"
];
food_with_output=[
"FoodCanBakedBeans",
"FoodCanSardines",
@@ -152,7 +232,8 @@ boil_tin_cans = [
"ItemSodaMzlyEmpty",
"ItemSodaRabbitEmpty"
];
canPickup = false;
pickupInit = false;
dayz_combination = "";
dayz_humanitytarget = "";
dayz_combatLog = "";
@@ -190,6 +271,12 @@ dayz_locationsActive = [];
Dayz_GUI_R = 0.38; // 0.7
Dayz_GUI_G = 0.63; // -0.63
Dayz_GUI_B = 0.26; // -0.26
//actions blockers
a_player_cooking = false;
a_player_boil = false;
a_player_jerryfilling = false;
a_player_repairing = false;
if (isNil "Dayz_Dark_UI") then {
Dayz_Dark_UI = false;
};
@@ -206,6 +293,7 @@ dayz_resetSelfActions = {
s_player_packvault = -1;
s_player_lockvault = -1;
s_player_unlockvault = -1;
s_player_packtentinfected = -1;
s_player_fillwater = -1;
s_player_fillwater2 = -1;
s_player_fillfuel = -1;
@@ -236,6 +324,8 @@ dayz_resetSelfActions = {
s_player_speeddog = -1;
s_player_calldog = -1;
s_player_feeddog = -1;
s_player_fillfuel20 = -1;
s_player_siphonfuel = -1;
s_player_waterdog = -1;
s_player_staydog = -1;
s_player_trackdog = -1;
@@ -246,6 +336,12 @@ dayz_resetSelfActions = {
s_player_information = -1;
s_player_fuelauto = -1;
s_player_fuelauto2 = -1;
s_player_fishing = -1;
s_player_fishing_veh = -1;
s_player_gather = -1;
s_player_debugCheck = -1;
s_player_destorytent = -1;
s_player_attach_bomb = -1;
s_player_fillgen = -1;
s_player_upgrade_build = -1;
s_player_maint_build = -1;
@@ -253,6 +349,16 @@ dayz_resetSelfActions = {
s_player_towing = -1;
s_halo_action = -1;
s_player_SurrenderedGear = -1;
s_player_upgradestroage = -1;
s_player_Drinkfromhands = -1;
s_player_lockhouse = -1;
s_player_unlockhouse = -1;
s_player_openGate = -1;
s_player_CloseGate = -1;
s_player_breakinhouse = -1;
s_player_setCode = -1;
s_player_BuildUnLock = -1;
s_player_BuildLock = -1;
s_player_maintain_area = -1;
s_player_maintain_area_preview = -1;
s_player_heli_lift = -1;
@@ -266,11 +372,19 @@ dayz_resetSelfActions = {
};
call dayz_resetSelfActions;
dayz_resetUpgradeActions = {
s_player_disassembly = -1;
s_player_building = -1;
s_player_maintenance = -1;
};
call dayz_resetUpgradeActions;
//Engineering variables
s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
s_player_lastTarget = objNull;
s_player_repairActions = [];
s_player_lockunlock = [];
s_player_lockUnlockInside = [];
//for carry slot since determining mouse pos doesn't work right
mouseOverCarry = false;
// Custom
s_player_madsci = [];
@@ -282,6 +396,7 @@ snapGizmos = [];
snapGizmosNearby = [];
//Initialize Medical Variables
force_dropBody = false;
r_interrupt = false;
r_doLoop = false;
r_self = false;
@@ -296,6 +411,7 @@ r_player_unconsciousInputDisabled = false;
r_player_dead = false;
r_player_unconscious = false;
r_player_infected = false;
r_player_Sepsis = [false, 0];
r_player_injured = false;
r_player_inpain = false;
r_player_loaded = false;
@@ -304,6 +420,17 @@ r_fracture_legs = false;
r_fracture_arms = false;
r_player_vehicle = player;
r_player_blood = 12000;
//Blood Regen
r_player_bloodregen = 0;
//Blood Gain Per Sec
r_player_bloodgainpersec = 0;
//Blood Loss Per Sec
r_player_bloodlosspersec = 0;
//Blood Per Sec (gain - loss)
r_player_bloodpersec = 0;
//Food Stack
r_player_foodstack = 1;
//player skill
r_player_lowblood = false;
r_player_timeout = 0;
r_player_bloodTotal = r_player_blood;
@@ -316,6 +443,27 @@ r_action_targets = [];
r_pitchWhine = false;
r_isBandit = false;
isInTraderCity = false;
dayz_DisplayGenderSelect = true;
//blood test vars
r_A_watered = false;
r_B_watered = false;
r_D_watered = false;
r_control_watered = false;
r_canClick_resultsCard = false;
r_resultsCard_Clicked = false;
r_water_clicked = false;
r_needleclicked = 0;
r_needleReset = false;
r_control_done = false;
r_antiA_done = false;
r_antiB_done = false;
r_antiD_done = false;
carryClick = false;
dayz_workingInprogress = false;
//INT Nutrition Info
r_player_Nutrition = [0]; //[Calories]
r_player_nutritionMuilpty = 2;
NORRN_dropAction = -1;
DZE_PROTOBOX = objNull;
@@ -448,19 +596,52 @@ PVDZE_plr_TradeMenu = []; // For all traders
PVDZE_plr_DeathB = [];
//DayZ settings
dayz_maxAnimals = 8;
dayz_maxPlants = 3;
DAYZ_agentnumber = 0;
dayz_animalDistance = 600;
dayz_plantDistance = 600;
dayz_zSpawnDistance = 1000;
dayz_maxMaxModels = 80; // max quantity of Man models (player || Z, dead || alive) around players. Below this limit we can spawn Z // max quantity of loot piles around players. Below this limit we can spawn some loot
dayz_spawnArea = 200; // radius around player where we can spawn loot & Z
dayz_spawnArea = 300; // 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
dayz_canDelete = 350; // Z, further than this distance from its "owner", will be deleted
dayz_traps = [];
dayz_traps_active = [];
dayz_traps_trigger = [];
//Remove
if(isNil "dayz_ForcefullmoonNights") then {
dayz_ForcefullmoonNights = false; //force full moon nights.
};
if(isNil "dayz_bleedingeffect") then {
dayz_bleedingeffect = 3;
};//dayz_bleedingeffect = 3; //1= blood on the ground, 2= partical effect, 3 = both.
if(isNil "dayz_temperature_override") then {
dayz_temperature_override = false;
};
//Settings Not under dayz_settings
if(isNil "dayz_attackRange") then {
dayz_attackRange = 3;
};
if(isNil "dayz_DamageMultiplier") then {
dayz_DamageMultiplier = 1;
};
if(isNil "dayz_quickSwitch") then {
dayz_quickSwitch = false; //Enable quick weapon switch,
};
//Will be moved to map
if(isNil "dayz_infectiouswaterholes") then {
dayz_infectiouswaterholes = true; //Enable infected waterholes
};
if(isNil "dayz_POIs") then {
dayz_POIs = true; //Enable POI's
};
if(isNil "DZE_SelfTransfuse") then {
DZE_SelfTransfuse = false;
};
@@ -577,6 +758,70 @@ if(isNil "DZE_maintainRange") then {
DZE_maintainRange = ((DZE_PlotPole select 0)+20);
};
if(isNil "dayz_presets") then { dayz_presets = "Vanilla"; };
switch (dayz_presets) do {
case "Custom": { //Custom
if(isNil "dayz_enableGhosting") then { dayz_enableGhosting = false; };
if(isNil "dayz_ghostTimer") then { dayz_ghostTimer = 120; };
if(isNil "dayz_spawnselection") then { dayz_spawnselection = 0; };
if(isNil "dayz_spawncarepkgs_clutterCutter") then { dayz_spawncarepkgs_clutterCutter = 0; };
if(isNil "dayz_spawnCrashSite_clutterCutter") then { dayz_spawnCrashSite_clutterCutter = 0; };
if(isNil "dayz_spawnInfectedSite_clutterCutter") then { dayz_spawnInfectedSite_clutterCutter = 0; };
if(isNil "dayz_bleedingeffect") then { dayz_bleedingeffect = 2; };
if(isNil "dayz_ForcefullmoonNights") then { dayz_ForcefullmoonNights = false; };
if(isNil "dayz_OpenTarget_TimerTicks") then { dayz_OpenTarget_TimerTicks = 60 * 10; };
if(isNil "dayz_temperature_override") then { dayz_temperature_override = true; };
if(isNil "dayz_nutritionValuesSystem") then { dayz_nutritionValuesSystem = false; };
//Not implmented yet
if(isNil "dayz_classicBloodBagSystem") then { dayz_classicBloodBagSystem = false; };
};
case "Classic": { //Classic
dayz_enableGhosting = false; //Enable disable the ghosting system.
dayz_ghostTimer = 120; //Sets how long in seconds a player must be dissconnected before being able to login again.
dayz_spawnselection = 0; //Turn on spawn selection 0 = random only spawns, 1 = Spawn choice based on limits
dayz_spawncarepkgs_clutterCutter = 0; //0 = loot hidden in grass, 1 = loot lifted and 2 = no grass
dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 2 = no grass
dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass
dayz_bleedingeffect = 2; //1= blood on the ground, 2= partical effect, 3 = both.
dayz_ForcefullmoonNights = false; // Forces night time to be full moon.
dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked.
dayz_temperature_override = true; // Set to true to disable all temperature changes.
dayz_nutritionValuesSystem = false; //Enables nutrition system
//Not implmented yet
dayz_classicBloodBagSystem = true; //Enables one type of bloodbag
};
case "Elite": { //Elite
dayz_enableGhosting = true; //Enable disable the ghosting system.
dayz_ghostTimer = 90; //Sets how long in seconds a player must be dissconnected before being able to login again.
dayz_spawnselection = 0; //Turn on spawn selection 0 = random only spawns, 1 = Spawn choice based on limits
dayz_spawncarepkgs_clutterCutter = 0; //0 = loot hidden in grass, 1 = loot lifted and 2 = no grass
dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 2 = no grass
dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass
dayz_bleedingeffect = 3; //1= blood on the ground, 2= partical effect, 3 = both.
dayz_ForcefullmoonNights = false; // Forces night time to be full moon.
dayz_OpenTarget_TimerTicks = 60 * 25; //how long can a player be freely attacked for after attacking someone unprovoked.
dayz_temperature_override = false; // Set to true to disable all temperature changes.
dayz_nutritionValuesSystem = true; //Enables nutrition system
//Not implmented yet
dayz_classicBloodBagSystem = false; //Enables one type of bloodbag
};
default { //Vanilla
dayz_enableGhosting = true; //Enable disable the ghosting system.
dayz_ghostTimer = 60; //Sets how long in seconds a player must be disconnected before being able to login again.
dayz_spawnselection = 1; //Turn on spawn selection 0 = random only spawns, 1 = Spawn choice based on limits
dayz_spawncarepkgs_clutterCutter = 0; //0 = loot hidden in grass, 1 = loot lifted and 2 = no grass
dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 2 = no grass
dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass
dayz_bleedingeffect = 3; //1= blood on the ground, 2= partical effect, 3 = both.
dayz_ForcefullmoonNights = true; // Forces night time to be full moon.
dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked.
dayz_temperature_override = false; // Set to true to disable all temperature changes.
dayz_nutritionValuesSystem = true; //Enables nutrition system
//Not implmented yet
dayz_classicBloodBagSystem = false; //Enables one type of bloodbag
};
};
DZE_REPLACE_WEAPONS = [["Crossbow","ItemMatchbox","ItemHatchet"],["Crossbow_DZ","ItemMatchbox_DZE","ItemHatchet_DZE"]];
if(isNil "dayz_zedSpawnVehCount") then {
@@ -627,6 +872,19 @@ if(isServer) then {
dayz_players = [];
dead_bodyCleanup = [];
needUpdate_objects = [];
Server_InfectedCamps = [];
//dayz_spawnCrashSite_clutterCutter=0; // helicrash spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass
//dayz_spawnInfectedSite_clutterCutter=0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass
//Objects to remove when killed.
DayZ_removableObjects = ["Wire_cat1", "Sandbag1_DZ", "Hedgehog_DZ", "CamoNet_DZ", "Trap_Cans", "TrapTripwireFlare", "TrapBearTrapSmoke", "TrapTripwireGrenade", "TrapTripwireSmoke", "TrapBearTrapFlare"];
//[10416.695, 4198.4634],[7982.2563, 1419.8256],[10795.93, 1419.8263],[7966.083, 4088.7463],[9259.7266, 2746.1985],[5200.5234, 3915.3274],[6494.1665, 2572.7798],[5216.6968, 1246.407],[2564.7244, 3915.3296],[3858.3674, 2572.782],[2580.8977, 1246.4092],[13398.995, 4400.5874],[12242.025, 2948.3196],[13551.842, 1832.2257],[14870.512, 3009.5117],[-178.19415, 1062.4478],[1099.2754, 2388.8206],[-194.36755, 3731.3679],[10394.215, 8322.1719],[7959.7759, 5543.5342],[10773.449, 5543.5342],
dayz_grid =[[7943.6025, 8212.4551],[9237.2461, 6869.9063],[5178.043, 8039.0361],[6471.686, 6696.4883],[5194.2163, 5370.1152],[2542.2439, 8039.0381],[3835.887, 6696.4902],[2558.4172, 5370.1172],[13376.514, 8524.2969],[12219.544, 7072.0273],[13529.361, 5955.9336],[14848.032, 7133.2197],[-200.67474, 5186.1563],[1076.7949, 6512.5283],[-216.84814, 7855.0771],[10293.751, 12197.736],[7859.312, 9419.0996],[10672.988, 9419.0996],[7843.1387, 12088.021],[9136.7822, 10745.474],[5077.5791, 11914.601],[6371.2222, 10572.052],[5093.7524, 9245.6816],[2441.78, 11914.604],[3735.4231, 10572.055],[2457.9534, 9245.6816],[13276.053, 12399.861],[12119.08, 10947.596],[13428.897, 9831.501],[14747.566, 11008.786],[-301.13867, 9061.7207],[976.33112, 10388.096],[-317.31201, 11730.642],[10271.271, 16321.429],[7836.8315, 13542.813],[10650.506, 13542.813],[7820.6582, 16211.718],[9114.3018, 14869.175],[5055.0986, 16038.3],[6348.7417, 14695.758],[5071.272, 13369.392],[2419.2996, 16038.305],[3712.9426, 14695.76],[2435.4729, 13369.392],[13253.568, 16523.553],[12096.6, 15071.295],[13406.416, 13955.209],[14725.089, 15132.486],[-323.61914, 13185.43],[953.85059, 14511.8],[-339.79248, 15854.346]];
dayz_gridsActive = [];
dayz_seedloot = [];
dayz_deseedloot = [];
dayz_ghostPlayers = [];
dayz_activePlayers = [];
dayz_died = [];
DZE_DYN_AntiStuck = 0;
DZE_DYN_AntiStuck2nd = 0;
@@ -662,11 +920,47 @@ if(isServer) then {
};
if(!isDedicated) then {
//Establish Location Streaming
_funcGetLocation =
{
dayz_Locations = [];
for "_i" from 0 to ((count _this) - 1) do
{
private ["_location","_config","_locHdr","_position","_size","_type"];
//Get Location Data from config
_config = (_this select _i);
_position = getArray (_config >> "position");
_locHdr = configName _config;
_size = getNumber (_config >> "size");
dayz_Locations set [count dayz_Locations, [_position,_locHdr,_size]];
};
};
_cfgLocation = configFile >> "CfgTownGeneratorChernarus";
_cfgLocation call _funcGetLocation;
_funcGetGrid =
{
dayz_GridSystem = [];
for "_i" from 0 to ((count _this) - 1) do
{
private ["_location","_config","_locHdr","_position","_size","_type"];
_config = (_this select _i);
_position = getArray (_config >> "position");
_locHdr = configName _config;
_size = getNumber (_config >> "size");
dayz_GridSystem set [count dayz_GridSystem, [_position,_locHdr,_size]];
};
};
_cfggrid = configFile >> "CfgGrid";
_cfggrid call _funcGetGrid;
dayz_spawnPos = getPosATL player;
dayz_buildingMonitor = []; //Buildings to check
dayz_bodyMonitor = [];
dayz_flyMonitor = []; //used for monitor flies
dayz_zedMonitor = [];
dayz_buildingBubbleMonitor = [];
dayz_gridsActive = [];
// weather control var
zeroPreviousWeather = [0,0,[0,0],0];
@@ -691,7 +985,8 @@ if(!isDedicated) then {
dayz_hunger = 0;
dayz_thirst = 0;
dayz_combat = 0;
dayz_preloadFinished = false;
dayz_nutrition = 0;
dayz_preloadFinished = true;
dayz_statusArray = [1,1];
dayz_disAudial = 0;
dayz_disVisual = 0;
@@ -720,23 +1015,33 @@ if(!isDedicated) then {
dayz_authed = false;
dayz_panicCooldown = 0;
dayz_areaAffect = 2.5;
dayz_heartBeat = false;
dayz_monitorPeriod = 0.6; // number of seconds between each player_zombieCheck calls
dayz_heartBeat = false;
dayzClickTime = 0;
//Current local
dayz_spawnZombies = 0;
dayz_swarmSpawnZombies = 0;
//Max local
dayz_maxLocalZombies = 15; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
dayz_CurrentNearByZombies = 0;
//Max NearBy
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
dayz_maxNearByZombies = 30; // 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.
if (isNil "dayz_maxGlobalZeds") then {
dayz_maxGlobalZeds = 3000;
dayz_maxGlobalZeds = 1500;
};
//Animals
dayz_currentGlobalAnimals = 0;
dayz_maxGlobalAnimals = 80;
//Plnats
dayz_currentGlobalPlants = 0;
dayz_maxGlobalPlants = 500;
//Loot
r_player_divideinvehicle = 0;
if (isNil "dayz_spawnDelay") then {
dayz_spawnDelay = 120;
};
@@ -759,12 +1064,17 @@ if(!isDedicated) then {
dayz_scaleLight = 0;
dayzDebug = false;
dayzState = -1;
dayz_onBack = "";
dayz_fishingInprogress = false;
dayz_siphonFuelInProgress = false;
dayz_salvageInProgress = false;
lastSpawned = diag_tickTime;
lastSepsis = 0;
//uiNamespace setVariable ['DAYZ_GUI_display',displayNull];
//if (uiNamespace getVariable ['DZ_displayUI', 0] == 2) then {
// dayzDebug = true;
//};
dayz_onBack = "";
dayz_onBackActive = false;
dayz_dodge = false;
DZE_ActionInProgress = false;
// DayZ Epoch Client only variables
@@ -835,4 +1145,5 @@ if(!isDedicated) then {
DZE_SaveTime = 30;
Dayz_constructionContext = [];
Dayz_freefall = [ time, 0, 0.1 ];
};

View File

@@ -4,16 +4,21 @@ ASSIGN DAMAGE HANDLER TO A UNIT
- unit call fnc_veh_ResetEH
************************************************************/
_this removeAllEventHandlers "HandleDamage";
_this removeAllEventHandlers "Killed";
_this addeventhandler ["HandleDamage",{ _this call vehicle_handleDamage } ];
_this addeventhandler ["Killed",{ _this call vehicle_handleKilled } ];
if (_this isKindOf "AllVehicles") then {
if (isServer) then {
_this removeAllEventHandlers "GetOut";
_this removeAllEventHandlers "GetIn";
_this addEventHandler ["GetOut", {[(_this select 0),"all"] call server_updateObject;}];
_this addEventHandler ["GetIn", {[(_this select 0),"all"] call server_updateObject; _this call server_checkIfTowed;}];
};
_this removeAllEventHandlers "HandleDamage";
_this removeAllEventHandlers "Killed";
_this addeventhandler ["HandleDamage",{ _this call fnc_veh_handleDam } ];
_this addeventhandler ["Killed",{ _this call fnc_veh_handleKilled } ];
_this addEventHandler ["GetOut", { _this call vehicle_getOut }];
//diag_log(format["%1: all EH reset for %2", __FILE__, _this]);
if (isServer) then {
_this removeAllEventHandlers "GetOut";
_this removeAllEventHandlers "GetIn";
_this addEventHandler ["GetOut", {[(_this select 0),"all",true] call server_updateObject;}];
_this addEventHandler ["GetIn", {[(_this select 0),"all",true] call server_updateObject; _this call server_checkIfTowed;}];
//_this addEventHandler ["Engine", { }];
};
//diag_log(format["%1: all EH reset for %2", __FILE__, _this]);
};