Compare commits
6 Commits
Operation_
...
baf2f5ecf8
| Author | SHA1 | Date | |
|---|---|---|---|
| baf2f5ecf8 | |||
| 4e5782f074 | |||
| 4e7b0bb5f7 | |||
| db35c84e8e | |||
| fa18e85c7c | |||
| 080e6f02b8 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,5 +2,3 @@
|
|||||||
# Notepad++ backups #
|
# Notepad++ backups #
|
||||||
*.bak
|
*.bak
|
||||||
|
|
||||||
|
|
||||||
.vscode/
|
|
||||||
|
|||||||
59
CHANGELOG.md
59
CHANGELOG.md
@@ -4,65 +4,6 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project badly attempts [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project badly attempts [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## [4.2.3] - 2025-05-24
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Warlord Vehicle Flag
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Campaign Callsigns
|
|
||||||
- Equipment Changes
|
|
||||||
- Supply Crate contents
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- Update chat logic handler for new cba settings
|
|
||||||
|
|
||||||
## [4.2.2] - 2024-12-23
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- CBA settings to allow disabling of remaining text chat channels
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Log triage level on player respawn
|
|
||||||
- Campaign Callsigns
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- Equipment typos
|
|
||||||
|
|
||||||
## [4.2.1] - 2024-06-23
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Allowed Equipment Definition typo
|
|
||||||
|
|
||||||
## [4.2.0] - 2024-06-20
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Custom remainsCollector script to replace and supplement the built in arma remainsCollector function
|
|
||||||
- New Resupply Boxes
|
|
||||||
- Ability to spawn spare tires and tracks at the arsenal and via Zeus module
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Split vehicle flags into colors and shapes for additional options
|
|
||||||
- Battalion Callsigns
|
|
||||||
- Allowed Equipment Definitions
|
|
||||||
- Resupply Box Contents
|
|
||||||
- Fixed incorrect ace carry variable setting
|
|
||||||
|
|
||||||
### Removed
|
|
||||||
|
|
||||||
- SMA mod references
|
|
||||||
- Extraneous server performance calculation broadcast to all clients
|
|
||||||
- Ability for pilots to check re-insertion queue
|
|
||||||
|
|
||||||
## [4.1.2] - 2024-04-25
|
## [4.1.2] - 2024-04-25
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
|
|
||||||
// EXAMPLE
|
|
||||||
// class uncon_alarm
|
|
||||||
// {
|
|
||||||
// name = "uncon_alarm";
|
|
||||||
// sound[] = {"AJ_CBRN_V2\sounds\AJ_warning_1.ogg", 0.9, 1, 5}; //directory, volume, pitch, range
|
|
||||||
// titles[]={};
|
|
||||||
// };
|
|
||||||
@@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
|
|
||||||
// Define the callsigns for the Battalion
|
// Define the callsigns for the Battalion
|
||||||
#define COMMAND_CALLSIGN ONI
|
#define COMMAND_CALLSIGN STORMSURGE
|
||||||
//#define RRC_CALLSIGN TIGER
|
#define RRC_CALLSIGN TIGER
|
||||||
//#define MEDIC_CALLSIGN LIFELINE
|
#define MEDIC_CALLSIGN LIFELINE
|
||||||
#define ALPHA_CALLSIGN GLACIER
|
#define ALPHA_CALLSIGN SAVAGE
|
||||||
#define ECHO_CALLSIGN WARLORD
|
#define ECHO_CALLSIGN NIGHTFALL
|
||||||
#define WPN_CALLSIGN BLACKFOOT
|
#define WPN_CALLSIGN BLACKFOOT
|
||||||
|
|
||||||
// Define the frequencies for the Battalion
|
// Define the frequencies for the Battalion
|
||||||
@@ -73,26 +73,26 @@ class BattalionInfo {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// class RRC { // WIP
|
class RRC { // WIP
|
||||||
// callsign = RRC_CALLSIGN;
|
callsign = RRC_CALLSIGN;
|
||||||
// shortDescription = "RRC";
|
shortDescription = "RRC";
|
||||||
// textColor = LVL2_TEXT_COLOR;
|
textColor = LVL2_TEXT_COLOR;
|
||||||
// frequencies[] = {
|
frequencies[] = {
|
||||||
// {"Contact", {}, {FREQ_BATTALION}},
|
{"Contact", {}, {FREQ_BATTALION}},
|
||||||
// {"Actual", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS}}
|
{"Actual", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS}}
|
||||||
// };
|
};
|
||||||
// };
|
};
|
||||||
|
|
||||||
// class BattalionMedical { // WIP
|
class BattalionMedical { // WIP
|
||||||
// callsign = MEDIC_CALLSIGN;
|
callsign = MEDIC_CALLSIGN;
|
||||||
// shortDescription = "Battalion Medical";
|
shortDescription = "Battalion Medical";
|
||||||
// textColor = LVL2_TEXT_COLOR;
|
textColor = LVL2_TEXT_COLOR;
|
||||||
// frequencies[] = {
|
frequencies[] = {
|
||||||
// {"Contact", {FREQ_ALL_MEDICAL_SR}, {FREQ_BATTALION}},
|
{"Contact", {FREQ_ALL_MEDICAL_SR}, {FREQ_BATTALION}},
|
||||||
// {"Actual", {FREQ_BATTALION_MEDICAL_INTERCOM, FREQ_ALL_MEDICAL_SR}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_LOGISTICS}},
|
{"Actual", {FREQ_BATTALION_MEDICAL_INTERCOM, FREQ_ALL_MEDICAL_SR}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_LOGISTICS}},
|
||||||
// {"General", {FREQ_BATTALION_MEDICAL_INTERCOM, FREQ_ALL_MEDICAL_SR}, {}}
|
{"General", {FREQ_BATTALION_MEDICAL_INTERCOM, FREQ_ALL_MEDICAL_SR}, {}}
|
||||||
// };
|
};
|
||||||
// };
|
};
|
||||||
|
|
||||||
class WeaponsSquad { // WIP
|
class WeaponsSquad { // WIP
|
||||||
callsign = WPN_CALLSIGN;
|
callsign = WPN_CALLSIGN;
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ class DisallowedEquipment {
|
|||||||
label = "BLACKLISTED WEAPON OR ITEM";
|
label = "BLACKLISTED WEAPON OR ITEM";
|
||||||
description = "Items that NO member is allowed to use.";
|
description = "Items that NO member is allowed to use.";
|
||||||
items[] = {
|
items[] = {
|
||||||
//"17BN_ANPVS14", // NVG AN/PVS-14
|
"17BN_ANPVS14", // NVG AN/PVS-14
|
||||||
//"ej_PVS15D", // NVG AN/PVS-15
|
"ej_PVS15D", // NVG AN/PVS-15
|
||||||
//"ej_PVS15", // NVG AN/PVS-15
|
"ej_PVS15", // NVG AN/PVS-15
|
||||||
"LMG_Mk200_black_F", //Mk200 Series
|
"LMG_Mk200_black_F", //Mk200 Series
|
||||||
"LMG_Mk200_F", //Mk200 Series
|
"LMG_Mk200_F", //Mk200 Series
|
||||||
"rhs_weap_g36c", // G36 Series
|
"rhs_weap_g36c", // G36 Series
|
||||||
@@ -95,8 +95,8 @@ class DisallowedEquipment {
|
|||||||
"UK3CB_M14DMR_Railed_BLK", // M14 Series
|
"UK3CB_M14DMR_Railed_BLK", // M14 Series
|
||||||
"UK3CB_M14DMR_Railed", // M14 Series
|
"UK3CB_M14DMR_Railed", // M14 Series
|
||||||
"UK3CB_M14DMR", // M14 Series
|
"UK3CB_M14DMR", // M14 Series
|
||||||
//"USP_PVS_14", // NVG AN/PVS-14
|
"USP_PVS_14", // NVG AN/PVS-14
|
||||||
//"USP_PVS_15" // NVG AN/PVS-15
|
"USP_PVS_15" // NVG AN/PVS-15
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -141,14 +141,12 @@ class DisallowedEquipment {
|
|||||||
"Tier1_ATACR18_Geissele_Docter_Black", //Nightforce Series Optic
|
"Tier1_ATACR18_Geissele_Docter_Black", //Nightforce Series Optic
|
||||||
"Tier1_ATACR18_Geissele_Docter_Desert_Vanilla", //Nightforce Series Optic
|
"Tier1_ATACR18_Geissele_Docter_Desert_Vanilla", //Nightforce Series Optic
|
||||||
"Tier1_ATACR18_Geissele_Docter_Desert", //Nightforce Series Optic
|
"Tier1_ATACR18_Geissele_Docter_Desert", //Nightforce Series Optic
|
||||||
"sps_black_hornet_01_Static_F", // Black Hornet Drone Mod
|
"sps_black_hornet_01_F" // Black Hornet Drone Mod
|
||||||
"MRH_TacticalDisplay", //MRH Satellite Display Tablet
|
|
||||||
"MRH_FoldedSatcomAntenna" //MRH Satellite Satcom
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class tabbedItems { // Items that are allowed for individuals with Ranger Tab
|
class tabbedItems { // Items that are allowed for individuals with Ranger Tab
|
||||||
label = "TABBED ITEM";
|
label = "TABBED WEAPON";
|
||||||
description = "Items that are allowed for individuals with Ranger Tab.";
|
description = "Items that are allowed for individuals with Ranger Tab.";
|
||||||
items[] = {
|
items[] = {
|
||||||
"optic_tws", // Thermal Optic
|
"optic_tws", // Thermal Optic
|
||||||
@@ -283,22 +281,7 @@ class DisallowedEquipment {
|
|||||||
"rhs_weap_m16a4_grip_acog_usmc", //M16 Series
|
"rhs_weap_m16a4_grip_acog_usmc", //M16 Series
|
||||||
"rhs_weap_m16a4_grip_acog2_usmc", //M16 Series
|
"rhs_weap_m16a4_grip_acog2_usmc", //M16 Series
|
||||||
"rhs_weap_m32", //M32/MGL Series
|
"rhs_weap_m32", //M32/MGL Series
|
||||||
"rhs_weap_m32_usmc", //M32/MGL Series
|
"rhs_weap_m32_usmc" //M32/MGL Series
|
||||||
"G3_Multicam_Tee_WARLORD", //Tabbed T-Shirt
|
|
||||||
"G3_M81_Tee_WARLORD", //Tabbed T-Shirt
|
|
||||||
"G3_TGR_Tee_WARLORD", //Tabbed T-Shirt
|
|
||||||
"G3_Multicam_Tee_BLK", //Tabbed T-Shirt
|
|
||||||
"G3_M81_Tee_BLK", //Tabbed T-Shirt
|
|
||||||
"G3_TGR_Tee_BLK", //Tabbed T-Shirt
|
|
||||||
"G3_Multicam_Tee_Tan", //Tabbed T-Shirt
|
|
||||||
"G3_M81_Tee_Tan", //Tabbed T-Shirt
|
|
||||||
"G3_TGR_Tee_Tan", //Tabbed T-Shirt
|
|
||||||
"G3_Multicam_Tee_Gray", //Tabbed T-Shirt
|
|
||||||
"G3_M81_Tee_Gray", //Tabbed T-Shirt
|
|
||||||
"G3_TGR_Tee_Gray", //Tabbed T-Shirt
|
|
||||||
"G3_Multicam_Tee_Green", //Tabbed T-Shirt
|
|
||||||
"G3_M81_Tee_Green", //Tabbed T-Shirt
|
|
||||||
"G3_TGR_Tee_Green" //Tabbed T-Shirt
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,7 @@ class SupplyCrates {
|
|||||||
weapons[] = {
|
weapons[] = {
|
||||||
{"rhs_weap_M136",4},
|
{"rhs_weap_M136",4},
|
||||||
{"rhs_weap_M136_hp",4},
|
{"rhs_weap_M136_hp",4},
|
||||||
//{"rhs_weap_m72a7",2}
|
{"rhs_weap_m72a7",2}
|
||||||
{"JPSP_weap_m72ecmk1",2}
|
|
||||||
};
|
};
|
||||||
magazines[] = {
|
magazines[] = {
|
||||||
{"1Rnd_SmokePurple_Grenade_shell",12},
|
{"1Rnd_SmokePurple_Grenade_shell",12},
|
||||||
@@ -21,8 +20,7 @@ class SupplyCrates {
|
|||||||
{"ACE_40mm_Flare_ir",12},
|
{"ACE_40mm_Flare_ir",12},
|
||||||
{"rhsusf_200Rnd_556x45_mixed_soft_pouch_coyote",25},
|
{"rhsusf_200Rnd_556x45_mixed_soft_pouch_coyote",25},
|
||||||
{"rhsusf_20Rnd_762x51_m993_Mag",25},
|
{"rhsusf_20Rnd_762x51_m993_Mag",25},
|
||||||
{"SmokeShell",24},
|
{"SmokeShell",12},
|
||||||
{"ACE_M84",24},
|
|
||||||
{"rhs_mag_m67",24},
|
{"rhs_mag_m67",24},
|
||||||
{"1Rnd_Smoke_Grenade_shell",24},
|
{"1Rnd_Smoke_Grenade_shell",24},
|
||||||
{"1Rnd_SmokeRed_Grenade_shell",24},
|
{"1Rnd_SmokeRed_Grenade_shell",24},
|
||||||
@@ -35,11 +33,7 @@ class SupplyCrates {
|
|||||||
{"ACE_20Rnd_762x51_M993_AP_Mag",25},
|
{"ACE_20Rnd_762x51_M993_AP_Mag",25},
|
||||||
{"rhsusf_20Rnd_762x51_SR25_m993_Mag",25},
|
{"rhsusf_20Rnd_762x51_SR25_m993_Mag",25},
|
||||||
{"Tier1_20Rnd_762x51_M993_SR25_Mag",25},
|
{"Tier1_20Rnd_762x51_M993_SR25_Mag",25},
|
||||||
{"KAR_20Rnd_Fury_blk",25},
|
{"DemoCharge_Remote_Mag",16}
|
||||||
{"rhsusf_m112_mag",25},
|
|
||||||
{"JCA_20Rnd_762x51_PMAG",25},
|
|
||||||
{"JCA_20Rnd_762x51_Tracer_Red_PMAG",25},
|
|
||||||
{"KAR_100Rnd_Fury_blk",25},
|
|
||||||
};
|
};
|
||||||
items[] = {};
|
items[] = {};
|
||||||
};
|
};
|
||||||
@@ -62,8 +56,7 @@ class SupplyCrates {
|
|||||||
{"ACE_30Rnd_556x45_Stanag_M995_AP_mag",50},
|
{"ACE_30Rnd_556x45_Stanag_M995_AP_mag",50},
|
||||||
{"Titan_AA",10},
|
{"Titan_AA",10},
|
||||||
{"Titan_AT",10},
|
{"Titan_AT",10},
|
||||||
{"200Rnd_65x39_cased_Box_Tracer_Red",50},
|
{"200Rnd_65x39_cased_Box_Tracer_Red",50}
|
||||||
{"KAR_100Rnd_Fury_RT_blk",50}
|
|
||||||
};
|
};
|
||||||
items[] = {};
|
items[] = {};
|
||||||
};
|
};
|
||||||
@@ -84,7 +77,6 @@ class SupplyCrates {
|
|||||||
{"ACE_splint",48},
|
{"ACE_splint",48},
|
||||||
{"ACE_morphine",50},
|
{"ACE_morphine",50},
|
||||||
{"ACE_epinephrine",50},
|
{"ACE_epinephrine",50},
|
||||||
{"ACE_painkillers",20},
|
|
||||||
{"ACE_bloodIV",75},
|
{"ACE_bloodIV",75},
|
||||||
{"ACE_bloodIV_500",50},
|
{"ACE_bloodIV_500",50},
|
||||||
{"ACE_bloodIV_250",25},
|
{"ACE_bloodIV_250",25},
|
||||||
@@ -135,42 +127,6 @@ class SupplyCrates {
|
|||||||
items[] = {};
|
items[] = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
class SquadUtility {
|
|
||||||
boxClass = "Box_Syndicate_Ammo_F";
|
|
||||||
displayName = "Squad Utility Supply Crate";
|
|
||||||
tooltip = "A crate containing Flairs, Smokes, Breaching Charges";
|
|
||||||
icon = "\A3\ui_f\data\map\vehicleicons\iconCrateAmmo_ca.paa";
|
|
||||||
|
|
||||||
backpacks[] = {};
|
|
||||||
weapons[] = {};
|
|
||||||
magazines[] = {};
|
|
||||||
items[] = {
|
|
||||||
{"ACE_Chemlight_HiYellow",20},
|
|
||||||
{"ACE_Chemlight_HiBlue",20},
|
|
||||||
{"ACE_Chemlight_HiGreen",20},
|
|
||||||
{"ACE_Chemlight_HiRed",20},
|
|
||||||
{"ACE_Chemlight_UltraHiOrange",20},
|
|
||||||
{"ACE_HandFlare_Yellow",20},
|
|
||||||
{"ACE_HandFlare_White",20},
|
|
||||||
{"ACE_HandFlare_Red",20},
|
|
||||||
{"ACE_HandFlare_Green",20},
|
|
||||||
{"ACE_Chemlight_IR",20},
|
|
||||||
{"ACE_IR_Strobe_Item",20},
|
|
||||||
{"SmokeShellYellow",20},
|
|
||||||
{"SmokeShellBlue",20},
|
|
||||||
{"SmokeShellPurple",20},
|
|
||||||
{"SmokeShellOrange",20},
|
|
||||||
{"SmokeShellGreen",20},
|
|
||||||
{"SmokeShellRed",20},
|
|
||||||
{"tsp_popperCharge_auto_mag",10},
|
|
||||||
{"tsp_frameCharge_mag",20},
|
|
||||||
{"tsp_stickCharge_auto_mag",10},
|
|
||||||
{"ACE_CableTie",25},
|
|
||||||
{"DemoCharge_Remote_Mag",15},
|
|
||||||
{"TFAR_anprc152",3},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class MortarMk6Resupply {
|
class MortarMk6Resupply {
|
||||||
boxClass = "Box_NATO_WpsSpecial_F";
|
boxClass = "Box_NATO_WpsSpecial_F";
|
||||||
displayName = "Mortar MK6 Supply Crate";
|
displayName = "Mortar MK6 Supply Crate";
|
||||||
@@ -215,28 +171,4 @@ class SupplyCrates {
|
|||||||
};
|
};
|
||||||
items[] = {};
|
items[] = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ResupplyTire {
|
|
||||||
boxClass = "ACE_Wheel";
|
|
||||||
displayName = "Vehicle Tire";
|
|
||||||
tooltip = "A single tire for replacement";
|
|
||||||
icon = "A3\ui_f\data\igui\cfg\simpletasks\types\repair_ca.paa";
|
|
||||||
|
|
||||||
backpacks[] = {};
|
|
||||||
weapons[] = {};
|
|
||||||
magazines[] = {};
|
|
||||||
items[] = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
class ResupplyTrack {
|
|
||||||
boxClass = "ACE_Track";
|
|
||||||
displayName = "Vehicle Track";
|
|
||||||
tooltip = "A single track for replacement";
|
|
||||||
icon = "z\ace\addons\repair\ui\patch_ca.paa";
|
|
||||||
|
|
||||||
backpacks[] = {};
|
|
||||||
weapons[] = {};
|
|
||||||
magazines[] = {};
|
|
||||||
items[] = {};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
@@ -84,159 +84,30 @@ class VehicleFlags {
|
|||||||
actionID = "flag_simpleshape";
|
actionID = "flag_simpleshape";
|
||||||
actionTitle = "Simple Shapes";
|
actionTitle = "Simple Shapes";
|
||||||
|
|
||||||
class Blue {
|
class GreenOctagon {
|
||||||
actionID = "flags_simpleshape_blue";
|
actionID = "flag_simpleshape_greenoctagon";
|
||||||
actionTitle = "Blue";
|
actionTitle = "Green Octagon";
|
||||||
|
texture = "textures\simple_shape\flag_simpleshape_greenoctagon_co.paa";
|
||||||
class BlueCircle {
|
|
||||||
actionID = "flag_simpleshape_bluecircle";
|
|
||||||
actionTitle = "Blue Circle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_bluecircle_co.paa";
|
|
||||||
};
|
|
||||||
class BlueOctagon {
|
|
||||||
actionID = "flag_simpleshape_blueoctagon";
|
|
||||||
actionTitle = "Blue Octagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_blueoctagon_co.paa";
|
|
||||||
};
|
|
||||||
class BluePentagon {
|
|
||||||
actionID = "flag_simpleshape_bluepentagon";
|
|
||||||
actionTitle = "Blue Pentagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_bluepentagon_co.paa";
|
|
||||||
};
|
|
||||||
class BlueSquare {
|
|
||||||
actionID = "flag_simpleshape_bluesquare";
|
|
||||||
actionTitle = "Blue Square";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_bluesquare_co.paa";
|
|
||||||
};
|
|
||||||
class BlueTriangle {
|
|
||||||
actionID = "flag_simpleshape_bluetriangle";
|
|
||||||
actionTitle = "Blue Triangle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_bluetriangle_co.paa";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
class BlueCircle {
|
||||||
class Green {
|
actionID = "flag_simpleshape_bluecircle";
|
||||||
actionID = "flags_simpleshape_green";
|
actionTitle = "Blue Circle";
|
||||||
actionTitle = "Green";
|
texture = "textures\simple_shape\flag_simpleshape_bluecircle_co.paa";
|
||||||
|
|
||||||
class GreenCircle {
|
|
||||||
actionID = "flag_simpleshape_greencircle";
|
|
||||||
actionTitle = "Green Circle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_greencircle_co.paa";
|
|
||||||
};
|
|
||||||
class GreenOctagon {
|
|
||||||
actionID = "flag_simpleshape_greenoctagon";
|
|
||||||
actionTitle = "Green Octagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_greenoctagon_co.paa";
|
|
||||||
};
|
|
||||||
class GreenPentagon {
|
|
||||||
actionID = "flag_simpleshape_greenpentagon";
|
|
||||||
actionTitle = "Green Pentagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_greenpentagon_co.paa";
|
|
||||||
};
|
|
||||||
class GreenSquare {
|
|
||||||
actionID = "flag_simpleshape_greensquare";
|
|
||||||
actionTitle = "Green Square";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_greensquare_co.paa";
|
|
||||||
};
|
|
||||||
class GreenTriangle {
|
|
||||||
actionID = "flag_simpleshape_greentriangle";
|
|
||||||
actionTitle = "Green Triangle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_greentriangle_co.paa";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
class OrangeSquare {
|
||||||
class Orange {
|
actionID = "flag_simpleshape_orangesquare";
|
||||||
actionID = "flags_simpleshape_orange";
|
actionTitle = "Orange Square";
|
||||||
actionTitle = "Orange";
|
texture = "textures\simple_shape\flag_simpleshape_orangesquare_co.paa";
|
||||||
|
|
||||||
class OrangeCircle {
|
|
||||||
actionID = "flag_simpleshape_orangecircle";
|
|
||||||
actionTitle = "Orange Circle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_orangecircle_co.paa";
|
|
||||||
};
|
|
||||||
class OrangeOctagon {
|
|
||||||
actionID = "flag_simpleshape_orangeoctagon";
|
|
||||||
actionTitle = "Orange Octagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_orangeoctagon_co.paa";
|
|
||||||
};
|
|
||||||
class OrangePentagon {
|
|
||||||
actionID = "flag_simpleshape_orangepentagon";
|
|
||||||
actionTitle = "Orange Pentagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_orangepentagon_co.paa";
|
|
||||||
};
|
|
||||||
class OrangeSquare {
|
|
||||||
actionID = "flag_simpleshape_orangesquare";
|
|
||||||
actionTitle = "Orange Square";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_orangesquare_co.paa";
|
|
||||||
};
|
|
||||||
class OrangeTriangle {
|
|
||||||
actionID = "flag_simpleshape_orangetriangle";
|
|
||||||
actionTitle = "Orange Triangle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_orangetriangle_co.paa";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
class PinkTriangle {
|
||||||
class Pink {
|
actionID = "flag_simpleshape_pinktriangle";
|
||||||
actionID = "flags_simpleshape_pink";
|
actionTitle = "Pink Triangle";
|
||||||
actionTitle = "Pink";
|
texture = "textures\simple_shape\flag_simpleshape_pinktriangle_co.paa";
|
||||||
|
|
||||||
class PinkCircle {
|
|
||||||
actionID = "flag_simpleshape_pinkcircle";
|
|
||||||
actionTitle = "Pink Circle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_pinkcircle_co.paa";
|
|
||||||
};
|
|
||||||
class PinkOctagon {
|
|
||||||
actionID = "flag_simpleshape_pinkoctagon";
|
|
||||||
actionTitle = "Pink Octagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_pinkoctagon_co.paa";
|
|
||||||
};
|
|
||||||
class PinkPentagon {
|
|
||||||
actionID = "flag_simpleshape_pinkpentagon";
|
|
||||||
actionTitle = "Pink Pentagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_pinkpentagon_co.paa";
|
|
||||||
};
|
|
||||||
class PinkSquare {
|
|
||||||
actionID = "flag_simpleshape_pinksquare";
|
|
||||||
actionTitle = "Pink Square";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_pinksquare_co.paa";
|
|
||||||
};
|
|
||||||
class PinkTriangle {
|
|
||||||
actionID = "flag_simpleshape_pinktriangle";
|
|
||||||
actionTitle = "Pink Triangle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_pinktriangle_co.paa";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
class RedPentagon {
|
||||||
class Red {
|
actionID = "flag_simpleshape_redpentagon";
|
||||||
actionID = "flags_simpleshape_red";
|
actionTitle = "Red Pentagon";
|
||||||
actionTitle = "Red";
|
texture = "textures\simple_shape\flag_simpleshape_redpentagon_co.paa";
|
||||||
|
|
||||||
class RedCircle {
|
|
||||||
actionID = "flag_simpleshape_redcircle";
|
|
||||||
actionTitle = "Red Circle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_redcircle_co.paa";
|
|
||||||
};
|
|
||||||
class RedOctagon {
|
|
||||||
actionID = "flag_simpleshape_redoctagon";
|
|
||||||
actionTitle = "Red Octagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_redoctagon_co.paa";
|
|
||||||
};
|
|
||||||
class RedPentagon {
|
|
||||||
actionID = "flag_simpleshape_redpentagon";
|
|
||||||
actionTitle = "Red Pentagon";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_redpentagon_co.paa";
|
|
||||||
};
|
|
||||||
class RedSquare {
|
|
||||||
actionID = "flag_simpleshape_redsquare";
|
|
||||||
actionTitle = "Red Square";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_redsquare_co.paa";
|
|
||||||
};
|
|
||||||
class RedTriangle {
|
|
||||||
actionID = "flag_simpleshape_redtriangle";
|
|
||||||
actionTitle = "Red Triangle";
|
|
||||||
texture = "textures\simple_shape\flag_simpleshape_redtriangle_co.paa";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -248,11 +119,6 @@ class VehicleFlags {
|
|||||||
actionTitle = "17th Emblem";
|
actionTitle = "17th Emblem";
|
||||||
texture = "textures\flags_misc\flag_17th_emblem_co.paa";
|
texture = "textures\flags_misc\flag_17th_emblem_co.paa";
|
||||||
};
|
};
|
||||||
class WarlordEmblem {
|
|
||||||
actionID = "flag_17th_warlord";
|
|
||||||
actionTitle = "Warlord Emblem";
|
|
||||||
texture = "textures\flags_misc\flag_17th_warlord_co.paa";
|
|
||||||
};
|
|
||||||
class RedCross {
|
class RedCross {
|
||||||
actionID = "flag_redcross";
|
actionID = "flag_redcross";
|
||||||
actionTitle = "Red Cross";
|
actionTitle = "Red Cross";
|
||||||
|
|||||||
@@ -96,10 +96,6 @@ class CfgFunctions {
|
|||||||
#include "custom_scripts.hpp"
|
#include "custom_scripts.hpp"
|
||||||
};
|
};
|
||||||
|
|
||||||
class CfgSounds {
|
|
||||||
#include "custom_sounds.hpp"
|
|
||||||
};
|
|
||||||
|
|
||||||
class CfgLeaflets {
|
class CfgLeaflets {
|
||||||
#include "custom_leaflets.hpp"
|
#include "custom_leaflets.hpp"
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -120,7 +120,6 @@ class DOUBLES(PREFIX,performance) {
|
|||||||
class addServerStatsPFH {};
|
class addServerStatsPFH {};
|
||||||
class calculateServerStats {};
|
class calculateServerStats {};
|
||||||
class addEmptyGroupCleanupPFH {};
|
class addEmptyGroupCleanupPFH {};
|
||||||
class addDeadUnitCleanupPFH {};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -175,8 +174,6 @@ class DOUBLES(PREFIX,vehicleFlags) {
|
|||||||
class addFlagActions {};
|
class addFlagActions {};
|
||||||
class draw3D {};
|
class draw3D {};
|
||||||
class getActionsFlagCategories {};
|
class getActionsFlagCategories {};
|
||||||
class compileFlagAction {};
|
|
||||||
class compileFlagCategoryAction {};
|
|
||||||
class getVehicleFlagsCfg {};
|
class getVehicleFlagsCfg {};
|
||||||
class isClassExcluded {};
|
class isClassExcluded {};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,18 +14,15 @@ if ( !hasInterface ) exitWith {};
|
|||||||
addMissionEventHandler ["HandleChatMessage",
|
addMissionEventHandler ["HandleChatMessage",
|
||||||
{
|
{
|
||||||
params ["_channel", "_owner", "_from", "_text", "_person", "_name", "_strID", "_forcedDisplay", "_isPlayerMessage", "_sentenceType", "_chatMessageType"];
|
params ["_channel", "_owner", "_from", "_text", "_person", "_name", "_strID", "_forcedDisplay", "_isPlayerMessage", "_sentenceType", "_chatMessageType"];
|
||||||
|
|
||||||
|
if ( missionNamespace getVariable ["milsim_sideChat", false] ) exitWith{ false };
|
||||||
|
|
||||||
|
if (_channel != 1) exitWith { false };
|
||||||
|
|
||||||
if ( ( admin _owner ) != 0 ) exitWith { false };
|
if ( ( admin _owner ) != 0 ) exitWith { false };
|
||||||
|
|
||||||
if ( !isNull ( getAssignedCuratorLogic _person ) ) exitWith { false };
|
if ( !isNull ( getAssignedCuratorLogic _person ) ) exitWith { false };
|
||||||
|
|
||||||
if ( (missionNamespace getVariable ["milsim_globalChat", false] ) && ( _channel == 0 ) ) exitWith{ false };
|
|
||||||
if ( (missionNamespace getVariable ["milsim_sideChat", false] ) && ( _channel == 1 ) ) exitWith{ false };
|
|
||||||
if ( (missionNamespace getVariable ["milsim_commandChat", false] && ( _channel == 2 ) ) ) exitWith{ false };
|
|
||||||
if ( (missionNamespace getVariable ["milsim_groupChat", false] ) && ( _channel == 3 ) ) exitWith{ false };
|
|
||||||
if ( (missionNamespace getVariable ["milsim_vehicleChat", false] && ( _channel == 4 ) ) ) exitWith{ false };
|
|
||||||
if ( (missionNamespace getVariable ["milsim_directChat", false] ) && ( _channel == 5 ) ) exitWith{ false };
|
|
||||||
|
|
||||||
true;
|
true;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ if ( !hasInterface ) exitWith {};
|
|||||||
if (not (local _unit)) exitWith {};
|
if (not (local _unit)) exitWith {};
|
||||||
|
|
||||||
private _causeOfDeath = _unit getVariable ["ace_medical_causeOfDeath", "#scripted"];
|
private _causeOfDeath = _unit getVariable ["ace_medical_causeOfDeath", "#scripted"];
|
||||||
private _triageLevel = _unit call ace_medical_treatment_fnc_getTriageStatus;
|
|
||||||
|
|
||||||
if (_causeOfDeath != "respawn_button") exitWith {};
|
if (_causeOfDeath != "respawn_button") exitWith {};
|
||||||
private _timeWentUnconscious = _unit getVariable [QGVARMAIN(lastTimeKnockedOut), -1];
|
private _timeWentUnconscious = _unit getVariable [QGVARMAIN(lastTimeKnockedOut), -1];
|
||||||
@@ -16,13 +15,13 @@ if ( !hasInterface ) exitWith {};
|
|||||||
if (_timeWentUnconscious isEqualTo -1) exitWith {};
|
if (_timeWentUnconscious isEqualTo -1) exitWith {};
|
||||||
|
|
||||||
_durationSpentUnconscious = diag_tickTime - _timeWentUnconscious;
|
_durationSpentUnconscious = diag_tickTime - _timeWentUnconscious;
|
||||||
|
|
||||||
[
|
[
|
||||||
LEVEL_INFO,
|
LEVEL_INFO,
|
||||||
QUOTE(COMPONENT),
|
QUOTE(COMPONENT),
|
||||||
"RESPAWNED WHILE UNCONSCIOUS",
|
"RESPAWNED WHILE UNCONSCIOUS",
|
||||||
[_unit, [
|
[_unit, [
|
||||||
["durationSpentUnconscious", _durationSpentUnconscious],
|
["durationSpentUnconscious", _durationSpentUnconscious]
|
||||||
["triageLevel", _triageLevel#1]
|
|
||||||
]] call EFUNC(common,addPlayerInfoToArray)
|
]] call EFUNC(common,addPlayerInfoToArray)
|
||||||
] remoteExec [QEFUNC(common,log), 2];
|
] remoteExec [QEFUNC(common,log), 2];
|
||||||
// format["%1 was unconscious then clicked the respawn button", name _unit] remoteExec["systemChat", 0];
|
// format["%1 was unconscious then clicked the respawn button", name _unit] remoteExec["systemChat", 0];
|
||||||
|
|||||||
@@ -1,33 +1,15 @@
|
|||||||
#include "..\script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
|
|
||||||
//---------------------
|
|
||||||
// Global Chat
|
|
||||||
//---------------------
|
|
||||||
[
|
|
||||||
QGVARMAIN(globalChat),
|
|
||||||
"CHECKBOX",
|
|
||||||
"Global Chat Text Enabled",
|
|
||||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
|
||||||
true, // default value
|
|
||||||
true, // requires restart
|
|
||||||
{
|
|
||||||
params ["_value"];
|
|
||||||
[
|
|
||||||
QGVARMAIN(globalChat),
|
|
||||||
_value
|
|
||||||
] call EFUNC(common,logSettingChanged);
|
|
||||||
}
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
//---------------------
|
//---------------------
|
||||||
// Side Chat
|
// Side Chat
|
||||||
//---------------------
|
//---------------------
|
||||||
|
|
||||||
[
|
[
|
||||||
QGVARMAIN(sideChat),
|
QGVARMAIN(sideChat),
|
||||||
"CHECKBOX",
|
"CHECKBOX",
|
||||||
"Side Chat Text Enabled",
|
"Side Chat Text Enabled",
|
||||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
||||||
true, // default value
|
false, // default value
|
||||||
true, // requires restart
|
true, // requires restart
|
||||||
{
|
{
|
||||||
params ["_value"];
|
params ["_value"];
|
||||||
@@ -38,92 +20,7 @@
|
|||||||
}
|
}
|
||||||
] call CBA_fnc_addSetting;
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
|
||||||
//---------------------
|
|
||||||
// Command Chat
|
|
||||||
//---------------------
|
|
||||||
[
|
|
||||||
QGVARMAIN(commandChat),
|
|
||||||
"CHECKBOX",
|
|
||||||
"Command Chat Text Enabled",
|
|
||||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
|
||||||
true, // default value
|
|
||||||
true, // requires restart
|
|
||||||
{
|
|
||||||
params ["_value"];
|
|
||||||
[
|
|
||||||
QGVARMAIN(commandChat),
|
|
||||||
_value
|
|
||||||
] call EFUNC(common,logSettingChanged);
|
|
||||||
}
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
//---------------------
|
|
||||||
// Group Chat
|
|
||||||
//---------------------
|
|
||||||
[
|
|
||||||
QGVARMAIN(groupChat),
|
|
||||||
"CHECKBOX",
|
|
||||||
"Group Chat Text Enabled",
|
|
||||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
|
||||||
true, // default value
|
|
||||||
true, // requires restart
|
|
||||||
{
|
|
||||||
params ["_value"];
|
|
||||||
[
|
|
||||||
QGVARMAIN(groupChat),
|
|
||||||
_value
|
|
||||||
] call EFUNC(common,logSettingChanged);
|
|
||||||
}
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------
|
|
||||||
// Vehicle Chat
|
|
||||||
//---------------------
|
|
||||||
[
|
|
||||||
QGVARMAIN(vehicleChat),
|
|
||||||
"CHECKBOX",
|
|
||||||
"Vehicle Chat Text Enabled",
|
|
||||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
|
||||||
true, // default value
|
|
||||||
true, // requires restart
|
|
||||||
{
|
|
||||||
params ["_value"];
|
|
||||||
[
|
|
||||||
QGVARMAIN(vehicleChat),
|
|
||||||
_value
|
|
||||||
] call EFUNC(common,logSettingChanged);
|
|
||||||
}
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------
|
|
||||||
// Vehicle Chat
|
|
||||||
//---------------------
|
|
||||||
[
|
|
||||||
QGVARMAIN(directChat),
|
|
||||||
"CHECKBOX",
|
|
||||||
"Direct Chat Text Enabled",
|
|
||||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
|
||||||
true, // default value
|
|
||||||
true, // requires restart
|
|
||||||
{
|
|
||||||
params ["_value"];
|
|
||||||
[
|
|
||||||
QGVARMAIN(directChat),
|
|
||||||
_value
|
|
||||||
] call EFUNC(common,logSettingChanged);
|
|
||||||
}
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
|
|
||||||
[QGVARMAIN(globalChat), false] call CBA_settings_fnc_set;
|
|
||||||
[QGVARMAIN(sideChat), false] call CBA_settings_fnc_set;
|
[QGVARMAIN(sideChat), false] call CBA_settings_fnc_set;
|
||||||
[QGVARMAIN(commandChat), false] call CBA_settings_fnc_set;
|
|
||||||
[QGVARMAIN(groupChat), false] call CBA_settings_fnc_set;
|
|
||||||
[QGVARMAIN(vehicleChat), false] call CBA_settings_fnc_set;
|
|
||||||
[QGVARMAIN(directChat), false] call CBA_settings_fnc_set;
|
|
||||||
|
|
||||||
diag_log text "[MILSIM] (settings) Custom CBA settings initialized";
|
diag_log text "[MILSIM] (settings) Custom CBA settings initialized";
|
||||||
|
|
||||||
|
|||||||
@@ -21,37 +21,6 @@ _curators = allMissionObjects "ModuleCurator_F";
|
|||||||
_x removeCuratorAddons ["A3_Modules_F_Curator_Lightning"];
|
_x removeCuratorAddons ["A3_Modules_F_Curator_Lightning"];
|
||||||
} foreach _curators;
|
} foreach _curators;
|
||||||
|
|
||||||
// add dead unit time marking for custom garbage cleanup function
|
|
||||||
addMissionEventHandler ["EntityKilled", {
|
|
||||||
params ["_unit", "_killer", "_instigator", "_useEffects"];
|
|
||||||
|
|
||||||
if not (_unit isKindOf "CAManBase") exitWith {};
|
|
||||||
|
|
||||||
_unit setVariable["milsim_death_time", time];
|
|
||||||
|
|
||||||
_unit addEventHandler ["Deleted", {
|
|
||||||
params ["_entity"];
|
|
||||||
_remainsCollector = _entity getVariable["milsim_garbage_collected", false];
|
|
||||||
_decayTime = time - (_entity getVariable ["milsim_death_time", time]);
|
|
||||||
|
|
||||||
_i = allUsers select { (getUserInfo _x)#1 isEqualTo _ownerId;};
|
|
||||||
_owner = if ( _i isEqualTo []) then [ { "server" }, { (getUserInfo (_i#0))#3 }];
|
|
||||||
|
|
||||||
diag_log format["isServer: %5, deleted object owned by: %1 via remainsCollector: %2 after %3 seconds of type: %4", _owner, str (not _remainsCollector), _decayTime, _entity, isServer];
|
|
||||||
}];
|
|
||||||
}];
|
|
||||||
|
|
||||||
|
|
||||||
// add zeus deletion logging to curator objects
|
|
||||||
{
|
|
||||||
_x addEventHandler ["CuratorObjectDeleted", {
|
|
||||||
params ["_curator", "_entity"];
|
|
||||||
|
|
||||||
_decayTime = time - (_entity getVariable ["milsim_death_time", time]);
|
|
||||||
diag_log format["deleted object: %1 via curator: %2 after %3 seconds", _entity, name _curator, _decayTime];
|
|
||||||
}];
|
|
||||||
} foreach _curators;
|
|
||||||
|
|
||||||
// declare init complete to other modules
|
// declare init complete to other modules
|
||||||
missionNamespace setVariable [QGVARMAIN(complete), true, true];
|
missionNamespace setVariable [QGVARMAIN(complete), true, true];
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
#include "..\script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
|
|
||||||
//---------------------
|
|
||||||
// Garbage Collection
|
|
||||||
//---------------------
|
|
||||||
|
|
||||||
[
|
[
|
||||||
QGVAR(emptyGroupCleanup_enable),
|
QGVAR(emptyGroupCleanup_enable),
|
||||||
"CHECKBOX",
|
"CHECKBOX",
|
||||||
@@ -26,28 +22,6 @@
|
|||||||
}
|
}
|
||||||
] call CBA_fnc_addSetting;
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
[
|
|
||||||
QGVAR(deadUnitCleanup_enable),
|
|
||||||
"CHECKBOX",
|
|
||||||
"Dead Unit Cleanup Enabled",
|
|
||||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
{
|
|
||||||
params ["_value"];
|
|
||||||
[
|
|
||||||
QGVAR(deadUnitCleanup_enable),
|
|
||||||
_value
|
|
||||||
] call EFUNC(common,logSettingChanged);
|
|
||||||
|
|
||||||
if (!isNull (missionNamespace getVariable [QGVAR(deadUnitCleanupPFH), locationNull])) then {
|
|
||||||
deleteLocation GVAR(deadUnitCleanupPFH);
|
|
||||||
};
|
|
||||||
|
|
||||||
call FUNC(addDeadUnitCleanupPFH);
|
|
||||||
}
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
//---------------------
|
//---------------------
|
||||||
// Server CPS
|
// Server CPS
|
||||||
//---------------------
|
//---------------------
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
#include "..\script_component.hpp"
|
|
||||||
|
|
||||||
[
|
|
||||||
LEVEL_INFO,
|
|
||||||
QUOTE(COMPONENT),
|
|
||||||
"Initializing dead unit deletion PFH",
|
|
||||||
[]
|
|
||||||
] call EFUNC(common,log);
|
|
||||||
|
|
||||||
GVAR(deadUnitCleanupPFH) = [
|
|
||||||
{
|
|
||||||
_maxTime = getMissionConfigValue ["corpseRemovalMaxTime", 300] * 1.5;
|
|
||||||
_maxDead = getMissionConfigValue ["corpseLimit", 80];
|
|
||||||
|
|
||||||
// _dead = allDead select { (_x isKindOf "CAManBase") and ( ( (time - (_x getVariable ["milsim_death_time", time] ) ) > (_maxTime * 1.5) ) ) };
|
|
||||||
// _dead = _dead apply { [ (time - (_x getVariable ["milsim_death_time", time] ) ), _x ] };
|
|
||||||
|
|
||||||
_dead = [];
|
|
||||||
{
|
|
||||||
if not (_x isKindOf "CAManBase") then { continue };
|
|
||||||
if not (isInRemainsCollector _x) then { continue };
|
|
||||||
_dead pushBack [time - (_x getVariable ["milsim_death_time", time] ), _x];
|
|
||||||
} forEach allDead;
|
|
||||||
|
|
||||||
_dead sort false;
|
|
||||||
_toDelete = 0 max ( (count _dead ) - _maxDead );
|
|
||||||
_dead = _dead select [0, _toDelete];
|
|
||||||
{
|
|
||||||
_unit = _x#1;
|
|
||||||
_unit setVariable ["milsim_garbage_collected", true];
|
|
||||||
deleteVehicle (_unit);
|
|
||||||
} foreach _dead;
|
|
||||||
},
|
|
||||||
450,
|
|
||||||
[],
|
|
||||||
{ // on creation
|
|
||||||
[
|
|
||||||
LEVEL_INFO,
|
|
||||||
QUOTE(COMPONENT),
|
|
||||||
"dead unit deletion PFH loaded",
|
|
||||||
[]
|
|
||||||
] call EFUNC(common,log);
|
|
||||||
},
|
|
||||||
{ // on deletion
|
|
||||||
[
|
|
||||||
LEVEL_INFO,
|
|
||||||
QUOTE(COMPONENT),
|
|
||||||
"dead unit deletion PFH unloaded",
|
|
||||||
[]
|
|
||||||
] call EFUNC(common,log);
|
|
||||||
},
|
|
||||||
{ (missionNamespace getVariable [QGVAR(deadUnitCleanup_enable), false]) },
|
|
||||||
{ false },
|
|
||||||
[]
|
|
||||||
] call CBA_fnc_createPerFrameHandlerObject;
|
|
||||||
@@ -14,7 +14,7 @@ localNamespace setVariable [QGVAR(checkReinsertQueueClassesAdded), []];
|
|||||||
localNamespace setVariable [QGVAR(lastReinsertQueueCheck), diag_tickTime];
|
localNamespace setVariable [QGVAR(lastReinsertQueueCheck), diag_tickTime];
|
||||||
|
|
||||||
// add actions to pilot classes, and don't apply to child classes
|
// add actions to pilot classes, and don't apply to child classes
|
||||||
// [["B_Helipilot_F", "B_helicrew_F"], false] call FUNC(addCheckQueueSelfAction);
|
[["B_Helipilot_F", "B_helicrew_F"], false] call FUNC(addCheckQueueSelfAction);
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ if (isNil "_items") exitWith {
|
|||||||
[_box,1] call ace_cargo_fnc_setSize;
|
[_box,1] call ace_cargo_fnc_setSize;
|
||||||
|
|
||||||
// ignore weight restrictions for carry/drag
|
// ignore weight restrictions for carry/drag
|
||||||
_box setVariable ["ace_dragging_ignoreWeightCarry", true, true];
|
_box setVariable ["ace_ignoreWeightCarry", true, true];
|
||||||
|
|
||||||
// Return the box
|
// Return the box
|
||||||
_box;
|
_box;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#define MAJOR 4
|
#define MAJOR 4
|
||||||
#define MINOR 2
|
#define MINOR 1
|
||||||
#define PATCHLVL 3
|
#define PATCHLVL 2
|
||||||
#define BUILD 0
|
#define BUILD 0
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
#include "..\script_component.hpp"
|
|
||||||
|
|
||||||
params ["_target", "_player", "_params", "_flagOptionCfg"];
|
|
||||||
_params params ["_rootActionID", "_flagCategoryActionID", "_flagSubclassesCfgs"];
|
|
||||||
|
|
||||||
private _flagOptionID = getText(_flagOptionCfg >> "actionID");
|
|
||||||
private _flagOptionTitle = getText(_flagOptionCfg >> "actionTitle");
|
|
||||||
private _flagOptionTexture = getText(_flagOptionCfg >> "texture");
|
|
||||||
|
|
||||||
// if the texture doesn't exist at the config path, skip this flag option
|
|
||||||
if (not (fileExists _flagOptionTexture)) then {
|
|
||||||
diag_log format ["WARN: Flag option texture not found: %1", _flagOptionTexture];
|
|
||||||
continue
|
|
||||||
};
|
|
||||||
|
|
||||||
// diag_log format ["NewFlagOption: %1 %2", _flagOptionID, _flagOptionData];
|
|
||||||
|
|
||||||
private _newFlagOption = [
|
|
||||||
|
|
||||||
_rootActionID + "_" + _flagCategoryActionID + "_" + _flagOptionID, // id
|
|
||||||
_flagOptionTitle, // displayed title
|
|
||||||
_flagOptionTexture, // flag icon
|
|
||||||
{
|
|
||||||
params ["_target", "_player", "_params"];
|
|
||||||
_params params ["_flagOptionTexture"];
|
|
||||||
_target forceFlagTexture _flagOptionTexture;
|
|
||||||
}, // statement
|
|
||||||
{
|
|
||||||
params ["_target", "_player", "_params"];
|
|
||||||
alive _target;
|
|
||||||
// true;
|
|
||||||
}, // condition
|
|
||||||
nil, // child code
|
|
||||||
[_flagOptionTexture], // params
|
|
||||||
nil, // position
|
|
||||||
4, // distance
|
|
||||||
[false, false, false, false, false] // other params
|
|
||||||
] call ace_interact_menu_fnc_createAction;
|
|
||||||
|
|
||||||
_newFlagOption;
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
#include "..\script_component.hpp"
|
|
||||||
|
|
||||||
// diag_log format ["NewFlagCategory: %1 %2", _flagCategory, _flagOptions];
|
|
||||||
|
|
||||||
params ["_rootActionID", "_flagCategoryCfg"];
|
|
||||||
private _flagCategoryActionID = getText(_flagCategoryCfg >> "actionID");
|
|
||||||
private _flagCategoryTitle = getText(_flagCategoryCfg >> "actionTitle");
|
|
||||||
|
|
||||||
private _flagSubclassesCfgs = _flagCategoryCfg call BIS_fnc_returnChildren;
|
|
||||||
|
|
||||||
private _flagCategoryAction = [
|
|
||||||
_rootActionID + "_" + _flagCategoryActionID, // id
|
|
||||||
_flagCategoryTitle, // displayed title
|
|
||||||
getText((_flagSubclassesCfgs#0) >> "texture"), // flag icon for category - use first flag option
|
|
||||||
{true}, // statement
|
|
||||||
{
|
|
||||||
params ["_target", "_player", "_params"];
|
|
||||||
alive _target;
|
|
||||||
// true;
|
|
||||||
}, // condition
|
|
||||||
{
|
|
||||||
// generate child code under category
|
|
||||||
// this is the level where actual flag options will be displayed
|
|
||||||
params ["_target", "_player", "_params"];
|
|
||||||
// these params are passed from the parent action
|
|
||||||
_params params ["_rootActionID", "_flagCategoryActionID", "_flagSubclassesCfgs"];
|
|
||||||
|
|
||||||
private _individualFlagActions = [];
|
|
||||||
{ // forEach _flagSubclassesCfgs; // we'll generate flag options for each category
|
|
||||||
private _flagOptionCfg = _x;
|
|
||||||
|
|
||||||
// generate flag option for this flag option
|
|
||||||
private _newFlagOption = [
|
|
||||||
_target,
|
|
||||||
_player,
|
|
||||||
_params,
|
|
||||||
_flagOptionCfg
|
|
||||||
] call FUNC(compileFlagAction);
|
|
||||||
|
|
||||||
// add flag option to category subactions
|
|
||||||
_individualFlagActions pushBack [_newFlagOption, [], _target];
|
|
||||||
} forEach _flagSubclassesCfgs;
|
|
||||||
|
|
||||||
// return the generated flag options to the category as child actions
|
|
||||||
_individualFlagActions;
|
|
||||||
}, // child code
|
|
||||||
[_rootActionID, _flagCategoryActionID, _flagSubclassesCfgs], // params
|
|
||||||
nil, // position
|
|
||||||
4, // distance
|
|
||||||
[false, false, false, false, false], // other params
|
|
||||||
nil // modifier function code
|
|
||||||
] call ace_interact_menu_fnc_createAction;
|
|
||||||
|
|
||||||
_flagCategoryAction;
|
|
||||||
@@ -5,25 +5,86 @@
|
|||||||
0: STRING - Parent action ID
|
0: STRING - Parent action ID
|
||||||
1: ARRAY - Flag category configs
|
1: ARRAY - Flag category configs
|
||||||
*/
|
*/
|
||||||
#include "..\script_component.hpp"
|
|
||||||
|
|
||||||
params ["_rootActionID", "_flagCategoryCfgs"];
|
params ["_rootActionID", "_flagCategoryCfgs"];
|
||||||
|
|
||||||
private _allCategoryActions = [];
|
private _allCategoryActions = [];
|
||||||
|
|
||||||
{
|
{
|
||||||
_flagCategoryActions = [];
|
// diag_log format ["NewFlagCategory: %1 %2", _flagCategory, _flagOptions];
|
||||||
if (configName _x == "SimpleShapes") then {
|
|
||||||
|
private _flagCategoryCfg = _x;
|
||||||
|
private _flagCategoryActionID = getText(_flagCategoryCfg >> "actionID");
|
||||||
|
private _flagCategoryTitle = getText(_flagCategoryCfg >> "actionTitle");
|
||||||
|
|
||||||
|
private _flagSubclassesCfgs = _flagCategoryCfg call BIS_fnc_returnChildren;
|
||||||
|
|
||||||
|
private _flagCategoryAction = [
|
||||||
|
_rootActionID + "_" + _flagCategoryActionID, // id
|
||||||
|
_flagCategoryTitle, // displayed title
|
||||||
|
getText((_flagSubclassesCfgs#0) >> "texture"), // flag icon for category - use first flag option
|
||||||
|
{true}, // statement
|
||||||
{
|
{
|
||||||
_flagCategoryActions pushBack ([_rootActionID, _x] call FUNC(compileFlagCategoryAction));
|
params ["_target", "_player", "_params"];
|
||||||
} forEach (_x call BIS_fnc_returnChildren);
|
alive _target;
|
||||||
} else {
|
// true;
|
||||||
_flagCategoryActions pushBack ([_rootActionID, _x] call FUNC(compileFlagCategoryAction));
|
}, // condition
|
||||||
};
|
{
|
||||||
|
// generate child code under category
|
||||||
|
// this is the level where actual flag options will be displayed
|
||||||
|
params ["_target", "_player", "_params"];
|
||||||
|
_params params ["_rootActionID", "_flagCategoryActionID", "_flagSubclassesCfgs"];
|
||||||
|
|
||||||
|
private _individualFlagActions = [];
|
||||||
|
{ // forEach _flagSubclassesCfgs;
|
||||||
|
private _flagOptionCfg = _x;
|
||||||
|
private _flagOptionID = getText(_flagOptionCfg >> "actionID");
|
||||||
|
private _flagOptionTitle = getText(_flagOptionCfg >> "actionTitle");
|
||||||
|
private _flagOptionTexture = getText(_flagOptionCfg >> "texture");
|
||||||
|
|
||||||
|
// if the texture doesn't exist at the config path, skip this flag option
|
||||||
|
if (not (fileExists _flagOptionTexture)) then {continue};
|
||||||
|
|
||||||
|
// diag_log format ["NewFlagOption: %1 %2", _flagOptionID, _flagOptionData];
|
||||||
|
|
||||||
|
private _newFlagOption = [
|
||||||
|
|
||||||
|
_rootActionID + "_" + _flagCategoryActionID + "_" + _flagOptionID, // id
|
||||||
|
_flagOptionTitle, // displayed title
|
||||||
|
_flagOptionTexture, // flag icon
|
||||||
|
{
|
||||||
|
params ["_target", "_player", "_params"];
|
||||||
|
_params params ["_flagOptionTexture"];
|
||||||
|
_target forceFlagTexture _flagOptionTexture;
|
||||||
|
}, // statement
|
||||||
|
{
|
||||||
|
params ["_target", "_player", "_params"];
|
||||||
|
alive _target;
|
||||||
|
// true;
|
||||||
|
}, // condition
|
||||||
|
nil, // child code
|
||||||
|
[_flagOptionTexture], // params
|
||||||
|
nil, // position
|
||||||
|
4, // distance
|
||||||
|
[false, false, false, false, false] // other params
|
||||||
|
] call ace_interact_menu_fnc_createAction;
|
||||||
|
|
||||||
|
// add flag option to category subactions
|
||||||
|
_individualFlagActions pushBack [_newFlagOption, [], _target];
|
||||||
|
} forEach _flagSubclassesCfgs;
|
||||||
|
|
||||||
|
// return the generated flag options to the category as child actions
|
||||||
|
_individualFlagActions;
|
||||||
|
}, // child code
|
||||||
|
[_rootActionID, _flagCategoryActionID, _flagSubclassesCfgs], // params
|
||||||
|
nil, // position
|
||||||
|
4, // distance
|
||||||
|
[false, false, false, false, false], // other params
|
||||||
|
nil // modifier function code
|
||||||
|
] call ace_interact_menu_fnc_createAction;
|
||||||
|
|
||||||
// add category to all category actions array
|
// add category to all category actions array
|
||||||
{
|
_allCategoryActions pushBack [_flagCategoryAction, [], _target];
|
||||||
_allCategoryActions pushBack [_x, [], _target];
|
|
||||||
} forEach _flagCategoryActions;
|
|
||||||
} forEach _flagCategoryCfgs;
|
} forEach _flagCategoryCfgs;
|
||||||
|
|
||||||
_allCategoryActions;
|
_allCategoryActions;
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user