mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'master' of github.com:KoffeinFlummi/ACE3
This commit is contained in:
commit
e2b75e3d12
@ -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;
|
|
||||||
};
|
|
@ -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.";
|
|
@ -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
27
addons/ai/CfgAISkill.hpp
Normal 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
575
addons/ai/CfgWeapons.hpp
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
@ -1,617 +1,16 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
class CfgPatches {
|
class CfgPatches {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
units[] = {};
|
units[] = {};
|
||||||
weapons[] = {};
|
weapons[] = {};
|
||||||
requiredVersion = 0.60;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_core"};
|
requiredAddons[] = {"ace_common"};
|
||||||
version = "0.95";
|
author[] = {"KoffeinFlummi","commy2"};
|
||||||
versionStr = "0.95";
|
authorUrl = "https://github.com/KoffeinFlummi/";
|
||||||
versionAr[] = {0,95,0};
|
VERSION_CONFIG;
|
||||||
author[] = {"KoffeinFlummi", "commy2"};
|
};
|
||||||
authorUrl = "https://github.com/KoffeinFlummi/";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
#include "CfgAISkill.hpp"
|
||||||
* Documentation:
|
#include "CfgWeapons.hpp"
|
||||||
* 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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
#include "\z\ace\Addons\main\script_mod.hpp"
|
#include "\z\ace\Addons\main\script_mod.hpp"
|
||||||
|
|
||||||
#ifdef DEBUG_ENABLED_AI
|
#ifdef DEBUG_ENABLED_AI
|
||||||
#define DEBUG_MODE_FULL
|
#define DEBUG_MODE_FULL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_ENABLED_AI
|
#ifdef DEBUG_ENABLED_AI
|
||||||
#define DEBUG_SETTINGS DEBUG_ENABLED_AI
|
#define DEBUG_SETTINGS DEBUG_ENABLED_AI
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\Addons\main\script_macros.hpp"
|
#include "\z\ace\Addons\main\script_macros.hpp"
|
1
addons/common/$PBOPREFIX$
Normal file
1
addons/common/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
|||||||
|
z\ace\addons\common
|
42
addons/common/CfgEventHandlers.hpp
Normal file
42
addons/common/CfgEventHandlers.hpp
Normal 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) );
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
10
addons/common/CfgMagazines.hpp
Normal file
10
addons/common/CfgMagazines.hpp
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
class CfgMagazines {
|
||||||
|
class CA_Magazine;
|
||||||
|
class ACE_FakeMagazine: CA_Magazine {
|
||||||
|
descriptionShort = "";
|
||||||
|
displayName = "";
|
||||||
|
displayNameShort = "";
|
||||||
|
count = 0;
|
||||||
|
};
|
||||||
|
};
|
7
addons/common/CfgSounds.hpp
Normal file
7
addons/common/CfgSounds.hpp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
class CfgSounds {
|
||||||
|
class ACE_Sound_Click {
|
||||||
|
sound[] = {PATHTOF(sounds\ACE_click.wav), 1, 1, 200};
|
||||||
|
titles[] = {};
|
||||||
|
};
|
||||||
|
};
|
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
/*class Man;
|
/*class Man;
|
||||||
class CAManBase: Man {
|
class CAManBase: Man {
|
||||||
@ -14,8 +15,8 @@ class CfgVehicles {
|
|||||||
showIn3D = 0;
|
showIn3D = 0;
|
||||||
onlyForPlayer = 1;
|
onlyForPlayer = 1;
|
||||||
shortcut = "DefaultAction";
|
shortcut = "DefaultAction";
|
||||||
condition = "call ACE_Core_UserActionFireCondition";
|
condition = "call ACE_Common_UserActionFireCondition";
|
||||||
statement = "call ACE_Core_UserActionFire";
|
statement = "call ACE_Common_UserActionFire";
|
||||||
userActionID = 100;
|
userActionID = 100;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -26,10 +27,10 @@ class CfgVehicles {
|
|||||||
|
|
||||||
class Module_F;
|
class Module_F;
|
||||||
class ACE_ModuleCheckPBOs: Module_F {
|
class ACE_ModuleCheckPBOs: Module_F {
|
||||||
author = "$STR_ACE_Core_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "Check PBOs";
|
displayName = "Check PBOs";
|
||||||
function = "ACE_Core_fnc_moduleCheckPBOs";
|
function = "ACE_Common_fnc_moduleCheckPBOs";
|
||||||
scope = 2;
|
scope = 2;
|
||||||
isGlobal = 1;
|
isGlobal = 1;
|
||||||
icon = PATHTOF(UI\IconCheckPBO_ca.paa);
|
icon = PATHTOF(UI\IconCheckPBO_ca.paa);
|
||||||
@ -81,10 +82,10 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
|
|
||||||
class ACE_ModuleLSDVehicles: Module_F {
|
class ACE_ModuleLSDVehicles: Module_F {
|
||||||
author = "$STR_ACE_Core_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "LSD Vehicles";
|
displayName = "LSD Vehicles";
|
||||||
function = "ACE_Core_fnc_moduleLSDVehicles";
|
function = "ACE_Common_fnc_moduleLSDVehicles";
|
||||||
scope = 2;
|
scope = 2;
|
||||||
isGlobal = 1;
|
isGlobal = 1;
|
||||||
class Arguments {
|
class Arguments {
|
||||||
@ -93,8 +94,8 @@ class CfgVehicles {
|
|||||||
|
|
||||||
class Box_NATO_Support_F;
|
class Box_NATO_Support_F;
|
||||||
class ACE_Box_Misc: Box_NATO_Support_F {
|
class ACE_Box_Misc: Box_NATO_Support_F {
|
||||||
author = "$STR_ACE_Core_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
displayName = "$STR_ACE_Core_MiscItems";
|
displayName = "$STR_ACE_Common_MiscItems";
|
||||||
transportMaxWeapons = 9001;
|
transportMaxWeapons = 9001;
|
||||||
transportMaxMagazines = 9001;
|
transportMaxMagazines = 9001;
|
||||||
transportMaxItems = 9001;
|
transportMaxItems = 9001;
|
||||||
@ -105,4 +106,4 @@ class CfgVehicles {
|
|||||||
class TransportItems {};
|
class TransportItems {};
|
||||||
class TransportBackpacks {};
|
class TransportBackpacks {};
|
||||||
};
|
};
|
||||||
};
|
};
|
20
addons/common/CfgWeapons.hpp
Normal file
20
addons/common/CfgWeapons.hpp
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
1030
addons/common/DefaultItems.hpp
Normal file
1030
addons/common/DefaultItems.hpp
Normal file
File diff suppressed because it is too large
Load Diff
35
addons/common/FixAnimations.hpp
Normal file
35
addons/common/FixAnimations.hpp
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
13
addons/common/FixPickup.hpp
Normal file
13
addons/common/FixPickup.hpp
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
class CfgActions {
|
||||||
|
class None;
|
||||||
|
class TakeWeapon: None {
|
||||||
|
show = 0;
|
||||||
|
};
|
||||||
|
class TakeItem: None {
|
||||||
|
show = 0;
|
||||||
|
};
|
||||||
|
class TakeMagazine: None {
|
||||||
|
show = 0;
|
||||||
|
};
|
||||||
|
};
|
76
addons/common/HintConfig.hpp
Normal file
76
addons/common/HintConfig.hpp
Normal 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
103
addons/common/MainMenu.hpp
Normal 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 {};
|
||||||
|
};
|
||||||
|
};
|
927
addons/common/MenuConfig.hpp
Normal file
927
addons/common/MenuConfig.hpp
Normal 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
228
addons/common/NoVoice.hpp
Normal 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 = "";
|
||||||
|
};
|
||||||
|
};
|
94
addons/common/ProgressScreen.hpp
Normal file
94
addons/common/ProgressScreen.hpp
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
27
addons/common/RscInfoType.hpp
Normal file
27
addons/common/RscInfoType.hpp
Normal 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));
|
||||||
|
};
|
@ -1,20 +1,20 @@
|
|||||||
// ACE - Core
|
// ACE - Common
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
QGVAR(remoteFnc) addPublicVariableEventHandler {
|
QGVAR(remoteFnc) addPublicVariableEventHandler {
|
||||||
(_this select 1) call FUNC(execRemoteFnc);
|
(_this select 1) call FUNC(execRemoteFnc);
|
||||||
};
|
};
|
||||||
|
|
||||||
[missionNamespace] call FUNC(executePersistent);
|
[missionNamespace] call FUNC(executePersistent);
|
||||||
|
|
||||||
// check previous version number from profile
|
// 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", ""];
|
_previousVersion = profileNamespace getVariable ["ACE_VersionNumberString", ""];
|
||||||
|
|
||||||
if (_currentVersion != _previousVersion) then {
|
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);
|
0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber);
|
||||||
@ -37,8 +37,8 @@ GVAR(toggleState) = COMPILE_FILE(scripts\toggleState);
|
|||||||
GVAR(keyStates) = [];
|
GVAR(keyStates) = [];
|
||||||
GVAR(keyTimes) = [];
|
GVAR(keyTimes) = [];
|
||||||
for "_index" from 0 to 300 do {
|
for "_index" from 0 to 300 do {
|
||||||
GVAR(keyStates) set [_index, 0];
|
GVAR(keyStates) set [_index, 0];
|
||||||
GVAR(keyTimes) set [_index, -1];
|
GVAR(keyTimes) set [_index, -1];
|
||||||
};
|
};
|
||||||
|
|
||||||
call COMPILE_FILE(scripts\KeyInput\initCanInteractFunction);
|
call COMPILE_FILE(scripts\KeyInput\initCanInteractFunction);
|
||||||
@ -46,24 +46,24 @@ call COMPILE_FILE(scripts\KeyInput\initKeys);
|
|||||||
call COMPILE_FILE(scripts\KeyInput\initScrollWheel);
|
call COMPILE_FILE(scripts\KeyInput\initScrollWheel);
|
||||||
|
|
||||||
0 spawn {
|
0 spawn {
|
||||||
while {true} do {
|
while {true} do {
|
||||||
waitUntil {!isNull (findDisplay 46)}; sleep 0.1;
|
waitUntil {!isNull (findDisplay 46)}; sleep 0.1;
|
||||||
findDisplay 46 displayAddEventHandler ["KeyDown", QUOTE( _this call GVAR(onKeyDown) )];
|
findDisplay 46 displayAddEventHandler ["KeyDown", QUOTE( _this call GVAR(onKeyDown) )];
|
||||||
findDisplay 46 displayAddEventHandler ["KeyUp", QUOTE( _this call GVAR(onKeyUp) )];
|
findDisplay 46 displayAddEventHandler ["KeyUp", QUOTE( _this call GVAR(onKeyUp) )];
|
||||||
findDisplay 46 displayAddEventHandler ["MouseZChanged", QUOTE( _this call GVAR(onScrollWheel) )];
|
findDisplay 46 displayAddEventHandler ["MouseZChanged", QUOTE( _this call GVAR(onScrollWheel) )];
|
||||||
[false] call FUNC(disableUserInput);
|
[false] call FUNC(disableUserInput);
|
||||||
waitUntil {isNull (findDisplay 46)};
|
waitUntil {isNull (findDisplay 46)};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
enableCamShake true;
|
enableCamShake true;
|
||||||
|
|
||||||
// Set the name for the current player
|
// Set the name for the current player
|
||||||
[missionNamespace, "playerChanged", {
|
[missionNamespace, "playerChanged", {
|
||||||
if (alive (_this select 0)) then {
|
if (alive (_this select 0)) then {
|
||||||
[_this select 0] call FUNC(setName)
|
[_this select 0] call FUNC(setName)
|
||||||
};
|
};
|
||||||
if (alive (_this select 1)) then {
|
if (alive (_this select 1)) then {
|
||||||
[_this select 1] call FUNC(setName)
|
[_this select 1] call FUNC(setName)
|
||||||
};
|
};
|
||||||
}] call FUNC(addCustomEventhandler);
|
}] call FUNC(addCustomEventhandler);
|
@ -1,7 +1,7 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
// ACE Core Function
|
// ACE Common Function
|
||||||
PREP(addActionEventHandler);
|
PREP(addActionEventHandler);
|
||||||
PREP(addActionMenuEventHandler);
|
PREP(addActionMenuEventHandler);
|
||||||
PREP(addCameraEventHandler);
|
PREP(addCameraEventHandler);
|
||||||
@ -140,14 +140,14 @@ PREP(fixCrateContent);
|
|||||||
// Loop to update the ACE_player variable
|
// Loop to update the ACE_player variable
|
||||||
ACE_player = player;
|
ACE_player = player;
|
||||||
if (hasInterface) then {
|
if (hasInterface) then {
|
||||||
["ACE_CheckForPlayerChange", "onEachFrame", {
|
["ACE_CheckForPlayerChange", "onEachFrame", {
|
||||||
if !(ACE_player isEqualTo (missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player])) then {
|
if !(ACE_player isEqualTo (missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player])) then {
|
||||||
_this = ACE_player;
|
_this = ACE_player;
|
||||||
|
|
||||||
ACE_player = missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player];
|
ACE_player = missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player];
|
||||||
uiNamespace setVariable ["ACE_player", ACE_player];
|
uiNamespace setVariable ["ACE_player", ACE_player];
|
||||||
|
|
||||||
[missionNamespace, "playerChanged", [ACE_player, _this]] call FUNC(callCustomEventHandlers);
|
[missionNamespace, "playerChanged", [ACE_player, _this]] call FUNC(callCustomEventHandlers);
|
||||||
};
|
};
|
||||||
}] call BIS_fnc_addStackedEventHandler;
|
}] call BIS_fnc_addStackedEventHandler;
|
||||||
};
|
};
|
82
addons/common/config.cpp
Normal file
82
addons/common/config.cpp
Normal 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>
|
@ -12,7 +12,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* ID of the action (used to remove it later).
|
* 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"];
|
private ["_unit", "_action", "_condition", "_statement", "_name", "_actionsVar", "_actionID", "_actions", "_id", "_actionIDs"];
|
||||||
|
|
@ -16,7 +16,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* ID of the action (used to remove it later).
|
* 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"];
|
private ["_unit", "_displayName", "_action", "_condition", "_statement", "_condition2", "_statement2", "_priority", "_name", "_actionsVar", "_id", "_actionIDs", "_actions", "_nameVar", "_addAction", "_actionID"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* ID of the event script (used to remove it later).
|
* 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"];
|
private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];
|
||||||
|
|
@ -11,7 +11,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* ID of the event script (used to remove it later).
|
* 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"];
|
private ["_object", "_type", "_statement", "_name", "_actionsVar", "_id", "_actionIDs", "_actions"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* ID of the event script (used to remove it later).
|
* 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"];
|
private ["_type", "_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* ID of the event script (used to remove it later).
|
* 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"];
|
private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* ID of the event script (used to remove it later).
|
* 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"];
|
private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* ID of the event script (used to remove it later).
|
* 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"];
|
private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private "_dlg";
|
private "_dlg";
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private "_name";
|
private "_name";
|
||||||
|
|
@ -9,6 +9,6 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Ambient brightness (Number)
|
* 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
|
sunOrMoon * sunOrMoon + moonIntensity/5 min 1
|
@ -15,7 +15,7 @@ Returns:
|
|||||||
Example:
|
Example:
|
||||||
[ACE_Player] call FUNC(applyForceWalkStatus)
|
[ACE_Player] call FUNC(applyForceWalkStatus)
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_unit", "_forceWalkNumber"];
|
private ["_unit", "_forceWalkNumber"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Booleans (Array)
|
* Booleans (Array)
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_number", "_minLength", "_array", "_index", "_rest"];
|
private ["_number", "_minLength", "_array", "_index", "_rest"];
|
||||||
|
|
@ -11,7 +11,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* None.
|
* None.
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_object", "_type", "_argument", "_name", "_actions"];
|
private ["_object", "_type", "_argument", "_name", "_actions"];
|
||||||
|
|
@ -11,6 +11,6 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* None.
|
* 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);
|
[_this, QUOTE(FUNC(callCustomEventHandlers)), 2] call FUNC(execRemoteFnc);
|
@ -14,7 +14,7 @@
|
|||||||
* Return Value:
|
* Return Value:
|
||||||
* Nothing
|
* 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 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}
|
#define CANGETINTURRETINDEX (isNull (_vehicle turretUnit _turret) || {!alive (_vehicle turretUnit _turret)}) && {!(_vehicle lockedTurret _turret)} && {getNumber (_config >> "isUav") != 1}
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_unit", "_target", "_owner"];
|
private ["_unit", "_target", "_owner"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// 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
|
// returns true if the unit is on foot or in a ffv position
|
||||||
|
|
@ -12,7 +12,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* None.
|
* 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"];
|
private ["_projectile", "_adjustDir", "_adjustUp", "_adjustSpeed", "_vdir", "_dir", "_up", "_l", "_r", "_vup", "_vel"];
|
||||||
|
|
@ -14,7 +14,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* None.
|
* None.
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_mode", "_checkAll", "_whitelist", "_logic"];
|
private ["_mode", "_checkAll", "_whitelist", "_logic"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_unit", "_target", "_lockTarget", "_owner"];
|
private ["_unit", "_target", "_lockTarget", "_owner"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* Return Value:
|
* Return Value:
|
||||||
* None
|
* None
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
_this spawn {
|
_this spawn {
|
||||||
_target = _this select 0;
|
_target = _this select 0;
|
@ -1,4 +1,4 @@
|
|||||||
// by commy2
|
// 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
|
["", "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
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Code (String)
|
* Code (String)
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private "_function";
|
private "_function";
|
||||||
|
|
@ -12,7 +12,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Key code (Number)
|
* 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]
|
#define KEY_MODIFIERS [42, 54, 29, 157, 56, 184]
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* The current channel. Can be "group", "side", "global", "command", "vehicle" or "direct" (String)
|
* 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 ["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"]
|
#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"]
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Nothing
|
* Nothing
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_state", "_dlg"];
|
private ["_state", "_dlg"];
|
||||||
|
|
@ -12,7 +12,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Nothing
|
* Nothing
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
#define DEFAULT_PLAY_SOUND false
|
#define DEFAULT_PLAY_SOUND false
|
||||||
#define DEFAULT_DELAY 2
|
#define DEFAULT_DELAY 2
|
@ -10,7 +10,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Nothing
|
* Nothing
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_text", "_image"];
|
private ["_text", "_image"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Nothing
|
* Nothing
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_text", "_size", "_isShown", "_ctrlHint"];
|
private ["_text", "_size", "_isShown", "_ctrlHint"];
|
||||||
|
|
@ -14,7 +14,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Nothing
|
* Nothing
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_unit", "_animation", "_priority", "_force"];
|
private ["_unit", "_animation", "_priority", "_force"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* None.
|
* None.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
// ACRE
|
// ACRE
|
||||||
if (isClass (configFile >> "CfgPatches" >> "acre_main")) then {
|
if (isClass (configFile >> "CfgPatches" >> "acre_main")) then {
|
@ -12,7 +12,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Nothing.
|
* Nothing.
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_arguments", "_function", "_unit", "_name"];
|
private ["_arguments", "_function", "_unit", "_name"];
|
||||||
|
|
@ -15,7 +15,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Nothing
|
* Nothing
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_arguments", "_function", "_unit", "_id"];
|
private ["_arguments", "_function", "_unit", "_id"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private "_target";
|
private "_target";
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
(configFile >> "CfgAmmo") call FUNC(exportConfig);
|
(configFile >> "CfgAmmo") call FUNC(exportConfig);
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private "_fnc_logEntries";
|
private "_fnc_logEntries";
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* Usage:
|
* Usage:
|
||||||
* [[0,1,2,3,4], {_this > 2}] call FUNC(filter) ==> [3,4]
|
* [[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"];
|
private ["_array", "_code", "_newArray", "_index"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_crate", "_weapons", "_items"];
|
private ["_crate", "_weapons", "_items"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private "_unit";
|
private "_unit";
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Reasons, why the unit is a captive. An empty array is returned if the unit is not a captive (Array of Strings)
|
* 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"];
|
private ["_unit", "_captivityReasons", "_unitCaptivityStatus", "_unitCaptivityReasons"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_name", "_cfgClass", "_classes"];
|
private ["_name", "_cfgClass", "_classes"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Commander config (Config)
|
* Commander config (Config)
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_vehicle", "_config", "_turret"];
|
private ["_vehicle", "_config", "_turret"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Gunner config (Config)
|
* Gunner config (Config)
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_vehicle", "_config", "_turret"];
|
private ["_vehicle", "_config", "_turret"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_unit", "_anim", "_stance"];
|
private ["_unit", "_anim", "_stance"];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_configName", "_index"];
|
private ["_configName", "_index"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Turret indexes of the door gunner. Empty array means no gunner position. (Array)
|
* 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"];
|
private ["_vehicleType", "_turrets", "_doorTurrets", "_config"];
|
||||||
|
|
@ -15,7 +15,7 @@ Returns:
|
|||||||
Example:
|
Example:
|
||||||
[ACE_Player] call FUNC(getForceWalkStatus)
|
[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"];
|
private ["_unit", "_forceWalkReasons", "_unitForceWalkNumber", "_unitForceWalkStatus", "_unitForceWalkReasons"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return Value:
|
* Return Value:
|
||||||
* The hitpoints (Array)
|
* The hitpoints (Array)
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_vehicle", "_config", "_hitpoints"];
|
private ["_vehicle", "_config", "_hitpoints"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return Value:
|
* Return Value:
|
||||||
* The hitpoints with selections. Format: [hitpoints, selections]. They correspond by index. (Array)
|
* 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"];
|
private ["_vehicle", "_config", "_hitpoints", "_selections"];
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* Return Value:
|
* Return Value:
|
||||||
* Nothing
|
* 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 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}
|
#define CANGETINTURRETINDEX (isNull (_vehicle turretUnit _turret) || {!alive (_vehicle turretUnit _turret)}) && {!(_vehicle lockedTurret _turret)} && {getNumber (_config >> "isUav") != 1}
|
@ -9,7 +9,7 @@
|
|||||||
* Return Value:
|
* Return Value:
|
||||||
* Marker Type (string)
|
* Marker Type (string)
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
_group = _this select 0;
|
_group = _this select 0;
|
||||||
_leader = leader _group;
|
_leader = leader _group;
|
@ -10,7 +10,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* The name.
|
* The name.
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_unit", "_showEffective", "_name"];
|
private ["_unit", "_showEffective", "_name"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* 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)
|
* 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";
|
private "_number";
|
||||||
|
|
@ -9,6 +9,6 @@
|
|||||||
* Return Value:
|
* Return Value:
|
||||||
* [pitch, bank, yaw]
|
* [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)]
|
((_this select 0) call BIS_fnc_getPitchBank) + [getDir (_this select 0)]
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* 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)
|
* 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"];
|
private ["_path", "_mission", "_a", "_class", "_index", "_array", "_b", "_entry"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* 0: Azimuth (Number)
|
* 0: Azimuth (Number)
|
||||||
* 1: Inclination or 'slope' (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"];
|
private ["_position", "_direction", "_azimuth", "_inclination"];
|
||||||
|
|
@ -11,7 +11,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Measured distance in meters. Can return maximal or minimal distance (Number)
|
* 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"];
|
private ["_interval", "_maxDistance", "_minDistance", "_position", "_laser", "_line", "_distance", "_iteration"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Nearest object directly in line of sight, if none objNull (Object)
|
* 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"];
|
private ["_maxDistance", "_position", "_laser", "_intersects"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Turret index of the vehicles commander. Empty array means no observer position. (Array)
|
* 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"];
|
private ["_vehicle", "_turrets", "_turret", "_config"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Turret config (Config)
|
* 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"];
|
private ["_config", "_turretIndex", "_index", "_offset", "_config2", "_foundClasses"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Turret index of the vehicles gunner. Empty array means no copilot position. (Array)
|
* 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"];
|
private ["_vehicle", "_turrets", "_turret", "_config"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Turret index of the vehicles gunner. Empty array means no gunner position. (Array)
|
* 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"];
|
private ["_vehicle", "_turrets", "_turret", "_config"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* 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)
|
* 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"];
|
private ["_unit", "_vehicle", "_turrets", "_units", "_index"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* All turret index arrays of the vehicle. E.g: [[0], [0,0]] (Array)
|
* 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"];
|
private ["_type", "_config", "_turrets", "_fnc_addTurret"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Turret index of the vehicles gunner. Empty array means no ffv turrets. (Array)
|
* 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"];
|
private ["_vehicle", "_turrets", "_turret", "_config"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Turret index of the vehicles gunner. Empty array means no other turrets. (Array)
|
* 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"];
|
private ["_vehicle", "_turrets", "_turret", "_config"];
|
||||||
|
|
@ -18,7 +18,7 @@ Returns:
|
|||||||
Example:
|
Example:
|
||||||
[ACE_Player] call FUNC(getUavControlPosition)
|
[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"];
|
private ["_unit", "_uav", "_positionArray", "_playerIndex"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Vehicle cargo positions. (Array)
|
* 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"];
|
private ["_vehicle", "_config", "_cargo", "_codrivers"];
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Vehicle codriver positions. (Array)
|
* 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"];
|
private ["_vehicle", "_config", "_cargo", "_codrivers"];
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* Crew (Array)
|
* Crew (Array)
|
||||||
*/
|
*/
|
||||||
#include "\z\ace\addons\core\script_component.hpp"
|
#include "\z\ace\addons\common\script_component.hpp"
|
||||||
|
|
||||||
private ["_vehicle", "_types", "_crew"];
|
private ["_vehicle", "_types", "_crew"];
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user