
MAKE HALO JUMP SYSTEM
Thanks to Babast from FOXCOM TEAM for this script
To make HALO jump system, follow this procedure :
​
​
​
STEP 1 : Open editor and on your mission place your unit and somewhere, another unit. We will take a Civilian
​
Call this civilian "haloNPC" and in his INIT box, past :
​
​
​
0 = this spawn {if (isServer) then {removeAllWeapons _this; sleep 3; _this enableSimulationGlobal false;};};
​
​
​
STEP 2 : Create init.sqf file in your mission folder and past inside :
​
​
​
/* Compile functions linked to revive functionnalities */
call compileFinal preprocessFile "BAS_haloJump\BAS_haloJump_functions.sqf";
/* Initialize player on client only */
if (!isDedicated) then
{
[] spawn
{
waitUntil { !isNil {BAS_haloJump_fnc_playerInit} };
[] call BAS_haloJump_fnc_playerInit;
};
};
​
​
STEP 3 : create gui_base_defines.hpp file (you make it like SQF) and you past inside :
​
​
​
​
/******************************************************************************************
* This work is licensed under the APL-SA. Copyright © 2016 basstard @ BI Forums *
******************************************************************************************
Author : basstard
Date : 08/09/2016 (jj/mm/aaaa)
Version : 0.1
Description : Contains all defines and all base classes to make custom dialogs
Usage : N/A
Syntax : N/A
Parameters : N/A
*/
#ifndef __GUI_BASE_DEFINES_HPP // Avoid multiples inclusions
#define __GUI_BASE_DEFINES_HPP
/* Control types */
#define CT_STATIC 0
#define CT_BUTTON 1
#define CT_EDIT 2
#define CT_SLIDER 3
#define CT_COMBO 4
#define CT_LISTBOX 5
#define CT_TOOLBOX 6
#define CT_CHECKBOXES 7
#define CT_PROGRESS 8
#define CT_HTML 9
#define CT_STATIC_SKEW 10
#define CT_ACTIVETEXT 11
#define CT_TREE 12
#define CT_STRUCTURED_TEXT 13
#define CT_CONTEXT_MENU 14
#define CT_CONTROLS_GROUP 15
#define CT_SHORTCUTBUTTON 16
#define CT_HITZONES 17
#define CT_XKEYDESC 40
#define CT_XBUTTON 41
#define CT_XLISTBOX 42
#define CT_XSLIDER 43
#define CT_XCOMBO 44
#define CT_ANIMATED_TEXTURE 45
#define CT_MENU 46 // Arma 3 (EDEN)
#define CT_MENU_STRIP 47 // Arma 3 (EDEN)
#define CT_CHECKBOX 77 // Arma 3
#define CT_OBJECT 80
#define CT_OBJECT_ZOOM 81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK 98
#define CT_USER 99
#define CT_MAP 100
#define CT_MAP_MAIN 101
#define CT_LISTNBOX 102
#define CT_ITEMSLOT 103
/* Static styles */
#define ST_POS 0x0F
#define ST_HPOS 0x03
#define ST_VPOS 0x0C
#define ST_LEFT 0x00
#define ST_RIGHT 0x01
#define ST_CENTER 0x02
#define ST_DOWN 0x04
#define ST_UP 0x08
#define ST_VCENTER 0x0C
#define ST_TYPE 0xF0
#define ST_SINGLE 0x00
#define ST_MULTI 0x10
#define ST_TITLE_BAR 0x20
#define ST_PICTURE 0x30
#define ST_FRAME 0x40
#define ST_BACKGROUND 0x50
#define ST_GROUP_BOX 0x60
#define ST_GROUP_BOX2 0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE 0x90
#define ST_WITH_RECT 0xA0
#define ST_LINE 0xB0
#define ST_UPPERCASE 0xC0
#define ST_LOWERCASE 0xD0
#define ST_SHADOW 0x100
#define ST_NO_RECT 0x200
#define ST_KEEP_ASPECT_RATIO 0x800
#define ST_TITLE ST_TITLE_BAR + ST_CENTER
/* Slider styles */
#define SL_DIR 0x400
#define SL_VERT 0
#define SL_HORZ 0x400
#define SL_TEXTURES 0x10
/* Progress bar styles */
#define ST_VERTICAL 0x01
#define ST_HORIZONTAL 0
/* Listbox styles */
#define LB_TEXTURES 0x10
#define LB_MULTI 0x20
/* Tree styles */
#define TR_SHOWROOT 1
#define TR_AUTOCOLLAPSE 2
/* MessageBox styles */
#define MB_BUTTON_OK 1
#define MB_BUTTON_CANCEL 2
#define MB_BUTTON_USER 4
#define MB_ERROR_DIALOG 8
/* Xbox buttons */
#define KEY_XINPUT 0x00050000
#define KEY_XBOX_A KEY_XINPUT + 0
#define KEY_XBOX_B KEY_XINPUT + 1
#define KEY_XBOX_X KEY_XINPUT + 2
#define KEY_XBOX_Y KEY_XINPUT + 3
#define KEY_XBOX_Up KEY_XINPUT + 4
#define KEY_XBOX_Down KEY_XINPUT + 5
#define KEY_XBOX_Left KEY_XINPUT + 6
#define KEY_XBOX_Right KEY_XINPUT + 7
#define KEY_XBOX_Start KEY_XINPUT + 8
#define KEY_XBOX_Back KEY_XINPUT + 9
#define KEY_XBOX_LeftBumper KEY_XINPUT + 10
#define KEY_XBOX_RightBumper KEY_XINPUT + 11
#define KEY_XBOX_LeftTrigger KEY_XINPUT + 12
#define KEY_XBOX_RightTrigger KEY_XINPUT + 13
#define KEY_XBOX_LeftThumb KEY_XINPUT + 14
#define KEY_XBOX_RightThumb KEY_XINPUT + 15
#define KEY_XBOX_LeftThumbXRight KEY_XINPUT + 16
#define KEY_XBOX_LeftThumbYUp KEY_XINPUT + 17
#define KEY_XBOX_RightThumbXRight KEY_XINPUT + 18
#define KEY_XBOX_RightThumbYUp KEY_XINPUT + 19
#define KEY_XBOX_LeftThumbXLeft KEY_XINPUT + 20
#define KEY_XBOX_LeftThumbYDown KEY_XINPUT + 21
#define KEY_XBOX_RightThumbXLeft KEY_XINPUT + 22
#define KEY_XBOX_RightThumbYDown KEY_XINPUT + 23
/* Fonts */
#define GUI_FONT_NORMAL PuristaMedium
#define GUI_FONT_BOLD PuristaSemibold
#define GUI_FONT_THIN PuristaLight
#define GUI_FONT_MONO EtelkaMonospacePro
#define GUI_FONT_NARROW EtelkaNarrowMediumPro
#define GUI_FONT_CODE LucidaConsoleB
#define GUI_FONT_SYSTEM TahomaB
/* Grids */
#define GUI_GRID_CENTER_WAbs ((safezoneW / safezoneH) min 1.2)
#define GUI_GRID_CENTER_HAbs (GUI_GRID_CENTER_WAbs / 1.2)
#define GUI_GRID_CENTER_W (GUI_GRID_CENTER_WAbs / 40)
#define GUI_GRID_CENTER_H (GUI_GRID_CENTER_HAbs / 25)
#define GUI_GRID_CENTER_X (safezoneX + (safezoneW - GUI_GRID_CENTER_WAbs)/2)
#define GUI_GRID_CENTER_Y (safezoneY + (safezoneH - GUI_GRID_CENTER_HAbs)/2)
/****************************************************************/
/* Generic classes */
/****************************************************************/
/* Dialog background */
class IGUIBack
{
idc = -1;
type = CT_STATIC;
style = ST_HUD_BACKGROUND;
x = GUI_GRID_CENTER_X;
y = GUI_GRID_CENTER_Y;
w = GUI_GRID_CENTER_WAbs;
h = GUI_GRID_CENTER_HAbs;
colorBackground[] = {0.5,0.5,0.5,1};
colorText[] = {0,0,0,0};
font = GUI_FONT_NORMAL;
sizeEx = GUI_GRID_CENTER_H;
text = "";
};
/* Standard button */
class RscButton
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_BUTTON; // Type
style = ST_CENTER; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = 0.061875 * safezoneW; // Width
h = 0.044 * safezoneH; // Height
colorBackground[] = {0.29,0.255,0.275,0.7}; // Fill color
colorBackgroundDisabled[] = {0.95,0.95,0.95,0.5}; // Disabled fill color
colorBackgroundActive[] = {0.29,0.255,0.275,1}; // Mouse hover fill color
colorFocused[] = {0.29,0.255,0.275,1}; // Selected fill color (oscillates between this and colorBackground)
text = "Default"; // Displayed text
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow (0 - none, 1 - N/A, 2 - black outline)
colorText[] = {1,1,1,1}; // Text color
colorDisabled[] = {1,1,1,0.5}; // Disabled text color
borderSize = 0; // Left color width (border is a stripe of the control height on the left side)
colorBorder[] = {0,0,0,1}; // Left border color
colorShadow[] = {0,0,0,1}; // Background frame color
offsetX = 0.003; // Horizontal background frame offset
offsetY = 0.003; // Vertical background frame offset
offsetPressedX = 0.002; // Horizontal background offset when pressed
offsetPressedY = 0.002; // Horizontal background offset when pressed
soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; // Sound played after control is activated in format {file, volume, pitch}
soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1}; // Sound played when mouse cursor enters the control
soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1}; // Sound played when the control is pushed down
soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; // Sound played when the control is released after pushing down
};
/* Progress bar */
class RscProgress
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_PROGRESS; // Type
style = ST_HORIZONTAL; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 1 * GUI_GRID_CENTER_H; // Height
texture = "#(argb,8,8,3)color(1,1,1,1)"; // Bar texture
colorBar[] = {1,1,1,1}; // Bar color
colorFrame[] = {0,0,0,1}; // Frame color
};
/* Static text */
class RscText
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_STATIC; // Type
style = ST_LEFT; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = 0.0515625 * safezoneW; // Width
h = 0.022 * safezoneH; // Height
colorText[] = {0,0,0,1}; // Text color
colorBackground[] = {0,0,0,0}; // Fill color
text = "Default static text"; // Displayed text
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow style: 0 = none (default), 1 = drop shadow, 2 = outline
};
/* Structured text */
class RscStructuredText
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_STRUCTURED_TEXT; // Type
style = ST_SINGLE; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = 0.0515625 * safezoneW; // Width
h = 0.022 * safezoneH; // Height
colorBackground[] = {0,0,0,0}; // Fill color
text = "Default structured text"; // Displayed text
size = GUI_GRID_CENTER_H; // Text size
shadow = 0; // Shadow style: 0 = none (default), 1 = drop shadow, 2 = outline
class Attributes
{
align = "left"; // Text align
color = "#ffffff"; // Text color
size = 1; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
};
};
/* Frame */
class RscFrame
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_STATIC; // Type
style = ST_FRAME; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
colorText[] = {1,1,1,1}; // Text color
colorBackground[] = {0,0,0,0}; // Fill color
text = "Default frame"; // Displayed text
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 2; // Shadow style: 0 = none (default), 1 = drop shadow, 2 = outline
};
/* Picture */
class RscPicture
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_STATIC; // Type
style = ST_PICTURE; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X;
y = GUI_GRID_CENTER_Y;
w = GUI_GRID_CENTER_WAbs;
h = GUI_GRID_CENTER_HAbs;
colorText[] = {1,1,1,1}; // Text color
colorBackground[] = {0,0,0,0}; // Fill color
text = ""; // Displayed text
sizeEx = 0; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow style: 0 = none (default), 1 = drop shadow, 2 = outline
lineSpacing = 0;
};
/* Edit box */
class RscEdit
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_EDIT; // Type
style = ST_LEFT; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 1 * GUI_GRID_CENTER_H; // Height
text = "Default"; // Displayed text
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow (0 - none, 1 - N/A, 2 - black outline)
colorText[] = {0,0,0,1}; // Text and frame color
colorDisabled[] = {1,1,1,0.5}; // Disabled text and frame color
colorSelection[] = {1,0.5,0,1}; // Text selection color
canModify = 1; // True (1) to allow text editing, 0 to disable it
autocomplete = "scripting"; // Text autocomplete, can be "scripting" (scripting commands) or "general" (previously typed text)
};
/* List box */
class RscListBox
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_LISTBOX; // Type
style = ST_LEFT + LB_TEXTURES; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 3 * GUI_GRID_CENTER_H; // Height
colorBackground[] = {0.2,0.2,0.2,1}; // Fill color
colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color
colorSelectBackground2[] = {0,0,0,1}; // Selected item fill color (oscillates between this and colorSelectBackground)
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow (0 - none, 1 - directional, color affected by colorShadow, 2 - black outline)
colorText[] = {1,1,1,1}; // Text and frame color
colorDisabled[] = {1,1,1,0.5}; // Disabled text color
colorSelect[] = {1,1,1,1}; // Text selection color
colorSelect2[] = {1,1,1,1}; // Text selection color (oscillates between this and colorSelect)
colorShadow[] = {0,0,0,0.5}; // Text shadow color (used only when shadow is 1)
pictureColor[] = {1,0.5,0,1}; // Picture color
pictureColorSelect[] = {1,1,1,1}; // Selected picture color
pictureColorDisabled[] = {1,1,1,0.5}; // Disabled picture color
period = 1; // Oscillation time between colorSelect/colorSelectBackground2 and colorSelect2/colorSelectBackground when selected
rowHeight = 1.5 * GUI_GRID_CENTER_H; // Row height
itemSpacing = 0; // Height of empty space between items
maxHistoryDelay = 1; // Time since last keyboard type search to reset it
canDrag = 1; // 1 (true) to allow item dragging
soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1}; // Sound played when an item is selected
// Scrollbar configuration (applied only when LB_TEXTURES style is used)
class ListScrollBar
{
width = 0; // Unknown?
height = 0; // Unknown?
scrollSpeed = 0.01; // Unknown?
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically)
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically)
color[] = {1,1,1,1}; // Scrollbar color
};
};
/* Combo box */
class RscCombo
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_COMBO; // Type
style = ST_LEFT + LB_TEXTURES; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 1 * GUI_GRID_CENTER_H; // Height
colorBackground[] = {0.2,0.2,0.2,1}; // Fill color
colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow (0 - none, 1 - N/A, 2 - black outline)
colorText[] = {1,1,1,1}; // Text and frame color
colorDisabled[] = {1,1,1,0.5}; // Disabled text color
colorSelect[] = {1,1,1,1}; // Text selection color
pictureColor[] = {1,0.5,0,1}; // Picture color
pictureColorSelect[] = {1,1,1,1}; // Selected picture color
pictureColorDisabled[] = {1,1,1,0.5}; // Disabled picture color
arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa"; // Expand arrow
arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa"; // Collapse arrow
wholeHeight = 5 * GUI_GRID_CENTER_H; // Maximum height of expanded box (including the control height)
maxHistoryDelay = 1; // Time since last keyboard type search to reset it
soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; // Sound played when the list is expanded
soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; // Sound played when the list is collapsed
soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; // Sound played when an item is selected
// Scrollbar configuration (applied only when LB_TEXTURES style is used)
class ComboScrollBar
{
width = 0; // Unknown?
height = 0; // Unknown?
scrollSpeed = 0.01; // Unknown?
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically)
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically)
color[] = {1,1,1,1}; // Scrollbar color
};
};
/* Checkbox */
class RscCheckbox
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_CHECKBOX; // Type
style = ST_LEFT + ST_MULTI; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = 1 * GUI_GRID_CENTER_W; // Width
h = 1 * GUI_GRID_CENTER_H; // Height
//Colors
color[] = {1,1,1,0.7}; // Texture color
colorFocused[] = {1,1,1,1}; // Focused texture color
colorHover[] = {1,1,1,1}; // Mouse over texture color
colorPressed[] = {1,1,1,1}; // Mouse pressed texture color
colorDisabled[] = {1,1,1,0.2}; // Disabled texture color
//Background colors
colorBackground[] = {0,0,0,0}; // Fill color
colorBackgroundFocused[] = {0,0,0,0}; // Focused fill color
colorBackgroundHover[] = {0,0,0,0}; // Mouse hover fill color
colorBackgroundPressed[] = {0,0,0,0}; // Mouse pressed fill color
colorBackgroundDisabled[] = {0,0,0,0}; // Disabled fill color
//Textures
textureChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa"; //Texture of checked CheckBox.
textureUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa"; //Texture of unchecked CheckBox.
textureFocusedChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa"; //Texture of checked focused CheckBox (Could be used for showing different texture when focused).
textureFocusedUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa"; //Texture of unchecked focused CheckBox.
textureHoverChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";
textureHoverUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";
texturePressedChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";
texturePressedUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";
textureDisabledChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";
textureDisabledUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";
//Sounds
soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; // Sound played after control is activated in format {file, volume, pitch}
soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1}; // Sound played when mouse cursor enters the control
soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1}; // Sound played when the control is pushed down
soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; // Sound played when the control is released after pushing down
};
/* Map */
class RscMap
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_MAP_MAIN; // Type
style = ST_PICTURE; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = GUI_GRID_CENTER_WAbs; // Width
h = GUI_GRID_CENTER_HAbs; // Height
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
colorText[] = {0,0,0,1}; // Text color
// Rendering density coefficients
ptsPerSquareSea = 5; // seas
ptsPerSquareTxt = 20; // textures
ptsPerSquareCLn = 10; // count-lines
ptsPerSquareExp = 10; // exposure
ptsPerSquareCost = 10; // cost
// Rendering thresholds
ptsPerSquareFor = 9; // forests
ptsPerSquareForEdge = 9; // forest edges
ptsPerSquareRoad = 6; // roads
ptsPerSquareObj = 9; // other objects
scaleMin = 0.001; // Min map scale (i.e., max zoom)
scaleMax = 1.0; // Max map scale (i.e., min zoom)
scaleDefault = 0.16; // Default scale
alphaFadeStartScale = 0.1; // Scale at which satellite map starts appearing
alphaFadeEndScale = 0.01; // Scale at which satellite map is fully rendered
maxSatelliteAlpha = 0.85; // Maximum alpha of satellite map
text = "#(argb,8,8,3)color(1,1,1,1)"; // Fill texture
colorBackground[] = {1,1,1,1}; // Fill color
colorOutside[] = {0,0,0,1}; // Color outside of the terrain area (not sued when procedural terrain is enabled)
colorSea[] = {0.4,0.6,0.8,0.5}; // Sea color
colorForest[] = {0.6,0.8,0.4,0.5}; // Forest color
colorForestBorder[] = {0.6,0.8,0.4,1}; // Forest border color
colorRocks[] = {0,0,0,0.3}; // Rocks color
colorRocksBorder[] = {0,0,0,1}; // Rocks border color
colorLevels[] = {0.3,0.2,0.1,0.5}; // Elevation number color
colorMainCountlines[] = {0.6,0.4,0.2,0.5}; // Main countline color (every 5th)
colorCountlines[] = {0.6,0.4,0.2,0.3}; // Countline color
colorMainCountlinesWater[] = {0.5,0.6,0.7,0.6}; // Main water countline color (every 5th)
colorCountlinesWater[] = {0.5,0.6,0.7,0.3}; // Water countline color
colorPowerLines[] = {0.1,0.1,0.1,1}; // Power lines color
colorRailWay[] = {0.8,0.2,0,1}; // Railway color
colorNames[] = {1.1,0.1,1.1,0.9}; // Unknown?
colorInactive[] = {1,1,0,0.5}; // Unknown?
colorTracks[] = {0.8,0.8,0.7,0.2}; // Small road border color
colorTracksFill[] = {0.8,0.7,0.7,1}; // Small road color
colorRoads[] = {0.7,0.7,0.7,1}; // Medium road border color
colorRoadsFill[] = {1,1,1,1}; // Medium road color
colorMainRoads[] = {0.9,0.5,0.3,1}; // Large road border color
colorMainRoadsFill[] = {1,0.6,0.4,1}; // Large road color
colorGrid[] = {0.1,0.1,0.1,0.6}; // Grid coordinate color
colorGridMap[] = {0.1,0.1,0.1,0.6}; // Grid line color
fontLabel = GUI_FONT_NORMAL; // Tooltip font from CfgFontFamilies
sizeExLabel = GUI_GRID_CENTER_H * 0.5; // Tooltip font size
fontGrid = GUI_FONT_SYSTEM; // Grid coordinate font from CfgFontFamilies
sizeExGrid = GUI_GRID_CENTER_H * 0.5; // Grid coordinate font size
fontUnits = GUI_FONT_SYSTEM; // Selected group member font from CfgFontFamilies
sizeExUnits = GUI_GRID_CENTER_H * 0.5; // Selected group member font size
fontNames = GUI_FONT_NARROW; // Marker font from CfgFontFamilies
sizeExNames = GUI_GRID_CENTER_H * 0.5; // Marker font size
fontInfo = GUI_FONT_NORMAL; // Unknown?
sizeExInfo = GUI_GRID_CENTER_H * 0.5; // Unknown?
fontLevel = GUI_FONT_SYSTEM; // Elevation number font
sizeExLevel = GUI_GRID_CENTER_H * 0.5; // Elevation number font size
showCountourInterval = 1; // Show Legend
class Task
{
icon = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {1,1,0,1};
iconCreated = "#(argb,8,8,3)color(1,1,1,1)";
colorCreated[] = {0,0,0,1};
iconCanceled = "#(argb,8,8,3)color(1,1,1,1)";
colorCanceled[] = {0,0,0,0.5};
iconDone = "#(argb,8,8,3)color(1,1,1,1)";
colorDone[] = {0,1,0,1};
iconFailed = "#(argb,8,8,3)color(1,1,1,1)";
colorFailed[] = {1,0,0,1};
size = 8;
importance = 1; // Required, but not used
coefMin = 1; // Required, but not used
coefMax = 1; // Required, but not used
};
class ActiveMarker
{
color[] = {0,0,0,1}; // Icon color
size = 2; // Size in pixels
};
class Waypoint
{
coefMax = 1; // Minimum size coefficient
coefMin = 4; // Maximum size coefficient
color[] = {0,0,0,1}; // Icon color
icon = "#(argb,8,8,3)color(0,0,0,1)"; // Icon texture
importance = 1; // Drawing importance (when multiple icons are close together, the one with larger importance is prioritized)
size = 2; // Size in pixels
};
class WaypointCompleted: Waypoint{};
class CustomMark: Waypoint{};
class Command: Waypoint{};
class Bush: Waypoint{};
class Rock: Waypoint{};
class SmallTree: Waypoint{};
class Tree: Waypoint{};
class BusStop: Waypoint{};
class FuelStation: Waypoint{};
class Hospital: Waypoint{};
class Church: Waypoint{};
class Lighthouse: Waypoint{};
class Power: Waypoint{};
class PowerSolar: Waypoint{};
class PowerWave: Waypoint{};
class PowerWind: Waypoint{};
class Quay: Waypoint{};
class Transmitter: Waypoint{};
class Watertower: Waypoint{};
class Cross: Waypoint{};
class Chapel: Waypoint{};
class Shipwreck: Waypoint{};
class Bunker: Waypoint{};
class Fortress: Waypoint{};
class Fountain: Waypoint{};
class Ruin: Waypoint{};
class Stack: Waypoint{};
class Tourism: Waypoint{};
class ViewTower: Waypoint{};
};
/* Map main */
class RscMapMain
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = -1; // Control identification (without it, the control won't be displayed)
type = CT_MAP_MAIN; // Type
style = ST_PICTURE; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = GUI_GRID_CENTER_X; // Horizontal coordinates
y = GUI_GRID_CENTER_Y; // Vertical coordinates
w = GUI_GRID_CENTER_WAbs; // Width
h = GUI_GRID_CENTER_HAbs; // Height
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
colorText[] = {0,0,0,0}; // Text color
text = "";
colorBackground[] = {0, 0, 0, 0};
colorSea[] = {0.1, 0.3, 0.5, 0.25};
colorForest[] = {0.10, 0.50, 0.10, 0.50};
colorRocks[] = {0.50, 0.50, 0.50, 1};
colorCountlines[] = {0.65, 0.45, 0.27, 0.50};
colorMainCountlines[] = {0.65, 0.45, 0.27, 1.00};
colorCountlinesWater[] = {0.00, 0.53, 1.00, 0.3};
colorMainCountlinesWater[] = {0.00, 0.53, 1.00, 0.6};
colorForestBorder[] = {0.40, 0.80, 0.00, 1.00};
colorRocksBorder[] = {0.50, 0.50, 0.50, 1.00};
colorPowerLines[] = {0.00, 0.00, 0.00, 1.00};
colorNames[] = {0.00, 0.00, 0.00, 1.00};
colorInactive[] = {1, 0.3, 0.5, 1};
colorLevels[] = {0.00, 0.00, 0.00, 1.00};
colorOutside[] = {0.1, 0.3, 0.5, 0.5};
colorRailWay[] = {1, 0, 0.5, 1};
colorTracks[] = {0.8, 0.6, 0.6, 1};
colorTracksFill[] = {0.7, 0.5, 0.5, 1};
colorRoads[] = {0.8, 0.8, 0.8, 1};
colorRoadsFill[] = {0.7, 0.7, 0.7, 1};
colorMainRoads[] = {1, 1, 1, 1};
colorMainRoadsFill[] = {0.9, 0.9, 0.9, 1};
colorGrid[] = {0, 0, 0, 0.5};
colorGridMap[] = {0, 0, 0, 0.5};
alphaFadeStartScale = 5;
alphaFadeEndScale = 5;
maxSatelliteAlpha = 0.9;
fontLabel = GUI_FONT_NORMAL; // Tooltip font from CfgFontFamilies
sizeExLabel = GUI_GRID_CENTER_H * 0.5; // Tooltip font size
fontGrid = GUI_FONT_SYSTEM; // Grid coordinate font from CfgFontFamilies
sizeExGrid = GUI_GRID_CENTER_H * 0.5; // Grid coordinate font size
fontUnits = GUI_FONT_SYSTEM; // Selected group member font from CfgFontFamilies
sizeExUnits = GUI_GRID_CENTER_H * 0.5; // Selected group member font size
fontNames = GUI_FONT_NARROW; // Marker font from CfgFontFamilies
sizeExNames = GUI_GRID_CENTER_H * 0.5; // Marker font size
fontInfo = GUI_FONT_NORMAL; // Unknown?
sizeExInfo = GUI_GRID_CENTER_H * 0.5; // Unknown?
fontLevel = GUI_FONT_SYSTEM; // Elevation number font
sizeExLevel = GUI_GRID_CENTER_H * 0.5; // Elevation number font size
stickX[] = {0.20, {"Gamma", 1.00, 1.50} };
stickY[] = {0.20, {"Gamma", 1.00, 1.50} };
ptsPerSquareSea = 6;
ptsPerSquareTxt = 8;
ptsPerSquareCLn = 8;
ptsPerSquareExp = 8;
ptsPerSquareCost = 8;
ptsPerSquareFor = "4.0f";
ptsPerSquareForEdge = "10.0f";
ptsPerSquareRoad = 2;
ptsPerSquareObj = 10;
showCountourInterval=2;
onMouseButtonClick = "";
onMouseButtonDblClick = "";
scaleMin = 0.05;
scaleMax = 3;
scaleDefault = 0.1;
class ActiveMarker {
color[] = {0.30, 0.10, 0.90, 1.00};
size = 50;
};
class Bunker {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 14;
importance = "1.5 * 14 * 0.05";
coefMin = 0.25;
coefMax = 4.00;
};
class Bush {
icon = "";
color[] = {0.55, 0.64, 0.43, 1.00};
size = 14;
importance = "0.2 * 14 * 0.05";
coefMin = 0.25;
coefMax = 4.00;
};
class BusStop {
icon = "";
color[] = {0.00, 0.00, 1.00, 1.00};
size = 10;
importance = "1 * 10 * 0.05";
coefMin = 0.25;
coefMax = 4.00;
};
class Command {
icon = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {0.00, 0.00, 0.00, 1.00};
size = 18;
importance = 1.00;
coefMin = 1.00;
coefMax = 1.00;
};
class Cross {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 16;
importance = "0.7 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4.00;
};
class Chapel {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 16;
importance = "1 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class Church {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 16;
importance = "2 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class CustomMark {
icon = "";
color[] = {0.55, 0.64, 0.43, 1};
size = 16;
importance = 0.7 * 16 * 0.05;
coefMin = 0.25;
coefMax = 4;
};
class Fortress {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 16;
importance = "2 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4.00;
};
class Fuelstation {
icon = "";
color[] = {1.00, 0.35, 0.35, 1.00};
size = 16;
importance = "2 * 16 * 0.05";
coefMin = 0.75;
coefMax = 4.00;
};
class Fountain {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 12;
importance = "1 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4.00;
};
class Hospital {
icon = "";
color[] = {0.78, 0.00, 0.05, 1.00};
size = 16;
importance = "2 * 16 * 0.05";
coefMin = 0.50;
coefMax = 4;
};
class Lighthouse {
icon = "";
color[] = {0.78, 0.00, 0.05, 1.00};
size = 20;
importance = "3 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class Quay {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 16;
importance = "2 * 16 * 0.05";
coefMin = 0.50;
coefMax = 4.00;
};
class Rock {
icon = "";
color[] = {0.55, 0.64, 0.43, 1};
size = 12;
importance = 0.5 * 12 * 0.05;
coefMin = 0.25;
coefMax = 4;
};
class Ruin {
icon = "";
color[] = {0.78, 0, 0.05, 1};
size = 16;
importance = 1.2 * 16 * 0.05;
coefMin = 1;
coefMax = 4;
};
class Stack {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 20;
importance = "2 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class Tree {
icon = "";
color[] = {0.55, 0.64, 0.43, 1.00};
size = 12;
importance = "0.9 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4.00;
};
class SmallTree {
icon = "";
color[] = {0.55, 0.64, 0.43, 1.00};
size = 12;
importance = "0.6 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4.00;
};
class Task {
icon = "";
color[] = {0.55, 0.64, 0.43, 1};
size = 16;
importance = 0.7 * 16 * 0.05;
coefMin = 0.25;
coefMax = 4;
iconCreated = "#(argb,8,8,3)color(1,1,1,1)";
iconCanceled = "#(argb,8,8,3)color(0,0,1,1)";
iconDone = "#(argb,8,8,3)color(0,0,0,1)";
iconFailed = "#(argb,8,8,3)color(1,0,0,1)";
colorCreated[] = {1,1,1,1};
colorCanceled[] = {1,1,1,1};
colorDone[] = {1,1,1,1};
colorFailed[] = {1,1,1,1};
};
class Tourism {
icon = "";
color[] = {0.78, 0.00, 0.05, 1.00};
size = 16; importance = "1 * 16 * 0.05";
coefMin = 0.70;
coefMax = 4.00;
};
class ShipWreck {
icon = "";
color[] = {0.78, 0.00, 0.05, 1.00};
size = 16; importance = "1 * 16 * 0.05";
coefMin = 0.70;
coefMax = 4.00;
};
class Transmitter {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 20;
importance = "2 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class PowerSolar {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 20;
importance = "2 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class PowerWave {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 20;
importance = "2 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class PowerWind {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 20;
importance = "2 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class ViewTower {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 16;
importance = "2.5 * 16 * 0.05";
coefMin = 0.50;
coefMax = 4.00;
};
class Watertower {
icon = "";
color[] = {0.00, 0.35, 0.70, 1.00};
size = 32;
importance = "1.2 * 16 * 0.05";
coefMin = 0.90;
coefMax = 4.00;
};
class Waypoint {
icon = "";
color[] = {0.00, 0.00, 0.00, 1.00};
size = 24;
importance = 1.00;
coefMin = 1.00;
coefMax = 1.00;
};
class WaypointCompleted {
icon = "";
color[] = {0.00, 0.00, 0.00, 1.00};
size = 24;
importance = 1.00;
coefMin = 1.00;
coefMax = 1.00;
};
class LineMarker {
lineDistanceMin = 3e-005;
lineLengthMin = 5;
lineWidthThick = 0.014;
lineWidthThin = 0.008;
textureComboBoxColor = "#(argb,8,8,3)color(1,1,1,1)";
};
};
#endif // __GUI_BASE_DEFINES_HPP
​
​
​
STEP 4 : in your description.ext, past this on the top
​
​
​
#include "gui_base_defines.hpp"
#include "BAS_haloJump\BAS_haloJump_gui.hpp"
​
​
​
STEP 5 : in your mission folder, create folder BAS_halojump
​
​
​
In your folder "BAS_halojump", make "SFX" folder
​
In this foldier, place sound name "heli" and converted in .ogg (exemple : heli.ogg)
​
Its the copter sound when you are dropped in HALO
​
​
​
STEP 6 : in BAS_Halojump folder, make BAS_haloJump_functions.sqf file and past this :
​
​
​
/******************************************************************************************
* This work is licensed under the APL-SA. Copyright © 2016 basstard @ BI Forums *
******************************************************************************************
Author : basstard
Date : 26/08/2016 (jj/mm/aaaa)
Version : 0.1
Description : Functions collection for basstard's HALO jump functionnalities
Usage : N/A
Syntax : N/A
Parameters : None
*/
/******************************************************************************************
Description : Function to initialize player
Syntax : [] call BAS_haloJump_fnc_playerInit;
Parameters : None
Return : None
*******************************************************************************************/
BAS_haloJump_fnc_playerInit =
{
/* Wait if player is JIP */
waitUntil { !isNull player };
/* Add action for HALO jump */
haloNPC addAction ["<t color='#F4E73E'>HALO Jump</t>", "call BAS_haloJump_fnc_createHaloDialog", nil, 10, true, true, "", "true", 5, false];
};
/******************************************************************************************
Description : Function to perform initiate a parachute insertion aka HALO jump
Syntax : [] call BAS_fnc_haloJump;
Parameters : None
Return : None
*******************************************************************************************/
BAS_haloJump_fnc_createHaloDialog =
{
/* Create local marker on player position */
createMarkerLocal ["BAS_haloJump_haloPosMarker", position player];
"BAS_haloJump_haloPosMarker" setMarkerShapeLocal "ICON";
"BAS_haloJump_haloPosMarker" setMarkerTypeLocal "hd_objective";
"BAS_haloJump_haloPosMarker" setMarkerColorLocal "ColorRed";
/* Add map EH to get HALO position */
["BAS_haloJump_mapEH", "onMapSingleClick", { "BAS_haloJump_haloPosMarker" setMarkerPosLocal _pos; } ] call BIS_fnc_addStackedEventHandler;
/* Create HALO dialog */
createDialog "haloDialog";
/* Add display event handler to catch ESC press */
waitUntil { sleep 0.5; !isNull (findDisplay 33043) };
(findDisplay 33043) displayAddEventHandler ["KeyDown", { if (_this select 1 == 1) then { (_this select 0) call BAS_haloJump_fnc_terminateHaloRequest; false }; }];
};
/******************************************************************************************
Description : Function to perform a parachute insertion aka HALO jump
Syntax : [] spawn BAS_haloJump_fnc_handleHaloRequest;
Parameters : None
Return : None
*******************************************************************************************/
BAS_haloJump_fnc_handleHaloRequest =
{
disableSerialization;
private ["_player", "_haloPos"];
_player = player;
/* Store HALO destination */
_haloPos = getMarkerPos "BAS_haloJump_haloPosMarker";
/* Clean HALO request context */
(findDisplay 33043) call BAS_haloJump_fnc_terminateHaloRequest;
/* Close dialog */
if (dialog) then
{
closeDialog 0;
};
/* Ensure player is ready to HALO */
if (alive _player && !(_player getVariable ["BAS_isIncapacitated", false])) then
{
titleText ["", "BLACK FADED", 999];
playSound "heliSFX";
/* Make player invisible and invincible until he get parachuted */
disableUserInput true;
_player allowDamage false;
[_player, true] remoteExec ["hideObjectGlobal", 2, false];
/* Save player inventory and give him a parachute */
[_player, [_player, "BAS_haloJump_playerInventory"]] call BIS_fnc_saveInventory;
removeBackpack _player;
_player addBackpack "B_Parachute";
/* Add randomness to final position */
_haloPos = [_haloPos, random 250, random 360] call BIS_fnc_relPos;
_haloPos set [2, 1000]; // set altitude to 1000m
/* Preload camera on new position */
waitUntil {sleep 0.1; preloadCamera _haloPos};
waitUntil {!isNil "bis_fnc_init" && {bis_fnc_init}};
_player setPos _haloPos;
/* Enable damages, unfreeze unit and make it visible */
[_player, false] remoteExec ["hideObjectGlobal", 2, false];
waitUntil { sleep 0.1 ; !isObjectHidden _player };
titleText ["", "BLACK FADED", 1];
titleFadeOut 5;
disableUserInput false;
disableUserInput true;
disableUserInput false;
_player allowDamage true;
/* Wait player landing to restore inventory */
waitUntil { sleep 0.5; (position _player select 2) < 1 };
[_player, [_player, "BAS_haloJump_playerInventory"]] call BIS_fnc_loadInventory;
_player setVariable ["BAS_haloJump_playerInventory", nil];
};
};
/******************************************************************************************
Description : Function to clean HALO jump context
Syntax : [] call BAS_haloJump_fnc_terminateHaloRequest;
Parameters : None
Return : None
*******************************************************************************************/
BAS_haloJump_fnc_terminateHaloRequest =
{
/* Delete HALO marker */
deleteMarkerLocal "BAS_haloJump_haloPosMarker";
/* Remove map EH */
["BAS_haloJump_mapEH", "onMapSingleClick"] call BIS_fnc_removeStackedEventHandler;
/* Remove display EH */
_this displayRemoveAllEventHandlers "KeyDown";
};
​
​
​
STEP 7 : in BAS_Halojump folder, make BAS_haloJump_gui.hpp file and past this :
​
​
​
class haloDialog
{
idd = 33043; // Display identification
enableSimulation = 1; // 1 (true) to allow world simulation to be running in the background, 0 to freeze it
movingEnabled = false;
class Controls
{
class background: IGUIBack
{
idc = 2200;
x = 0.29375 * safezoneW + safezoneX;
y = 0.225 * safezoneH + safezoneY;
w = 0.4125 * safezoneW;
h = 0.55 * safezoneH;
colorBackground[] = {0.051,0.024,0.059,1};
};
class titleText: RscStructuredText
{
idc = 1000;
style = ST_VCENTER;
text = "HALO Jump"; //--- ToDo: Localize;
x = 0.29375 * safezoneW + safezoneX;
y = 0.225 * safezoneH + safezoneY;
w = 0.061875 * safezoneW;
h = 0.022 * safezoneH;
};
class btnClose: RscButton
{
idc = 1600;
text = "X"; //--- ToDo: Localize;
x = 0.675313 * safezoneW + safezoneX;
y = 0.225 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW;
h = 0.022 * safezoneH;
colorBackground[] = {0.051,0.024,0.059,1}; // Fill color
colorBackgroundActive[] = {0.761,0.184,0.188,1}; // Mouse hover fill color
colorFocused[] = {0.239,0.216,0.243,1}; // Selected fill color (oscillates between this and colorBackground)
colorShadow[] = {0,0,0,0}; // Background frame color
offsetPressedX = 0; // Horizontal background offset when pressed
offsetPressedY = 0; // Horizontal background offset when pressed
colorText[] = {1,1,1,1}; // Text color
action = "(findDisplay 33043) call BAS_haloJump_fnc_terminateHaloRequest; closeDialog 0;";
};
class map: RscMapMain
{
idc = 1200;
x = 0.29375 * safezoneW + safezoneX;
y = 0.247 * safezoneH + safezoneY;
w = 0.4125 * safezoneW;
h = 0.462 * safezoneH;
colorOutside[] = {0.051,0.024,0.059,1};
};
class btnJump: RscButton
{
idc = 1601;
text = "Jump"; //--- ToDo: Localize;
x = 0.469062 * safezoneW + safezoneX;
y = 0.72 * safezoneH + safezoneY;
colorBackground[] = {0.145,0.118,0.149,1}; // Fill color
colorBackgroundActive[] = {0.239,0.216,0.243,1}; // Mouse hover fill color
colorFocused[] = {0.145,0.118,0.149,1}; // Selected fill color (oscillates between this and colorBackground)
action = "[] spawn BAS_haloJump_fnc_handleHaloRequest;";
};
};
};
​
​
​
You will be able to click on the civilian and see menu appear to engage HALO drop and choose your drop location
​