Merge branch 'master' of github.com:KoffeinFlummi/ACE3

This commit is contained in:
Thomas Kooi 2015-01-12 23:36:41 +01:00
commit e2b75e3d12
278 changed files with 8446 additions and 8483 deletions

View File

@ -1,140 +0,0 @@
class CfgPatches {
class AGM_SwitchUnits {
units[] = {};
weapons[] = {};
requiredVersion = 0.60;
requiredAddons[] = {AGM_Core};
version = "0.95";
versionStr = "0.95";
versionAr[] = {0,95,0};
author[] = {"bux578"};
authorUrl = "https://github.com/bux578/";
};
};
class CfgFunctions {
class AGM_SwitchUnits {
class AGM_SwitchUnits {
file = "AGM_SwitchUnits\functions";
class addMapFunction;
class handleMapClick;
class initPlayer;
class isValidAi;
class markAiOnMap;
class module;
class nearestPlayers;
class switchBack;
class switchUnit;
};
};
};
class Extended_PostInit_EventHandlers {
class AGM_SwitchUnits {
clientInit = "call compile preprocessFileLineNumbers '\AGM_SwitchUnits\clientInit.sqf'";
};
};
class CfgVehicles {
class Module_F;
class AGM_ModuleSwitchUnits: Module_F {
author = "AGM Team";
category = "AGM";
displayName = "SwitchUnits System";
function = "AGM_SwitchUnits_fnc_module";
scope = 2;
isGlobal = 1;
icon = "\AGM_SwitchUnits\UI\IconSwitchUnits_ca.paa";
class Arguments {
class SwitchToWest {
displayName = "Switch to West?";
description = "Allow switching to west units?";
typeName = "BOOL";
class values {
class Yes {name = "Yes"; value = 1;};
class No {default = 1; name = "No"; value = 0;};
};
};
class SwitchToEast {
displayName = "Switch to East?";
description = "Allow switching to east units?";
typeName = "BOOL";
class values {
class Yes {name = "Yes"; value = 1;};
class No {default = 1; name = "No"; value = 0;};
};
};
class SwitchToIndependent {
displayName = "Switch to Independent?";
description = "Allow switching to independent units?";
typeName = "BOOL";
class values {
class Yes {name = "Yes"; value = 1;};
class No {default = 1; name = "No"; value = 0;};
};
};
class SwitchToCivilian {
displayName = "Switch to Civilian?";
description = "Allow switching to civilian units?";
typeName = "BOOL";
class values {
class Yes {name = "Yes"; value = 1;};
class No {default = 1; name = "No"; value = 0;};
};
};
class EnableSafeZone {
displayName = "Enable Safe Zone?";
description = "Enable a safe zone around enemy units? Players can't switch to units inside of the safe zone.";
typeName = "BOOL";
class values {
class Yes {default = 1; name = "Yes"; value = 1;};
class No {name = "No"; value = 0;};
};
};
class SafeZoneRadius {
displayName = "Safe Zone Radius";
description = "The safe zone around players from a different team. Default: 200";
typeName = "NUMBER";
defaultValue = 100;
};
/*
class EnableSwitchUnits {
displayName = "Enable SwitchUnits?";
description = "Enable to switch to AI units? Default: No";
typeName = "BOOL";
class values {
class Yes {name = "Yes"; value = 1;};
class No {default = 1; name = "No"; value = 0;};
};
};
class SwitchUnitsAllowedForSide {
displayName = "Allow for which side?";
description = "Which side should be allowed to switch to AI units?";
typeName = "NUMBER";
class values {
class West {name = "West"; value = 0;};
class East {default = 1; name = "East"; value = 1;};
class Independent {name = "Independent"; value = 2;};
class Civilian {name = "Civilian"; value = 3;};
};
};*/
};
};
};
class AGM_Parameters_Numeric {
AGM_SwitchUnits_SafeZoneRadius = 100;
};
class AGM_Parameters_Boolean {
AGM_SwitchUnits_EnableSwitchUnits = 0;
AGM_SwitchUnits_SwitchToWest = 0;
AGM_SwitchUnits_SwitchToEast = 0;
AGM_SwitchUnits_SwitchToIndependent = 0;
AGM_SwitchUnits_SwitchToCivilian = 0;
AGM_SwitchUnits_EnableSafeZone = 1;
};

View File

@ -1,38 +0,0 @@
/*
Name: AGM_SwitchUnits_fnc_module
Author(s):
bux578
Description:
Initializes the SwitchUnits module
Parameters:
0: OBJECT - module logic
1: ARRAY<OBJECT> - list of affected units
2: BOOLEAN - isActivated
Returns:
BOOLEAN (Good practice to include one)
*/
if !(isServer) exitWith {};
_logic = _this select 0;
_activated = _this select 2;
if !(_activated) exitWith {};
AGM_SwitchUnits_Module = true;
["AGM_SwitchUnits_EnableSwitchUnits", true] call AGM_Core_fnc_setParameter;
[_logic, "AGM_SwitchUnits_SwitchToWest", "SwitchToWest"] call AGM_Core_fnc_readBooleanParameterFromModule;
[_logic, "AGM_SwitchUnits_SwitchToEast", "SwitchToEast"] call AGM_Core_fnc_readBooleanParameterFromModule;
[_logic, "AGM_SwitchUnits_SwitchToIndependent", "SwitchToIndependent"] call AGM_Core_fnc_readBooleanParameterFromModule;
[_logic, "AGM_SwitchUnits_SwitchToCivilian", "SwitchToCivilian"] call AGM_Core_fnc_readBooleanParameterFromModule;
[_logic, "AGM_SwitchUnits_EnableSafeZone", "EnableSafeZone"] call AGM_Core_fnc_readBooleanParameterFromModule;
[_logic, "AGM_SwitchUnits_SafeZoneRadius", "SafeZoneRadius"] call AGM_Core_fnc_readNumericParameterFromModule;
diag_log text "[AGM]: SwitchUnits Module Initialized.";

View File

@ -1,79 +0,0 @@
/*
Name: AGM_SwitchUnits_fnc_switchUnit
Author(s):
bux578
Description:
Selects the new given player unit
Parameters:
0: OBJECT - the unit to switch to
Returns:
VOID
*/
private ["_newUnit"];
_newUnit = _this select 1;
// don't switch to original player units
if (!([_newUnit] call AGM_SwitchUnits_fnc_isValidAi)) exitWith {};
_newUnit spawn {
private ["_unit", "_allNearestPlayers", "_oldUnit", "_respawnEhId", "_oldOwner", "_leave"];
_unit = _this;
_leave = false;
if (AGM_SwitchUnits_EnableSafeZone) then {
_allNearestPlayers = [position _unit, AGM_SwitchUnits_SafeZoneRadius] call AGM_SwitchUnits_fnc_nearestPlayers;
_nearestEnemyPlayers = [_allNearestPlayers, {((side AGM_SwitchUnits_OriginalGroup) getFriend (side _this) < 0.6) && !(_this getVariable ["AGM_SwitchUnits_IsPlayerControlled", false])}] call AGM_Core_fnc_filter;
if (count _nearestEnemyPlayers > 0) exitWith {
_leave = true;
};
};
// exitWith doesn't exit past the "if(EnableSafeZone)" block
if (_leave) exitWith {
[localize "STR_AGM_SwitchUnits_TooCloseToEnemy"] call AGM_Core_fnc_displayTextStructured;
};
// should switch locality
// This doesn't work anymore, because one's now able to switch to units from a different side
//[_unit] joinSilent group player;
[[_unit, player], "{(_this select 0) setVariable ['AGM_SwitchUnits_OriginalOwner', owner (_this select 0), true]; (_this select 0) setOwner owner (_this select 1)}", 1] call AGM_Core_fnc_execRemoteFnc;
_oldUnit = player;
waitUntil {sleep 0.2; local _unit};
_oldUnit setVariable ["AGM_SwitchUnits_IsPlayerControlled", false, true];
_oldUnit setVariable ["AGM_SwitchUnits_PlayerControlledName", "", true];
_respawnEhId = _unit getVariable ["AGM_SwitchUnits_RespawnEhId", -1];
if (_respawnEhId != -1) then {
_oldUnit removeEventHandler ["Respawn", _respawnEhId];
};
selectPlayer _unit;
_unit setVariable ["AGM_SwitchUnits_IsPlayerControlled", true, true];
_unit setVariable ["AGM_SwitchUnits_PlayerControlledName", AGM_SwitchUnits_OriginalName, true];
_respawnEhId = _unit addEventHandler ["Respawn", {
[AGM_SwitchUnits_OriginalUnit, _this select 0] spawn AGM_SwitchUnits_fnc_switchBack;
}];
_unit setVariable ["AGM_SwitchUnits_RespawnEhId", _respawnEhId, true];
// set owner back to original owner
_oldOwner = _oldUnit getVariable["AGM_SwitchUnits_OriginalOwner", -1];
if (_oldOwner > -1) then {
[[_oldUnit, _oldOwner], "{(_this select 0) setOwner (_this select 1)}", 1] call AGM_Core_fnc_execRemoteFnc;
};
[localize "STR_AGM_SwitchUnits_SwitchedUnit"] call AGM_Core_fnc_displayTextStructured;
};

27
addons/ai/CfgAISkill.hpp Normal file
View File

@ -0,0 +1,27 @@
/*
* Documentation:
* https://community.bistudio.com/wiki/AI_Sub-skills
*
* The idea here is to reduce the AI's godlike aiming
* capabilties while retaining it's high intelligence.
* The AI should be smart enough to move through a town,
* but also be 'human' in their reaction time and aim.
*
* Note: All these values can still be adjusted via
* scripts, these arrays just change what 0 & 1
* are for setSkill.
*/
class CfgAISkill {
aimingAccuracy[] = {0,0, 1,0.8}; // {0,0,1,1}; v1.26 defaults
aimingShake[] = {0,0, 1,0.6}; // {0,0,1,1};
aimingSpeed[] = {0,0, 1,0.7}; // {0,0.5,1,1};
commanding[] = {0,0, 1,0.8}; // {0,0,1,1};
courage[] = {0,0, 1,0.7}; // {0,0,1,1};
endurance[] = {0,0, 1,0.7}; // {0,0,1,1};
general[] = {0,0, 1,0.9}; // {0,0,1,1};
reloadSpeed[] = {0,0, 1,0.8}; // {0,0,1,1};
spotDistance[] = {0,0, 1,0.9}; // {0,0.2,1,0.4};
spotTime[] = {0,0, 1,0.7}; // {0,0,1,0.7};
};

575
addons/ai/CfgWeapons.hpp Normal file
View File

@ -0,0 +1,575 @@
// weapon config changes, by commy2
/* documentation:
aiDispersionCoefX = 1.0 Dispersion multiplier for AI units (axis X - left to right).
aiDispersionCoefY = 1.0 Dispersion multiplier for AI units (axis Y - top-down).
aiRateOfFire = 5.0 Delay between shots at given aiRateOfFireDistance.
aiRateOfFireDistance = 500 At shorter distance delay (aiRateOfFire) goes linearly to zero.
*/
class Mode_SemiAuto;
class Mode_Burst;
class Mode_FullAuto;
class CfgWeapons {
// rifles
class RifleCore;
class Rifle: RifleCore {
aiDispersionCoefX = 6;
aiDispersionCoefY = 6;
};
class Rifle_Base_F: Rifle {};
class Rifle_Long_Base_F: Rifle_Base_F {};
// MX
class arifle_MX_Base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 300; // 200;
midRangeProbab = 0.5; // 0.7;
};
class FullAuto;
class fullauto_medium: FullAuto {
minRange = 20; // 2;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 500;
minRange = 400;
minRangeProbab = 0.1;
midRange = 500;
midRangeProbab = 0.2;
maxRange = 600;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: Single {
aiRateOfFireDistance = 700; // 600;
minRange = 120; // 2;
maxRange = 700; // 600;
};
class single_far_optics2: single_medium_optics1 {
aiRateOfFireDistance = 900; // 700;
minRange = 200; // 100;
maxRange = 900; // 700;
};
};
// MX carbine
class arifle_MXC_F: arifle_MX_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.5; // 0.3;
midRange = 250; // 150;
midRangeProbab = 0.3; // 0.5;
};
class FullAuto;
class fullauto_medium: fullauto_medium {
minRange = 20; // 2;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: single_medium_optics1 {
aiRateOfFireDistance = 600; // 500;
minRange = 120; // 2;
maxRange = 600; // 500;
};
class single_far_optics2: single_medium_optics1 {
aiRateOfFireDistance = 800; // 700;
minRange = 200; // 100;
maxRange = 800; // 700;
};
};
//class arifle_MX_F: arifle_MX_Base_F {};
//class arifle_MX_GL_F: arifle_MX_Base_F {};
// MX machine gun
class arifle_MXM_F: arifle_MX_Base_F {
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 350; // 250;
midRangeProbab = 0.5; // 0.7;
};
class fullauto_medium: fullauto_medium {
minRange = 20; // 2;
burst = "3 + round random 5"; //3;
};
class single_medium_optics1: single_medium_optics1 {
aiRateOfFireDistance = 700; // 600;
minRange = 120; // 2;
maxRange = 750; // 650;
};
class single_far_optics2: single_far_optics2 {
aiRateOfFireDistance = 900; // 800;
minRange = 200; // 100;
maxRange = 900; // 800;
};
};
// MX sniper rifle
class arifle_MX_SW_F: arifle_MX_Base_F {
aiDispersionCoefY = 24.0;
aiDispersionCoefX = 21.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
};
class close;
class medium;
class AGM_Burst_far: medium {
aiRateOfFire = 6.0;
aiRateOfFireDistance = 900;
minRange = 500;
minRangeProbab = 0.1;
midRange = 700;
midRangeProbab = 0.2;
maxRange = 900;
maxRangeProbab = 0.2;
burst = "3 + round random 5";
};
class far_optic1: close {
aiRateOfFireDistance = 750; // 650;
maxRange = 750; // 650;
};
class far_optic2: far_optic1 {
maxRange = 1100; // 900;
aiRateOfFireDistance = 1100;// 900;
};
};
// Katiba
class arifle_Katiba_Base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 300; // 200;
midRangeProbab = 0.5; // 0.7;
};
class FullAuto;
class fullauto_medium: FullAuto {
minRange = 20; // 2;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 500;
minRange = 400;
minRangeProbab = 0.1;
midRange = 500;
midRangeProbab = 0.2;
maxRange = 600;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: Single {
aiRateOfFireDistance = 700; // 600;
minRange = 120; // 2;
maxRange = 700; // 600;
};
class single_far_optics2: single_medium_optics1 {
aiRateOfFireDistance = 900; // 800;
minRange = 200; // 100;
maxRange = 900; // 800;
};
};
// Katiba carbine
class arifle_Katiba_C_F: arifle_Katiba_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.5; // 0.3;
midRange = 250; // 150;
midRangeProbab = 0.3; // 0.7;
};
//class FullAuto: FullAuto {};
class fullauto_medium: fullauto_medium {
minRange = 20; // 2;
maxRange = 150; //100;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: single_medium_optics1 {
minRange = 120; // 2;
maxRange = 600; // 500;
};
class single_medium_optics2: single_medium_optics1 {
aiRateOfFireDistance = 800; // 700;
minRange = 200; // 100;
maxRange = 800; // 700;
};
};
// F2002
class mk20_base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 250; // 150;
midRangeProbab = 0.5; // 0.7;
};
class FullAuto: Mode_FullAuto {
minRange = 0; //2;
};
class fullauto_medium: FullAuto {
minRange = 20; // 2;
maxRange = 150; // 100;
burst = "3 + round random 5"; // 3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 500;
minRange = 400;
minRangeProbab = 0.1;
midRange = 500;
midRangeProbab = 0.2;
maxRange = 600;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: Single {
aiRateOfFireDistance = 600; // 500;
minRange = 120; // 5;
maxRange = 600; // 500;
};
class single_far_optics2: single_medium_optics1 {
aiRateOfFireDistance = 800; // 700;
minRange = 200; // 100;
maxRange = 800; // 700;
};
};
// F2002 carbine
class arifle_Mk20C_F: mk20_base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 250; // 150;
midRangeProbab = 0.5; // 0.7;
maxRange = 350; // 250;
};
class FullAuto: FullAuto {
minRange = 0; //2;
};
class single_medium_optics1: single_medium_optics1 {
aiRateOfFireDistance = 600; // 500;
minRange = 120; // 5;
maxRange = 550; // 450;
};
//class single_medium_optics2: single_medium_optics1 {};
class fullauto_medium: fullauto_medium {
minRange = 20; //2;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
};
// TAR-20
class Tavor_base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; //2;
minRangeProbab = 0.7; //0.5;
midRange = 250; //150;
midRangeProbab = 0.5; //0.7;
maxRange = 350; //250;
};
class FullAuto: Mode_FullAuto {
minRange = 0; //2;
};
class fullauto_medium: FullAuto {
minRange = 20; // 2;
maxRange = 150; // 100;
burst = "3 + round random 5"; // 3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: Single {
aiRateOfFireDistance = 600; // 500;
minRange = 120; // 5;
maxRange = 550; // 450;
};
class single_medium_optics2: single_medium_optics1 {
aiRateOfFireDistance = 700; // 600;
minRange = 200; // 100;
maxRange = 700; // 600;
};
};
// TAR-21
class arifle_TRG21_F: Tavor_base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.3;
midRange = 300; // 200;
midRangeProbab = 0.5; // 0.7;
maxRange = 400; // 300;
};
class FullAuto: FullAuto {
minRange = 0; //2;
};
class fullauto_medium: fullauto_medium {
minRange = 20; // 2;
maxRange = 150; // 100;
burst = "3 + round random 5"; // 3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: single_medium_optics1 {
aiRateOfFireDistance = 700; // 600;
minRange = 120; // 2;
maxRange = 600; // 500;
};
class single_medium_optics2: single_medium_optics1 {
aiRateOfFireDistance = 800; // 700;
minRange = 200; // 100;
maxRange = 800; // 700;
};
};
// sub machine guns
// SDAR
class SDAR_base_F: Rifle_Base_F {
aiDispersionCoefY = 28.0;
aiDispersionCoefX = 20.0;
class Single: Mode_SemiAuto {
minRange = 10; //2;
};
class Burst: Mode_Burst {
minRange = 5; //1;
};
};
// PD2000
class pdw2000_base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Mode_SemiAuto {
minRange = 100; //2;
};
class Burst: Mode_Burst {
minRange = 50; //1;
};
};
// Vector
class SMG_01_Base: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Mode_SemiAuto {
minRange = 50; //2;
};
class Burst: Mode_Burst {
minRange = 25; //2;
};
};
// Scorpion EVO
class SMG_02_base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Mode_SemiAuto {
minRange = 50; //2;
};
class Burst: Mode_Burst {
minRange = 25; //2;
};
};
// machine guns
// Stoner
class LMG_Mk200_F: Rifle_Long_Base_F {
aiDispersionCoefY = 24.0;
aiDispersionCoefX = 21.0;
modes[] += {"AGM_Burst_far"};
class medium;
class AGM_Burst_far: medium {
aiRateOfFire = 6.0;
aiRateOfFireDistance = 900;
minRange = 500;
minRangeProbab = 0.1;
midRange = 700;
midRangeProbab = 0.2;
maxRange = 900;
maxRangeProbab = 0.2;
burst = "3 + round random 5";
};
class far_optic1: medium {
maxRange = 750; // 650;
};
class far_optic2: far_optic1 {
maxRange = 1100; // 900;
aiRateOfFireDistance = 1100;// 900;
};
};
// Negev
class LMG_Zafir_F: Rifle_Long_Base_F {
aiDispersionCoefY = 23.0;
aiDispersionCoefX = 19.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
};
class close;
class medium;
class AGM_Burst_far: medium {
aiRateOfFire = 6.0;
aiRateOfFireDistance = 900;
minRange = 500;
minRangeProbab = 0.1;
midRange = 700;
midRangeProbab = 0.2;
maxRange = 900;
maxRangeProbab = 0.2;
burst = "3 + round random 5";
};
class far_optic1: close {
maxRange = 800; //700;
};
class far_optic2: far_optic1 {
maxRange = 1200; //1000;
};
};
};

View File

@ -1,617 +1,16 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {};
requiredVersion = 0.60;
requiredAddons[] = {"ace_core"};
version = "0.95";
versionStr = "0.95";
versionAr[] = {0,95,0};
author[] = {"KoffeinFlummi", "commy2"};
authorUrl = "https://github.com/KoffeinFlummi/";
};
class ADDON {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author[] = {"KoffeinFlummi","commy2"};
authorUrl = "https://github.com/KoffeinFlummi/";
VERSION_CONFIG;
};
};
/*
* Documentation:
* https://community.bistudio.com/wiki/AI_Sub-skills
*
* The idea here is to reduce the AI's godlike aiming
* capabilties while retaining it's high intelligence.
* The AI should be smart enough to move through a town,
* but also be 'human' in their reaction time and aim.
*
* Note: All these values can still be adjusted via
* scripts, these arrays just change what 0 & 1
* are for setSkill.
*/
class CfgAISkill {
aimingAccuracy[] = {0,0, 1,0.8}; // {0,0,1,1}; v1.26 defaults
aimingShake[] = {0,0, 1,0.6}; // {0,0,1,1};
aimingSpeed[] = {0,0, 1,0.7}; // {0,0.5,1,1};
commanding[] = {0,0, 1,0.8}; // {0,0,1,1};
courage[] = {0,0, 1,0.7}; // {0,0,1,1};
endurance[] = {0,0, 1,0.7}; // {0,0,1,1};
general[] = {0,0, 1,0.9}; // {0,0,1,1};
reloadSpeed[] = {0,0, 1,0.8}; // {0,0,1,1};
spotDistance[] = {0,0, 1,0.9}; // {0,0.2,1,0.4};
spotTime[] = {0,0, 1,0.7}; // {0,0,1,0.7};
};
// weapon config changes, by commy2
/* documentation:
aiDispersionCoefX = 1.0 Dispersion multiplier for AI units (axis X - left to right).
aiDispersionCoefY = 1.0 Dispersion multiplier for AI units (axis Y - top-down).
aiRateOfFire = 5.0 Delay between shots at given aiRateOfFireDistance.
aiRateOfFireDistance = 500 At shorter distance delay (aiRateOfFire) goes linearly to zero.
*/
class Mode_SemiAuto;
class Mode_Burst;
class Mode_FullAuto;
class CfgWeapons {
// rifles
class RifleCore;
class Rifle: RifleCore {
aiDispersionCoefX = 6;
aiDispersionCoefY = 6;
};
class Rifle_Base_F: Rifle {};
class Rifle_Long_Base_F: Rifle_Base_F {};
// MX
class arifle_MX_Base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 300; // 200;
midRangeProbab = 0.5; // 0.7;
};
class FullAuto;
class fullauto_medium: FullAuto {
minRange = 20; // 2;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 500;
minRange = 400;
minRangeProbab = 0.1;
midRange = 500;
midRangeProbab = 0.2;
maxRange = 600;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: Single {
aiRateOfFireDistance = 700; // 600;
minRange = 120; // 2;
maxRange = 700; // 600;
};
class single_far_optics2: single_medium_optics1 {
aiRateOfFireDistance = 900; // 700;
minRange = 200; // 100;
maxRange = 900; // 700;
};
};
// MX carbine
class arifle_MXC_F: arifle_MX_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.5; // 0.3;
midRange = 250; // 150;
midRangeProbab = 0.3; // 0.5;
};
class FullAuto;
class fullauto_medium: fullauto_medium {
minRange = 20; // 2;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: single_medium_optics1 {
aiRateOfFireDistance = 600; // 500;
minRange = 120; // 2;
maxRange = 600; // 500;
};
class single_far_optics2: single_medium_optics1 {
aiRateOfFireDistance = 800; // 700;
minRange = 200; // 100;
maxRange = 800; // 700;
};
};
//class arifle_MX_F: arifle_MX_Base_F {};
//class arifle_MX_GL_F: arifle_MX_Base_F {};
// MX machine gun
class arifle_MXM_F: arifle_MX_Base_F {
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 350; // 250;
midRangeProbab = 0.5; // 0.7;
};
class fullauto_medium: fullauto_medium {
minRange = 20; // 2;
burst = "3 + round random 5"; //3;
};
class single_medium_optics1: single_medium_optics1 {
aiRateOfFireDistance = 700; // 600;
minRange = 120; // 2;
maxRange = 750; // 650;
};
class single_far_optics2: single_far_optics2 {
aiRateOfFireDistance = 900; // 800;
minRange = 200; // 100;
maxRange = 900; // 800;
};
};
// MX sniper rifle
class arifle_MX_SW_F: arifle_MX_Base_F {
aiDispersionCoefY = 24.0;
aiDispersionCoefX = 21.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
};
class close;
class medium;
class AGM_Burst_far: medium {
aiRateOfFire = 6.0;
aiRateOfFireDistance = 900;
minRange = 500;
minRangeProbab = 0.1;
midRange = 700;
midRangeProbab = 0.2;
maxRange = 900;
maxRangeProbab = 0.2;
burst = "3 + round random 5";
};
class far_optic1: close {
aiRateOfFireDistance = 750; // 650;
maxRange = 750; // 650;
};
class far_optic2: far_optic1 {
maxRange = 1100; // 900;
aiRateOfFireDistance = 1100;// 900;
};
};
// Katiba
class arifle_Katiba_Base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 300; // 200;
midRangeProbab = 0.5; // 0.7;
};
class FullAuto;
class fullauto_medium: FullAuto {
minRange = 20; // 2;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 500;
minRange = 400;
minRangeProbab = 0.1;
midRange = 500;
midRangeProbab = 0.2;
maxRange = 600;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: Single {
aiRateOfFireDistance = 700; // 600;
minRange = 120; // 2;
maxRange = 700; // 600;
};
class single_far_optics2: single_medium_optics1 {
aiRateOfFireDistance = 900; // 800;
minRange = 200; // 100;
maxRange = 900; // 800;
};
};
// Katiba carbine
class arifle_Katiba_C_F: arifle_Katiba_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.5; // 0.3;
midRange = 250; // 150;
midRangeProbab = 0.3; // 0.7;
};
//class FullAuto: FullAuto {};
class fullauto_medium: fullauto_medium {
minRange = 20; // 2;
maxRange = 150; //100;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: single_medium_optics1 {
minRange = 120; // 2;
maxRange = 600; // 500;
};
class single_medium_optics2: single_medium_optics1 {
aiRateOfFireDistance = 800; // 700;
minRange = 200; // 100;
maxRange = 800; // 700;
};
};
// F2002
class mk20_base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 250; // 150;
midRangeProbab = 0.5; // 0.7;
};
class FullAuto: Mode_FullAuto {
minRange = 0; //2;
};
class fullauto_medium: FullAuto {
minRange = 20; // 2;
maxRange = 150; // 100;
burst = "3 + round random 5"; // 3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 500;
minRange = 400;
minRangeProbab = 0.1;
midRange = 500;
midRangeProbab = 0.2;
maxRange = 600;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: Single {
aiRateOfFireDistance = 600; // 500;
minRange = 120; // 5;
maxRange = 600; // 500;
};
class single_far_optics2: single_medium_optics1 {
aiRateOfFireDistance = 800; // 700;
minRange = 200; // 100;
maxRange = 800; // 700;
};
};
// F2002 carbine
class arifle_Mk20C_F: mk20_base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.5;
midRange = 250; // 150;
midRangeProbab = 0.5; // 0.7;
maxRange = 350; // 250;
};
class FullAuto: FullAuto {
minRange = 0; //2;
};
class single_medium_optics1: single_medium_optics1 {
aiRateOfFireDistance = 600; // 500;
minRange = 120; // 5;
maxRange = 550; // 450;
};
//class single_medium_optics2: single_medium_optics1 {};
class fullauto_medium: fullauto_medium {
minRange = 20; //2;
burst = "3 + round random 5"; //3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
};
// TAR-20
class Tavor_base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; //2;
minRangeProbab = 0.7; //0.5;
midRange = 250; //150;
midRangeProbab = 0.5; //0.7;
maxRange = 350; //250;
};
class FullAuto: Mode_FullAuto {
minRange = 0; //2;
};
class fullauto_medium: FullAuto {
minRange = 20; // 2;
maxRange = 150; // 100;
burst = "3 + round random 5"; // 3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: Single {
aiRateOfFireDistance = 600; // 500;
minRange = 120; // 5;
maxRange = 550; // 450;
};
class single_medium_optics2: single_medium_optics1 {
aiRateOfFireDistance = 700; // 600;
minRange = 200; // 100;
maxRange = 700; // 600;
};
};
// TAR-21
class arifle_TRG21_F: Tavor_base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Single {
minRange = 120; // 2;
minRangeProbab = 0.7; // 0.3;
midRange = 300; // 200;
midRangeProbab = 0.5; // 0.7;
maxRange = 400; // 300;
};
class FullAuto: FullAuto {
minRange = 0; //2;
};
class fullauto_medium: fullauto_medium {
minRange = 20; // 2;
maxRange = 150; // 100;
burst = "3 + round random 5"; // 3;
};
class AGM_Burst_far: fullauto_medium {
aiRateOfFire = 2.0;
aiRateOfFireDistance = 400;
minRange = 300;
minRangeProbab = 0.1;
midRange = 400;
midRangeProbab = 0.2;
maxRange = 500;
maxRangeProbab = 0.2;
burst = "2 + round random 3";
};
class single_medium_optics1: single_medium_optics1 {
aiRateOfFireDistance = 700; // 600;
minRange = 120; // 2;
maxRange = 600; // 500;
};
class single_medium_optics2: single_medium_optics1 {
aiRateOfFireDistance = 800; // 700;
minRange = 200; // 100;
maxRange = 800; // 700;
};
};
// sub machine guns
// SDAR
class SDAR_base_F: Rifle_Base_F {
aiDispersionCoefY = 28.0;
aiDispersionCoefX = 20.0;
class Single: Mode_SemiAuto {
minRange = 10; //2;
};
class Burst: Mode_Burst {
minRange = 5; //1;
};
};
// PD2000
class pdw2000_base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Mode_SemiAuto {
minRange = 100; //2;
};
class Burst: Mode_Burst {
minRange = 50; //1;
};
};
// Vector
class SMG_01_Base: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Mode_SemiAuto {
minRange = 50; //2;
};
class Burst: Mode_Burst {
minRange = 25; //2;
};
};
// Scorpion EVO
class SMG_02_base_F: Rifle_Base_F {
aiDispersionCoefY = 18.0;
aiDispersionCoefX = 12.0;
class Single: Mode_SemiAuto {
minRange = 50; //2;
};
class Burst: Mode_Burst {
minRange = 25; //2;
};
};
// machine guns
// Stoner
class LMG_Mk200_F: Rifle_Long_Base_F {
aiDispersionCoefY = 24.0;
aiDispersionCoefX = 21.0;
modes[] += {"AGM_Burst_far"};
class medium;
class AGM_Burst_far: medium {
aiRateOfFire = 6.0;
aiRateOfFireDistance = 900;
minRange = 500;
minRangeProbab = 0.1;
midRange = 700;
midRangeProbab = 0.2;
maxRange = 900;
maxRangeProbab = 0.2;
burst = "3 + round random 5";
};
class far_optic1: medium {
maxRange = 750; // 650;
};
class far_optic2: far_optic1 {
maxRange = 1100; // 900;
aiRateOfFireDistance = 1100;// 900;
};
};
// Negev
class LMG_Zafir_F: Rifle_Long_Base_F {
aiDispersionCoefY = 23.0;
aiDispersionCoefX = 19.0;
modes[] += {"AGM_Burst_far"};
class Single: Mode_SemiAuto {
minRange = 120; // 2;
};
class close;
class medium;
class AGM_Burst_far: medium {
aiRateOfFire = 6.0;
aiRateOfFireDistance = 900;
minRange = 500;
minRangeProbab = 0.1;
midRange = 700;
midRangeProbab = 0.2;
maxRange = 900;
maxRangeProbab = 0.2;
burst = "3 + round random 5";
};
class far_optic1: close {
maxRange = 800; //700;
};
class far_optic2: far_optic1 {
maxRange = 1200; //1000;
};
};
};
#include "CfgAISkill.hpp"
#include "CfgWeapons.hpp"

View File

@ -2,11 +2,11 @@
#include "\z\ace\Addons\main\script_mod.hpp"
#ifdef DEBUG_ENABLED_AI
#define DEBUG_MODE_FULL
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_ENABLED_AI
#define DEBUG_SETTINGS DEBUG_ENABLED_AI
#define DEBUG_SETTINGS DEBUG_ENABLED_AI
#endif
#include "\z\ace\Addons\main\script_macros.hpp"

View File

@ -0,0 +1 @@
z\ace\addons\common

View File

@ -0,0 +1,42 @@
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit) );
serverInit = QUOTE(call COMPILE_FILE(scripts\readParameters) );
disableModuload = true;
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit) );
disableModuload = true;
};
};
class Extended_InitPost_EventHandlers {
class All {
class GVAR(executePersistent) {
init = QUOTE([_this select 0] call FUNC(executePersistent) );
};
};
class CAManBase {
class GVAR(setName) {
init = QUOTE(if (local (_this select 0)) then { _this call FUNC(setName) }; );
};
class GVAR(forceWalk) {
init = QUOTE(if (local (_this select 0)) then { _this call FUNC(applyForceWalkStatus); }; );
};
};
};
class Extended_Respawn_EventHandlers {
class All {
class GVAR(restoreVariablesJIP) {
respawn = QUOTE(_this call FUNC(restoreVariablesJIP) );
};
class GVAR(setName) {
respawn = QUOTE(_this call FUNC(setName) );
};
};
};

View File

@ -0,0 +1,10 @@
class CfgMagazines {
class CA_Magazine;
class ACE_FakeMagazine: CA_Magazine {
descriptionShort = "";
displayName = "";
displayNameShort = "";
count = 0;
};
};

View File

@ -0,0 +1,7 @@
class CfgSounds {
class ACE_Sound_Click {
sound[] = {PATHTOF(sounds\ACE_click.wav), 1, 1, 200};
titles[] = {};
};
};

View File

@ -1,3 +1,4 @@
class CfgVehicles {
/*class Man;
class CAManBase: Man {
@ -14,8 +15,8 @@ class CfgVehicles {
showIn3D = 0;
onlyForPlayer = 1;
shortcut = "DefaultAction";
condition = "call ACE_Core_UserActionFireCondition";
statement = "call ACE_Core_UserActionFire";
condition = "call ACE_Common_UserActionFireCondition";
statement = "call ACE_Common_UserActionFire";
userActionID = 100;
};
};
@ -26,10 +27,10 @@ class CfgVehicles {
class Module_F;
class ACE_ModuleCheckPBOs: Module_F {
author = "$STR_ACE_Core_ACETeam";
author = "$STR_ACE_Common_ACETeam";
category = "ACE";
displayName = "Check PBOs";
function = "ACE_Core_fnc_moduleCheckPBOs";
function = "ACE_Common_fnc_moduleCheckPBOs";
scope = 2;
isGlobal = 1;
icon = PATHTOF(UI\IconCheckPBO_ca.paa);
@ -81,10 +82,10 @@ class CfgVehicles {
};
class ACE_ModuleLSDVehicles: Module_F {
author = "$STR_ACE_Core_ACETeam";
author = "$STR_ACE_Common_ACETeam";
category = "ACE";
displayName = "LSD Vehicles";
function = "ACE_Core_fnc_moduleLSDVehicles";
function = "ACE_Common_fnc_moduleLSDVehicles";
scope = 2;
isGlobal = 1;
class Arguments {
@ -93,8 +94,8 @@ class CfgVehicles {
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
author = "$STR_ACE_Core_ACETeam";
displayName = "$STR_ACE_Core_MiscItems";
author = "$STR_ACE_Common_ACETeam";
displayName = "$STR_ACE_Common_MiscItems";
transportMaxWeapons = 9001;
transportMaxMagazines = 9001;
transportMaxItems = 9001;
@ -105,4 +106,4 @@ class CfgVehicles {
class TransportItems {};
class TransportBackpacks {};
};
};
};

View File

@ -0,0 +1,20 @@
class CfgWeapons {
class ItemCore;
class ACE_ItemCore: ItemCore {
type = 4096;//4;
detectRange = -1;
simulation = "ItemMineDetector";
};
class Rifle_Base_F;
class ACE_FakePrimaryWeapon: Rifle_Base_F {
discreteDistance[] = {};
discreteDistanceInitIndex = 0;
displayName = "";
picture = "";
model = "";
magazines[] = {"ACE_FakeMagazine"};
scope = 2;
};
};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
class CfgMovesBasic;
class CfgMovesMaleSdr: CfgMovesBasic {
class AgonyBase;
class AgonyBaseRfl;
class StandBase;
class States {
class AinjPfalMstpSnonWnonDnon_carried_Down: AgonyBase {
canReload = 0;
};
class AinjPfalMstpSnonWnonDnon_carried_Up: AgonyBase {
canReload = 0;
};
class AinjPfalMstpSnonWrflDnon_carried_Down: AgonyBase {
canReload = 0;
};
class AinjPfalMstpSnonWrflDnon_carried_Up: AgonyBaseRfl {
canReload = 0;
};
class AmovPpneMstpSnonWnonDnon_injured;
class AinjPpneMstpSnonWnonDnon: AmovPpneMstpSnonWnonDnon_injured {
canReload = 0;
};
class AmovPpneMstpSrasWrflDnon_injured;
class AinjPpneMstpSnonWrflDnon: AmovPpneMstpSrasWrflDnon_injured {
canReload = 0;
};
class LadderCivilStatic: StandBase {
ACE_isLadder = 1;
};
};
};

View File

@ -0,0 +1,13 @@
class CfgActions {
class None;
class TakeWeapon: None {
show = 0;
};
class TakeItem: None {
show = 0;
};
class TakeMagazine: None {
show = 0;
};
};

View File

@ -0,0 +1,76 @@
// by commy2
class RscStructuredText;
class RscMapControl;
class RscTitles {
class ACE_RscHint {
idd = -1;
onLoad = "uiNamespace setVariable ['ACE_ctrlHint', (_this select 0) displayCtrl 1];";
movingEnable = false;
duration = 4;
fadeIn = 0.2;
fadeOut = 0.2;
name = "ACE_RscHint";
class controls {
class HintBox: RscStructuredText {
idc = 1;
text = "";
size = "1 / 40 / (getResolution select 5)";
sizeEx = 1;
colorText[] = {1, 1, 1, 1};
colorBackground[] = {0, 0, 0, 0.5};
x = safeZoneW + safeZoneX - 0 * safezoneW; //safeZoneW + safeZoneX - 0.2 * safezoneW;
y = safeZoneY + 0.2 * safezoneH;
w = 0.2 * safeZoneW;
h = 0.1 * SafeZoneH;
};
};
};
class ACE_RscErrorHint {
idd = -1;
onLoad = "uiNamespace setVariable ['ACE_ctrlErrorHint', (_this select 0) displayCtrl 1];";
movingEnable = false;
duration = 999999;
fadeIn = 0.2;
fadeOut = 0.2;
name = "ACE_RscErrorHint";
class controls {
class HintBox: RscStructuredText {
idc = 1;
text = "";
size = "1 / 40 / (getResolution select 5)";
sizeEx = 1;
colorText[] = {1, 1, 1, 1};
colorBackground[] = {0.8, 0, 0, 0.5};
x = 0.3 * safeZoneW + safeZoneX;
y = 0.4 * safezoneH + safeZoneY;
w = 0.4 * safeZoneW;
h = 0.2 * SafeZoneH;
};
};
};
class ACE_EventHandlerHelper: ACE_Rsc_Display_Base {
idd = -1;
class controls {
class CameraView: RscMapControl {
onDraw = "if (cameraView != uiNamespace getVariable 'ACE_EventHandler_CameraMode') then {uiNamespace setVariable ['ACE_EventHandler_CameraMode', cameraView]; {[uiNamespace getVariable 'ACE_EventHandler_CameraMode'] call _x; nil} count ((missionNamespace getVariable 'ACE_EventHandler_CameraMode') select 2);};";
idc = -1;
w = 0;
h = 0;
};
};
};
class ACE_EventHandlerHelper2: ACE_Rsc_Display_Base {
class controls {
class MapMarkerCreated: RscMapControl {
onDraw = "if (count allMapMarkers != uiNamespace getVariable 'ACE_EventHandler_MapMarker') then {if (count allMapMarkers > uiNamespace getVariable 'ACE_EventHandler_MapMarker') then {{[allMapMarkers select count allMapMarkers - 1] call _x; nil} count ((missionNamespace getVariable 'ACE_EventHandler_MapMarker') select 2);}; uiNamespace setVariable ['ACE_EventHandler_MapMarker', count allMapMarkers];};";
idc = -1;
w = 0;
h = 0;
};
};
};
};

103
addons/common/MainMenu.hpp Normal file
View File

@ -0,0 +1,103 @@
class ACE_Tile_Base {
class Attributes {
font = "PuristaMedium";
color = "#E5E5E5";
align = "left";
shadow = "true";
};
class AttributesImage {
font = "PuristaMedium";
color = "#E5E5E5";
align = "left";
};
class HitZone {
left = 0.0;
top = 0.0;
right = 0.0;
bottom = 0.0;
};
class ShortcutPos {
left = 0;
top = 0;
w = 0;
h = 0;
};
class TextPos {
left = 0.01;
top = 0;
right = 0;
bottom = 0;
};
action = "(findDisplay 49) closeDisplay 0; 0 spawn ACE_Common_openMenu;";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
color2[] = {0,0,0,1};
color[] = {1,1,1,1};
//colorBackground2[] = {0.75,0.75,0.75,1};
//colorBackground[] = {0,0,0,0.8};
colorBackground[] = {1, 0.647, 0, 0.5};
colorBackground2[] = {1, 0.647, 0, 0.5};
colorBackgroundFocused[] = {1, 1, 1, 0};
colorDisabled[] = {1,1,1,0.25};
colorFocused[] = {0,0,0,1};
colorText[] = {1,1,1,1};
default = 0;
font = "PuristaMedium";
idc = -1;
period = 1.2;
periodFocus = 1.2;
periodOver = 1.2;
shadow = 0;
shortcuts[] = {};
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
soundClick[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundClick",0.09,1};
soundEnter[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundEnter",0.09,1};
soundEscape[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundEscape",0.09,1};
soundPush[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundPush",0.09,1};
style = "0x02 + 0xC0";
text = "$STR_ACE_Common_Options";
textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)";
tooltip = "";
tooltipColorBox[] = {1,1,1,1};
tooltipColorShade[] = {0,0,0,0.65};
tooltipColorText[] = {1,1,1,1};
type = 16;
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)";
y = "(0.1 * safezoneH + safezoneY) + 1.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class RscStandardDisplay;
/*class RscDisplayMain: RscStandardDisplay {
class controls {
class ACE_Tile : ACE_Tile_Base {};
};
};*/
class RscDisplayMPInterrupt: RscStandardDisplay {
class controls {
class ACE_Tile : ACE_Tile_Base {};
};
};
class RscDisplayInterrupt: RscStandardDisplay {
class controls {
class ACE_Tile : ACE_Tile_Base {};
};
};
class RscDisplayInterruptEditor3D: RscStandardDisplay {
class controls {
class ACE_Tile : ACE_Tile_Base {};
};
};
class RscDisplayInterruptEditorPreview: RscStandardDisplay {
class controls {
class ACE_Tile : ACE_Tile_Base {};
};
};

View File

@ -0,0 +1,927 @@
#define HSPACE 0.3
#define VSPACE 0.3
#define BORDER 0.1
class ACE_Common_Interactive_Button_Base {
tooltip = "";
action = "";
idc = -1;
access = 0;
style = 0;
type = 1;
text = "";
font = "PuristaMedium";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
shadow = 2;
x = 0;
y = 0;
w = 0;
h = 0;
offsetX = 0.003;
offsetY = 0.003;
offsetPressedX = 0.002;
offsetPressedY = 0.002;
borderSize = 0;
colorText[] = {1,1,1,1};
colorDisabled[] = {0.5,0.5,0.5,1};
colorBackground[] = {0,0,0,0.8};
colorBackgroundDisabled[] = {0,0,0,0.8};
colorBackgroundActive[] = {1,1,1,0.8};
colorFocused[] = {0,0,0,0};
colorShadow[] = {0,0,0,0};
colorBorder[] = {1,1,1,0.8};
soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1};
soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1};
soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1};
soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1};
};
#define HSPACE2 0.05
#define VSPACE2 0.05
#define BORDER 0.1
class ACE_Common_Text_Button_Base {
idc = 2;
moving = 0;
text = "";
font = "PuristaMedium";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
lineSpacing = 0;
access = 0;
type = 0;
style = 2 + 0x800;
size = 1;
colorBackground[] = {0,0,0,0.8};
colorText[] = {1,1,1,1};
x = 0;
y = 0;
w = 0;
h = 0;
};
class ACE_Common_OptionsMenu_Dialog {
idd = -1;
movingEnable = true;
onLoad = "_dlgMenuDialog = _this select 0; for '_a' from 20 to 32 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 100 to 119 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 200 to 219 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 300 to 319 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 400 to 419 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 500 to 519 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; uiNamespace setVariable ['ACE_Common_MenuDialog', _dlgMenuDialog];";
objects[] = {};
class controlsBackground {
class Background {
idc = 1;
moving = 0;
font = "TahomaB";
text = "";
sizeEx = 0;
lineSpacing = 0;
access = 0;
type = 0;
style = 0 + 0x800;
size = 1;
//colorBackground[] = {0, 0.265, 0, 0.5};
colorBackground[] = {0, 0, 0, 0.5};
colorText[] = {0, 0, 0, 0};
x = HSPACE2 / 2 * safezoneW + safezoneX;
y = VSPACE2 / 2 * safezoneH + safezoneY;
w = (1 - 2 * HSPACE2 / 2) * safezoneW;
h = (1 - 2 * VSPACE2 / 2) * safezoneH;
};
class Header {
idc = 2;
moving = 0;
text = "$STR_ACE_Common_Options";
font = "PuristaMedium";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
lineSpacing = 0;
access = 0;
type = 0;
style = 1 + 0x800;
size = 1;
//colorBackground[] = {0,0,0,0};
colorBackground[] = {1, 0.647, 0, 0.5};
colorText[] = {1,1,1,1};
x = (HSPACE2 + 0 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 0.5 * 0.04) * safezoneH + safezoneY;
w = 4.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class ACE_Logo : ACE_Common_Interactive_Button_Base {
action = "closeDialog 0;";
type = 0;
style = 48;
onMouseEnter = "hint ('_' + str(_this))";
tooltip = "";
text = "";//"\ACE_common\rsc\bwlogo.paa";
idc = 2;
x = ((1 - 2 * HSPACE2 / 2) - (HSPACE2 + 0.5 * 0.1)) * safezoneW + safezoneX;
y = (VSPACE2 + 2 * 0.04) * safezoneH + safezoneY;
w = 1.0 / 16 * safezoneW;
h = 1.0 / 9 * safezoneH;
};
};
class controls {
class Text_Button0 : ACE_Common_Text_Button_Base {
idc = 100;
style = 0 + 0x800;
x = (HSPACE2 + 0 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 2 * 0.04) * safezoneH + safezoneY;
w = 4.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Text_Button1 : Text_Button0 {
idc = 101;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Text_Button2 : Text_Button0 {
idc = 102;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Text_Button3 : Text_Button0 {
idc = 103;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Text_Button4 : Text_Button0 {
idc = 104;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Text_Button5 : Text_Button0 {
idc = 105;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Text_Button6 : Text_Button0 {
idc = 106;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Text_Button7 : Text_Button0 {
idc = 107;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Text_Button8 : Text_Button0 {
idc = 108;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Text_Button9 : Text_Button0 {
idc = 109;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Text_Button10 : Text_Button0 {
idc = 110;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Text_Button11 : Text_Button0 {
idc = 111;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Text_Button12 : Text_Button0 {
idc = 112;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Text_Button13 : Text_Button0 {
idc = 113;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Text_Button14 : Text_Button0 {
idc = 114;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Text_Button15 : Text_Button0 {
idc = 115;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Text_Button16 : Text_Button0 {
idc = 116;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Text_Button17 : Text_Button0 {
idc = 117;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Text_Button18 : Text_Button0 {
idc = 118;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Text_Button19 : Text_Button0 {
idc = 119;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class Interactive_Button0 : ACE_Common_Interactive_Button_Base {
action = "ACE_Common_keySet = -1; [0] spawn ACE_Common_editKey";
sizeEx = "0.8 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 200;
style = 2 + 0x800;
x = (HSPACE2 + 3 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 2 * 0.04) * safezoneH + safezoneY;
w = 3.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_Button1 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [1] spawn ACE_Common_editKey";
idc = 201;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button2 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [2] spawn ACE_Common_editKey";
idc = 202;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button3 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [3] spawn ACE_Common_editKey";
idc = 203;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button4 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [4] spawn ACE_Common_editKey";
idc = 204;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button5 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [5] spawn ACE_Common_editKey";
idc = 205;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button6 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [6] spawn ACE_Common_editKey";
idc = 206;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button7 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [7] spawn ACE_Common_editKey";
idc = 207;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button8 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [8] spawn ACE_Common_editKey";
idc = 208;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button9 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [9] spawn ACE_Common_editKey";
idc = 209;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button10 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [10] spawn ACE_Common_editKey";
idc = 210;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button11 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [11] spawn ACE_Common_editKey";
idc = 211;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button12 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [12] spawn ACE_Common_editKey";
idc = 212;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button13 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [13] spawn ACE_Common_editKey";
idc = 213;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button14 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [14] spawn ACE_Common_editKey";
idc = 214;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button15 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [15] spawn ACE_Common_editKey";
idc = 215;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button16 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [16] spawn ACE_Common_editKey";
idc = 216;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button17 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [17] spawn ACE_Common_editKey";
idc = 217;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button18 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [18] spawn ACE_Common_editKey";
idc = 218;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button19 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [19] spawn ACE_Common_editKey";
idc = 219;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class Interactive_Checkbox0 : Text_Button0 {
action = "hint '0'";
idc = 300;
//type = 0;
style = 48;
text = PATHTOF(UI\box_unchecked_ca.paa);
colorBackground[] = {0, 0, 0, 0};
colorText[] = {1, 1, 1, 1};
x = (HSPACE2 + 3 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 2 * 0.04) * safezoneH + safezoneY;
w = 0.3 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_Checkbox1 : Interactive_Checkbox0 {
action = "";
idc = 301;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox2 : Interactive_Checkbox0 {
action = "";
idc = 302;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox3 : Interactive_Checkbox0 {
action = "";
idc = 303;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox4 : Interactive_Checkbox0 {
action = "";
idc = 304;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox5 : Interactive_Checkbox0 {
action = "";
idc = 305;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox6 : Interactive_Checkbox0 {
action = "";
idc = 306;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox7 : Interactive_Checkbox0 {
action = "";
idc = 307;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox8 : Interactive_Checkbox0 {
action = "";
idc = 308;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox9 : Interactive_Checkbox0 {
action = "";
idc = 309;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox10 : Interactive_Checkbox0 {
action = "";
idc = 310;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox11 : Interactive_Checkbox0 {
action = "";
idc = 311;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox12 : Interactive_Checkbox0 {
action = "";
idc = 312;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox13 : Interactive_Checkbox0 {
action = "";
idc = 313;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox14 : Interactive_Checkbox0 {
action = "";
idc = 314;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox15 : Interactive_Checkbox0 {
action = "";
idc = 315;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox16 : Interactive_Checkbox0 {
action = "";
idc = 316;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox17 : Interactive_Checkbox0 {
action = "";
idc = 317;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox18 : Interactive_Checkbox0 {
action = "";
idc = 318;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox19 : Interactive_Checkbox0 {
action = "";
idc = 319;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class Text_Checkbox0 : Text_Button0 {
idc = 400;
x = (HSPACE2 + 0 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 2 * 0.04) * safezoneH + safezoneY;
w = 4.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Text_Checkbox1 : Text_Checkbox0 {
idc = 401;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox2 : Text_Checkbox0 {
idc = 402;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox3 : Text_Checkbox0 {
idc = 403;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox4 : Text_Checkbox0 {
idc = 404;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox5 : Text_Checkbox0 {
idc = 405;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox6 : Text_Checkbox0 {
idc = 406;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox7 : Text_Checkbox0 {
idc = 407;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox8 : Text_Checkbox0 {
idc = 408;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox9 : Text_Checkbox0 {
idc = 409;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox10 : Text_Checkbox0 {
idc = 410;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox11 : Text_Checkbox0 {
idc = 411;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox12 : Text_Checkbox0 {
idc = 412;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox13 : Text_Checkbox0 {
idc = 413;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox14 : Text_Checkbox0 {
idc = 414;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox15 : Text_Checkbox0 {
idc = 415;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox16 : Text_Checkbox0 {
idc = 416;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox17 : Text_Checkbox0 {
idc = 417;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox18 : Text_Checkbox0 {
idc = 418;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox19 : Text_Checkbox0 {
idc = 419;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class Interactive_CheckboxButton0 : ACE_Common_Interactive_Button_Base {
action = "[0] call ACE_Common_toggleState";
idc = 500;
colorBackground[] = {0, 0, 0, 0};
colorBackgroundActive[] = {0, 0, 0, 0};
colorText[] = {1, 1, 1, 1};
x = (HSPACE2 + 3 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 2 * 0.04) * safezoneH + safezoneY;
w = 0.3 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_CheckboxButton1 : Interactive_CheckboxButton0 {
action = "[1] call ACE_Common_toggleState";
idc = 501;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton2 : Interactive_CheckboxButton0 {
action = "[2] call ACE_Common_toggleState";
idc = 502;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton3 : Interactive_CheckboxButton0 {
action = "[3] call ACE_Common_toggleState";
idc = 503;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton4 : Interactive_CheckboxButton0 {
action = "[4] call ACE_Common_toggleState";
idc = 504;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton5 : Interactive_CheckboxButton0 {
action = "[5] call ACE_Common_toggleState";
idc = 505;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton6 : Interactive_CheckboxButton0 {
action = "[6] call ACE_Common_toggleState";
idc = 506;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton7 : Interactive_CheckboxButton0 {
action = "[7] call ACE_Common_toggleState";
idc = 507;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton8 : Interactive_CheckboxButton0 {
action = "[8] call ACE_Common_toggleState";
idc = 508;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton9 : Interactive_CheckboxButton0 {
action = "[9] call ACE_Common_toggleState";
idc = 509;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton10 : Interactive_CheckboxButton0 {
action = "[10] call ACE_Common_toggleState";
idc = 510;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton11 : Interactive_CheckboxButton0 {
action = "[11] call ACE_Common_toggleState";
idc = 511;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton12 : Interactive_CheckboxButton0 {
action = "[12] call ACE_Common_toggleState";
idc = 512;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton13 : Interactive_CheckboxButton0 {
action = "[13] call ACE_Common_toggleState";
idc = 513;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton14 : Interactive_CheckboxButton0 {
action = "[14] call ACE_Common_toggleState";
idc = 514;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton15 : Interactive_CheckboxButton0 {
action = "[15] call ACE_Common_toggleState";
idc = 515;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton16 : Interactive_CheckboxButton0 {
action = "[16] call ACE_Common_toggleState";
idc = 516;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton17 : Interactive_CheckboxButton0 {
action = "[17] call ACE_Common_toggleState";
idc = 517;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton18 : Interactive_CheckboxButton0 {
action = "[18] call ACE_Common_toggleState";
idc = 518;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton19 : Interactive_CheckboxButton0 {
action = "[19] call ACE_Common_toggleState";
idc = 519;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class TextBox_KeyChange : Text_Button0 {
text = "";
idc = 20;
style = 2 + 0x800;
x = (6 * 0.1) * safezoneW + safezoneX;
y = (8 * 0.04) * safezoneH + safezoneY;
w = (6.0 / 16 - HSPACE2 / 2) * safezoneW;
h = (3.0 / 9 - VSPACE2 / 2) * safezoneH;
};
/*class TextBox_Key_Shift : TextBox_KeyChange {
text = "$STR_ACE_Common_Shift";
idc = 21;
colorText[] = {0.25,0.25,0.25,1};
colorBackground[] = {0,0,0,0};
x = (3 / 4 * HSPACE2 + 5.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
w = 2.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class TextBox_Key_Control : TextBox_Key_Shift {
text = "$STR_ACE_Common_Ctrl";
idc = 22;
x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Alt : TextBox_Key_Shift {
text = "$STR_ACE_Common_Alt";
idc = 23;
x = (3 / 4 * HSPACE2 + 7.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};*/
class TextBox_Key_Shift : Interactive_Button0 {
action = "ACE_Common_keyNewTemp = [42, [false, false, false], 42];";
text = "$STR_ACE_Common_Shift";
sizeEx = "0.7 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 21;
colorText[] = {1,1,1,1};
colorBackground[] = {0,0,0,0};
x = (3 / 4 * HSPACE2 + 6 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
w = 1.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class TextBox_Key_Control : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [29, [false, false, false], 29];";
text = "$STR_ACE_Common_Ctrl";
idc = 22;
x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Alt : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [56, [false, false, false], 56];";
text = "$STR_ACE_Common_Alt";
idc = 23;
x = (3 / 4 * HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Shift_Right : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [54, [false, false, false], 54];";
text = "$STR_ACE_Common_Shift_Right";
idc = 27;
x = (3 / 4 * HSPACE2 + 6 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Control_Right : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [157, [false, false, false], 157];";
text = "$STR_ACE_Common_Ctrl_Right";
idc = 28;
x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Alt_Right : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [184, [false, false, false], 184];";
text = "$STR_ACE_Common_Alt_Right";
idc = 29;
x = (3 / 4 * HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Action : TextBox_KeyChange {
text = "";
idc = 30;
colorText[] = {1,1,1,1};
colorBackground[] = {0,0,0,0};
sizeEx = "0.8 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
w = 2.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class TextBox_Key_Default : TextBox_Key_Shift {
action = "call ACE_Common_keysetDefault";
text = "$STR_ACE_Common_KeyDefault";
idc = 31;
x = (3 / 4 * HSPACE2 + 8.25 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_None : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [0, [false, false, false], 0];";
text = "$STR_ACE_Common_KeyNone";
idc = 32;
x = (3 / 4 * HSPACE2 + 8.25 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key : TextBox_KeyChange {
text = "";
idc = 24;
colorText[] = {1,1,1,1};
colorBackground[] = {0,0,0,0};
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
x = (3 / 4 * HSPACE2 + 6.75 * 0.1 - 2.0 / 16) * safezoneW + safezoneX;
y = (VSPACE2 + 8.5 * 0.04) * safezoneH + safezoneY;
w = 6.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonV : Interactive_Button0 {
action = "ACE_Common_keySet = 1";
text = "$STR_ACE_Common_Save";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 25;
colorBackground[] = {0,0,0,0};
x = (HSPACE2 + 6 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
w = 2.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonW : Interactive_ButtonV {
action = "ACE_Common_keySet = -1";
text = "$STR_ACE_Common_Cancel";
idc = 26;
x = (HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
w = 2.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonX : Interactive_Button0 {
action = "ACE_Common_keySave = 1; closeDialog 0";
text = "$STR_ACE_Common_Save";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 10;
x = ((1 - 2 * HSPACE2 / 2) - (HSPACE2 + 2.5 * 0.1)) * safezoneW + safezoneX;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
w = 2.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonY : Interactive_Button0 {
action = "ACE_Common_keySave = -1; closeDialog 0";
text = "$STR_ACE_Common_Cancel";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 11;
x = ((1 - 2 * HSPACE2 / 2) - (HSPACE2 + 1 * 0.1)) * safezoneW + safezoneX;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
w = 2.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonA : ACE_Common_Interactive_Button_Base {
action = "false call ACE_Common_nextKeys";
text = "$STR_ACE_Common_Prev";
idc = 12;
style = 2 + 0x800;
x = (HSPACE2 + 3 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 0.5 * 0.04) * safezoneH + safezoneY;
w = 1.0 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonB : Interactive_ButtonA {
action = "true call ACE_Common_nextKeys";
text = "$STR_ACE_Common_Next";
idc = 13;
x = (HSPACE2 + 3 * 0.1 + 2.0 / 16) * safezoneW + safezoneX;
};
class Interactive_ButtonC : ACE_Common_Text_Button_Base {
text = "";
idc = 14;
style = 2 + 0x800;
x = (HSPACE2 + 3 * 0.1 + 1.25 / 16) * safezoneW + safezoneX;
y = (VSPACE2 + 0.5 * 0.04) * safezoneH + safezoneY;
w = 0.5 / 16 * safezoneW;
h = 0.3 / 9 * safezoneH;
};
};
};

228
addons/common/NoVoice.hpp Normal file
View File

@ -0,0 +1,228 @@
class RadioProtocolBase {
class Words;
};
class ACE_RadioProtocolNoRadio: RadioProtocolBase {
class CuratorWaypointPlaced;
class CuratorWaypointPlacedAttack;
class CuratorObjectPlaced;
class curatorObjectDestroyed;
class curatorModuleCAS;
class SentFireNoTarget_1;
class SentSupportRequestRGCASBombing;
class SentNoTargetDefault;
class SentEngageNoTargetDefault;
class SentFireNoTargetDefault;
class SentAttackNoTargetDefault;
class SentEnemyDetectedMedium;
class SentEnemyDetectedLong;
class SentEnemyDetectedDangerClose;
class SentEnemyDetectedClose;
class SentEnemyDetectedVeryLong;
class SentIsLeaderDefault;
class SentCommandCompletedDefault;
class SentFireReadyDefault;
class SentCommandFailedDefault;
class SentDestinationUnreacheableDefault;
class SentObjectDestroyedDefault;
class SentObjectDestroyedUnknownDefault;
class SentClearDefault;
class SentRepeatCommandDefault;
class SentWhereAreYouDefault;
class SentReportStatusDefault;
class SentNotifyAttackDefault;
class SentNotifyAttackSubgroupDefault;
class SentConfirmMoveDefault;
class SentConfirmAttackDefault;
class SentConfirmOtherDefault;
class SentUnitKilledDefault;
class SentHealthCriticalDefault;
class SentHealthNormalDefault;
class SentReturnToFormationDefault;
class SentLooseFormationDefault;
class SentCmdFollowMeDefault;
class SelectCmdMoveSentenceClose;
class SelectCmdMoveSentenceVeryClose;
class SelectCmdMoveSentenceFar;
class SentEnemyDetectedMediumStealth;
class SentSupportConfirmDefault;
class SelectCmdMoveSentenceClose_1;
class SelectCmdMoveSentenceVeryClose_1;
class SelectCmdMoveSentenceFar_1;
class SentSupportRequestRGCASHelicopter;
class SentSupportRequestRGSupplyDrop;
class SentSupportRequestRGUAV;
class SentSupportRequestRGArty;
class SentSupportRequestRGTransport;
class SentRequestAcknowledgedSGCASBombing;
class SentRequestAcknowledgedSGCASHelicopter;
class SentRequestAcknowledgedSGSupplyDrop;
class SentRequestAcknowledgedSGUAV;
class SentRequestAcknowledgedSGArty;
class SentRequestAcknowledgedTransport;
class SentUnitDestroyedHQCASBombing;
class SentUnitDestroyedHQCASHelicopter;
class SentUnitDestroyedHQSupplyDrop;
class SentUnitDestroyedHQUAV;
class SentUnitDestroyedHQArty;
class SentUnitDestroyedHQTransport;
class SentRequestAccomplishedSGCASBombing;
class SentRequestAccomplishedSGCASHelicopter;
class SentRequestAccomplishedSGSupplyDrop;
class SentRequestAccomplishedSGUAV;
class SentRequestAccomplishedSGArty;
class SentRequestAccomplishedSGTransport;
class SentSupportAddedDuringMission;
class SentArtySGSupportRoundsComplete;
class SentTransportSGWelcomeAboard;
class SentTransportSGLZCoordinatesSelected;
class SelectCmdMoveSentenceLocation;
class SelectCmdMoveSentenceMedium;
class SentEnemyDetectedLongStealth;
class SentEnemyDetectedDangerCloseStealth;
class SentEnemyDetectedCloseStealth;
class SentEnemyDetectedVeryLongStealth;
class SentEngageDefault;
class SelectCmdMoveSentenceLocation_1;
class SelectCmdMoveSentenceMedium_1;
class SentBehaviourSafeDefault;
class SentBehaviourAwareDefault;
class SentBehaviourCombatDefault;
class SentOpenFireDefault;
class SentCeaseFireInsideGroupDefault;
class SentCeaseFireDefault;
class SentEngageStealth;
class SentFireNoTargetStealth;
class SentAttackNoTargetStealth;
class SentNoTargetStealth;
class SentEngageNoTargetStealth;
class SelectCmdMoveSentenceCloseStealth;
class SelectCmdMoveSentenceVeryCloseStealth;
class SelectCmdMoveSentenceFarStealth;
class SelectCmdMoveSentenceLocationStealth;
class SelectCmdMoveSentenceMediumStealth;
class SentReturnToFormationStealth;
class SentLooseFormationStealth;
class SentCmdFollowMeStealth;
class SentOpenFireStealth;
class SentCeaseFireInsideGroupStealth;
class SentBehaviourSafeStealth;
class SentBehaviourAwareStealth;
class SentBehaviourCombatStealth;
class SentSupportConfirmStealth;
class SentCommandFailedStealth;
class SentObjectDestroyedStealth;
class SentObjectDestroyedUnknownStealth;
class SentCommandCompletedStealth;
class SentFireReadyStealth;
class SentIsLeaderStealth;
class SentDestinationUnreacheableStealth;
class SentClearStealth;
class SentRepeatCommandStealth;
class SentWhereAreYouStealth;
class SentReportStatusStealth;
class SentNotifyAttackStealth;
class SentNotifyAttackSubgroupStealth;
class SentConfirmMoveStealth;
class SentConfirmAttackStealth;
class SentConfirmOtherStealth;
class SentUnitKilledStealth;
class SentHealthCriticalStealth;
class SentHealthNormalStealth;
class SentGenReinforcementsConfirmed;
class SentGenReinforcementsRejected;
class SentGenReinforcementsArrived;
class SentGenLeavingAO;
class SentGenTime;
class SentGenLosing;
class SentGenLost;
class SentGenComplete;
class SentGenCmdSeize;
class SentGenCmdDefend;
class SentGenCmdRTB;
class SentGenCmdTargetNeutralize;
class SentGenCmdTargetProtect;
class SentGenCmdTargetEscort;
class SentGenCmdTargetFind;
class SentGenIncoming;
class SentGenBaseUnlockRespawn;
class SentGenBaseUnlockVehicle;
class SentGenBaseSideFriendlyWEST;
class SentFXBreathingSlow;
class SentFXBreathingFast;
class SentFXHit;
class SentFXDeath;
class SentFXHurt;
class SentFXEffort;
class SentFXDrowning;
class SentCeaseFireDefault_1;
class SentGenBaseSideFriendlyEAST;
class SentGenBaseSideFriendlyGUER;
class SentGenBaseSideEnemyWEST;
class SentGenBaseSideEnemyEAST;
class SentGenBaseSideEnemyGUER;
class SentTargetDefault;
class SentTargetStealth;
class Dummy;
class Words: Words {
grid_zero[] = {};
grid_one[] = {};
grid_two[] = {};
grid_three[] = {};
grid_four[] = {};
grid_five[] = {};
grid_six[] = {};
grid_seven[] = {};
grid_eight[] = {};
grid_nine[] = {};
grid_zero_2[] = {};
grid_one_2[] = {};
grid_two_2[] = {};
grid_three_2[] = {};
grid_four_2[] = {};
grid_five_2[] = {};
grid_six_2[] = {};
grid_seven_2[] = {};
grid_eight_2[] = {};
grid_nine_2[] = {};
grid_zero_3[] = {};
grid_one_3[] = {};
grid_two_3[] = {};
grid_three_3[] = {};
grid_four_3[] = {};
grid_five_3[] = {};
grid_six_3[] = {};
grid_seven_3[] = {};
grid_eight_3[] = {};
grid_nine_3[] = {};
Ready[] = {};
Waiting[] = {};
StandingBy[] = {};
/*IAmReady[] = {};
ReadyForOrders[] = {};
AwaitingOrders[] = {};*/
};
};
class CfgVoice {
class ACE_NoVoice {
author = "$STR_ACE_Common_ACETeam";
protocol = "ACE_RadioProtocolNoRadio";
variants[] = {1};
directories[] = {"",""};
identityTypes[] = {"Default"};
scope = 2;
voiceType = "";
icon = "\a3\Ui_f\data\Map\Markers\Flags\nato_ca.paa";
displayName = "$STR_ACE_Common_NoVoice";
};
};
class CfgVoiceTypes {
class ACE_NoVoice {
name = "$STR_ACE_Common_NoVoice";
voices[] = {"ACE_NoVoice","ACE_NoVoice","ACE_NoVoice"};
preview = "ACE_NoVoice";
alternative = "";
};
};

View File

@ -0,0 +1,94 @@
class ACE_Common_ProgressBar_Dialog {
idd = -1;
movingEnable = false;
onLoad = "uiNamespace setVariable ['ACE_Common_ctrlProgressBar', (_this select 0) displayCtrl 1]; uiNamespace setVariable ['ACE_Common_ctrlProgressBarTitle', (_this select 0) displayCtrl 2];";
objects[] = {};
class controlsBackground {
class Background {
idc = -1;
moving = 0;
font = "TahomaB";
text = "";
sizeEx = 0;
lineSpacing = 0;
access = 0;
type = 0;
style = 0;
size = 1;
colorBackground[] = {0, 0, 0, 0.1};
colorText[] = {0, 0, 0, 0};
x = "safezoneX";
y = "safezoneY";
w = "safezoneW";
h = "safezoneH";
};
class Progress_Bar {
idc = 1;
moving = 0;
text = "";
font = "PuristaMedium";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
lineSpacing = 0;
access = 0;
type = 0;
style = 2;
size = 1;
colorBackground[] = {1, 0.647, 0, 0.5};
colorText[] = {1,1,1,1};
x = "safezoneX + 0.1 * safezoneW";
y = "safezoneY + 0.2 * safezoneH";
w = "0.0 * safezoneW";
h = "0.01 * safezoneH";
};
class Title_Bar : Progress_Bar {
idc = 2;
//type = 13;
//size = 1;
colorBackground[] = {0, 0, 0, 0};
x = "safezoneX + 0.1 * safezoneW";
y = "safezoneY + 0.1 * safezoneH";
w = "0.8 * safezoneW";
h = "0.05 * safezoneH";
/*class Attributes {
font = "TahomaB";
color = "#000000";
align = "center";
valign = "middle";
shadow = false;
shadowColor = "#ff0000";
size = "1";
};*/
};
};
};
class ACE_Common_DisableMouse_Dialog {
idd = -1;
movingEnable = false;
onLoad = "uiNamespace setVariable ['ACE_Common_dlgDisableMouse', _this select 0];";
objects[] = {};
class controlsBackground {
class Background {
idc = -1;
moving = 0;
font = "TahomaB";
text = "";
sizeEx = 0;
lineSpacing = 0;
access = 0;
type = 0;
style = 0;
size = 1;
colorBackground[] = {0, 0, 0, 0};//0.5
colorText[] = {0, 0, 0, 0};
x = "safezoneX";
y = "safezoneY";
w = "safezoneW";
h = "safezoneH";
};
};
};

View File

@ -0,0 +1,27 @@
class RscInGameUI {
class RscUnitInfo;
class RscUnitInfoSoldier: RscUnitInfo {
onLoad = "uiNamespace setVariable ['ACE_dlgSoldier', _this select 0]; {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoSoldier', [-1, [], []]]) select 2); {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoAny', [-1, [], []]]) select 2); [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
};
class RscUnitInfoTank: RscUnitInfo {
onLoad = "uiNamespace setVariable ['ACE_dlgVehicle', _this select 0]; {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoVehicle', [-1, [], []]]) select 2); {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoAny', [-1, [], []]]) select 2); [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
};
class RscUnitInfoAir: RscUnitInfo {
onLoad = "uiNamespace setVariable ['ACE_dlgAircraft', _this select 0]; {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoAircraft', [-1, [], []]]) select 2); {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoAny', [-1, [], []]]) select 2); [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
};
class RscUnitInfoShip: RscUnitInfo {
onLoad = "uiNamespace setVariable ['ACE_dlgShip', _this select 0]; {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoShip', [-1, [], []]]) select 2); {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoAny', [-1, [], []]]) select 2); [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
};
class RscUnitInfoParachute: RscUnitInfo {
onLoad = "uiNamespace setVariable ['ACE_dlgParachute', _this select 0]; {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoParachute', [-1, [], []]]) select 2); {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInfoAny', [-1, [], []]]) select 2); [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
};
};
class RscDisplayInventory {
onLoad = "[""onLoad"",_this,""RscDisplayInventory"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; {_this call _x} forEach ((missionNamespace getVariable ['ACE_onLoadInventory', [-1, [], []]]) select 2);";
};
class RscDisplayChannel {
onLoad = QUOTE(_this call GVAR(onLoadRscDisplayChannel));
};

View File

@ -1,20 +1,20 @@
// ACE - Core
// ACE - Common
#include "script_component.hpp"
QGVAR(remoteFnc) addPublicVariableEventHandler {
(_this select 1) call FUNC(execRemoteFnc);
(_this select 1) call FUNC(execRemoteFnc);
};
[missionNamespace] call FUNC(executePersistent);
// check previous version number from profile
_currentVersion = getText (configFile >> "CfgPatches" >> "ACE_Core" >> "version");
_currentVersion = getText (configFile >> "CfgPatches" >> "ACE_Common" >> "version");
_previousVersion = profileNamespace getVariable ["ACE_VersionNumberString", ""];
if (_currentVersion != _previousVersion) then {
// do something
// do something
profileNamespace setVariable ["ACE_VersionNumberString", _currentVersion];
profileNamespace setVariable ["ACE_VersionNumberString", _currentVersion];
};
0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber);
@ -37,8 +37,8 @@ GVAR(toggleState) = COMPILE_FILE(scripts\toggleState);
GVAR(keyStates) = [];
GVAR(keyTimes) = [];
for "_index" from 0 to 300 do {
GVAR(keyStates) set [_index, 0];
GVAR(keyTimes) set [_index, -1];
GVAR(keyStates) set [_index, 0];
GVAR(keyTimes) set [_index, -1];
};
call COMPILE_FILE(scripts\KeyInput\initCanInteractFunction);
@ -46,24 +46,24 @@ call COMPILE_FILE(scripts\KeyInput\initKeys);
call COMPILE_FILE(scripts\KeyInput\initScrollWheel);
0 spawn {
while {true} do {
waitUntil {!isNull (findDisplay 46)}; sleep 0.1;
findDisplay 46 displayAddEventHandler ["KeyDown", QUOTE( _this call GVAR(onKeyDown) )];
findDisplay 46 displayAddEventHandler ["KeyUp", QUOTE( _this call GVAR(onKeyUp) )];
findDisplay 46 displayAddEventHandler ["MouseZChanged", QUOTE( _this call GVAR(onScrollWheel) )];
[false] call FUNC(disableUserInput);
waitUntil {isNull (findDisplay 46)};
};
while {true} do {
waitUntil {!isNull (findDisplay 46)}; sleep 0.1;
findDisplay 46 displayAddEventHandler ["KeyDown", QUOTE( _this call GVAR(onKeyDown) )];
findDisplay 46 displayAddEventHandler ["KeyUp", QUOTE( _this call GVAR(onKeyUp) )];
findDisplay 46 displayAddEventHandler ["MouseZChanged", QUOTE( _this call GVAR(onScrollWheel) )];
[false] call FUNC(disableUserInput);
waitUntil {isNull (findDisplay 46)};
};
};
enableCamShake true;
// Set the name for the current player
[missionNamespace, "playerChanged", {
if (alive (_this select 0)) then {
[_this select 0] call FUNC(setName)
};
if (alive (_this select 1)) then {
[_this select 1] call FUNC(setName)
};
if (alive (_this select 0)) then {
[_this select 0] call FUNC(setName)
};
if (alive (_this select 1)) then {
[_this select 1] call FUNC(setName)
};
}] call FUNC(addCustomEventhandler);

View File

@ -1,7 +1,7 @@
// by commy2
#include "script_component.hpp"
// ACE Core Function
// ACE Common Function
PREP(addActionEventHandler);
PREP(addActionMenuEventHandler);
PREP(addCameraEventHandler);
@ -140,14 +140,14 @@ PREP(fixCrateContent);
// Loop to update the ACE_player variable
ACE_player = player;
if (hasInterface) then {
["ACE_CheckForPlayerChange", "onEachFrame", {
if !(ACE_player isEqualTo (missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player])) then {
_this = ACE_player;
["ACE_CheckForPlayerChange", "onEachFrame", {
if !(ACE_player isEqualTo (missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player])) then {
_this = ACE_player;
ACE_player = missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player];
uiNamespace setVariable ["ACE_player", ACE_player];
ACE_player = missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player];
uiNamespace setVariable ["ACE_player", ACE_player];
[missionNamespace, "playerChanged", [ACE_player, _this]] call FUNC(callCustomEventHandlers);
};
}] call BIS_fnc_addStackedEventHandler;
[missionNamespace, "playerChanged", [ACE_player, _this]] call FUNC(callCustomEventHandlers);
};
}] call BIS_fnc_addStackedEventHandler;
};

82
addons/common/config.cpp Normal file
View File

@ -0,0 +1,82 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
units[] = {"ACE_Box_Misc"};
weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_main"};
author[] = {"KoffeinFlummi"};
authorUrl = "https://github.com/KoffeinFlummi/";
VERSION_CONFIG;
};
};
#include "CfgEventHandlers.hpp"
#include "CfgSounds.hpp"
#include "CfgVehicles.hpp"
#include "CfgWeapons.hpp"
#include "CfgMagazines.hpp"
class ACE_Rsc_Display_Base {
idd = -1;
type = 0;
style = 48;
name = "";
duration = 999999;
fadeIn = 0;
fadeOut = 0;
font = "TahomaB";
size = 1;
colorBackground[] = {1, 1, 1, 0};
colorText[] = {1, 1, 1, 1};
};
class ACE_Rsc_Control_Base {
idc = 1;
type = 0;
style = 48;
access = 0;
lineSpacing = 0;
moving = 1;
text = "";
size = 1;
sizeEx = 0;
font = "TahomaB";
colorBackground[] = {1, 1, 1, 0};
colorText[] = {1, 1, 1, 1};
x = 0;
y = 0;
w = 0;
h = 0;
};
class GVAR(canInteractConditions) {
class GVAR(notOnMap) {
condition = "!visibleMap";
};
};
class GVAR(Options) {
class enableNumberHotkeys {
displayName = "$STR_ACE_Common_EnableNumberHotkeys";
default = 1;
};
};
#include <MainMenu.hpp>
#include <MenuConfig.hpp>
#include <ProgressScreen.hpp>
#include <HintConfig.hpp>
/*
class RscControlsGroupNoScrollbars;
class RscAttributeInventory: RscControlsGroupNoScrollbars {
onSetFocus = "[_this,""RscAttributeInventory"",'CuratorCommon'] call (uinamespace getvariable ""BIS_fnc_initCuratorAttribute""); _this select 0 call ACE_CuratorFix_fnc_addUnloadEventhandler;";
};
*/
#include <RscInfoType.hpp>
#include <FixPickup.hpp>
#include <FixAnimations.hpp>
#include <NoVoice.hpp>

View File

@ -12,7 +12,7 @@
* Return value:
* ID of the action (used to remove it later).
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_action", "_condition", "_statement", "_name", "_actionsVar", "_actionID", "_actions", "_id", "_actionIDs"];

View File

@ -16,7 +16,7 @@
* Return value:
* ID of the action (used to remove it later).
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_displayName", "_action", "_condition", "_statement", "_condition2", "_statement2", "_priority", "_name", "_actionsVar", "_id", "_actionIDs", "_actions", "_nameVar", "_addAction", "_actionID"];

View File

@ -10,7 +10,7 @@
* Return value:
* ID of the event script (used to remove it later).
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];

View File

@ -11,7 +11,7 @@
* Return value:
* ID of the event script (used to remove it later).
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_object", "_type", "_statement", "_name", "_actionsVar", "_id", "_actionIDs", "_actions"];

View File

@ -10,7 +10,7 @@
* Return value:
* ID of the event script (used to remove it later).
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_type", "_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];

View File

@ -9,7 +9,7 @@
* Return value:
* ID of the event script (used to remove it later).
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];

View File

@ -9,7 +9,7 @@
* Return value:
* ID of the event script (used to remove it later).
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];

View File

@ -9,7 +9,7 @@
* Return value:
* ID of the event script (used to remove it later).
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private "_dlg";

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private "_name";

View File

@ -9,6 +9,6 @@
* Return value:
* Ambient brightness (Number)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
sunOrMoon * sunOrMoon + moonIntensity/5 min 1

View File

@ -15,7 +15,7 @@ Returns:
Example:
[ACE_Player] call FUNC(applyForceWalkStatus)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_forceWalkNumber"];

View File

@ -10,7 +10,7 @@
* Return value:
* Booleans (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_number", "_minLength", "_array", "_index", "_rest"];

View File

@ -11,7 +11,7 @@
* Return value:
* None.
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_object", "_type", "_argument", "_name", "_actions"];

View File

@ -11,6 +11,6 @@
* Return value:
* None.
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
[_this, QUOTE(FUNC(callCustomEventHandlers)), 2] call FUNC(execRemoteFnc);

View File

@ -14,7 +14,7 @@
* Return Value:
* Nothing
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
#define CANGETINDRIVER (isNull (driver _vehicle) || {!alive driver _vehicle}) && {!lockedDriver _vehicle} && {getNumber (_config >> "isUav") != 1}
#define CANGETINTURRETINDEX (isNull (_vehicle turretUnit _turret) || {!alive (_vehicle turretUnit _turret)}) && {!(_vehicle lockedTurret _turret)} && {getNumber (_config >> "isUav") != 1}

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_target", "_owner"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
// returns true if the unit is on foot or in a ffv position

View File

@ -12,7 +12,7 @@
* Return value:
* None.
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_projectile", "_adjustDir", "_adjustUp", "_adjustSpeed", "_vdir", "_dir", "_up", "_l", "_r", "_vup", "_vel"];

View File

@ -14,7 +14,7 @@
* Return value:
* None.
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_mode", "_checkAll", "_whitelist", "_logic"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_target", "_lockTarget", "_owner"];

View File

@ -10,7 +10,7 @@
* Return Value:
* None
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
_this spawn {
_target = _this select 0;

View File

@ -1,4 +1,4 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
["", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] select ([2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38, 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 44, 21] find (_this select 0)) + 1

View File

@ -9,7 +9,7 @@
* Return value:
* Code (String)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private "_function";

View File

@ -12,7 +12,7 @@
* Return value:
* Key code (Number)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
#define KEY_MODIFIERS [42, 54, 29, 157, 56, 184]

View File

@ -9,7 +9,7 @@
* Return value:
* The current channel. Can be "group", "side", "global", "command", "vehicle" or "direct" (String)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
#define CHANNELS ["group", "side", "global", "command", "vehicle", "direct"]
#define CHANNELS_LOCALIZED [localize "str_channel_group", localize "str_channel_side", localize "str_channel_global", localize "str_channel_command", localize "str_channel_vehicle", localize "str_channel_direct"]

View File

@ -9,7 +9,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_state", "_dlg"];

View File

@ -12,7 +12,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
#define DEFAULT_PLAY_SOUND false
#define DEFAULT_DELAY 2

View File

@ -10,7 +10,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_text", "_image"];

View File

@ -10,7 +10,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_text", "_size", "_isShown", "_ctrlHint"];

View File

@ -14,7 +14,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_animation", "_priority", "_force"];

View File

@ -10,7 +10,7 @@
* None.
*
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
// ACRE
if (isClass (configFile >> "CfgPatches" >> "acre_main")) then {

View File

@ -12,7 +12,7 @@
* Return value:
* Nothing.
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_arguments", "_function", "_unit", "_name"];

View File

@ -15,7 +15,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_arguments", "_function", "_unit", "_id"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private "_target";

View File

@ -4,7 +4,7 @@
(configFile >> "CfgAmmo") call FUNC(exportConfig);
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private "_fnc_logEntries";

View File

@ -13,7 +13,7 @@
* Usage:
* [[0,1,2,3,4], {_this > 2}] call FUNC(filter) ==> [3,4]
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_array", "_code", "_newArray", "_index"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_crate", "_weapons", "_items"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private "_unit";

View File

@ -9,7 +9,7 @@
* Return value:
* Reasons, why the unit is a captive. An empty array is returned if the unit is not a captive (Array of Strings)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_captivityReasons", "_unitCaptivityStatus", "_unitCaptivityReasons"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_name", "_cfgClass", "_classes"];

View File

@ -9,7 +9,7 @@
* Return value:
* Commander config (Config)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_config", "_turret"];

View File

@ -9,7 +9,7 @@
* Return value:
* Gunner config (Config)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_config", "_turret"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_anim", "_stance"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_configName", "_index"];

View File

@ -9,7 +9,7 @@
* Return value:
* Turret indexes of the door gunner. Empty array means no gunner position. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicleType", "_turrets", "_doorTurrets", "_config"];

View File

@ -15,7 +15,7 @@ Returns:
Example:
[ACE_Player] call FUNC(getForceWalkStatus)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_forceWalkReasons", "_unitForceWalkNumber", "_unitForceWalkStatus", "_unitForceWalkReasons"];

View File

@ -9,7 +9,7 @@
* Return Value:
* The hitpoints (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_config", "_hitpoints"];

View File

@ -9,7 +9,7 @@
* Return Value:
* The hitpoints with selections. Format: [hitpoints, selections]. They correspond by index. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_config", "_hitpoints", "_selections"];

View File

@ -13,7 +13,7 @@
* Return Value:
* Nothing
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
#define CANGETINDRIVER (isNull (driver _vehicle) || {!alive driver _vehicle}) && {!lockedDriver _vehicle} && {getNumber (_config >> "isUav") != 1}
#define CANGETINTURRETINDEX (isNull (_vehicle turretUnit _turret) || {!alive (_vehicle turretUnit _turret)}) && {!(_vehicle lockedTurret _turret)} && {getNumber (_config >> "isUav") != 1}

View File

@ -9,7 +9,7 @@
* Return Value:
* Marker Type (string)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
_group = _this select 0;
_leader = leader _group;

View File

@ -10,7 +10,7 @@
* Return value:
* The name.
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_showEffective", "_name"];

View File

@ -9,7 +9,7 @@
* Return value:
* Value of the entry. Note: If the entry does not exist, it might return 0 or an entry with the same name of another class! (Number)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private "_number";

View File

@ -9,6 +9,6 @@
* Return Value:
* [pitch, bank, yaw]
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
((_this select 0) call BIS_fnc_getPitchBank) + [getDir (_this select 0)]

View File

@ -9,7 +9,7 @@
* Return value:
* Value of the entry. Note: If the entry does not exist, it might return an empty string or an entry with the same name of another class! (String)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_path", "_mission", "_a", "_class", "_index", "_array", "_b", "_entry"];

View File

@ -10,7 +10,7 @@
* 0: Azimuth (Number)
* 1: Inclination or 'slope' (Number)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_position", "_direction", "_azimuth", "_inclination"];

View File

@ -11,7 +11,7 @@
* Return value:
* Measured distance in meters. Can return maximal or minimal distance (Number)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_interval", "_maxDistance", "_minDistance", "_position", "_laser", "_line", "_distance", "_iteration"];

View File

@ -9,7 +9,7 @@
* Return value:
* Nearest object directly in line of sight, if none objNull (Object)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_maxDistance", "_position", "_laser", "_intersects"];

View File

@ -9,7 +9,7 @@
* Return value:
* Turret index of the vehicles commander. Empty array means no observer position. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_turrets", "_turret", "_config"];

View File

@ -10,7 +10,7 @@
* Return value:
* Turret config (Config)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_config", "_turretIndex", "_index", "_offset", "_config2", "_foundClasses"];

View File

@ -9,7 +9,7 @@
* Return value:
* Turret index of the vehicles gunner. Empty array means no copilot position. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_turrets", "_turret", "_config"];

View File

@ -9,7 +9,7 @@
* Return value:
* Turret index of the vehicles gunner. Empty array means no gunner position. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_turrets", "_turret", "_config"];

View File

@ -9,7 +9,7 @@
* Return value:
* Turret index array or config path. E.g: [0] for gunner or [0,0] for commander. Returns empty array if unit is not in a turret. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_vehicle", "_turrets", "_units", "_index"];

View File

@ -9,7 +9,7 @@
* Return value:
* All turret index arrays of the vehicle. E.g: [[0], [0,0]] (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_type", "_config", "_turrets", "_fnc_addTurret"];

View File

@ -9,7 +9,7 @@
* Return value:
* Turret index of the vehicles gunner. Empty array means no ffv turrets. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_turrets", "_turret", "_config"];

View File

@ -9,7 +9,7 @@
* Return value:
* Turret index of the vehicles gunner. Empty array means no other turrets. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_turrets", "_turret", "_config"];

View File

@ -18,7 +18,7 @@ Returns:
Example:
[ACE_Player] call FUNC(getUavControlPosition)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_unit", "_uav", "_positionArray", "_playerIndex"];

View File

@ -9,7 +9,7 @@
* Return value:
* Vehicle cargo positions. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_config", "_cargo", "_codrivers"];

View File

@ -9,7 +9,7 @@
* Return value:
* Vehicle codriver positions. (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_config", "_cargo", "_codrivers"];

View File

@ -10,7 +10,7 @@
* Return value:
* Crew (Array)
*/
#include "\z\ace\addons\core\script_component.hpp"
#include "\z\ace\addons\common\script_component.hpp"
private ["_vehicle", "_types", "_crew"];

Some files were not shown because too many files have changed in this diff Show More