mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-18 09:32:02 +03:00
+ [FIXED] Can now refuel and siphon while swimming again. Must stay at same position for 6 seconds. + [FIXED] Refuel sound now only plays when an actual refuel/siphon takes place. + [FIXED] Check fuel levels again just before refuel or siphon actions. + [FIXED] Player Zombies can now no longer pickup "Take %" objects. + [FIXED] Dogs now correctly consume any available raw meat. + [FIXED] Machete now spawns correctly, it was missing WeaponHolder_ItemMachete config. + [UPDATED] Updated batttleye scripts. + [CHANGED] Gutting zombies and animals now double checks for "meatHarvested" after animation and before action. + [CHANGED] Survivor2_DZ was not in the list of AllPlayers. + [CHANGED] Lowered alert radius when gutting zombies to 50m instead of 100m. + [CHANGED] Moved all clothes to cfgloots to reduce spawn chances as we add more. (clothes, militaryclothes, specialclothes) + [CHANGED] HMMWV URAL and UAZ road debris now has its own military loot tables that include sandbags. + [CHANGED] New vehicle spawns now have a new damage system using a random percent between min and max variables. Defaults: (DynamicVehicleDamageLow = 0; DynamicVehicleDamageHigh = 100;) + [CHANGED] Animal count was too low was 5 now 8. Can be overridden with dayz_maxAnimals set inside mission init.sqf. + [ADDED] Taming dogs now has a 50% chance to fail and consume meat, Chance to tame without failure increases with number of days alive (dayz_skilllevel). + [ADDED] Added spawnMarkerCount variable override to use more spawn marker locations. (default=4) + [ADDED] Added medic animation requirement for gutting zombies and animals so you can now walk away to cancel gutting process. + [ADDED] Added old bandit skin back in as Skin_Bandit2_DZ as a drop on Residential. + [ADDED] New vehicle spawns now have a chance to spawn 0-3 loot randomly from all cfgloots. + [ADDED] Added new desert themed domed camping tent (ItemTentDomed) that holds 75 mags, 12 weapons, and 7 backpacks - thanks to vRNemesis for model and texture. + [ADDED] Added server side ability to enabled taming dogs and can be enabled by setting dayz_tameDogs = true; within mission init.sqf. (default: false) + [ADDED] Added parachute spawning players as a server side option enable server side with the variable dayz_paraSpawn = true; within mission init.sqf. (default: false) + [ADDED] Randomly spawning (like helicopter crashes) Mass Grave with 8-16 zombies and 2x more loot. + [REMOVED] Commented out remaining unused call to stream_locationCheck. + [INFO] Changes can be made to all zombie spawn variables via the mission init.sqf (defaults: dayz_maxLocalZombies = 40; dayz_maxGlobalZombies =30; dayz_maxZeds = 500;) + [INFO] DZEdebug = true; (default: false) will enable debug so that road debris and new vehicle spawns are visible via map markers. Also debug will enable "Save to arma.RPT" that allows access of a tool to obtain lootpos information for buildings used for adding support for additional maps.
99 lines
3.0 KiB
Plaintext
99 lines
3.0 KiB
Plaintext
private["_array","_type","_classname","_holder","_config","_isOk","_muzzles","_playerID","_claimedBy","_text","_control","_dialog","_item","_val","_max","_bolts","_quivers","_quiver","_broken"];
|
|
|
|
// Exit if player zombie
|
|
if(player isKindOf "PZombie_VB") exitWith {};
|
|
|
|
if(TradeInprogress) exitWith { cutText ["Take item already in progress." , "PLAIN DOWN"]; };
|
|
TradeInprogress = true;
|
|
|
|
_array = _this select 3;
|
|
_type = _array select 0;
|
|
_classname = _array select 1;
|
|
_holder = _array select 2;
|
|
|
|
_playerID = getPlayerUID player;
|
|
_text = getText (configFile >> _type >> _classname >> "displayName");
|
|
|
|
_claimedBy = _holder getVariable["claimed","0"];
|
|
|
|
// Check if any players are nearby if not allow player to claim item.
|
|
_playerNear = {isPlayer _x} count (player nearEntities ["Man", 6]) > 1;
|
|
|
|
// Only allow if not already claimed.
|
|
if (_claimedBy == "0" or !_playerNear) then {
|
|
// Since item was not claimed proceed with claiming it.
|
|
_holder setVariable["claimed",_playerID,true];
|
|
};
|
|
|
|
if(_classname isKindOf "TrapBear") exitwith {TradeInprogress = false; deleteVehicle _holder;};
|
|
|
|
player playActionNow "PutDown";
|
|
if (_classname == "MeleeCrowbar") then {
|
|
player addMagazine 'crowbar_swing';
|
|
};
|
|
if (_classname == "MeleeHatchet") then {
|
|
player addMagazine 'hatchet_swing';
|
|
};
|
|
if (_classname == "MeleeMachete") then {
|
|
player addMagazine 'Machete_swing';
|
|
};
|
|
|
|
_broken = false;
|
|
if(_classname == "WoodenArrow") then {
|
|
if (20 > random 100) then {
|
|
_broken = true;
|
|
};
|
|
};
|
|
if (_broken) exitWith { deleteVehicle _holder; TradeInprogress = false; cutText [localize "str_broken_arrow", "PLAIN DOWN"] };
|
|
|
|
sleep 1;
|
|
|
|
_claimedBy = _holder getVariable["claimed","0"];
|
|
|
|
if (_claimedBy != _playerID) exitWith {TradeInprogress = false; cutText [format[(localize "str_player_beinglooted"),_text] , "PLAIN DOWN"]};
|
|
|
|
if(_classname isKindOf "Bag_Base_EP1") then {
|
|
diag_log("Picked up a bag: " + _classname);
|
|
};
|
|
|
|
// test to see if item still exists just before adding and removing
|
|
if(_holder == objNull) exitWith {};
|
|
|
|
_obj = nearestObjects [(getPosATL player), [(typeOf _holder)], 5];
|
|
_qty = count _obj;
|
|
|
|
if(_qty >= 1) then {
|
|
|
|
_config = (configFile >> _type >> _classname);
|
|
_isOk = [player,_config] call BIS_fnc_invAdd;
|
|
if (_isOk) then {
|
|
|
|
deleteVehicle _holder;
|
|
if (_classname in ["MeleeHatchet","MeleeCrowbar","MeleeMachete"]) then {
|
|
|
|
if (_type == "cfgWeapons") then {
|
|
_muzzles = getArray(configFile >> "cfgWeapons" >> _classname >> "muzzles");
|
|
//_wtype = ((weapons player) select 0);
|
|
if (count _muzzles > 1) then {
|
|
player selectWeapon (_muzzles select 0);
|
|
} else {
|
|
player selectWeapon _classname;
|
|
};
|
|
};
|
|
};
|
|
} else {
|
|
_holder setVariable["claimed","0",true];
|
|
cutText [localize "STR_DAYZ_CODE_2", "PLAIN DOWN"];
|
|
if (_classname == "MeleeCrowbar") then {
|
|
player removeMagazine 'crowbar_swing';
|
|
};
|
|
if (_classname == "MeleeHatchet") then {
|
|
player removeMagazine 'hatchet_swing';
|
|
};
|
|
if (_classname == "MeleeMachete") then {
|
|
player removeMagazine 'Machete_swing';
|
|
};
|
|
};
|
|
};
|
|
TradeInprogress = false;
|