player side anti wall 0.2

This commit is contained in:
[VB]AWOL
2013-11-04 08:29:12 -06:00
parent 89a0840b93
commit aaa2f66a64

View File

@@ -5,50 +5,56 @@
private ["_vehicle","_intersects","_vehiclePos","_position","_playerPos"]; private ["_vehicle","_intersects","_vehiclePos","_position","_playerPos"];
_debug = true;
_activated = false;
// Vehicle // Vehicle
_vehicle = _this; _vehicle = _this;
_vehiclePos = aimpos _vehicle; _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 = visiblePositionASL player;
_playerPos set [2,(_playerPos select 2)+1]; _playerPos set [2,(_playerPos select 2)+1];
diag_log format["Player: %1", _playerPos]; if(_debug) then {
diag_log format["Vehicle: %1", _vehiclePos];
/* _veh = createVehicle ["Sign_sphere10cm_EP1", _vehiclePos, [], 0, "CAN_COLLIDE"];
_veh2 = createVehicle ["Sign_sphere10cm_EP1", _playerPos, [], 0, "CAN_COLLIDE"]; _veh setPosASL _vehiclePos;
_veh2 setPosASL _playerPos; _tagColor = "#(argb,8,8,3)color(0,1,0,0.5,ca)";
*/ _veh setobjecttexture [0,_tagColor];
// player
diag_log format["Player: %1", _playerPos];
_veh2 = createVehicle ["Sign_sphere10cm_EP1", _playerPos, [], 0, "CAN_COLLIDE"];
_veh2 setPosASL _playerPos;
};
_intersectsWith = lineIntersectsWith [_playerPos, _vehiclePos, player, _vehicle]; _intersectsWith = lineIntersectsWith [_playerPos, _vehiclePos, player, _vehicle];
diag_log format["intersectsWith : %1", _intersectsWith];
_position = "driver";
if ((count _intersectsWith) > 0) then { 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"): { if (_x isKindOf "Building" or _x isKindOf "DZE_Housebase") exitWith {
player moveInDriver _vehicle; _activated = true;
}; };
case (_position == "gunner"): { } forEach _intersectsWith;
player moveInGunner _vehicle;
}; if(_activated) then {
case (_position == "commander"): { diag_log format["Player Wall glitched %1 Result: %2 - player: %3 vehicle:%4", player,_intersects,_playerPos,_vehiclePos];
player moveInCommander _vehicle; switch(true)do{
}; default {
case (_position == "cargo"): { _id = [player,"bled"] spawn player_death;
player moveInCargo _vehicle; };
}; case ((_vehicle emptyPositions "driver") > 0): {
}; player moveInDriver _vehicle;
};
case ((_vehicle emptyPositions "gunner") > 0): {
player moveInGunner _vehicle;
};
case ((_vehicle emptyPositions "commander") > 0): {
player moveInCommander _vehicle;
};
case ((_vehicle emptyPositions "cargo") > 0): {
player moveInCargo _vehicle;
};
};
};
}; };