mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 20:13:13 +03:00
Prevent issues caused by respawn_west marker being moved
Vanilla commit:
39bcedb4b6
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
//private ["_class","_position","_dir","_group","_oldUnit","_newUnit","_currentWpn","_muzzles","_currentAnim","_playerUID","_weapons","_magazines","_primweapon","_secweapon","_newBackpackType","_backpackWpn","_backpackMag","_backpackWpnTypes","_backpackWpnQtys","_countr","_backpackmagTypes","_backpackmagQtys","_display","_createSafePos","_wpnType","_ismelee","_rndx","_rndy"];
|
||||
//private ["_class","_position","_dir","_group","_oldUnit","_newUnit","_currentWpn","_muzzles","_currentAnim","_playerUID","_weapons","_magazines","_primweapon","_secweapon","_newBackpackType","_backpackWpn","_backpackMag","_backpackWpnTypes","_backpackWpnQtys","_countr","_backpackmagTypes","_backpackmagQtys","_display","_wpnType","_ismelee","_rndx","_rndy"];
|
||||
private ["_weapons","_backpackWpn","_backpackMag","_currentWpn","_isWeapon","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_oldGroup","_idc","_display","_switchUnit","_leader"];
|
||||
_class = _this;
|
||||
if (gear_done) then {disableUserInput true;disableUserInput true;};
|
||||
@@ -74,7 +74,7 @@ _leader = (player == leader _oldGroup);
|
||||
//Create New Character
|
||||
//[player] joinSilent grpNull;
|
||||
_group = createGroup west;
|
||||
_newUnit = _group createUnit [_class,getMarkerPos "respawn_west",[],0,"NONE"];
|
||||
_newUnit = _group createUnit [_class,respawn_west_original,[],0,"NONE"];
|
||||
_newUnit setDir _dir;
|
||||
{_newUnit removeMagazine _x;} count magazines _newUnit;
|
||||
removeAllWeapons _newUnit;
|
||||
@@ -110,12 +110,10 @@ _switchUnit = {
|
||||
setPlayable _newUnit;
|
||||
selectPlayer _newUnit;
|
||||
//Switch the units
|
||||
//_createSafePos = [(getMarkerPos "respawn_west"), 2, 100, 0, 1, 20, 0] call BIS_fnc_findSafePos;
|
||||
_createSafePos = getMarkerPos "respawn_west";
|
||||
_rndx = floor(random 100);
|
||||
_rndy = floor(random 100);
|
||||
_oldUnit setPosATL [(_createSafePos select 0) + _rndx, (_createSafePos select 1) + _rndy, 0];
|
||||
if (surfaceIsWater _createSafePos) then {
|
||||
_oldUnit setPosATL [(respawn_west_original select 0) + _rndx, (respawn_west_original select 1) + _rndy, 0];
|
||||
if (surfaceIsWater respawn_west_original) then {
|
||||
//Prevent swimming in ground glitch if respawn is in water
|
||||
_newUnit setPosATL [_position select 0,_position select 1,(_position select 2)+.1];
|
||||
} else {
|
||||
|
||||
@@ -5,7 +5,7 @@ _showText = _this select 1;
|
||||
_enterORleave = _this select 2;
|
||||
|
||||
// Do not show cutText when player changes clothes in trader area
|
||||
if ((dayz_lastClothesChange + 3 > diag_tickTime) or (player distance getMarkerPos "respawn_west" < 15)) then {
|
||||
if ((dayz_lastClothesChange + 3 > diag_tickTime) or (player distance respawn_west_original < 100)) then {
|
||||
_showText = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -492,6 +492,8 @@ switch (dayz_presets) do {
|
||||
};
|
||||
};
|
||||
|
||||
respawn_west_original = getMarkerPos "respawn_west"; //Prevent problems caused by cheaters moving respawn_west marker with setMarkerPos or deleteMarker
|
||||
|
||||
switch (toLower worldName) do {
|
||||
case "napf";
|
||||
case "sauerland" : {dayz_minpos = -1000; dayz_maxpos = 26000;};
|
||||
|
||||
@@ -3,7 +3,6 @@ disableSerialization;
|
||||
_timeOut = 0;
|
||||
_messTimer = 0;
|
||||
_lastTemp = dayz_temperatur;
|
||||
_debug = getMarkerpos "respawn_west";
|
||||
_isPZombie = player isKindOf "PZombie_VB";
|
||||
_radTimer = 0;
|
||||
|
||||
@@ -48,7 +47,7 @@ while {1 == 1} do {
|
||||
//reset position
|
||||
_randomSpot = true;
|
||||
_tempPos = getPosATL player;
|
||||
_distance = _debug distance _tempPos;
|
||||
_distance = respawn_west_original distance _tempPos;
|
||||
if (_distance < 2000) then {
|
||||
_randomSpot = false;
|
||||
};
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
sched_antiTP_init = {
|
||||
if (dayz_antihack == 1) then { diag_log [ diag_ticktime, __FILE__, "Anti Teleport inited"]; };
|
||||
[dayz_antihack == 1, [], 0, 0, objNull]
|
||||
[dayz_antihack == 1, [], 0, 0, objNull, respawn_west_original]
|
||||
};
|
||||
|
||||
sched_antiTP = {
|
||||
@@ -19,6 +19,7 @@ sched_antiTP = {
|
||||
_lastheight = _this select 2;
|
||||
_lasttime = _this select 3;
|
||||
_lastVehicle = _this select 4;
|
||||
_debug = _this select 5;
|
||||
|
||||
if (((_antihack) and {(typeName player == "OBJECT")}) AND {((player in playableUnits) AND {(alive player)})}) then {
|
||||
if (count _lastpos != 3) then {
|
||||
@@ -31,7 +32,6 @@ sched_antiTP = {
|
||||
_distance = _lastpos distance _curpos;
|
||||
_curtime = diag_ticktime;
|
||||
_difftime = _curtime - _lasttime;
|
||||
_debug = getMarkerpos "respawn_west";
|
||||
|
||||
if ((_distance > 10) OR {(_difftime > 1)}) then {
|
||||
_curheight = (ATLtoASL _curpos) select 2;
|
||||
|
||||
@@ -60,7 +60,7 @@ if (_characterID != "?") then {
|
||||
*/
|
||||
|
||||
//Punish combat log
|
||||
if (_inCombat && _playerPos distance (getMarkerPos "respawn_west") > 1500) then {
|
||||
if (_inCombat && _playerPos distance respawn_west_original > 1500) then {
|
||||
// Moved setVariables to server_playerSync since they are high priority
|
||||
// Messages are low priority. Player object not needed
|
||||
diag_log format["PLAYER COMBAT LOGGED: %1(%3) at location %2",_playerName,_playerPos,_playerUID];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_characterID","_playerObj","_spawnSelection","_inventory","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_randomSpot","_position","_debug","_distance","_fractures","_score","_findSpot","_mkr","_j","_isIsland","_w","_clientID","_lastInstance"];
|
||||
private ["_characterID","_playerObj","_spawnSelection","_inventory","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_randomSpot","_position","_distance","_fractures","_score","_findSpot","_mkr","_j","_isIsland","_w","_clientID","_lastInstance"];
|
||||
|
||||
_characterID = _this select 0;
|
||||
_playerObj = _this select 1;
|
||||
@@ -69,10 +69,9 @@ if (count _Achievements == 0) then {_Achievements = [0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
|
||||
if (count _worldspace > 0) then {
|
||||
_position = _worldspace select 1;
|
||||
if (count _position < 3) then {_randomSpot = true;}; //prevent debug world!
|
||||
if (count _position < 3) exitWith {_randomSpot = true;}; //prevent debug world!
|
||||
|
||||
_debug = getMarkerpos "respawn_west";
|
||||
_distance = _debug distance _position;
|
||||
_distance = respawn_west_original distance _position;
|
||||
if (_distance < 2000) then {_randomSpot = true;};
|
||||
|
||||
_distance = [0,0,0] distance _position;
|
||||
|
||||
@@ -15,7 +15,7 @@ _isInVehicle = vehicle _character != _character;
|
||||
_timeSince = 0;
|
||||
_humanity = 0;
|
||||
_name = if (alive _character) then {name _character} else {"Dead Player"};
|
||||
_distance = (getMarkerpos "respawn_west" distance _charPos) < 1500;
|
||||
_distance = (respawn_west_original distance _charPos) < 1500;
|
||||
|
||||
if (_character isKindOf "Animal") exitWith {
|
||||
diag_log ("ERROR: Cannot Sync Character " + _name + " is an Animal class");
|
||||
|
||||
@@ -44,13 +44,13 @@ sched_corpses = {
|
||||
if (_x getVariable["bodyName",""] != "") then {
|
||||
_deathTime = _x getVariable ["sched_co_deathTime", -1];
|
||||
if (_deathTime == -1) then {
|
||||
_deathPos = _x getVariable [ "deathPos", getMarkerPos "respawn_west" ];
|
||||
_cpos = getPosATL _x;
|
||||
_deathPos = _x getVariable ["deathPos",respawn_west_original];
|
||||
/*_cpos = getPosATL _x;
|
||||
// forbid a move further than 50 meters, or burried body (antihack)
|
||||
if (_deathPos distance _cpos > 50 or _deathPos select 2 < -0.2) then {
|
||||
diag_log [ __FILE__, "Corpse should have been moved! CID#",(_x getVariable["characterID", "?"]),"from:", _cpos, "to:", _deathPos ];
|
||||
//_x setPosATL _deathPos;
|
||||
};
|
||||
};*/
|
||||
_deathTime = diag_tickTime;
|
||||
_x setVariable ["sched_co_deathTime", _deathTime];
|
||||
_x setVariable ["sched_co_fliesAdded", true];
|
||||
|
||||
@@ -503,8 +503,7 @@ if (_hiveLoaded) then {
|
||||
|
||||
[] spawn server_spawnEvents;
|
||||
/* //Causes issues with changing clothes
|
||||
_debugMarkerPosition = getMarkerPos "respawn_west";
|
||||
_debugMarkerPosition = [(_debugMarkerPosition select 0),(_debugMarkerPosition select 1),1];
|
||||
_debugMarkerPosition = [(respawn_west_original select 0),(respawn_west_original select 1),1];
|
||||
_vehicle_0 = createVehicle ["DebugBox_DZ", _debugMarkerPosition, [], 0, "CAN_COLLIDE"];
|
||||
_vehicle_0 setPos _debugMarkerPosition;
|
||||
_vehicle_0 setVariable ["ObjectID","1",true];
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
5 createDialog !="_region = createDialog \"RscDisplaySpawnSelecter\";" !="_gender = createDialog 'RscDisplayGenderSelect';" !="_dialog = createDialog \"bloodTest\";" !="createDialog 'RscDisplayCraftingMenu';" !="createDialog \"DAYZ_PADLOCK\";" !="createDialog \"horde_journal_front_cover\";" !="createDialog 'horde_journal_front_cover';" !="createDialog 'horde_journal_pages_headshots';" !="createDialog 'horde_journal_pages_murders';" !="createDialog 'horde_journal_pages_journal_humanity';" !="createDialog 'horde_journal_pages_zombies';" !="createDialog 'horde_journal_pages_bandits';" !="createDialog 'horde_journal_pages_humanity_art';" !"Z_ResetContainer = true;\ncreateDialog \"AdvancedTrading\";" !"createDialog \"DoorManagement\";\ncall DoorNearbyHumans;" !="createDialog \"ComboLockUI\";" !"createdialog \"PlotManagement\";\ncall PlotNearbyHumans;" !"_trader_data = (_this select 3);\n\n_dialog = createdialog \"TraderDialog\";" !="_ok = createdialog \"SafeKeyPad\";" !="_ok = createdialog \"KeypadUI\";" !"EpochDeathBoardLoad = {\ncreatedialog \"EpochDeathBoardDialog\";" !="if(DZE_doorManagement) then {createdialog \"DoorAccess\";} else {createdialog \"ComboLockUI\";};" !"\ndisableSerialization;\ncreateDialog \"DZ_GroupDialog\";"
|
||||
5 createDisplay
|
||||
5 createMarker !"\"createMarkerLocal\",\n\"setMarkerPosLocal\"," !="rcreateMarkerLocal = 'createMarkerLocal'" !"rcreateMarkerLocalcode" !"\"createMarkerLocal\", \"createSimpleTask\"," !"if (isnil 'BIS_GITA_fnc_createMarkers' || false) then {" !"_marker = createMarkerLocal [format[\"groupMember" !="_marker = createMarkerLocal [\"MyBody\",_pos];"
|
||||
5 createUnit !="_newUnit = _group createUnit [_class,getMarkerPos \"respawn_west\",[],0,\"NONE\"];" !="BIS_MPF_logic = BIS_MPF_dummygroup createUnit [\"Logic\", [1000,10,0], [], 0, \"NONE\"];"
|
||||
5 createUnit !="_newUnit = _group createUnit [_class,respawn_west_original,[],0,\"NONE\"];" !="BIS_MPF_logic = BIS_MPF_dummygroup createUnit [\"Logic\", [1000,10,0], [], 0, \"NONE\"];"
|
||||
5 createVehicleLocal !="_object = (_x select 1) createVehicleLocal [0,0,0];" !"_o = _type createVehicleLocal _pos;\n_o setDir _dir;" !="_Crater= \"CraterLong\" createvehiclelocal [_pos select 0, _pos select 1, 0];" !="_plant = _x createVehicleLocal (getMarkerPos \"center\");" !="_point = \"Logic\" createVehicleLocal getPosATL _unit;" !="_obj = _class createVehicleLocal _new;" !="_obj = _class createVehicleLocal (getMarkerpos \"respawn_west\");" !" = \"#lightpoint\" createVehicleLocal " !" = \"#particlesource\" createVehicleLocal " !="_object = _ghost createVehicleLocal getMarkerpos \"respawn_west\";" !="_cursorTarget = _upgrade createVehicleLocal getMarkerpos \"respawn_west\";" !="_sign = \"Sign_arrow_down_large_EP1\" createVehicleLocal [0,0,0];" !="_obj = \"Sign_sphere10cm_EP1\" createVehicleLocal [0,0,0];" !="_obj = _model createVehicleLocal [0,0,0];" !="_objectSnapGizmo = \"Sign_sphere10cm_EP1\" createVehicleLocal [0,0,0];" !"_object = _type createVehicleLocal [0,0,0];\n_object setDir (_x select 2);"
|
||||
5 ctrlAddEventHandler
|
||||
5 ctrlRemoveAllEventHandlers
|
||||
|
||||
Reference in New Issue
Block a user