v0.7.4 Updated HaloParachute

Added some new small features
Clarified some documentation
This commit is contained in:
Bjanski 2016-05-10 17:46:00 +02:00
parent 90f961d2ce
commit 1d36ec1170
8 changed files with 50 additions and 38 deletions

View File

@ -1,6 +1,13 @@
#HaloParachute #HaloParachute
## Changelog: ## Changelog:
### 160510 18:00 . v0.7.4
#### Added
* Feature - Customization for using key bindings instead of displayed addActions
#### Deleted
* "mpmission\Exile.Altis\ExAdClient\HaloParachute\Functions\canDetachParachute.sqf
### 160510 16:00 . v0.7.3 ### 160510 16:00 . v0.7.3
#### Fixed #### Fixed
* Declaration of un custamized variables * Declaration of un custamized variables

View File

@ -1,6 +1,12 @@
#HaloParachute #HaloParachute
## Instructions: ## Instructions:
### 160507 18:00 . v0.7.4
#### Update
* Replace folder "mpmissions\Exile.<map>\ExAdClient\HaloParachute\Functions"
* Replace file "mpmissions\Exile.<map>\ExAdClient\HaloParachute\CfgFunctions.cpp"
* Replace file "mpmissions\Exile.<map>\ExAdClient\HaloParachute\postInit.sqf"
### 160507 16:00 . v0.7.3 ### 160507 16:00 . v0.7.3
#### Update #### Update
* Replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\postInit.sqf" * Replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\postInit.sqf"

View File

@ -1,7 +1,14 @@
#Documentation #Documentation
Each subfolder withholds the choosen dokumentation including installation instruction and examples on useage. Each subfolder withholds the choosen documentation including installation instruction and examples on useage.
To simplify the proccess for me, I've decided to simply devide everything and leave a changelog and update instructions in every subprojects documentation folder. This way you won't miss any information related to that subproject and it will be simple for me to keep the track off all changes with out skimming a general changelog.
## How to Update ## How to Update
Since this project consist of multiple sub projects I've had some issues deciding how to structure the project for a simple update process. Since this project consist of multiple sub projects I've had some issues deciding how to structure the project for a simple update process.
To simplify the proccess for me, I've decided to simply devide everything and leave a changelog and update instructions in every subprojects client folder. This way you won't miss any information related to that subproject and it will be simple for me to keep the track off all changes with out skimming a general changelog. #### Problems remember which version you have?
General update for all mods are to
* replace plugin specific server files
* Copy and save plugin specific customization file
* replace plugin client folder, e.g. "mpmission\Exile.<map>\ExAdClient\HaloParachute"
* Compare old with new customize.sqf file - add extras

View File

@ -20,7 +20,6 @@
class HaloParachute class HaloParachute
{ {
file = "ExAdClient\HaloParachute\Functions"; file = "ExAdClient\HaloParachute\Functions";
class canDetachParachute {};
class ejectPlayer {}; class ejectPlayer {};
class parachutesafemode {}; class parachutesafemode {};
class pullParachute {}; class pullParachute {};

View File

@ -1,19 +0,0 @@
/*
fn_showDetachParachute.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
((getPos player) select 2 > ExAd_ACTION_PARACHUTE_HEIGHT && vehicle player isKindOf "Steerable_Parachute_F")

View File

@ -37,7 +37,7 @@ if(ExAd_HALOPARACHUTE_SAFE_MODE)then{
[ExAd_PARACHUTE_SAFE_THREAD] call ExileClient_system_thread_removeTask; [ExAd_PARACHUTE_SAFE_THREAD] call ExileClient_system_thread_removeTask;
}; };
if(ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE)then{ if(ExAd_HALOPARACHUTE_USE_KEY_ACTIONS)then{
hint localize "STR_ExAd_HALOPARACHUTE_INFO_DETACH" hint localize "STR_ExAd_HALOPARACHUTE_INFO_DETACH"
}; };

View File

@ -17,7 +17,8 @@
*/ */
ExAd_HALOPARACHUTE_SAFE_MODE = false; //BOOLEAN - Force pull parachute when player reaches ExAd_ACTION_PARACHUTE_HEIGHT if they ejected from vehicle ExAd_HALOPARACHUTE_SAFE_MODE = false; //BOOLEAN - Force pull parachute when player reaches ExAd_ACTION_PARACHUTE_HEIGHT if they ejected from vehicle
ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE = false; //BOOLEAN - Allows player to detach himself from parachute ExAd_HALOPARACHUTE_USE_ACTIONS = true; //BOOLEAN - Allows player to eject from all vehicles with a pressed key combination 'alt shift x'
ExAd_HALOPARACHUTE_USE_KEY_ACTIONS = true; //BOOLEAN - Show addActions on the screen
ExAd_ACTION_PARACHUTE_HEIGHT = 10; //SCALAR - What is the minimum altitude a player can pull a parachute. |RECOMMENDED 30 meters when safe_mode activated ExAd_ACTION_PARACHUTE_HEIGHT = 10; //SCALAR - What is the minimum altitude a player can pull a parachute. |RECOMMENDED 30 meters when safe_mode activated
ExAd_ACTION_EJECT_HEIGHT = 100; //SCALAR - What is the minimum altitude a player can Halo/Eject from a vehicle. ExAd_ACTION_EJECT_HEIGHT = 100; //SCALAR - What is the minimum altitude a player can Halo/Eject from a vehicle.

View File

@ -17,12 +17,15 @@
*/ */
ExAd_HALOPARACHUTE_VERSION = "v0.7.4";
execVM "ExAdClient\HaloParachute\customize.sqf"; execVM "ExAdClient\HaloParachute\customize.sqf";
if(isNil "ExAd_HALOPARACHUTE_SAFE_MODE"){ExAd_HALOPARACHUTE_SAFE_MODE = false;}; if(isNil "ExAd_HALOPARACHUTE_SAFE_MODE"){ExAd_HALOPARACHUTE_SAFE_MODE = false;};
if(isNil "ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE"){ExAd_HALOPARACHUTE_DETACH_PARACHUTE_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_PARACHUTE_HEIGHT"){ExAd_ACTION_PARACHUTE_HEIGHT = 10;};
if(isNil "ExAd_ACTION_EJECT_HEIGHT"){ExAd_ACTION_EJECT_HEIGHT = 100;}; if(isNil "ExAd_ACTION_EJECT_HEIGHT"){ExAd_ACTION_EJECT_HEIGHT = 0;};
[] spawn { [] spawn {
while {true} do { while {true} do {
@ -32,25 +35,33 @@ if(isNil "ExAd_ACTION_EJECT_HEIGHT"){ExAd_ACTION_EJECT_HEIGHT = 100;};
UISleep 0.1; UISleep 0.1;
waitUntil{alive player}; waitUntil{alive player};
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"]; if(ExAd_HALOPARACHUTE_USE_ACTIONS)then{
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;"]; 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_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;"];
};
if(ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE)then{ if(ExAd_HALOPARACHUTE_USE_KEY_ACTIONS)then{
ExAd_ACTION_PARACHUTE_DETACH = (findDisplay 46) displayAddEventHandler ["KeyDown",{ ExAd_ACTION_HALOPARACHUTE_USE_KEY_ACTIONS = (findDisplay 46) displayAddEventHandler ["KeyDown",{
if(call ExAd_fnc_canDetachParachute)then{ if(_this select 1 == 45 && _this select 2 && _this select 4)then{
if(_this select 1 == 45 && _this select 2 && _this select 4)then{ if((getPos player) select 2 > ExAd_ACTION_EJECT_HEIGHT && vehicle player != player)then{
call ExAd_fnc_ejectPlayer call ExAd_fnc_ejectPlayer
} }else{
if(ExAd_fnc_showParachute)then{
call ExAd_fnc_pullParachute
}
}
} }
}]; }];
}; };
waitUntil{!alive player}; waitUntil{!alive player};
player removeAction ExAd_ACTION_PARACHUTE; if(ExAd_HALOPARACHUTE_USE_ACTIONS)then{
player removeAction ExAd_ACTION_EJECT; player removeAction ExAd_ACTION_PARACHUTE;
player removeAction ExAd_ACTION_EJECT;
};
if(ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE)then{ if(ExAd_HALOPARACHUTE_USE_KEY_ACTIONS)then{
(findDisplay 46) displayRemoveEventHandler ["KeyDown", ExAd_ACTION_PARACHUTE_DETACH]; (findDisplay 46) displayRemoveEventHandler ["KeyDown", ExAd_ACTION_HALOPARACHUTE_USE_KEY_ACTIONS];
}; };
}; };
}; };