mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-17 09:10:27 +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.
119 lines
3.2 KiB
Plaintext
119 lines
3.2 KiB
Plaintext
private["_location","_isOk","_dir","_classname","_item"];
|
|
|
|
if(TradeInprogress) exitWith { cutText ["Building already in progress." , "PLAIN DOWN"]; };
|
|
TradeInprogress = true;
|
|
|
|
_location = player modeltoworld [0,1,0];
|
|
_location set [2,0];
|
|
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
|
_isWater = (surfaceIsWater _location) or dayz_isSwimming;
|
|
|
|
if(_isWater) exitWith {cutText [localize "str_player_26", "PLAIN DOWN"];};
|
|
if(_onLadder) exitWith {cutText [localize "str_player_21", "PLAIN DOWN"];};
|
|
|
|
if (vehicle player != player) exitWith {cutText ["You may not build while in a vehicle", "PLAIN DOWN"]};
|
|
|
|
_item = _this;
|
|
_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
|
|
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
|
|
|
|
_hasbuilditem = _this in magazines player;
|
|
|
|
if (!_hasbuilditem) exitWith {cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]};
|
|
|
|
_dir = getDir player;
|
|
|
|
_offset_x = 0;
|
|
_offset_y = 1.5;
|
|
_offset_z = 0;
|
|
_offset_z_attach = 0.5;
|
|
|
|
// Start Preview loop
|
|
_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
|
_tmpbuilt setdir _dir;
|
|
_tmpbuilt attachTo [player,[_offset_x,_offset_y,_offset_z_attach]];
|
|
|
|
_cancel = false;
|
|
_counter = 0;
|
|
_isOk = true;
|
|
|
|
while {_isOk} do {
|
|
|
|
if(_counter == 0) then {
|
|
cutText ["Planning consruction stand still 5 seconds to build.", "PLAIN DOWN"];
|
|
sleep 5;
|
|
_location1 = getPosATL player;
|
|
sleep 5;
|
|
_location2 = getPosATL player;
|
|
|
|
if(_location1 distance _location2 < 0.1) exitWith {
|
|
|
|
cutText ["Started consruction move within 5 seconds to cancel.", "PLAIN DOWN"];
|
|
_location3 = getPosATL player;
|
|
sleep 5;
|
|
_location4 = getPosATL player;
|
|
|
|
if(_location3 distance _location4 > 0.1) exitWith {
|
|
_isOk = false;
|
|
_cancel = true;
|
|
};
|
|
|
|
_isOk = false;
|
|
};
|
|
};
|
|
if(_counter >= 1) exitWith {
|
|
_isOk = false;
|
|
_cancel = true;
|
|
};
|
|
_counter = _counter + 1;
|
|
};
|
|
|
|
detach _tmpbuilt;
|
|
|
|
// Get location of detached tmp built
|
|
_built_location = (getPosATL _tmpbuilt);
|
|
|
|
// force to ground
|
|
_built_location set [2,0];
|
|
|
|
if(!_cancel) then {
|
|
|
|
_hasbuilditem = _this in magazines player;
|
|
if (!_hasbuilditem) exitWith {cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]};
|
|
|
|
_dir = getDir player;
|
|
|
|
player removeMagazine _item;
|
|
|
|
//disableSerialization;
|
|
//call dayz_forceSave;
|
|
|
|
|
|
player playActionNow "Medic";
|
|
sleep 1;
|
|
|
|
_dis=20;
|
|
_sfx = "repair";
|
|
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
|
|
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
|
|
|
|
sleep 5;
|
|
|
|
player allowDamage false;
|
|
_object = createVehicle [_classname, _built_location, [], 0, "CAN_COLLIDE"];
|
|
_object setDir _dir;
|
|
player reveal _object;
|
|
|
|
cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
|
|
|
|
//["dayzPublishObj",[dayz_characterID,_object,[_dir,_location],_classname]] call callRpcProcedure;
|
|
dayzPublishObj = [dayz_characterID,_object,[_dir,_location],_classname];
|
|
publicVariableServer "dayzPublishObj";
|
|
|
|
sleep 2;
|
|
player allowDamage true;
|
|
|
|
} else {
|
|
cutText [format["Canceled construction of %1.",_text], "PLAIN DOWN"];
|
|
};
|
|
TradeInprogress = false; |