mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
player side anti wall glitch protection
This commit is contained in:
@@ -21,14 +21,6 @@ if (_removed == 1) then {
|
||||
} else {
|
||||
publicVariable "PVDZE_veh_Lock";
|
||||
};
|
||||
|
||||
/*
|
||||
player moveInDriver _vehicle;
|
||||
|
||||
if (local vehicle player) then {
|
||||
vehicle player engineOn true;
|
||||
};
|
||||
*/
|
||||
};
|
||||
} else {
|
||||
cutText ["Failed to unlock car hotwire kit broken." , "PLAIN DOWN"];
|
||||
|
||||
54
SQF/dayz_code/compile/player_antiWall.sqf
Normal file
54
SQF/dayz_code/compile/player_antiWall.sqf
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
DayZ Epoch anti wall
|
||||
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
|
||||
*/
|
||||
|
||||
private ["_vehicle","_intersects","_vehiclePos","_position","_playerPos"];
|
||||
|
||||
// Vehicle
|
||||
_vehicle = _this;
|
||||
|
||||
_vehiclePos = aimpos _vehicle;
|
||||
|
||||
diag_log format["Vehicle: %1", _vehiclePos];
|
||||
|
||||
/*
|
||||
_veh = createVehicle ["Sign_sphere10cm_EP1", _vehiclePos, [], 0, "CAN_COLLIDE"];
|
||||
_veh setPosASL _vehiclePos;
|
||||
_tagColor = "#(argb,8,8,3)color(0,1,0,0.5,ca)";
|
||||
_veh setobjecttexture [0,_tagColor];
|
||||
*/
|
||||
|
||||
_playerPos = visiblePositionASL player;
|
||||
_playerPos set [2,(_playerPos select 2)+1];
|
||||
|
||||
diag_log format["Player: %1", _playerPos];
|
||||
|
||||
/*
|
||||
_veh2 = createVehicle ["Sign_sphere10cm_EP1", _playerPos, [], 0, "CAN_COLLIDE"];
|
||||
_veh2 setPosASL _playerPos;
|
||||
*/
|
||||
|
||||
_intersectsWith = lineIntersectsWith [_playerPos, _vehiclePos, player, _vehicle];
|
||||
|
||||
diag_log format["intersectsWith : %1", _intersectsWith];
|
||||
|
||||
_position = "driver";
|
||||
|
||||
if ((count _intersectsWith) > 0) then {
|
||||
diag_log format["Player Wall glitched %1 Result: %2 - player: %3 vehicle:%4", player,_intersects,_playerPos,_vehiclePos];
|
||||
switch(true)do{
|
||||
case (_position == "driver"): {
|
||||
player moveInDriver _vehicle;
|
||||
};
|
||||
case (_position == "gunner"): {
|
||||
player moveInGunner _vehicle;
|
||||
};
|
||||
case (_position == "commander"): {
|
||||
player moveInCommander _vehicle;
|
||||
};
|
||||
case (_position == "cargo"): {
|
||||
player moveInCargo _vehicle;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -70,7 +70,6 @@ if (!isDedicated) then {
|
||||
|
||||
pz_attack = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\pzombie\pz_attack.sqf";
|
||||
|
||||
|
||||
//
|
||||
dog_findTargetAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dog_findTargetAgent.sqf";
|
||||
|
||||
@@ -103,6 +102,7 @@ if (!isDedicated) then {
|
||||
player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";
|
||||
player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";
|
||||
player_mineOre = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_mineOre.sqf";
|
||||
player_antiWall = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_antiWall.sqf";
|
||||
|
||||
//ui
|
||||
player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";
|
||||
|
||||
@@ -12,7 +12,7 @@ _this addeventhandler ["Killed",{ _this call vehicle_handleKilled } ];
|
||||
if (isServer) then {
|
||||
_this removeAllEventHandlers "GetOut";
|
||||
_this removeAllEventHandlers "GetIn";
|
||||
_this addEventHandler ["GetOut", {_this call server_antiWall; [(_this select 0),"all"] call server_updateObject;}];
|
||||
_this addEventHandler ["GetOut", {[(_this select 0),"all"] call server_updateObject;}];
|
||||
_this addEventHandler ["GetIn", {[(_this select 0),"all"] call server_updateObject;}];
|
||||
};
|
||||
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
DayZ Epoch anti wall
|
||||
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
|
||||
*/
|
||||
|
||||
private ["_vehicle","_player","_intersects","_vehiclePos","_position","_playerPos"];
|
||||
|
||||
// Vehicle
|
||||
_vehicle = _this select 0;
|
||||
_vehiclePos = visiblePositionASL _vehicle;
|
||||
|
||||
diag_log format["Vehicle: %1", _vehiclePos];
|
||||
|
||||
// Position
|
||||
_position = _this select 1;
|
||||
|
||||
// Player
|
||||
_player = _this select 2;
|
||||
|
||||
_playerPos = visiblePositionASL _player;
|
||||
|
||||
diag_log format["Player: %1", _playerPos];
|
||||
|
||||
// check if intersects anything
|
||||
_intersects = lineIntersects [_playerPos, _vehiclePos, _player, _vehicle];
|
||||
|
||||
if (_intersects) then {
|
||||
|
||||
diag_log format["Player Wall glitched %1 Result: %2 - player: %3 vehicle:%4", _player,_intersects,_playerPos,_vehiclePos];
|
||||
|
||||
switch(true)do{
|
||||
case (_position == "driver"): {
|
||||
_player action ["getInDriver", _vehicle];
|
||||
};
|
||||
case (_position == "gunner"): {
|
||||
_player action ["GetInGunner", _vehicle];
|
||||
};
|
||||
case (_position == "commander"): {
|
||||
_player action ["GetInCommander", _vehicle];
|
||||
};
|
||||
case (_position == "cargo"): {
|
||||
_player action ["GetInCargo", _vehicle];
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -26,8 +26,6 @@ server_spawnCrashSite = compile preprocessFileLineNumbers "\z\addons\dayz_se
|
||||
server_handleZedSpawn = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_handleZedSpawn.sqf";
|
||||
server_spawnEvents = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnEvent.sqf";
|
||||
|
||||
server_antiWall = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_antiWall.sqf";
|
||||
|
||||
fnc_plyrHit = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.sqf";
|
||||
server_deaths = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDeaths.sqf";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user