mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Init more or less done
This commit is contained in:
@@ -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
|
||||
@@ -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];
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
|
||||
@@ -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]);
|
||||
};
|
||||
Reference in New Issue
Block a user