mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-04 15:22:53 +03:00
player side anti wall glitch protection
This commit is contained in:
@@ -21,14 +21,6 @@ if (_removed == 1) then {
|
|||||||
} else {
|
} else {
|
||||||
publicVariable "PVDZE_veh_Lock";
|
publicVariable "PVDZE_veh_Lock";
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
player moveInDriver _vehicle;
|
|
||||||
|
|
||||||
if (local vehicle player) then {
|
|
||||||
vehicle player engineOn true;
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
cutText ["Failed to unlock car hotwire kit broken." , "PLAIN DOWN"];
|
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";
|
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";
|
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_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";
|
||||||
player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.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_mineOre = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_mineOre.sqf";
|
||||||
|
player_antiWall = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_antiWall.sqf";
|
||||||
|
|
||||||
//ui
|
//ui
|
||||||
player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";
|
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 {
|
if (isServer) then {
|
||||||
_this removeAllEventHandlers "GetOut";
|
_this removeAllEventHandlers "GetOut";
|
||||||
_this removeAllEventHandlers "GetIn";
|
_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;}];
|
_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_handleZedSpawn = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_handleZedSpawn.sqf";
|
||||||
server_spawnEvents = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnEvent.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";
|
fnc_plyrHit = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.sqf";
|
||||||
server_deaths = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDeaths.sqf";
|
server_deaths = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDeaths.sqf";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user