mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
@@ -1,3 +1,4 @@
|
||||
[ADDED] Updated Sauerland map V1.80.01 by Falconsan http://epochmod.com/forum/index.php?/topic/6365-dayz-epoch-sauerland-changelog
|
||||
[ADDED] More enterable buildings thanks to @Tansien and the DayZero crew.
|
||||
[ADDED] Latest version of Napf 1.0.1 by Momo
|
||||
[ADDED] Classname C130J_US_EP1_DZ Weapon: 50 Magazine: 400 Backpack: 10 @Fank
|
||||
@@ -16,6 +17,9 @@
|
||||
[FIXED] Load patient into vehicle now working. @SilvDev
|
||||
[FIXED] Fix invalid str format for player skin class. @Sandbird https://github.com/vbawol/DayZ-Epoch/commit/55d49c279bfd1e03d3802bfe4fdf55f2335f8f47
|
||||
[FIXED] Check trade requirements before animation. @Cornyfisch
|
||||
[FIXED] Undefined variable in expression in "fill_nearestVehicle.sqf" @Namindu
|
||||
[FIXED] Fix infinite knockout @icomrade
|
||||
[FIXED] Fixed typo in "player_tagFriendly.sqf" @Namindu
|
||||
|
||||
[CHANGED] Crafting lumber or plywood packs no longer require workbench. @vbawol
|
||||
[CHANGED] Force mouse to center of screen on gear open. @vbawol
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class USEC_ch53_E;
|
||||
class CH53_DZE : USEC_ch53_E {
|
||||
displayname = "USEC CH53E DZ";
|
||||
displaynameshort = "CH53_DZ";
|
||||
displayname = "USEC CH53E DZE";
|
||||
displaynameshort = "CH53_DZE";
|
||||
enablemanualfire = 0;
|
||||
scope = 2;
|
||||
side = 2;
|
||||
|
||||
@@ -274,7 +274,7 @@ class CfgWeapons {
|
||||
#include "CfgWeapons\Weapon\Sniper\KSVK.hpp"
|
||||
|
||||
#include "CfgWeapons\Weapon\Sniper\DMR_DZ.hpp"
|
||||
#include "CfgWeapons\Weapon\Pistol\MakerovSD.hpp"
|
||||
#include "CfgWeapons\Weapon\Pistol\MakarovSD.hpp"
|
||||
#include "CfgWeapons\Weapon\LMG\m240_scoped.hpp"
|
||||
#include "CfgWeapons\Weapon\LMG\M249_EP1.hpp"
|
||||
#include "CfgWeapons\Weapon\LMG\M249_m145_EP1.hpp"
|
||||
|
||||
@@ -215,6 +215,8 @@ class CfgVehicles {
|
||||
#include "CfgVehicles\AIR\UH1.hpp"
|
||||
#include "CfgVehicles\AIR\AH6.hpp"
|
||||
#include "CfgVehicles\AIR\C130.hpp"
|
||||
#include "CfgVehicles\AIR\CH53.hpp"
|
||||
|
||||
|
||||
// LAND (Armed)
|
||||
#include "CfgVehicles\LAND\HMMWV.hpp"
|
||||
|
||||
@@ -153,7 +153,7 @@ if(_IsNearPlot == 0) then {
|
||||
_nearestPole = _findNearestPole select 0;
|
||||
|
||||
// Find owner
|
||||
_ownerID = _nearestPole getVariable["CharacterID","0"];
|
||||
_ownerID = _nearestPole getVariable ["CharacterID","0"];
|
||||
|
||||
// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
|
||||
|
||||
@@ -183,7 +183,7 @@ _missing = "";
|
||||
_hasrequireditem = true;
|
||||
{
|
||||
_hastoolweapon = _x in weapons player;
|
||||
if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); }
|
||||
if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); };
|
||||
} count _require;
|
||||
|
||||
_hasbuilditem = _this in magazines player;
|
||||
|
||||
@@ -37,7 +37,8 @@ _abort = false;
|
||||
_distance = 3;
|
||||
_reason = "";
|
||||
_waterLevel = 0;
|
||||
|
||||
_outputWeapons = [];
|
||||
_selectedRecipeOutput = [];
|
||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);
|
||||
|
||||
@@ -95,7 +96,7 @@ if (_canDo) then {
|
||||
{
|
||||
_hastoolweapon = _x in weapons player;
|
||||
if(!_hastoolweapon) exitWith { _craft_doLoop = false; _missingTools = true; _missing = _x; };
|
||||
} count _selectedRecipeTools;
|
||||
} forEach _selectedRecipeTools;
|
||||
|
||||
if(!_missingTools) then {
|
||||
|
||||
@@ -173,7 +174,7 @@ if (_canDo) then {
|
||||
};
|
||||
};
|
||||
};
|
||||
} count magazines player;
|
||||
} forEach magazines player;
|
||||
|
||||
{
|
||||
_configParent = configName(inheritsFrom(configFile >> "cfgMagazines" >> _x));
|
||||
@@ -205,15 +206,13 @@ if (_canDo) then {
|
||||
_num_removed_weapons = 0;
|
||||
{
|
||||
_num_removed_weapons = _num_removed_weapons + ([player,_x] call BIS_fnc_invRemove);
|
||||
} count _inputWeapons;
|
||||
} forEach _inputWeapons;
|
||||
if (_num_removed_weapons == (count _inputWeapons)) then {
|
||||
if(_randomOutput == 1) then {
|
||||
_outputWeapons = [];
|
||||
if (!isNil "_outputWeapons" && count _outputWeapons > 0) then {
|
||||
_selectedWeapon = _outputWeapons call BIS_fnc_selectRandom;
|
||||
_outputWeapons = [_selectedWeapon];
|
||||
};
|
||||
_selectedRecipeOutput = [];
|
||||
if (!isNil "_selectedRecipeOutput" && count _selectedRecipeOutput > 0) then {
|
||||
_selectedMag = _selectedRecipeOutput call BIS_fnc_selectRandom;
|
||||
_selectedRecipeOutput = [_selectedMag];
|
||||
@@ -223,7 +222,7 @@ if (_canDo) then {
|
||||
};
|
||||
{
|
||||
player addWeapon _x;
|
||||
} count _outputWeapons;
|
||||
} forEach _outputWeapons;
|
||||
{
|
||||
|
||||
_itemOut = _x select 0;
|
||||
@@ -250,14 +249,14 @@ if (_canDo) then {
|
||||
// sleep here
|
||||
sleep 1;
|
||||
|
||||
} count _selectedRecipeOutput;
|
||||
} forEach _selectedRecipeOutput;
|
||||
|
||||
_tradeComplete = _tradeComplete+1;
|
||||
};
|
||||
|
||||
} else {
|
||||
// Refund parts since we failed
|
||||
{player addMagazine _x;} count _temp_removed_array;
|
||||
{player addMagazine _x; } forEach _temp_removed_array;
|
||||
|
||||
cutText [format[(localize "str_epoch_player_151"),_removed_total,_tobe_removed_total], "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
@@ -5,18 +5,19 @@ _caller = _this select 1;
|
||||
call fnc_usec_medic_removeActions;
|
||||
r_action = false;
|
||||
|
||||
_callerID = _caller getVariable "CharacterID";
|
||||
_targetID = _target getVariable "CharacterID";
|
||||
_callerID = _caller getVariable ["CharacterID", "0"];
|
||||
_targetID = _target getVariable ["CharacterID", "0"];
|
||||
if ((_callerID != "0") && (_targetID != "0")) then {
|
||||
_friendlies = _caller getVariable ["friendlies", []];
|
||||
_friendlies set [count _friendlies, _targetID];
|
||||
_caller setVariable ["friendlies", _friendlies, true];
|
||||
|
||||
_friendlies = _caller getVariable ["friendlies", []];
|
||||
_friendlies set [count _friendlies, _targetID];
|
||||
_caller setVariable ["friendlies", _friendlies, true];
|
||||
_rfriendlies = _target getVariable ["friendlies", []];
|
||||
|
||||
_rfriendlies = _target getVariable ["friendlies", []];
|
||||
|
||||
if !(_callerID in _rfriendlies) then {
|
||||
titleText [(localize "STR_EPOCH_ACTIONS_8"), "PLAIN DOWN"]; //To Caller
|
||||
/* PVS/PVC - Skaronator */
|
||||
PVDZE_send = [_target,"tagFriendly",[_target]]; //To Target
|
||||
publicVariableServer "PVDZE_send";
|
||||
if !(_callerID in _rfriendlies) then {
|
||||
titleText [(localize "STR_EPOCH_ACTIONS_8"), "PLAIN DOWN"]; //To Caller
|
||||
/* PVS/PVC - Skaronator */
|
||||
PVDZE_send = [_target,"tagFriendly",[_target]]; //To Target
|
||||
publicVariableServer "PVDZE_send";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -15,9 +15,10 @@ private "_ret";
|
||||
|
||||
if(count _this > 0) then
|
||||
{
|
||||
_ret = count _this; //number of elements in the array
|
||||
//_ret = count _this; //number of elements in the array
|
||||
//_ret = [0, _ret] call BIS_fnc_randomInt; //choose random index
|
||||
_ret = floor(random _ret);
|
||||
_ret = floor(random(count _this));
|
||||
_ret = _this select _ret; //get the element, return it
|
||||
};
|
||||
_ret
|
||||
|
||||
_ret;
|
||||
@@ -1,14 +1,13 @@
|
||||
private ["_nul","_timeout","_isOnDeck","_isInLocation","_inVehicle","_bloodLow","_isHospital","_totalTimeout","_display","_ctrl1","_ctrl1Pos"];
|
||||
private ["_totalTimeout","_timeout","_bloodLow","_display","_ctrl1","_ctrl1Pos"];
|
||||
disableSerialization;
|
||||
if ((!r_player_handler1) && (r_handlerCount == 0)) then {
|
||||
//Unconscious Meter
|
||||
if (r_player_cardiac) then {r_player_timeout = r_player_timeout max 300;};
|
||||
_totalTimeout = r_player_timeout;
|
||||
if (_totalTimeout == 0) then { _totalTimeout = 1; }; //Fix for zero divisor
|
||||
if (_totalTimeout == 0) then { _totalTimeout = 1; };
|
||||
4 cutRsc ["playerStatusWaiting", "PLAIN",0];
|
||||
_display = uiNamespace getVariable 'DAYZ_GUI_waiting';
|
||||
_ctrl1 = _display displayCtrl 1400;
|
||||
_ctrl1Pos = ctrlPosition _ctrl1;
|
||||
|
||||
_timeout = 0;
|
||||
r_handlerCount = r_handlerCount + 1;
|
||||
r_player_handler1 = true;
|
||||
@@ -17,27 +16,16 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then {
|
||||
"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit 0;
|
||||
0 fadeSound 0.05;
|
||||
disableUserInput true;
|
||||
//waitUntil{USEC_MotherInbox == ""};
|
||||
//["MED001",0,"Unconscious"] call fnc_usec_recordEventClient;
|
||||
//diag_log "CLIENT: Unconscious...";
|
||||
while {(r_player_unconscious)} do {
|
||||
while {r_player_unconscious} do {
|
||||
_ctrl1 ctrlSetPosition [(_ctrl1Pos select 0),(_ctrl1Pos select 1),(_ctrl1Pos select 2),((0.136829 * safezoneH) * (1 -(r_player_timeout / _totalTimeout)))];
|
||||
_ctrl1 ctrlCommit 1;
|
||||
playSound "heartbeat_1";
|
||||
sleep 1;
|
||||
_isOnDeck = false; //getPos player in LHA_Deck;
|
||||
_isInLocation = false; //getPos player in LHA_Location;
|
||||
_inVehicle = (vehicle player != player);
|
||||
_bloodLow = ((r_player_blood/r_player_bloodTotal) < 0.5);
|
||||
if ((surfaceIsWater (getPosASL player)) && !_isOnDeck && !_inVehicle) then {
|
||||
player setpos [(getPosASL player select 0),(getPosASL player select 1),0.3];
|
||||
};
|
||||
|
||||
if(_timeout == 0) then {
|
||||
if (!r_player_dead && !_bloodLow && r_player_injured) then {
|
||||
_timeout = 10;
|
||||
//_animType = (USEC_WoundAnim select (floor(random (count USEC_WoundAnim))));
|
||||
//player playActionNow _anim;
|
||||
};
|
||||
} else {
|
||||
_timeout = _timeout - 1;
|
||||
@@ -46,54 +34,10 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then {
|
||||
if (r_player_timeout > 0) then {
|
||||
r_player_timeout = r_player_timeout - 1;
|
||||
} else {
|
||||
if ((!r_player_dead) && (!r_player_cardiac)) then {
|
||||
if (!r_player_dead) then {
|
||||
_nul = [] spawn fnc_usec_recoverUncons;
|
||||
};
|
||||
};
|
||||
//Check if near field hospital
|
||||
_isHospital = false; //(count( nearestObjects [player, ["USMC_WarfareBFieldhHospital"], 8]) > 0);
|
||||
if (_isHospital || _isOnDeck || _isInLocation) then {
|
||||
|
||||
waitUntil {!(player getVariable ["NORRN_unit_dragged", false])};
|
||||
|
||||
cutText[localize "str_medical_healing", "PLAIN", 2];
|
||||
sleep 5;
|
||||
|
||||
r_player_inpain = false;
|
||||
r_player_dead = false;
|
||||
r_player_injured = false;
|
||||
r_player_cardiac = false;
|
||||
|
||||
//Give Blood
|
||||
r_player_blood = r_player_bloodTotal;
|
||||
player setVariable["USEC_lowBlood",false,true];
|
||||
|
||||
//Self Healing
|
||||
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medMorphine.sqf";
|
||||
player setVariable ["hit_legs",0,false];
|
||||
player setVariable ["hit_hands",0,false];
|
||||
player setVariable["medForceUpdate",true];
|
||||
|
||||
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf";
|
||||
player setVariable["medForceUpdate",true];
|
||||
|
||||
/* REMOVED USE THAT ABOVE
|
||||
usecMorphine = [player,player];
|
||||
publicVariable "usecMorphine";
|
||||
|
||||
usecBandage = [player,player];
|
||||
publicVariable "usecBandage";
|
||||
*/
|
||||
|
||||
player setVariable ["USEC_inPain", false, true];
|
||||
player setdamage 0;
|
||||
{player setVariable[_x,false,true];} count USEC_woundHit;
|
||||
player setVariable ["USEC_injured",false,true];
|
||||
|
||||
sleep 1;
|
||||
r_player_handler = false;
|
||||
_nul = [] spawn fnc_usec_recoverUncons;
|
||||
};
|
||||
if (!(player getVariable ["NORRN_unconscious", true])) then {
|
||||
_nul = [] spawn fnc_usec_recoverUncons;
|
||||
};
|
||||
@@ -102,10 +46,7 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then {
|
||||
};
|
||||
};
|
||||
4 cutRsc ["default", "PLAIN",1];
|
||||
//diag_log "CLIENT: Conscious...";
|
||||
disableUserInput false;
|
||||
//waitUntil{USEC_MotherInbox == ""};
|
||||
//["MED001",0,"Conscious"] call fnc_usec_recordEventClient;
|
||||
if (!r_player_injured && ((r_player_blood/r_player_bloodTotal) >= 0.5)) then {
|
||||
10 fadeSound 1;
|
||||
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5;
|
||||
|
||||
@@ -2,7 +2,9 @@ private ["_display","_body","_playerID","_array","_source","_method","_canHitFre
|
||||
disableSerialization;
|
||||
if (deathHandled) exitWith {};
|
||||
deathHandled = true;
|
||||
|
||||
if ((alive player) && {isNil {dayz_playerName}}) then {
|
||||
dayz_playerName = name player;
|
||||
};
|
||||
//Prevent client freezes
|
||||
_display = findDisplay 49;
|
||||
if(!isNull _display) then {_display closeDisplay 0;};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_humanityTarget"];
|
||||
private ["_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"];
|
||||
disableSerialization;
|
||||
|
||||
_foodVal = 1 - (dayz_hunger / SleepFood);
|
||||
@@ -6,7 +6,7 @@ _thirstVal = 1 - (dayz_thirst / SleepWater);
|
||||
_tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1]
|
||||
_combatVal = 1 - dayz_combat; // May change later to be a range of red/green to loosely indicate 'time left in combat'
|
||||
|
||||
if (uiNamespace getVariable ['DZ_displayUI', 0] == 1) exitWith {
|
||||
if (uiNamespace getVariable ["DZ_displayUI", 0] == 1) exitWith {
|
||||
_array = [_foodVal,_thirstVal];
|
||||
_array
|
||||
};
|
||||
@@ -139,12 +139,11 @@ if (r_player_injured) then {
|
||||
/*
|
||||
Opt-in tag system with friend tagging
|
||||
*/
|
||||
_targetControl = _display displayCtrl 1199;
|
||||
_string = "";
|
||||
_humanityTarget = cursorTarget;
|
||||
if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget) then {
|
||||
|
||||
_distance = (player distance _humanityTarget);
|
||||
_distance = player distance _humanityTarget;
|
||||
|
||||
if (_distance < DZE_HumanityTargetDistance) then {
|
||||
|
||||
@@ -157,24 +156,19 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget
|
||||
_rcharID = _humanityTarget getVariable ["CharacterID", "0"];
|
||||
_rfriendlies = _humanityTarget getVariable ["friendlies", []];
|
||||
_rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
|
||||
|
||||
|
||||
if ((_rcharID in _friendlies) && (_charID in _rfriendlies)) then {
|
||||
|
||||
if (!(_charID in _rfriendlyTo)) then {
|
||||
|
||||
if !(_charID in _rfriendlyTo) then {
|
||||
// diag_log format["IS FRIENDLY: %1", _player];
|
||||
_rfriendlyTo set [count _rfriendlyTo, _charID];
|
||||
_humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
|
||||
|
||||
// titleText [format[(localize "STR_EPOCH_ACTIONS_17"), (name _humanityTarget)], "PLAIN DOWN"];
|
||||
|
||||
};
|
||||
|
||||
// <br /><t %2 align='center' size='0.7'>Humanity: %3</t>
|
||||
|
||||
_color = "color='#339933'";
|
||||
_humanityName = if (alive _humanityTarget) then {name _humanityTarget; } else { "Dead Player";};
|
||||
_string = format["<t %2 align='center' size='%3'>%1</t>",_humanityName,_color,_size];
|
||||
_string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
|
||||
|
||||
} else {
|
||||
|
||||
@@ -190,8 +184,7 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget
|
||||
};
|
||||
};
|
||||
if((_humanityTarget getVariable ["DZE_display_name", false]) || (DZE_ForceNameTagsInTrader && isInTraderCity)) then {
|
||||
_humanityName = if (alive _humanityTarget) then {name _humanityTarget; } else { "Dead Player";};
|
||||
_string = format["<t %2 align='center' size='%3'>%1</t>",_humanityName,_color,_size];
|
||||
_string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -199,6 +192,7 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget
|
||||
|
||||
// update gui if changed
|
||||
if (dayz_humanitytarget != _string) then {
|
||||
_targetControl = _display displayCtrl 1199;
|
||||
_targetControl ctrlSetStructuredText (parseText _string);
|
||||
dayz_humanitytarget = _string;
|
||||
};
|
||||
|
||||
@@ -549,7 +549,7 @@ if(isNil "dayz_zedsAttackVehicles") then {
|
||||
};
|
||||
|
||||
// update objects
|
||||
dayz_updateObjects = ["Plane","Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","LockboxStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ"];
|
||||
dayz_updateObjects = ["Plane","Tank","Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","LockboxStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ"];
|
||||
dayz_disallowedVault = ["TentStorage", "BuiltItems","ModularItems","DZE_Base_Object"];
|
||||
dayz_reveal = ["AllVehicles","WeaponHolder","Land_A_tent","BuiltItems","ModularItems","DZE_Base_Object"];
|
||||
dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"];
|
||||
@@ -671,7 +671,6 @@ if(!isDedicated) then {
|
||||
dayz_guiHumanity = -90000;
|
||||
dayz_firstGroup = group player;
|
||||
dayz_originalPlayer = player;
|
||||
dayz_playerName = name player;
|
||||
dayz_sourceBleeding = objNull;
|
||||
dayz_clientPreload = false;
|
||||
dayz_authed = false;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Anti-Teleport - Created By Razor / Refactored By Alby & CopyPasted to Epoch by Skaronator
|
||||
*/
|
||||
|
||||
private ["_log","_playerName","_playerUID","_al1veOnce","_debug","_lastpos","_lastheight","_lasttime","_lastVehicle","_v","_h","_topv","_toph","_curpos","_distance","_curtime","_difftime","_plant","_curheight","_speed","_topSpeed","_terrainHeight","_differenceCheck","_lastPosVar","_safetyVehicle","_curPos"];
|
||||
private ["_log","_playerName","_playerUID","_al1veOnce","_debug","_lastpos","_lastheight","_lasttime","_lastVehicle","_v","_h","_topv","_toph","_curpos","_distance","_acceptableDistance","_curtime","_difftime","_plant","_curheight","_speed","_topSpeed","_terrainHeight","_differenceCheck","_lastPosVar","_safetyVehicle","_curPos"];
|
||||
|
||||
waitUntil {vehicle player == player};
|
||||
|
||||
@@ -34,7 +34,29 @@ waitUntil {vehicle player == player};
|
||||
sleep 10;
|
||||
};
|
||||
|
||||
_al1veOnce = false;
|
||||
[] spawn {
|
||||
_al1veOnce = false;
|
||||
if (!_al1veOnce) then {
|
||||
private [ "_loc", "_plant","_debug"];
|
||||
_debug = getMarkerpos "respawn_west";
|
||||
// check that plants libs are properly loaded
|
||||
// thanks to Tansien the great
|
||||
// run only once per character life
|
||||
{
|
||||
_plant = _x createVehicleLocal _debug;
|
||||
sleep 0.1;
|
||||
if (sizeOf _x == 0) exitWith {
|
||||
PVDZE_atp = "Plants texture hack for type " + _x;
|
||||
publicVariableServer "PVDZE_atp";
|
||||
endMission "LOSER";
|
||||
};
|
||||
deleteVehicle _plant;
|
||||
} count ["grass", "prunus", "picea", "fallentree", "phragmites", "acer", "amygdalusn", "Brush", "fiberplant", "amygdalusc", "boulder"];
|
||||
diag_log format [ "%1: Plants libs tests done!", __FILE__];
|
||||
};
|
||||
_al1veOnce = true;
|
||||
};
|
||||
|
||||
while {1 == 1} do {
|
||||
_debug = getMarkerpos "respawn_west";
|
||||
_lastpos = getPosATL (vehicle player);
|
||||
@@ -53,71 +75,37 @@ while {1 == 1} do {
|
||||
_distance = _lastpos distance _curpos;
|
||||
_curtime = diag_ticktime;
|
||||
_difftime = _curtime - _lasttime;
|
||||
_acceptableDistance = if (_lastVehicle isKindOf "Plane") then { 15; } else { 10; };
|
||||
|
||||
if ((_distance > 10) || {(_difftime > 1)}) then {
|
||||
if (!_al1veOnce) then {
|
||||
private [ "_loc", "_plant"];
|
||||
// check that plants libs are properly loaded
|
||||
// thanks to Tansien the great
|
||||
// run only once per character life
|
||||
{
|
||||
_plant = _x createVehicleLocal _debug;
|
||||
sleep 0.1;
|
||||
if (sizeOf _x == 0) exitWith {
|
||||
PVDZE_atp = "Plants texture hack for type " + _x;
|
||||
publicVariableServer "PVDZE_atp";
|
||||
endMission "LOSER";
|
||||
};
|
||||
deleteVehicle _plant;
|
||||
} count ["grass", "prunus", "picea", "fallentree", "phragmites", "acer", "amygdalusn", "Brush", "fiberplant", "amygdalusc", "boulder"];
|
||||
diag_log format [ "%1: Plants libs tests done!", __FILE__];
|
||||
};
|
||||
_al1veOnce = true;
|
||||
if ((_distance > _acceptableDistance) || {(_difftime > 1)}) then {
|
||||
_curheight = (ATLtoASL _curpos) select 2;
|
||||
_speed = _distance / _difftime;
|
||||
_topSpeed = 10;
|
||||
|
||||
_topSpeed = if (_acceptableDistance == 15) then { 20; } else { 10; };
|
||||
if (vehicle player != player) then {
|
||||
_topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) min 500;
|
||||
if (_acceptableDistance == 15) then {
|
||||
_topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) max 500;
|
||||
} else {
|
||||
_topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) min 500;
|
||||
};
|
||||
};
|
||||
|
||||
_terrainHeight = getTerrainHeightASL [_curpos select 0, _curpos select 1];
|
||||
|
||||
_safetyVehicle = vehicle player;
|
||||
|
||||
if (_lastVehicle == vehicle player) then {
|
||||
if ((_speed > _topSpeed) && (alive player) && ((driver (vehicle player) == player) || (isNull (driver (vehicle player)))) && (_debug distance _lastpos > 3000) && !((vehicle player == player) && (_curheight < _lastheight) && ((_curheight - _terrainHeight) > 1))) then {
|
||||
(vehicle player) setposATL _lastpos;
|
||||
//PVDZE_atp = [name player, dayz_characterID, _lastpos, _curPos, getPosATL player];
|
||||
PVDZE_atp = format["TELEPORT REVERT for player UID#%1 from %2 to %3, %4 meters, now at %5", getPlayerUID player, _lastpos, _curPos, round(_lastpos distance _curpos), getPosATL player];
|
||||
publicVariableServer "PVDZE_atp";
|
||||
} else {
|
||||
_lastpos = _curpos;
|
||||
_lastheight = _curheight;
|
||||
};
|
||||
|
||||
_lasttime = _curtime;
|
||||
};
|
||||
|
||||
if (_safetyVehicle == vehicle player) then {
|
||||
_lastVehicle = vehicle player;
|
||||
};
|
||||
|
||||
};
|
||||
/*if ((animationState player) != "HaloFreeFall_non") then {
|
||||
// freefall detection:
|
||||
_v = -((velocity player) select 2);
|
||||
_h = (getPosATL player) select 2;
|
||||
if (_v > 4 && _h > 3) then {
|
||||
_topv = _topv max _v;
|
||||
_toph = _toph max _h;
|
||||
Dayz_freefall = [ time, _toph, _topv ];
|
||||
}
|
||||
else {
|
||||
_topv = 0;
|
||||
_toph = 0;
|
||||
};
|
||||
};*/
|
||||
sleep 0.25;
|
||||
};
|
||||
sleep 0.1;
|
||||
|
||||
@@ -169,8 +169,8 @@ link85[] = {75,57};
|
||||
link86[] = {76,78};
|
||||
link87[] = {77,76};
|
||||
link88[] = {78,57};
|
||||
globals[] = {25.000000,1,0,0,0,640,480,1,143,6316128,1,-406.882782,405.863464,1403.492432,827.797180,864,612,1};
|
||||
window[] = {0,-1,-1,-1,-1,940,182,1671,182,1,882};
|
||||
globals[] = {25.000000,1,0,0,0,640,480,1,143,6316128,1,-280.065002,277.754272,1315.142944,920.020874,864,612,1};
|
||||
window[] = {0,-1,-1,-1,-1,966,208,1697,208,1,882};
|
||||
*//*%FSM</HEAD>*/
|
||||
class FSM
|
||||
{
|
||||
@@ -1198,6 +1198,7 @@ class FSM
|
||||
"player allowDamage true;" \n
|
||||
"player enableSimulation true;" \n
|
||||
"0 cutText ["""", ""BLACK IN"",3];" \n
|
||||
"dayz_playerName = name player;" \n
|
||||
"" \n
|
||||
"//Add core tools" \n
|
||||
"player addWeapon ""Loot"";" \n
|
||||
|
||||
@@ -5,8 +5,11 @@ _minutes = _this select 1;
|
||||
_newObject = _this select 2;
|
||||
_playerID = _this select 3;
|
||||
_infected = _this select 4;
|
||||
_victimName = _this select 5;
|
||||
|
||||
if (((count _this) >= 6) && {(typeName (_this select 5)) == "STRING"} && {(_this select 5) != ""}) then {
|
||||
_victimName = _this select 5;
|
||||
} else {
|
||||
_victimName = if (alive _newObject) then {name _newObject;} else {"";};
|
||||
};
|
||||
_victim = _newObject;
|
||||
_newObject setVariable ["bodyName", _victimName, true];
|
||||
|
||||
|
||||
@@ -146,7 +146,9 @@ eh_localCleanup = {
|
||||
_unit removeAllEventHandlers "Local";
|
||||
clearVehicleInit _unit;
|
||||
deleteVehicle _unit;
|
||||
deleteGroup _myGroupUnit;
|
||||
if ((count (units _myGroupUnit) == 0) && (_myGroupUnit != grpNull)) then {
|
||||
deleteGroup _myGroupUnit;
|
||||
};
|
||||
//_unit = nil;
|
||||
// diag_log ("CLEANUP: DELETED A " + str(_type) );
|
||||
};
|
||||
@@ -622,6 +624,7 @@ dayz_recordLogin = {
|
||||
|
||||
dayz_perform_purge = {
|
||||
if(!isNull(_this)) then {
|
||||
_group = group _this;
|
||||
_this removeAllMPEventHandlers "mpkilled";
|
||||
_this removeAllMPEventHandlers "mphit";
|
||||
_this removeAllMPEventHandlers "mprespawn";
|
||||
@@ -634,7 +637,9 @@ dayz_perform_purge = {
|
||||
_this removeAllEventHandlers "Local";
|
||||
clearVehicleInit _this;
|
||||
deleteVehicle _this;
|
||||
deleteGroup (group _this);
|
||||
if ((count (units _group) == 0) && (_group != grpNull)) then {
|
||||
deleteGroup _group;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -695,7 +700,7 @@ dayz_perform_purge_player = {
|
||||
{
|
||||
_holder addMagazineCargoGlobal [_x, 1];
|
||||
} count _magazines;
|
||||
|
||||
_group = group _this;
|
||||
_this removeAllMPEventHandlers "mpkilled";
|
||||
_this removeAllMPEventHandlers "mphit";
|
||||
_this removeAllMPEventHandlers "mprespawn";
|
||||
@@ -708,13 +713,16 @@ dayz_perform_purge_player = {
|
||||
_this removeAllEventHandlers "Local";
|
||||
clearVehicleInit _this;
|
||||
deleteVehicle _this;
|
||||
deleteGroup (group _this);
|
||||
if ((count (units _group) == 0) && (_group != grpNull)) then {
|
||||
deleteGroup _group;
|
||||
};
|
||||
// _this = nil;
|
||||
};
|
||||
|
||||
|
||||
dayz_removePlayerOnDisconnect = {
|
||||
if(!isNull(_this)) then {
|
||||
_group = group _this;
|
||||
_this removeAllMPEventHandlers "mphit";
|
||||
deleteVehicle _this;
|
||||
deleteGroup (group _this);
|
||||
@@ -780,7 +788,7 @@ server_cleanupGroups = {
|
||||
if(!isNil "DZE_DYN_GroupCleanup") exitWith { DZE_DYN_AntiStuck3rd = DZE_DYN_AntiStuck3rd + 1;};
|
||||
DZE_DYN_GroupCleanup = true;
|
||||
{
|
||||
if (count units _x == 0) then {
|
||||
if ((count (units _x) == 0) && (_x != grpNull)) then {
|
||||
deleteGroup _x;
|
||||
};
|
||||
sleep 0.001;
|
||||
|
||||
Reference in New Issue
Block a user