From e2740f3584e0c4874cb155f8e06c5b8bf5a80114 Mon Sep 17 00:00:00 2001
From: Bjanski <jan@babor.nu>
Date: Tue, 10 May 2016 21:36:39 +0200
Subject: [PATCH] v0.7.5

Adjusted some haloParachute code and fixed a syntax error in
postInit.sqf
---
 BattlEye/scripts.txt                             |  2 +-
 CHANGELOG.md                                     |  5 +++++
 docs/HaloParachute/changelog.md                  |  7 +++++++
 docs/HaloParachute/update.md                     | 11 ++++++++++-
 .../HaloParachute/Functions/fn_pullParachute.sqf |  4 +++-
 .../HaloParachute/Functions/fn_showParachute.sqf |  2 ++
 .../ExAdClient/HaloParachute/postInit.sqf        | 16 ++++++++--------
 7 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/BattlEye/scripts.txt b/BattlEye/scripts.txt
index 47593ff..7208b43 100644
--- a/BattlEye/scripts.txt
+++ b/BattlEye/scripts.txt
@@ -4,7 +4,7 @@ createVehicle 	!="_parachuteObject = createVehicle [\"Steerable_Parachute_F\", g
 addAction 		!="ExAd_ACTION_PARACHUTE = player addaction [format"
 drawLine3D 		!="drawLine3D [cursorTarget modelToWorld ["
 playableUnits	!="(({alive _x}count playableUnits) >= ExAd_HACKING_MIN_PLAYERS_ONLINE)"
-Entities 		!="waitUntil {sleep 0.1; {player distance _x < 10 max (sizeOf typeOf _x)} count (player nearEntities [\"Helicopter_Base_F\", 20]) == 0}"
+Entities 		!="waitUntil {sleep 0.1; ({player distance _x < (10 max (sizeOf typeOf _x))} count (player nearEntities [\"Air\", 20])) == 0};"
 Units			!="(({alive _x}count playableUnits) >= ExAd_HACKING_MIN_PLAYERS_ONLINE)"
 disableCollisionWith	!="_parachuteObject disableCollisionWith player"
 remoteexec 		!="_this remoteExec [\"ExAdServer_fnc_clientRequest\",2]"
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2c8fbd4..06fc04c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
 
 # Changelog:  
 
+## 160510 21:00 . v0.7.5  
+###Fixed 
+* Syntax error in postInit.sqf (HaloParachute)
+* Added battleye exceptions (HaloParachute)
+
 ## 160510 18:00 . v0.7.4  
 ###Fixed 
 * Various documentation has been updated. 
diff --git a/docs/HaloParachute/changelog.md b/docs/HaloParachute/changelog.md
index 23006ca..b9e6b03 100644
--- a/docs/HaloParachute/changelog.md
+++ b/docs/HaloParachute/changelog.md
@@ -1,6 +1,13 @@
 #HaloParachute  
 ## Changelog:    
 
+## 160510 21:00 . v0.7.5  
+###Fixed 
+* Syntax error in postInit.sqf
+* Remove parachute backpack when parachute is pulled. 
+* Removed one action when carrying parachute backpack 
+* Added battleye exceptions
+
 ### 160510 18:00 . v0.7.4  
 #### Added
 * Feature - Customization for using key bindings instead of displayed addActions 
diff --git a/docs/HaloParachute/update.md b/docs/HaloParachute/update.md
index 779f140..6d790e1 100644
--- a/docs/HaloParachute/update.md
+++ b/docs/HaloParachute/update.md
@@ -1,6 +1,15 @@
 #HaloParachute  
 ## Instructions:   
- 
+
+## 160510 21:00 . v0.7.5  
+###Fixed 
+* replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\postInit.sqf"
+* replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\Functions"
+* Replace battleye exceptions - Entities
+```cpp
+	!="waitUntil {sleep 0.1; ({player distance _x < (10 max (sizeOf typeOf _x))} count (player nearEntities [\"Air\", 20])) == 0};"
+```
+
 ### 160507 18:00 . v0.7.4  
 #### Update
 * Replace folder "mpmissions\Exile.<map>\ExAdClient\HaloParachute\Functions"
diff --git a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_pullParachute.sqf b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_pullParachute.sqf
index 6da370d..dc1f85e 100644
--- a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_pullParachute.sqf
+++ b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_pullParachute.sqf
@@ -18,10 +18,12 @@
 
 private ["_parachuteObject"];
 
-waitUntil {sleep 0.1; {player distance _x < 10 max (sizeOf typeOf _x)} count (player nearEntities ["Helicopter_Base_F", 20]) == 0};
+waitUntil {sleep 0.1; ({player distance _x < (10 max (sizeOf typeOf _x))} count (player nearEntities ["Air", 20])) == 0};
 
 if (!alive player || vehicle player != player) exitWith {};
 
+if(backpack player == "B_Parachute")then{removeBackpack player};
+
 _parachuteObject = createVehicle ["Steerable_Parachute_F", getPosATL player, [], 0, "CAN_COLLIDE"];
 _parachuteObject setDir getDir player;
 
diff --git a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_showParachute.sqf b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_showParachute.sqf
index 815e0b2..1ff3877 100644
--- a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_showParachute.sqf
+++ b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_showParachute.sqf
@@ -17,6 +17,8 @@
 */
 if(vehicle player != player)exitWith{false};
 
+if(backpack player == "B_Parachute")exitWith{false};
+
 _condition = false;
 
 if((getPos player) select 2 > ExAd_ACTION_PARACHUTE_HEIGHT)then{
diff --git a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/postInit.sqf b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/postInit.sqf
index 5eca15c..1d7a545 100644
--- a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/postInit.sqf
+++ b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/postInit.sqf
@@ -21,11 +21,11 @@ ExAd_HALOPARACHUTE_VERSION = "v0.7.4";
 
 execVM "ExAdClient\HaloParachute\customize.sqf";
 
-if(isNil "ExAd_HALOPARACHUTE_SAFE_MODE"){ExAd_HALOPARACHUTE_SAFE_MODE = false;};
-if(isNil "ExAd_HALOPARACHUTE_USE_ACTIONS"){ExAd_HALOPARACHUTE_USE_ACTIONS = true;};
-if(isNil "ExAd_HALOPARACHUTE_USE_KEY_ACTIONS"){ExAd_HALOPARACHUTE_USE_KEY_ACTIONS = true;};
-if(isNil "ExAd_ACTION_PARACHUTE_HEIGHT"){ExAd_ACTION_PARACHUTE_HEIGHT = 10;};
-if(isNil "ExAd_ACTION_EJECT_HEIGHT"){ExAd_ACTION_EJECT_HEIGHT = 0;};
+if(isNil "ExAd_HALOPARACHUTE_SAFE_MODE")then{ExAd_HALOPARACHUTE_SAFE_MODE = false;};
+if(isNil "ExAd_HALOPARACHUTE_USE_ACTIONS")then{ExAd_HALOPARACHUTE_USE_ACTIONS = true;};
+if(isNil "ExAd_HALOPARACHUTE_USE_KEY_ACTIONS")then{ExAd_HALOPARACHUTE_USE_KEY_ACTIONS = true;};
+if(isNil "ExAd_ACTION_PARACHUTE_HEIGHT")then{ExAd_ACTION_PARACHUTE_HEIGHT = 10;};
+if(isNil "ExAd_ACTION_EJECT_HEIGHT")then{ExAd_ACTION_EJECT_HEIGHT = 0;};
 
 [] spawn {
 	while {true} do {
@@ -36,7 +36,7 @@ if(isNil "ExAd_ACTION_EJECT_HEIGHT"){ExAd_ACTION_EJECT_HEIGHT = 0;};
 		waitUntil{alive player};
 		
 		if(ExAd_HALOPARACHUTE_USE_ACTIONS)then{
-			ExAd_ACTION_PARACHUTE = player addaction [format["<t color='#E48A36'><img image='\a3\ui_f\data\gui\cfg\CommunicationMenu\supplydrop_ca.paa' />%1</t>", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_PARACHUTE"], {call ExAd_fnc_pullParachute}, [], 6, true, true, "", "call ExAd_fnc_showParachute"];
+			ExAd_ACTION_PARACHUTE = player addaction [format["<t color='#E48A36'><img image='\a3\ui_f\data\gui\cfg\CommunicationMenu\supplydrop_ca.paa' />%1</t>", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_PARACHUTE"], {[] spawn ExAd_fnc_pullParachute}, [], 6, true, true, "", "call ExAd_fnc_showParachute"];
 			ExAd_ACTION_EJECT = player addaction [format["<t color='#E48A36'><img image='\a3\ui_f\data\gui\cfg\CommunicationMenu\supplydrop_ca.paa' />%1</t>", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_HALO"], {call ExAd_fnc_ejectPlayer}, [], 6, false, true, "", "call ExAd_fnc_showEject;"];
 		};
 		
@@ -46,8 +46,8 @@ if(isNil "ExAd_ACTION_EJECT_HEIGHT"){ExAd_ACTION_EJECT_HEIGHT = 0;};
 					if((getPos player) select 2 > ExAd_ACTION_EJECT_HEIGHT && vehicle player != player)then{
 						call ExAd_fnc_ejectPlayer
 					}else{
-						if(ExAd_fnc_showParachute)then{
-							call ExAd_fnc_pullParachute
+						if(call ExAd_fnc_showParachute)then{
+							[] spawn ExAd_fnc_pullParachute
 						}
 					}
 				}