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"];
|
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;
|
_class = _this;
|
||||||
if (gear_done) then {disableUserInput true;disableUserInput true;};
|
if (gear_done) then {disableUserInput true;disableUserInput true;};
|
||||||
@@ -74,7 +74,7 @@ _leader = (player == leader _oldGroup);
|
|||||||
//Create New Character
|
//Create New Character
|
||||||
//[player] joinSilent grpNull;
|
//[player] joinSilent grpNull;
|
||||||
_group = createGroup west;
|
_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 setDir _dir;
|
||||||
{_newUnit removeMagazine _x;} count magazines _newUnit;
|
{_newUnit removeMagazine _x;} count magazines _newUnit;
|
||||||
removeAllWeapons _newUnit;
|
removeAllWeapons _newUnit;
|
||||||
@@ -110,12 +110,10 @@ _switchUnit = {
|
|||||||
setPlayable _newUnit;
|
setPlayable _newUnit;
|
||||||
selectPlayer _newUnit;
|
selectPlayer _newUnit;
|
||||||
//Switch the units
|
//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);
|
_rndx = floor(random 100);
|
||||||
_rndy = floor(random 100);
|
_rndy = floor(random 100);
|
||||||
_oldUnit setPosATL [(_createSafePos select 0) + _rndx, (_createSafePos select 1) + _rndy, 0];
|
_oldUnit setPosATL [(respawn_west_original select 0) + _rndx, (respawn_west_original select 1) + _rndy, 0];
|
||||||
if (surfaceIsWater _createSafePos) then {
|
if (surfaceIsWater respawn_west_original) then {
|
||||||
//Prevent swimming in ground glitch if respawn is in water
|
//Prevent swimming in ground glitch if respawn is in water
|
||||||
_newUnit setPosATL [_position select 0,_position select 1,(_position select 2)+.1];
|
_newUnit setPosATL [_position select 0,_position select 1,(_position select 2)+.1];
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ _showText = _this select 1;
|
|||||||
_enterORleave = _this select 2;
|
_enterORleave = _this select 2;
|
||||||
|
|
||||||
// Do not show cutText when player changes clothes in trader area
|
// 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;
|
_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 {
|
switch (toLower worldName) do {
|
||||||
case "napf";
|
case "napf";
|
||||||
case "sauerland" : {dayz_minpos = -1000; dayz_maxpos = 26000;};
|
case "sauerland" : {dayz_minpos = -1000; dayz_maxpos = 26000;};
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ disableSerialization;
|
|||||||
_timeOut = 0;
|
_timeOut = 0;
|
||||||
_messTimer = 0;
|
_messTimer = 0;
|
||||||
_lastTemp = dayz_temperatur;
|
_lastTemp = dayz_temperatur;
|
||||||
_debug = getMarkerpos "respawn_west";
|
|
||||||
_isPZombie = player isKindOf "PZombie_VB";
|
_isPZombie = player isKindOf "PZombie_VB";
|
||||||
_radTimer = 0;
|
_radTimer = 0;
|
||||||
|
|
||||||
@@ -48,7 +47,7 @@ while {1 == 1} do {
|
|||||||
//reset position
|
//reset position
|
||||||
_randomSpot = true;
|
_randomSpot = true;
|
||||||
_tempPos = getPosATL player;
|
_tempPos = getPosATL player;
|
||||||
_distance = _debug distance _tempPos;
|
_distance = respawn_west_original distance _tempPos;
|
||||||
if (_distance < 2000) then {
|
if (_distance < 2000) then {
|
||||||
_randomSpot = false;
|
_randomSpot = false;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
sched_antiTP_init = {
|
sched_antiTP_init = {
|
||||||
if (dayz_antihack == 1) then { diag_log [ diag_ticktime, __FILE__, "Anti Teleport inited"]; };
|
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 = {
|
sched_antiTP = {
|
||||||
@@ -19,6 +19,7 @@ sched_antiTP = {
|
|||||||
_lastheight = _this select 2;
|
_lastheight = _this select 2;
|
||||||
_lasttime = _this select 3;
|
_lasttime = _this select 3;
|
||||||
_lastVehicle = _this select 4;
|
_lastVehicle = _this select 4;
|
||||||
|
_debug = _this select 5;
|
||||||
|
|
||||||
if (((_antihack) and {(typeName player == "OBJECT")}) AND {((player in playableUnits) AND {(alive player)})}) then {
|
if (((_antihack) and {(typeName player == "OBJECT")}) AND {((player in playableUnits) AND {(alive player)})}) then {
|
||||||
if (count _lastpos != 3) then {
|
if (count _lastpos != 3) then {
|
||||||
@@ -31,7 +32,6 @@ sched_antiTP = {
|
|||||||
_distance = _lastpos distance _curpos;
|
_distance = _lastpos distance _curpos;
|
||||||
_curtime = diag_ticktime;
|
_curtime = diag_ticktime;
|
||||||
_difftime = _curtime - _lasttime;
|
_difftime = _curtime - _lasttime;
|
||||||
_debug = getMarkerpos "respawn_west";
|
|
||||||
|
|
||||||
if ((_distance > 10) OR {(_difftime > 1)}) then {
|
if ((_distance > 10) OR {(_difftime > 1)}) then {
|
||||||
_curheight = (ATLtoASL _curpos) select 2;
|
_curheight = (ATLtoASL _curpos) select 2;
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ if (_characterID != "?") then {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
//Punish combat log
|
//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
|
// Moved setVariables to server_playerSync since they are high priority
|
||||||
// Messages are low priority. Player object not needed
|
// Messages are low priority. Player object not needed
|
||||||
diag_log format["PLAYER COMBAT LOGGED: %1(%3) at location %2",_playerName,_playerPos,_playerUID];
|
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;
|
_characterID = _this select 0;
|
||||||
_playerObj = _this select 1;
|
_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 {
|
if (count _worldspace > 0) then {
|
||||||
_position = _worldspace select 1;
|
_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 = respawn_west_original distance _position;
|
||||||
_distance = _debug distance _position;
|
|
||||||
if (_distance < 2000) then {_randomSpot = true;};
|
if (_distance < 2000) then {_randomSpot = true;};
|
||||||
|
|
||||||
_distance = [0,0,0] distance _position;
|
_distance = [0,0,0] distance _position;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ _isInVehicle = vehicle _character != _character;
|
|||||||
_timeSince = 0;
|
_timeSince = 0;
|
||||||
_humanity = 0;
|
_humanity = 0;
|
||||||
_name = if (alive _character) then {name _character} else {"Dead Player"};
|
_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 {
|
if (_character isKindOf "Animal") exitWith {
|
||||||
diag_log ("ERROR: Cannot Sync Character " + _name + " is an Animal class");
|
diag_log ("ERROR: Cannot Sync Character " + _name + " is an Animal class");
|
||||||
|
|||||||
@@ -44,13 +44,13 @@ sched_corpses = {
|
|||||||
if (_x getVariable["bodyName",""] != "") then {
|
if (_x getVariable["bodyName",""] != "") then {
|
||||||
_deathTime = _x getVariable ["sched_co_deathTime", -1];
|
_deathTime = _x getVariable ["sched_co_deathTime", -1];
|
||||||
if (_deathTime == -1) then {
|
if (_deathTime == -1) then {
|
||||||
_deathPos = _x getVariable [ "deathPos", getMarkerPos "respawn_west" ];
|
_deathPos = _x getVariable ["deathPos",respawn_west_original];
|
||||||
_cpos = getPosATL _x;
|
/*_cpos = getPosATL _x;
|
||||||
// forbid a move further than 50 meters, or burried body (antihack)
|
// forbid a move further than 50 meters, or burried body (antihack)
|
||||||
if (_deathPos distance _cpos > 50 or _deathPos select 2 < -0.2) then {
|
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 ];
|
diag_log [ __FILE__, "Corpse should have been moved! CID#",(_x getVariable["characterID", "?"]),"from:", _cpos, "to:", _deathPos ];
|
||||||
//_x setPosATL _deathPos;
|
//_x setPosATL _deathPos;
|
||||||
};
|
};*/
|
||||||
_deathTime = diag_tickTime;
|
_deathTime = diag_tickTime;
|
||||||
_x setVariable ["sched_co_deathTime", _deathTime];
|
_x setVariable ["sched_co_deathTime", _deathTime];
|
||||||
_x setVariable ["sched_co_fliesAdded", true];
|
_x setVariable ["sched_co_fliesAdded", true];
|
||||||
|
|||||||
@@ -503,8 +503,7 @@ if (_hiveLoaded) then {
|
|||||||
|
|
||||||
[] spawn server_spawnEvents;
|
[] spawn server_spawnEvents;
|
||||||
/* //Causes issues with changing clothes
|
/* //Causes issues with changing clothes
|
||||||
_debugMarkerPosition = getMarkerPos "respawn_west";
|
_debugMarkerPosition = [(respawn_west_original select 0),(respawn_west_original select 1),1];
|
||||||
_debugMarkerPosition = [(_debugMarkerPosition select 0),(_debugMarkerPosition select 1),1];
|
|
||||||
_vehicle_0 = createVehicle ["DebugBox_DZ", _debugMarkerPosition, [], 0, "CAN_COLLIDE"];
|
_vehicle_0 = createVehicle ["DebugBox_DZ", _debugMarkerPosition, [], 0, "CAN_COLLIDE"];
|
||||||
_vehicle_0 setPos _debugMarkerPosition;
|
_vehicle_0 setPos _debugMarkerPosition;
|
||||||
_vehicle_0 setVariable ["ObjectID","1",true];
|
_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 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 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 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 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 ctrlAddEventHandler
|
||||||
5 ctrlRemoveAllEventHandlers
|
5 ctrlRemoveAllEventHandlers
|
||||||
|
|||||||
Reference in New Issue
Block a user