mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-10 18:22:52 +03:00
1.0.0.3 Developer Build
+ [FIXED] Battleye kick when calling dog. Thanks to @kikyou2 + [FIXED] Moved vehicle event handler to server side with a call to all connected clients. Before it was just set on only the owner and the server. This should fix issues with damage/repair handling of just purchased vehicles. + [FIXED] Fixed case sensitivity in building loot generation. This was only a problem on new maps that share the same buildings as others yet have differing case in the classnames. + [ADDED] New build-ables: Fence_corrugated_DZ, M240Nest_DZ, CanvasHut_DZ, ParkBench_DZ, MetalGate_DZ, OutHouse_DZ, Wooden_shed_DZ, WoodShack_DZ, StorageShed_DZ. + [ADDED] New crafting items: ItemCanvas, PartWoodLumber, PartWoodPlywood, ItemCorrugated, ItemPole + [ADDED] 55 gallon (210 liter) Fuel Barrel that can only be used on helicopters or fuel trucks. + [ADDED] All DayZ specific magazine items now only take one slot, this also makes it easier to become over burdened so be careful about blacking out. + [ADDED] More building loot spawn positions for Namalsk. + [FIXED] When packing tent get classname of new weapon_holder from config. + [CHANGED] Totally reworked player building system. Preview and placement accuracy has been significantly improved. Building now requires X number of stages to complete. Players cannot build while in combat. + [CHANGED] Added required tools array and is nearby checking for fire, etc. Also, each item can now have 5 separate crafting options. + [CHANGED] Reworked refuel and siphon code to support more can types. + [CHANGED] Removed all infinite fueling sources and added (KamazRefuel_DZ, UralRefuel_TK_EP1_DZ,MtvrRefuel_DES_EP1_DZ) variants of the fuel trucks to remove auto refuel and increase siphon-able fuel capacity to 10000. Old style refuel can still be used if the variable dayz_oldrefuel = true is set in the missions init.sqf. + [CHANGED] Remove object code now uses config variables instead of hard coded into sqf (default: constructioncount = 5) + [CHANGED] Moved most arrays for revealing objects, allowed objects, update objects, disallowed combat roll to arrays within variables.sqf. So that these arrays are unified and easier to change. + [CHANGED] New vehicle spawns now have a new fuel system using a random percent between min and max variables. Defaults: (DynamicVehicleFuelLow = 0; DynamicVehicleFuelHigh = 100;) + [CHANGED] New vehicle spawns now damage all parts and without a limiter on fuel and engine parts, this could cause a vehicle to be very close to blowing up. + [CHANGED] Disabled simulation server side of all road debris and crashes.
This commit is contained in:
@@ -2,8 +2,8 @@ private["_obj","_type","_config","_positions","_iPos","_nearBy","_itemType","_it
|
||||
|
||||
_obj = _this select 0;
|
||||
|
||||
// experiment to get true classname to prevent issues with case
|
||||
_type = configName (configFile >> "CfgVehicles" >> (typeOf _obj));
|
||||
// lower case to prevent issues with differing case for buildings from map to map.
|
||||
_type = toLower(typeOf _obj);
|
||||
|
||||
diag_log format["Spawning loot for: %1", _type];
|
||||
_config = configFile >> "CfgBuildingLoot" >> _type;
|
||||
|
||||
@@ -4,8 +4,8 @@ scriptName "Functions\misc\fn_damageActions.sqf";
|
||||
- Function
|
||||
- [] call fnc_usec_damageActions;
|
||||
************************************************************/
|
||||
private["_menClose","_unit","_unconscious","_lowBlood","_injured","_inPain","_hasBandage","_hasEpi","_hasMorphine","_hasBlood","_action1","_action2","_action","_vehClose","_hasVehicle","_vehicle","_inVehicle","_crew","_unconscious_crew","_patients","_charID","_friendlies"];
|
||||
|
||||
private ["_weaponName","_action","_turret","_weapons","_assignedRole","_action1","_action2","_x","_vehicle","_unit","_vehType","_displayName","_ammoQty","_ammoSerial","_weapon","_magTypes","_type","_typeVeh","_index","_inventory","_unitTo","_isEngineer","_vehClose","_hasVehicle","_unconscious","_lowBlood","_injured","_inPain","_legsBroke","_armsBroke","_charID","_friendlies","_playerMagazines","_hasBandage","_hasEpi","_hasMorphine","_hasBlood","_hasToolbox","_hasJerry","_hasJerryE","_hasEtool","_hasWire","_hasPainkillers","_unconscious_crew","_patients","_crew","_menClose","_hasPatient","_inVehicle","_isClose","_bag","_classbag"];
|
||||
_menClose = cursorTarget;
|
||||
_hasPatient = alive _menClose;
|
||||
_vehicle = vehicle player;
|
||||
@@ -52,16 +52,19 @@ if (_hasPatient and !r_drag_sqf and !r_action and !_inVehicle and !r_player_unco
|
||||
_armsBroke = _unit getVariable ["hit_hands", 0] >= 1;
|
||||
_charID = _unit getVariable ["characterID", 0];
|
||||
_friendlies = player getVariable ["friendlies", []];
|
||||
_hasBandage = "ItemBandage" in magazines player;
|
||||
_hasEpi = "ItemEpinephrine" in magazines player;
|
||||
_hasMorphine = "ItemMorphine" in magazines player;
|
||||
_hasBlood = "ItemBloodbag" in magazines player;
|
||||
_playerMagazines = magazines player;
|
||||
_hasBandage = "ItemBandage" in _playerMagazines;
|
||||
_hasEpi = "ItemEpinephrine" in _playerMagazines;
|
||||
_hasMorphine = "ItemMorphine" in _playerMagazines;
|
||||
_hasBlood = "ItemBloodbag" in _playerMagazines;
|
||||
_hasToolbox = "ItemToolbox" in items player;
|
||||
_hasJerry = "ItemJerrycan" in magazines player;
|
||||
_hasJerryE = "ItemJerrycanEmpty" in magazines player;
|
||||
_hasJerry = "ItemJerrycan" in _playerMagazines;
|
||||
_hasBarrel = "ItemFuelBarrel" in _playerMagazines;
|
||||
_hasJerryE = "ItemJerrycanEmpty" in _playerMagazines;
|
||||
_hasBarrelE = "ItemFuelBarrelEmpty" in _playerMagazines;
|
||||
_hasEtool = "ItemEtool" in weapons player;
|
||||
_hasWire = "ItemWire" in magazines player;
|
||||
_hasPainkillers = "ItemPainkiller" in magazines player;
|
||||
_hasWire = "ItemWire" in _playerMagazines;
|
||||
_hasPainkillers = "ItemPainkiller" in _playerMagazines;
|
||||
|
||||
//Allow player to drag
|
||||
if(_unconscious) then {
|
||||
@@ -88,7 +91,7 @@ if (_hasPatient and !r_drag_sqf and !r_action and !_inVehicle and !r_player_unco
|
||||
if(_injured and _hasBandage) then {
|
||||
r_action = true;
|
||||
//_unit setdamage 0.8;
|
||||
_action = _unit addAction [localize "str_actions_medical_04", "\z\addons\dayz_code\medical\bandage.sqf",[_unit], 0, true, true, "", "'ItemBandage' in magazines player"];
|
||||
_action = _unit addAction [localize "str_actions_medical_04", "\z\addons\dayz_code\medical\bandage.sqf",[_unit], 0, true, true, "", ""];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
//Allow player to give Epinephrine
|
||||
@@ -100,19 +103,19 @@ if (_hasPatient and !r_drag_sqf and !r_action and !_inVehicle and !r_player_unco
|
||||
//Allow player to give Morphine
|
||||
if((_legsBroke or _armsBroke) and _hasMorphine) then {
|
||||
r_action = true;
|
||||
_action = _unit addAction [localize "str_actions_medical_06", "\z\addons\dayz_code\medical\morphine.sqf",[_unit], 0, true, true, "", "'ItemMorphine' in magazines player"];
|
||||
_action = _unit addAction [localize "str_actions_medical_06", "\z\addons\dayz_code\medical\morphine.sqf",[_unit], 0, true, true, "", ""];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
//Allow player to give Painkillers
|
||||
if(_inPain and _hasPainkillers) then {
|
||||
r_action = true;
|
||||
_action = _unit addAction [localize "str_actions_medical_07", "\z\addons\dayz_code\medical\painkiller.sqf",[_unit], 0, true, true, "", "'ItemPainkiller' in magazines player"];
|
||||
_action = _unit addAction [localize "str_actions_medical_07", "\z\addons\dayz_code\medical\painkiller.sqf",[_unit], 0, true, true, "", ""];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
//Allow player to transfuse blood
|
||||
if(_lowBlood and _hasBlood) then {
|
||||
r_action = true;
|
||||
_action = _unit addAction [localize "str_actions_medical_08", "\z\addons\dayz_code\medical\transfusion.sqf",[_unit], 0, true, true, "", "'ItemBloodbag' in magazines player"];
|
||||
_action = _unit addAction [localize "str_actions_medical_08", "\z\addons\dayz_code\medical\transfusion.sqf",[_unit], 0, true, true, "", ""];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
|
||||
@@ -122,15 +125,15 @@ if (_hasPatient and !r_drag_sqf and !r_action and !_inVehicle and !r_player_unco
|
||||
_typeVeh = getText(configFile >> "cfgVehicles" >> _type >> "displayName");
|
||||
|
||||
//CAN WE REFUEL THE OBJECT?
|
||||
if ((fuel _unit < 1) and _hasJerry) then {
|
||||
if ((fuel _unit < 1) and (_hasJerry or _hasBarrel)) then {
|
||||
r_action = true;
|
||||
_action = _unit addAction [format[localize "str_actions_medical_10",_typeVeh], "\z\addons\dayz_code\actions\refuel.sqf",[_unit], 0, true, true, "", "'ItemJerrycan' in magazines player"];
|
||||
_action = _unit addAction [format[localize "str_actions_medical_10",_typeVeh], "\z\addons\dayz_code\actions\refuel.sqf",[_unit], 0, true, true, "", ""];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
//CAN WE siphon fuel from THE OBJECT?
|
||||
if ((fuel _unit > 0) and _hasJerryE) then {
|
||||
if ((fuel _unit > 0) and (_hasJerryE or _hasBarrelE)) then {
|
||||
r_action = true;
|
||||
_action = _unit addAction [format["Siphon fuel from %1",_typeVeh], "\z\addons\dayz_code\actions\siphonFuel.sqf",[_unit], 0, true, true, "", "'ItemJerrycanEmpty' in magazines player"];
|
||||
_action = _unit addAction [format["Siphon fuel from %1",_typeVeh], "\z\addons\dayz_code\actions\siphonFuel.sqf",[_unit], 0, true, true, "", ""];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
|
||||
|
||||
@@ -110,6 +110,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
_isDog = (cursorTarget isKindOf "DZ_Pastor" || cursorTarget isKindOf "DZ_Fin");
|
||||
_isZombie = cursorTarget isKindOf "zZombie_base";
|
||||
_isDestructable = cursorTarget isKindOf "BuiltItems";
|
||||
_isWreck = typeOf cursorTarget in ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"];
|
||||
_isTent = cursorTarget isKindOf "TentStorage";
|
||||
_isFuel = false;
|
||||
_isAlive = alive cursorTarget;
|
||||
@@ -125,14 +126,14 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
};
|
||||
} forEach _rawmeat;
|
||||
|
||||
|
||||
if (_hasFuelE) then {
|
||||
if (_hasFuelE and dayz_oldrefuel) then {
|
||||
_isFuel = (cursorTarget isKindOf "Land_Ind_TankSmall") or (cursorTarget isKindOf "Land_fuel_tank_big") or (cursorTarget isKindOf "Land_fuel_tank_stairs") or (cursorTarget isKindOf "Land_fuel_tank_stairs_ep1") or (cursorTarget isKindOf "Land_wagon_tanker") or (cursorTarget isKindOf "Land_fuelstation") or (cursorTarget isKindOf "Land_fuelstation_army");
|
||||
};
|
||||
|
||||
// diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID));
|
||||
|
||||
//Allow player to delete objects
|
||||
if(_isDestructable and _hasToolbox and _canDo) then {
|
||||
if((_isDestructable or _isWreck) and _hasToolbox and _canDo) then {
|
||||
if (s_player_deleteBuild < 0) then {
|
||||
s_player_deleteBuild = player addAction [format[localize "str_actions_delete",_text], "\z\addons\dayz_code\actions\remove.sqf",cursorTarget, 1, true, true, "", ""];
|
||||
};
|
||||
@@ -204,13 +205,15 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
};
|
||||
|
||||
//Allow player to fill jerrycan
|
||||
if(_hasFuelE and _isFuel and _canDo) then {
|
||||
if (s_player_fillfuel < 0) then {
|
||||
s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""];
|
||||
if(dayz_oldrefuel) then {
|
||||
if(_hasFuelE and _isFuel and _canDo) then {
|
||||
if (s_player_fillfuel < 0) then {
|
||||
s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""];
|
||||
};
|
||||
} else {
|
||||
player removeAction s_player_fillfuel;
|
||||
s_player_fillfuel = -1;
|
||||
};
|
||||
} else {
|
||||
player removeAction s_player_fillfuel;
|
||||
s_player_fillfuel = -1;
|
||||
};
|
||||
|
||||
// Human Gut animal or zombie
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
private ["_objects"];
|
||||
_objects = nearestObjects [getPosATL player, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage"], 10];
|
||||
_objects = nearestObjects [getPosATL player, dayz_updateObjects, 10];
|
||||
{
|
||||
//["dayzUpdateVehicle",[_x,"gear"]] call callRpcProcedure;
|
||||
dayzUpdateVehicle = [_x,"gear"];
|
||||
|
||||
@@ -28,7 +28,7 @@ if(_ownerID == dayz_characterID) then {
|
||||
|
||||
sleep 3;
|
||||
|
||||
_classname = getText (configFile >> "CfgMagazines" >> (typeOf_obj) >> "create");
|
||||
_classname = getText (configFile >> "CfgVehicles" >> (typeOf _obj) >> "create");
|
||||
|
||||
_location = _pos;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user