Added cse_sys_ieds source

This commit is contained in:
Thomas Kooi 2015-01-12 23:28:31 +01:00
parent a0f98b2e11
commit 91c77cdb7b
35 changed files with 2069 additions and 0 deletions

View File

@ -0,0 +1,7 @@
class CfgAddons {
class PreloadAddons {
class cse_sys_ieds {
list[] = {"cse_sys_ieds"};
};
};
};

View File

@ -0,0 +1,24 @@
class CfgFunctions {
class CSE {
class IEDS {
file = "cse\cse_sys_ieds\functions";
class module_spawnIED { recompile = 1; };
class createIEDObject_IEDS { recompile = 1; };
class checkIEDActivated_IEDS { recompile = 1; };
class checkPressurePlateActivated_IEDS { recompile = 1; };
class checkRadioTriggered_IEDS { recompile = 1; };
class monitorIEDS_IEDS { recompile = 1; };
class onIEDActivated_IEDS { recompile = 1; };
class thor3_detection_IEDS { recompile = 1; };
class playThorIIISound_IEDS { recompile = 1; };
class triggerManGotVisual_IEDS { recompile = 1; };
class moduleTriggerMan_IEDS { recompile = 1; };
class placeDownIED_IEDS { recompile = 1; };
class monitorPlayerIEDs_IEDS { recompile = 1; };
class onCellPhoneOpened_IEDS { recompile = 1; };
class cellphone_detonateIED_IEDS { recompile = 1; };
class checkIfJammed_IEDS { recompile = 1; };
};
};
};

View File

@ -0,0 +1,9 @@
class CfgSounds
{
class cse_thor3_beep1
{
name = "cse_thor3_beep1";
sound[] = {"cse\cse_sys_ieds\sounds\beeps\03_Dull_Short_Mid.wav","db-1",1};
titles[] = {};
};
};

View File

@ -0,0 +1,203 @@
class CfgVehicles {
class Logic;
class Module_F: Logic {
class ArgumentsBaseUnits {
};
};
class cse_playerSpawnedIED: Logic {
displayName = "Player placed IED";
};
class cseModule_spawnIEDs: Module_F {
scope = 2;
displayName = "Create IED [CSE]";
icon = "\cse\cse_main\data\cse_explosive_module.paa";
category = "cseMisc";
function = "cse_fnc_module_spawnIED";
functionPriority = 1;
isGlobal = 0;
isTriggerActivated = 0;
class Arguments {
class typeOfIED {
displayName = "Type";
description = "The Type of the IED";
typeName = "NUMBER";
class values {
class land {name="Normal"; value=0; default=1; };
class urban {name="Urban"; value=1; };
};
};
class sizeOfIED {
displayName = "Size";
description = "The size of the IED";
typeName = "NUMBER";
class values {
class small {name="Small"; value=1; default=1; };
class large {name="Large"; value=0; };
};
};
class heightOfIED {
displayName = "Height";
description = "The height that the IED is burried";
typeName = "NUMBER";
class values {
class Above {name="Above Ground"; value=0; default=1; };
class slightly {name="Slightly burried"; value=-0.015; };
class medium {name="Medium burried"; value=-0.025; };
class almost {name="Almost burried"; value=-0.05; };
class fully {name="Fully burried"; value=-0.1; };
};
};
class iedActivationType {
displayName = "Activation Type";
description = "How is the IED activated";
typeName = "NUMBER";
class values {
class None {name="None"; value=-1; };
class PressurePlate {name="Pressure Plate"; value=0; default=1;};
class Radio {name="Radio"; value=1; };
};
};
class activatedForTargets {
displayName = "Activated for";
description = "What types is the IED activated for";
typeName = "NUMBER";
class values {
class None {name="None"; value=-1; };
class All {name="Any type"; value=0; default=1;};
class Vehicles {name="Any Vehicle"; value=1; };
class Land {name="Ground Vehicles"; value=2; };
class Air {name="Airial Vehicles"; value=3; };
class Man {name="Man"; value=4; };
};
};
class activatedForSides {
displayName = "What sides activate this IED";
description = "What types is the IED activated for";
typeName = "NUMBER";
class values {
class None {name="None"; value=-1; };
class All {name="Any side"; value=0; default=1; };
class West {name="BLUFOR"; value=1; };
class East {name="OpFOR"; value=2; };
class Ind {name="Independant"; value=3; };
class Civ {name="Civilian"; value=4; };
};
};
};
class ModuleDescription {
description = "Create an IED on position."; // Short description, will be formatted as structured text
sync[] = {"cseModule_spawnIEDs"};
position = 1; // Position is taken into effect
direction = 0; // Direction is taken into effect
optional = 0; // Synced entity is optional
duplicate = 1; // Multiple entities of this type can be synced
class cseModule_spawnIEDs {
description[] = { // Multi-line descriptions are supported
"Synchronize ieds with other IEDs to create chain ieds.",
"When one of the synchronized ieds is triggered,",
"all other IEDs will explode as well."
};
position = 1; // Position is taken into effect
direction = 0; // Direction is taken into effect
optional = 1; // Synced entity is optional
duplicate = 1; // Multiple entities of this type can be synced
synced[] = {"cseModule_spawnIEDs"}; // Pre-define entities like "AnyBrain" can be used. See the list below
};
};
};
class cseModule_triggerManLinkIEDS: Module_F {
scope = 2;
displayName = "Triggerman [CSE]";
icon = "\cse\cse_main\data\cse_explosive_module.paa";
category = "cseMisc";
function = "cse_fnc_moduleTriggerMan_IEDS";
functionPriority = 1;
isGlobal = 0;
isTriggerActivated = 0;
class Arguments {
class EnableList {
displayName = "List";
description = "List of unit names that will be able to trigger the radio IED.";
defaultValue = "";
};
};
class ModuleDescription {
description = "Defines units as triggerman."; // Short description, will be formatted as structured text
sync[] = {"cseModule_spawnIEDs"};
position = 0; // Position is taken into effect
direction = 0; // Direction is taken into effect
optional = 0; // Synced entity is optional
duplicate = 1; // Multiple entities of this type can be synced
class cseModule_spawnIEDs {
description[] = { // Multi-line descriptions are supported
"Synchronize module with IEDs to define.",
"which ieds can be triggered by units listed in module,"
};
position = 0; // Position is taken into effect
direction = 0; // Direction is taken into effect
optional = 0; // Synced entity is optional
duplicate = 1; // Multiple entities of this type can be synced
synced[] = {"cseModule_spawnIEDs"}; // Pre-define entities like "AnyBrain" can be used. See the list below
};
};
};
class B_Kitbag_sgg;
class cse_thorIII_backpack: B_Kitbag_sgg {
scope = 1;
author = "Combat Space Enhancement";
displayName = "THOR III - Jammer";
};
// class Items_base_F;
// class cse_ied_pressureplate_small: Items_base_F {
// scope = 2;
// author = "Combat Space Enhancement";
// displayName = "Pressure Plate IED (Small)";
// picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
// descriptionShort = "Pressure Plate IED (Small)";
// descriptionUse = "Pressure Plate IED (Small)";
// model = "\A3\Weapons_F\Explosives\IED_land_small";
// };
// class cse_ied_pressureplate_large: cse_ied_pressureplate_small {
// scope = 2;
// author = "Combat Space Enhancement";
// displayName = "Pressure Plate IED (Large)";
// picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
// descriptionShort = "Pressure Plate IED (Large)";
// descriptionUse = "Pressure Plate IED (Large)";
// model = "\A3\Weapons_F\Explosives\IED_land_big";
// };
// class cse_ied_radio_small: cse_ied_pressureplate_small {
// scope = 2;
// author = "Combat Space Enhancement";
// displayName = "Radio Triggered IED (Small)";
// picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
// descriptionShort = "Radio Triggered IED (Small)";
// descriptionUse = "Radio Triggered IED (Small)";
// model = "\A3\Weapons_F\Explosives\IED_land_small";
// };
// class cse_ied_radio_large: cse_ied_radio_small {
// scope = 2;
// author = "Combat Space Enhancement";
// displayName = "Radio Triggered IED (Large)";
// picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
// descriptionShort = "Radio Triggered IED (Large)";
// descriptionUse = "Radio Triggered IED (Large)";
// model = "\A3\Weapons_F\Explosives\IED_land_big";
// };
};

View File

@ -0,0 +1,133 @@
class CfgWeapons {
class ItemCore;
class InventoryItem_Base_F;
class cse_ied_wires: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Wires (IED Material)";
picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
descriptionShort = "Necessary material for creating an IED";
descriptionUse = "Used to connect the detonation device with the explosive";
model = "\A3\weapons_F\ammo\mag_univ.p3d";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
class cse_ied_explosive: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Explosive Material (IED Material)";
picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
descriptionShort = "Provides the boom.";
descriptionUse = "Makes the IED.";
model = "\A3\weapons_F\ammo\mag_univ.p3d";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
class cse_ied_detonator: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Detonator (IED Material)";
picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
descriptionShort = "Used to detonate the explosive.";
descriptionUse = "Ensures the explosives goes off when activated.";
model = "\A3\weapons_F\ammo\mag_univ.p3d";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
class cse_ied_pressure_plate: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Pressure Plate (IED Material)";
picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
descriptionShort = "Pressure plate for creating IEDs";
descriptionUse = "Pressure plate for creating IEDs";
model = "\A3\weapons_F\ammo\mag_univ.p3d";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
class cse_ied_reciever: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Reciever (IED Material)";
picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
descriptionShort = "Radio Reciever for creating Radio activated IEDs";
descriptionUse = "Radio Reciever for creating Radio activated IEDs";
model = "\A3\weapons_F\ammo\mag_univ.p3d";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
class cse_ied_pressureplate_small: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Pressure Plate IED (Small)";
picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
descriptionShort = "Pressure Plate IED (Small)";
descriptionUse = "Pressure Plate IED (Small)";
model = "\A3\Weapons_F\Explosives\IED_land_small";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
class cse_ied_pressureplate_large: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Pressure Plate IED (Large)";
picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
descriptionShort = "Pressure Plate IED (Large)";
descriptionUse = "Pressure Plate IED (Large)";
model = "\A3\Weapons_F\Explosives\IED_land_big";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
class cse_ied_radio_small: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Radio Triggered IED (Small)";
picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
descriptionShort = "Radio Triggered IED (Small)";
descriptionUse = "Radio Triggered IED (Small)";
model = "\A3\Weapons_F\Explosives\IED_land_small";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
class cse_ied_radio_large: ItemCore {
author = "Combat Space Enhancement";
scope = 2;
displayName = "Radio Triggered IED (Large)";
picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
descriptionShort = "Radio Triggered IED (Large)";
descriptionUse = "Radio Triggered IED (Large)";
model = "\A3\Weapons_F\Explosives\IED_land_big";
class ItemInfo: InventoryItem_Base_F
{
mass=10;
type=201;
};
};
};

View File

@ -0,0 +1,8 @@
class Combat_Space_Enhancement {
class cfgModules {
class cse_sys_ieds {
init = "call compile preprocessFile 'cse\cse_sys_ieds\init_sys_ieds.sqf';";
name = "IEDs";
};
};
};

View File

@ -0,0 +1,2 @@
#include "ui\define.hpp"
#include "ui\cellphone.hpp"

View File

@ -0,0 +1,22 @@
#define _ARMA_
class CfgPatches
{
class cse_sys_ieds
{
units[] = {"cse_thorIII_backpack" /*, "cse_ied_pressureplate_small", "cse_ied_pressureplate_large", "cse_ied_radio_small", "cse_ied_radio_large"*/};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"cse_f_eh","cse_main"};
version = "0.10.0_rc";
author[] = {"Combat Space Enhancement"};
authorUrl = "http://csemod.com";
};
};
#include "CfgFunctions.h"
#include "CfgVehicles.h"
#include "CfgWeapons.h"
#include "CfgSounds.h"
#include "Combat_Space_Enhancement.h"
#include "CfgAddOns.h"
#include "GUI.h"

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,23 @@
cse_fnc_spawn_ieds_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_spawn_ieds.sqf";
cse_fnc_spawn_chain_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_spawn_chain.sqf";
cse_fnc_link_chain_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_link_chain.sqf";
cse_fnc_thor3_detection_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_thor3_detection.sqf";
cse_fnc_triggerManGotVisual_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_triggerManGotVisual.sqf";
cse_fnc_checkIEDActivated_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkIEDActivated.sqf";
cse_fnc_checkPressurePlateActivated_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkPressurePlateActivated.sqf";
cse_fnc_checkRadioTriggered_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkRadioTriggered.sqf";
cse_fnc_spotterFlee_IED = compile preprocessFile "cse\cse_sys_ieds\spotter\fnc_spotterFlee.sqf";
cse_fnc_spotterBehaviour_IED = compile preprocessFile "cse\cse_sys_ieds\spotter\fnc_spotterBehaviour.sqf";
cse_fnc_searchGround_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_searchGround.sqf";
cse_fnc_broadcastTHOR3Sound = {
(_this select 0) say3D "beep";
};

View File

@ -0,0 +1,46 @@
/**
* fn_cellphone_detonateIED_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_display", "_iedInfo"];
_display = uiNamespace getVariable 'cse_ied_cellphone';
if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then {
CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = [];
};
if (isnil "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS") then {
CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0;
};
if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS > count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then {
CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0;
};
if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS < 0) then {
CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1;
};
if !(CSE_PLAYER_PLACED_RADIO_IEDS_IEDS isEqualTo []) then {
_iedInfo = CSE_PLAYER_PLACED_RADIO_IEDS_IEDS select CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS;
_iedLogic = _iedInfo select 0;
if !([_iedLogic] call cse_fnc_checkIfJammed_IEDS) then {
if (_iedLogic distance player < 3000) then {
[_iedLogic] call cse_fnc_onIEDActivated_IEDS;
CSE_PLAYER_PLACED_RADIO_IEDS_IEDS set [CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS, objNull];
CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = CSE_PLAYER_PLACED_RADIO_IEDS_IEDS - [objNull];
CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS - 1;
};
};
};
[_display] call cse_fnc_onCellPhoneOpened_IEDS;

View File

@ -0,0 +1,39 @@
/**
* fn_checkIEDActivated_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_logic","_triggered"];
_logic = _this select 0;
_triggered = false;
switch (true) do {
case (_logic getvariable ["iedActivationType",0] == 0): {
if ([_logic] call cse_fnc_checkPressurePlateActivated_IEDS) then {
_triggered = true;
};
};
case (_logic getvariable ["iedActivationType",0] == 1): {
if ([_logic] call cse_fnc_checkRadioTriggered_IEDS) then {
_triggered = true;
};
};
case (_logic getvariable ["iedActivationType",0] == 2): {
if ([_logic] call cse_fnc_checkPressurePlateActivated_IEDS) then {
_triggered = true;
};
};
default {
};
};
if (_triggered) then {
[_logic] call cse_fnc_onIEDActivated_IEDS;
};
_triggered

View File

@ -0,0 +1,22 @@
/**
* fn_checkIfJammed_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_ied", "_radioBlock", "_personsAround"];
_ied = _this select 0;
_radioBlock = false;
_personsAround = (position _ied) nearEntities [["CaManBase"], 50];
{
if ((backpack _x == "cse_thorIII_backpack") && {(_x getvariable ["CSE_THOR_III_PACK_ENABLED_IEDS",false])}) exitwith {
_radioBlock = true;
};
false;
}count _personsAround;
_radioBlock

View File

@ -0,0 +1,34 @@
/**
* fn_checkPressurePlateActivated_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_pressurePlate","_return","_list","_pos"];
_pressurePlate = _this select 0;
_return = false;
_pos = ASLToATL (getPosASL _pressurePlate);
_list = _pos nearEntities [(_pressurePlate getvariable ["activatedForTargets",["Man", "Air", "Car", "Motorcycle", "Tank"]]),3];
{
if (side _x in (_pressurePlate getvariable ["activatedForSides",[WEST]])) then {
if (_x isKindOf "CaManBase") then {
if (_x distance _pressurePlate < random(1)) then {
_return = true;
};
} else {
if (_x distance _pressurePlate < (0.5+random(3))) then {
_return = true;
};
};
};
if (_return) exitwith {};
false;
}count _list;
_return

View File

@ -0,0 +1,54 @@
/**
* fn_checkRadioTriggered_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_ied","_return","_list","_radioBlock","_personsAround","_targetDetected","_triggerMan"];
_ied = _this select 0;
_return = false;
_targetDetected = false;
_triggerManUnits = _ied getvariable ["cse_ieds_triggerManUnits",[]];
if ((_triggerManUnits isEqualTo [])) exitwith{false;};
_list = (position _ied) nearEntities [(_ied getvariable ["activatedForTargets",["CaManBase", "Air", "Car", "Motorcycle", "Tank"]]),5];
{
_target = _x;
{
if ([_x, _target] call cse_fnc_triggerManGotVisual_IEDS) then {
if (side _target in (_ied getvariable ["activatedForSides",[WEST]])) then {
_targetDetected = true;
};
};
if (_targetDetected) exitwith {};
}count _triggerManUnits;
if (_targetDetected) exitwith {};
}count _list;
if (!(_list isEqualTo []) && _targetDetected) then {
_radioBlock = [_ied] call cse_fnc_checkifJammed_IEDS;
_nearestPerson = _list select 0;
_vehicleNear = false;
{
if (_ied distance _x < (_ied distance _nearestPerson)) then {
_nearestPerson = _x;
};
if (!(_x iskindof "CaManBase")) then {
_vehicleNear = true;
};
}foreach _list;
if (!_radioBlock) then {
if (count _list > 5) then {
_return = true;
} else {
if (((_nearestPerson distance _ied < 1) || _vehicleNear) && random(1) >0.985) then {
_return = true;
};
};
};
};
_return

View File

@ -0,0 +1,31 @@
/**
* fn_createIEDObject_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
#define LAND_IEDS ["IEDLandBig_Remote_Ammo", "IEDLandSmall_Remote_Ammo"]
#define URBAN_IEDS ["IEDUrbanBig_Remote_Ammo", "IEDUrbanSmall_Remote_Ammo"]
private ["_logic","_typeOfIED", "_sizeOfIED", "_heightOfIED", "_iedClass", "_iedCreated"];
_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
if (isNull _logic) exitwith {
};
_typeOfIED = _logic getvariable ["typeOfIED", 0];
_sizeOfIED = _logic getvariable ["sizeOfIED", 0];
_heightOfIED = _logic getvariable ["heightOfIED", 0];
_iedClass = switch (_typeOfIED) do {
case 0: { LAND_IEDS select _sizeOfIED};
case 1: { URBAN_IEDS select _sizeOfIED };
};
_iedCreated = _iedClass createVehicle (getPos _logic);
_logic setvariable ["cse_linkedIED_IEDS",_iedCreated, true];
_iedCreated setPos [getPos _Logic select 0, getPos _Logic select 1, (getPos _Logic select 2) + _heightOfIED];
[format["CREATED IED: %1", _iedCreated]] call cse_fnc_debug;

View File

@ -0,0 +1,16 @@
/**
* fn_moduleTriggerMan_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_logic", "_units", "_activated", "_totalCollection", "_collection", "_collectObjects"];
_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
_units = [_this,1,[],[[]]] call BIS_fnc_param;
_activated = [_this,2,true,[true]] call BIS_fnc_param;
if (!local _logic) exitwith {};

View File

@ -0,0 +1,84 @@
/**
* fn_module_spawnIED.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_logic", "_units", "_activated", "_totalCollection", "_collection", "_collectObjects"];
_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
_units = [_this,1,[],[[]]] call BIS_fnc_param;
_activated = [_this,2,true,[true]] call BIS_fnc_param;
if (!local _logic) exitwith {};
_totalCollection = [];
_collectObjects = {
private ["_logic", "_collection"];
_logic = _this select 0;
_collection = synchronizedObjects _logic;
{
if !(_x in _totalCollection) then {
if (typeOf _x == "cseModule_spawnIEDs") then {
if !(_x getvariable ["cse_master_IED", false]) then {
_x setvariable ["cse_subclass_IED", true];
_x setvariable ["cse_controlledBy_IED",_logic];
_totalCollection pushback _x;
[_x] call _collectObjects;
};
} else {
if (typeOf _x == "cseModule_triggerManLinkIEDS") then {
_list = _x getvariable ["EnableList",""];
_list = "[" + _list + "]";
_parsedList = [] call compile _list;
_triggerManList = (_logic getvariable ["cse_ieds_triggerManUnits", []]) + _parsedList;
_logic setvariable ["cse_ieds_triggerManUnits", _triggerManList];
[format["_triggerManList %1",_triggerManList]] call cse_fnc_debug;
};
};
};
}foreach _collection;
};
if !(_logic getvariable ["cse_subclass_IED",false]) then {
_logic setvariable ["cse_master_IED", true];
[_logic] call _collectObjects;
if (_logic getvariable ["cse_master_IED", false]) then {
_logic setvariable ["cse_iedCollection", (_logic getvariable ["cse_iedCollection",[]]) + _totalCollection];
[format["%1 I am a master IED. Collection is: %2", _logic, (_logic getvariable ["cse_iedCollection",[]])]] call cse_fnc_debug;
if (isnil "CSE_MASTER_IED_COLLECTION") then {
CSE_MASTER_IED_COLLECTION = [];
};
CSE_MASTER_IED_COLLECTION pushback _logic;
};
};
[_logic] call cse_fnc_createIEDObject_IEDS;
_activatedSides = _logic getvariable ["activatedForSides", -1];
_activatedTargets = _logic getvariable ["activatedForTargets", -1];
_activatedTargets = switch (_activatedTargets) do {
case 0: {["CaManBase", "Air", "Car", "Motorcycle", "Tank"]};
case 1: {["Air", "Car", "Motorcycle", "Tank"]};
case 2: {["Car", "Motorcycle", "Tank"]};
case 3: {["Air"]};
case 4: {["CaManBase"]};
default {[]};
};
_logic setvariable ["activatedForTargets", _activatedTargets];
_activatedSides = switch (_activatedSides) do {
case 0: {[west, east, independent, civilian, sideEnemy, sideFriendly]};
case 1: {[west, sideEnemy]};
case 2: {[east, sideEnemy]};
case 3: {[independent, sideEnemy]};
case 4: {[civilian, sideEnemy]};
default {[]};
};
_logic setvariable ["activatedForSides", _activatedSides, true];
_logic setvariable ["iedActivationType", _logic getvariable ["iedActivationType",0], true];

View File

@ -0,0 +1,40 @@
/**
* fn_monitorIEDs_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_activated"];
if !(isnil "CSE_MONITORING_IEDS") exitwith {};
CSE_MONITORING_IEDS = true;
sleep 1;
if (isnil "CSE_MASTER_IED_COLLECTION") then {
CSE_MASTER_IED_COLLECTION = [];
};
_code = '
{
_activated = false;
if !([_x] call cse_fnc_checkIEDActivated_IEDS) then {
{
if ([_x] call cse_fnc_checkIEDActivated_IEDS) exitwith { _activated = true;};
}foreach (_x getvariable ["cse_iedCollection", []]);
} else {
_activated = true;
};
if (_activated) exitwith {
CSE_MASTER_IED_COLLECTION deleteAt _foreachIndex;
};
false;
}count CSE_MASTER_IED_COLLECTION;
false;';
cse_sys_ieds_monitorIEDs_Trigger = createTrigger["EmptyDetector", [0,0,0]];
cse_sys_ieds_monitorIEDs_Trigger setTriggerActivation ["NONE", "PRESENT", true];
cse_sys_ieds_monitorIEDs_Trigger setTriggerTimeout [0, 0, 0, false];
cse_sys_ieds_monitorIEDs_Trigger setTriggerStatements[_code, "", ""];

View File

@ -0,0 +1,40 @@
/**
* fn_monitorPlayerIEDs_IEDS.sqf
* @Descr: Checks player placed pressure plate IEDs
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_activated"];
if !(isnil "CSE_MONITORING_PLAYER_IEDS") exitwith {};
CSE_MONITORING_PLAYER_IEDS = true;
sleep 1;
if (isnil "CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS") then {
CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS = [];
};
[format["CSE_MONITORING_PLAYER_IEDS"]] call cse_fnc_debug;
_code = '
{
_activated = false;
if ([_X] call cse_fnc_checkPressurePlateActivated_IEDS) then {
_activated = true;
[_x] call cse_fnc_onIEDActivated_IEDS;
};
if (_activated || isNull _x) exitwith {
CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS deleteAt _foreachIndex;
};
false;
}count CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS;
';
cse_sys_ieds_monitorPlayerIEDs_Trigger = createTrigger["EmptyDetector", [0,0,0]];
cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerActivation ["NONE", "PRESENT", true];
cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerTimeout [0, 0, 0, false];
cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerStatements[_code, "", ""];

View File

@ -0,0 +1,53 @@
/**
* fn_onCellPhoneOpened_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_display"];
_display = uiNamespace getVariable 'cse_ied_cellphone';
if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then {
CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = [];
};
(_display displayCtrl 10) ctrlSetText "Adres book";
if (isnil "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS") then {
CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0;
};
if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS > count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then {
CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0;
};
if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS < 0) then {
CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1;
};
(_display displayCtrl 12) ctrlSetText "";
(_display displayCtrl 13) ctrlSetText "";
(_display displayCtrl 14) ctrlSetText "";
_ctrlIDC = 12;
_cellphoneBookPointer = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS;
for [{_EHiterator=0}, {(_EHiterator< 3)}, {_EHiterator=_EHiterator+1}] do {
if (_cellphoneBookPointer >= count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then {
_cellphoneBookPointer = 0;
};
if (_cellphoneBookPointer < 0) then {
_cellphoneBookPointer = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1;
};
if (_EHiterator < count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then {
(_display displayCtrl _ctrlIDC) ctrlSetText format["#%1", ((CSE_PLAYER_PLACED_RADIO_IEDS_IEDS select _cellphoneBookPointer) select 1)];
_cellphoneBookPointer = _cellphoneBookPointer + 1;
_ctrlIDC = _ctrlIDC + 1;
};
};
(_display displayCtrl 12) ctrlSetbackgroundColor [0,0,0,0.1];

View File

@ -0,0 +1,46 @@
/**
* fn_onIEDActivated_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_logic","_chain","_iedLogic", "_trigger", "_getMasterIED"];
_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
_getMasterIED = {
if (_logic getvariable ["cse_subclass_IED",false]) then {
_logic = _logic getvariable ["cse_controlledBy_IED",_logic];
if (_logic getvariable ["cse_subclass_IED",false]) then {
call _getMasterIED;
};
};
};
call _getMasterIED;
_chain = _logic getvariable ["cse_iedCollection",[]];
_chain pushback _logic;
{
private ["_ied", "_trigger"];
_iedLogic = _x;
_trigger = _iedLogic getvariable ["cse_linkedIED_IEDS", objNull];
[_iedLogic,_trigger, _logic] spawn {
_iedLogic = _this select 0;
_trigger = _this select 1;
_master = _this select 2;
if (!isNull _trigger) then {
if (random(1)>0.5 && (_iedLogic != _master)) then {
uisleep (random(2));
};
//(_iedLogic getvariable ["explosiveType","R_60mm_HE"]) createVehicle (getPos _iedLogic);
deleteVehicle _iedLogic;
_trigger setDamage 1;
};
};
}foreach _chain;
[format["%1 is triggering ied chain: %1",_logic, _chain]] call cse_fnc_debug;

View File

@ -0,0 +1,53 @@
/**
* fn_placeDownIED_IEDS.sqf
* @Descr: Places down an IED (Player side)
* @Author: Glowbal
*
* @Arguments: [type NUMBER (The type of IED.), size NUMBER, activationType NUMBER (1 = radio, 0 = pressure plate)]
* @Return: logic LOGIC Returns the created IED logic
* @PublicAPI: true
*/
private ["_position", "_logic"];
_typeOfIED = _this select 0;
_sizeOfIED = _this select 1;
_activationType = _this select 2;
//_position = _this select 3;
_position = getPos player;
_logic = (createGroup sideLogic) createUnit ["cse_playerSpawnedIED", _position, [], 0, "FORM"];
_logic setPos _position;
_logic setvariable ["typeOfIED", _typeOfIED, true];
_logic setvariable ["sizeOfIED", _sizeOfIED, true];
_logic setvariable ["heightOfIED", 0, true];
_logic setvariable ["iedActivationType", _activationType, true];
[_logic] call cse_fnc_createIEDObject_IEDS;
if (isnil "CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS") then {
CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS = [];
};
if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then {
CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = [];
};
if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS") then {
CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS = 0;
};
if (_activationType != 1) then {
_logic spawn {
hintSilent parseText "<t align='center'>You placed down an IED. </br>IED will be activate in 5 seconds.</t>";
uisleep 5;
CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS pushback _this;
};
} else {
CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS = CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS + 1;
CSE_PLAYER_PLACED_RADIO_IEDS_IEDS pushback [_logic, format["IED %1",CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS]];
};
[format["fn_placeDownIED_IEDS %1", _logic]] call cse_fnc_debug;
_logic

View File

@ -0,0 +1,11 @@
/**
* fn_playThorIIISound_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
(_this select 0) say3D "cse_thor3_beep1";

View File

@ -0,0 +1,46 @@
/**
* fn_searchGround_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
#define AVAILABLE_IEDS ["cseModule_spawnIEDs", "cse_playerSpawnedIED"]
#define MAX_SEARCH_DISTANCE 2.5
private ["_unit", "_foundIEDS", "_diggedUp", "_pos", "_height"];
_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param;
_foundIEDS = nearestObjects [_unit, AVAILABLE_IEDS, MAX_SEARCH_DISTANCE];
_diggedUp = false;
{
_ied = _x getvariable ["cse_linkedIED_IEDS", objNull];
if (((getPos _ied) select 2) < 0) then {
if (random(1)>0.1) then {
_diggedUp = true;
};
};
if (_diggedUp) exitwith{
_pos = getPos _ied;
_height = (_pos select 2) + 0.09;
if (_height > 0) then {
_height = 0;
};
_pos set[2,_height];
_ied setPos _pos;
};
}foreach _foundIEDs;
if (_unit == player) then {
if (_diggedUp) then {
_unit sidechat "You uncover some of an IED";
_unit sidechat format["Pos: %1",_pos];
} else {
_unit sidechat "You didn't find anything";
};
};
true;

View File

@ -0,0 +1,28 @@
if (!isnil "CSE_LAST_TRACKER_THORBEEP_MOMENT") exitwith {};
CSE_PLAY_THOR_III_SOUND_IEDS = false;
CSE_THOR_III_PACK_ENABLED_IEDS = true;
player setvariable ["CSE_THOR_III_PACK_ENABLED_IEDS",true,true];
CSE_LAST_TRACKER_THORBEEP_MOMENT = time;
_code = {
if ((backpack player) == "cse_thorIII_backpack" && {(player getvariable ["CSE_THOR_III_PACK_ENABLED_IEDS", false])}) then {
_foundIEDS = nearestObjects [player, ["cseModule_spawnIEDs", "cse_playerSpawnedIED"], 50];
{
_distanceToIED = player distance _x;
if (_distanceToIED < 50) exitwith {
if (_X getvariable ["iedActivationType",0] == 1) exitwith {
_timeDifference = (_distanceToIED/50) * 10 * MODIFIER_LOOP_DELAY;
if (time - CSE_LAST_TRACKER_THORBEEP_MOMENT >= (_timeDifference*accTime)) then {
CSE_LAST_TRACKER_THORBEEP_MOMENT = time;
playSound3D ["cse\cse_sys_ieds\sounds\beeps\03_Dull_Short_Mid.wav", player, false, getPos player, 35, 1, 10];
};
};
};
CSE_LAST_TRACKER_THORBEEP_MOMENT = time;
}count _foundIEDS;
};
};
["cse_thor3TrackerBeeping", [], _code] call cse_fnc_addTaskToPool_f;
true;

View File

@ -0,0 +1,22 @@
/**
* fn_triggerManGotVisual_IEDS.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_triggerMan","_obj","_return"];
_triggerMan = _this select 0;
_obj = _this select 1;
_return = false;
if (!(_triggerMan getvariable ["cse_ieds_SpotterFleeing_IEDS",false]) && _triggerMan != _obj && alive _triggerMan) then {
if (_obj distance _triggerMan <350) then {
_triggerMan doWatch _obj;
_return = !(lineIntersects [eyePos _triggerMan, getPos _obj,_triggerMan]);
};
};
_return

Binary file not shown.

View File

@ -0,0 +1,37 @@
/**
* init_sys_ieds.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
#define IED_ICON "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"
if (isServer) then {
call cse_fnc_monitorIEDS_IEDS;
};
if (hasInterface) then {
CSE_THOR_III_PACK_ENABLED_IEDS = true;
call cse_fnc_thor3_detection_IEDS;
call cse_fnc_monitorPlayerIEDS_IEDS;
};
waituntil{!isnil "cse_gui"};
_entries = [
["Pressure Plate (S)", {([player,"cse_ied_pressureplate_small"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 1, 0] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_pressureplate_small";}, "Place Pressure plate IED (Small)"],
["Pressure Plate (M)", {([player,"cse_ied_pressureplate_large"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 0, 0] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_pressureplate_large";}, "Place Pressure plate IED (Large)"],
["Radio (S)", {([player,"cse_ied_radio_small"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 1, 1] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_radio_small";}, "Place Radio IED (Small)"],
["Radio (M)", {([player,"cse_ied_radio_large"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 0, 1] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_radio_large";}, "Place Radio IED (Large)"],
["Cell Phone", {([player,"cse_oldphone"] call cse_fnc_hasItem)}, "cse\cse_sys_ieds\data\icon_cellphone.paa", {closeDialog 0; createDialog "cse_ied_cellphone";}, "Use Cell Phone Trigger"]
];
["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F;
true;

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project name="Combat Space Enhancement">
<Package name="cse_sys_ieds">
<Container ID="Items">
<Key ID="STR_CSE_ITEM_IED_PRESSUREPLATE_SMALL">
<Original>Pressure Plate IED (Small)</Original>
<Polish>IED z zapalnikiem naciskowym (mały)</Polish>
<Spanish>IED Placa de Presión (Pequeño)</Spanish>
</Key>
<Key ID="STR_CSE_ITEM_IED_PRESSUREPLATE_LARGE">
<Original>Pressure Plate IED (Large)</Original>
<Polish>IED z zapalnikiem naciskowym (duży)</Polish>
<Spanish>IED Placa de Presión (Grande)</Spanish>
</Key>
<Key ID="STR_CSE_ITEM_IED_RADIO_SMALL">
<Original>Radio IED (Small)</Original>
<Polish>IED z zapalnikiem radiowym (mały)</Polish>
<Spanish>IED Activación remota (Pequeño)</Spanish>
</Key>
<Key ID="STR_CSE_ITEM_IED_RADIO_LARGE">
<Original>Radio IED (Large)</Original>
<Polish>IED z zapalnikiem radiowym (duży)</Polish>
<Spanish>IED Activación remota (Grande)</Spanish>
</Key>
</Container>
</Package>
</Project>

View File

@ -0,0 +1,111 @@
class cse_ied_cellphone {
idd = 754321;
movingEnable = true;
onLoad = "uiNamespace setVariable ['cse_ied_cellphone', _this select 0]; [_this] call cse_fnc_onCellPhoneOpened_IEDS; ['CSE_RADIAL_MENU', false] call cse_fnc_gui_blurScreen;";
onUnload = "";
class controlsBackground {
class cse_background : cse_gui_backgroundBase {
idc = -1;
x = "0 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "30 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "cse\cse_sys_ieds\data\cellphone_background.paa";
};
};
class controls {
class labelTextMenu : cse_gui_staticBase {
idc = 10;
x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "18.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "5.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
text = "SERVICE";
colorBackground[] = {0,0,0,0.0};
colorText[] = {0.0, 0.0, 0.0, 1.0};
style = ST_CENTER;
};
class labelTextLineOne : labelTextMenu {
idc = 11;
x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "5.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.6)";
text = "";
style = ST_LEFT;
};
class labelTextLineTwo : labelTextLineOne {
idc = 12;
y = "20.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
text = "";
};
class labelTextLineThree : labelTextLineOne {
idc = 13;
y = "21 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
text = "";
};
class labelTextLineFour : labelTextLineOne {
idc = 14;
y = "21.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
text = "";
};
class actionCenter : cse_gui_buttonBase {
idc = 30;
text = "";
x = "6.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "23 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "2.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)";
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,0.0)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,0.0)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,0.0)";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,0.0)";
color[] = {1, 1, 1, 1};
color2[] = {0,0,0, 1};
colorBackgroundFocused[] = {1,1,1,1};
colorBackground[] = {1,1,1,1};
colorbackground2[] = {1,1,1,1};
colorDisabled[] = {0.5,0.5,0.5,0.8};
colorFocused[] = {0,0,0,1};
periodFocus = 1;
periodOver = 1;
action = "[] call cse_fnc_cellphone_detonateIED_IEDS;";
};
class actionButtonLeft : actionCenter {
idc = 31;
text = "";
x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "24 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
action = "";
};
class actionButtonRight_downwards : actionButtonLeft {
idc = 32;
text = "";
x = "8.3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "24.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
action = "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS - 1; [_this] call cse_fnc_onCellPhoneOpened_IEDS;";
};
class actionButtonRight_up : actionButtonRight_downwards {
idc = 32;
text = "";
x = "9.3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "23.75 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
action = "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS + 1; [_this] call cse_fnc_onCellPhoneOpened_IEDS;";
};
};
};

View File

View File

@ -0,0 +1,797 @@
#ifndef CSE_DEFINE_H
#define CSE_DEFINE_H
// define.hpp
#define true 1
#define false 0
#define CT_STATIC 0
#define CT_BUTTON 1
#define CT_EDIT 2
#define CT_SLIDER 3
#define CT_COMBO 4
#define CT_LISTBOX 5
#define CT_TOOLBOX 6
#define CT_CHECKBOXES 7
#define CT_PROGRESS 8
#define CT_HTML 9
#define CT_STATIC_SKEW 10
#define CT_ACTIVETEXT 11
#define CT_TREE 12
#define CT_STRUCTURED_TEXT 13
#define CT_CONTEXT_MENU 14
#define CT_CONTROLS_GROUP 15
#define CT_SHORTCUTBUTTON 16
#define CT_XKEYDESC 40
#define CT_XBUTTON 41
#define CT_XLISTBOX 42
#define CT_XSLIDER 43
#define CT_XCOMBO 44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT 80
#define CT_OBJECT_ZOOM 81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK 98
#define CT_ANIMATED_USER 99
#define CT_MAP 100
#define CT_MAP_MAIN 101
#define CT_LISTNBOX 102
// Static styles
#define ST_POS 0x0F
#define ST_HPOS 0x03
#define ST_VPOS 0x0C
#define ST_LEFT 0x00
#define ST_RIGHT 0x01
#define ST_CENTER 0x02
#define ST_DOWN 0x04
#define ST_UP 0x08
#define ST_VCENTER 0x0c
#define ST_TYPE 0xF0
#define ST_SINGLE 0
#define ST_MULTI 16
#define ST_TITLE_BAR 32
#define ST_PICTURE 48
#define ST_FRAME 64
#define ST_BACKGROUND 80
#define ST_GROUP_BOX 96
#define ST_GROUP_BOX2 112
#define ST_HUD_BACKGROUND 128
#define ST_TILE_PICTURE 144
#define ST_WITH_RECT 160
#define ST_LINE 176
#define ST_SHADOW 0x100
#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI
#define ST_KEEP_ASPECT_RATIO 0x800
#define ST_TITLE ST_TITLE_BAR + ST_CENTER
// Slider styles
#define SL_DIR 0x400
#define SL_VERT 0
#define SL_HORZ 0x400
#define SL_TEXTURES 0x10
// Listbox styles
#define LB_TEXTURES 0x10
#define LB_MULTI 0x20
#define FontCSE "PuristaMedium"
class cse_gui_backgroundBase {
type = CT_STATIC;
idc = -1;
style = ST_PICTURE;
colorBackground[] = {0,0,0,0};
colorText[] = {1, 1, 1, 1};
font = FontCSE;
text = "";
sizeEx = 0.032;
};
class cse_gui_editBase
{
access = 0;
type = 2;
x = 0;
y = 0;
h = 0.04;
w = 0.2;
colorBackground[] =
{
0,
0,
0,
1
};
colorText[] =
{
0.95,
0.95,
0.95,
1
};
colorSelection[] =
{
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
1
};
autocomplete = "";
text = "";
size = 0.2;
style = "0x00 + 0x40";
font = "PuristaMedium";
shadow = 2;
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorDisabled[] =
{
1,
1,
1,
0.25
};
};
class cse_gui_buttonBase {
idc = -1;
type = 16;
style = ST_LEFT;
text = "";
action = "";
x = 0.0;
y = 0.0;
w = 0.25;
h = 0.04;
size = 0.03921;
sizeEx = 0.03921;
color[] = {1.0, 1.0, 1.0, 1};
color2[] = {1.0, 1.0, 1.0, 1};
/*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"};
colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4};
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8};
colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8};
*/
colorBackground[] = {1,1,1,0.95};
colorbackground2[] = {1,1,1,0.95};
colorDisabled[] = {1,1,1,0.6};
colorFocused[] = {1,1,1,1};
colorBackgroundFocused[] = {1,1,1,1};
periodFocus = 1.2;
periodOver = 0.8;
default = false;
class HitZone {
left = 0.00;
top = 0.00;
right = 0.00;
bottom = 0.00;
};
class ShortcutPos {
left = 0.00;
top = 0.00;
w = 0.00;
h = 0.00;
};
class TextPos {
left = 0.002;
top = 0.0004;
right = 0.0;
bottom = 0.00;
};
textureNoShortcut = "";
animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa";
animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
period = 0.5;
font = FontCSE;
soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1};
soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0};
soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1};
soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1};
class Attributes {
font = FontCSE;
color = "#E5E5E5";
align = "center";
shadow = "true";
};
class AttributesImage {
font = FontCSE;
color = "#E5E5E5";
align = "left";
shadow = "true";
};
};
class cse_gui_RscProgress {
type = 8;
style = 0;
colorFrame[] = {1,1,1,0.7};
colorBar[] = {1,1,1,0.7};
texture = "#(argb,8,8,3)color(1,1,1,0.7)";
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class cse_gui_staticBase {
idc = -1;
type = CT_STATIC;
x = 0.0;
y = 0.0;
w = 0.183825;
h = 0.104575;
style = ST_LEFT;
font = FontCSE;
sizeEx = 0.03921;
colorText[] = {0.95, 0.95, 0.95, 1.0};
colorBackground[] = {0, 0, 0, 0};
text = "";
};
class RscListBox;
class cse_gui_listBoxBase : RscListBox{
type = CT_LISTBOX;
style = ST_MULTI;
font = FontCSE;
sizeEx = 0.03921;
color[] = {1, 1, 1, 1};
colorText[] = {0.543, 0.5742, 0.4102, 1.0};
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
colorSelect[] = {0.95, 0.95, 0.95, 1};
colorSelect2[] = {0.95, 0.95, 0.95, 1};
colorSelectBackground[] = {0, 0, 0, 1};
colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0};
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
period = 1.2;
rowHeight = 0.03;
colorBackground[] = {0, 0, 0, 1};
maxHistoryDelay = 1.0;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
soundSelect[] = {"",0.1,1};
soundExpand[] = {"",0.1,1};
soundCollapse[] = {"",0.1,1};
class ListScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
class ScrollBar {
color[] = {1, 1, 1, 0.6};
colorActive[] = {1, 1, 1, 1};
colorDisabled[] = {1, 1, 1, 0.3};
thumb = "";
arrowFull = "";
arrowEmpty = "";
border = "";
};
};
class cse_gui_listNBox {
access = 0;
type = CT_LISTNBOX;// 102;
style =ST_MULTI;
w = 0.4;
h = 0.4;
font = FontCSE;
sizeEx = 0.031;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
columns[] = {0.0};
color[] = {1, 1, 1, 1};
rowHeight = 0.03;
colorBackground[] = {0, 0, 0, 0.2};
colorText[] = {1,1, 1, 1.0};
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
colorSelect[] = {0.95, 0.95, 0.95, 1};
colorSelect2[] = {0.95, 0.95, 0.95, 1};
colorSelectBackground[] = {0, 0, 0, 0.0};
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5};
colorActive[] = {0,0,0,1};
colorDisabled[] = {0,0,0,0.3};
rows = 1;
drawSideArrows = 0;
idcLeft = -1;
idcRight = -1;
maxHistoryDelay = 1;
soundSelect[] = {"", 0.1, 1};
period = 1;
shadow = 2;
class ScrollBar {
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
border = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
thumb = "#(argb,8,8,3)color(1,1,1,1)";
};
class ListScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
};
class RscCombo;
class cse_gui_comboBoxBase: RscCombo {
idc = -1;
type = 4;
style = "0x10 + 0x200";
x = 0;
y = 0;
w = 0.3;
h = 0.035;
color[] = {0,0,0,0.6};
colorActive[] = {1,0,0,1};
colorBackground[] = {0,0,0,1};
colorDisabled[] = {1,1,1,0.25};
colorScrollbar[] = {1,0,0,1};
colorSelect[] = {0,0,0,1};
colorSelectBackground[] = {1,1,1,0.7};
colorText[] = {1,1,1,1};
arrowEmpty = "";
arrowFull = "";
wholeHeight = 0.45;
font = FontCSE;
sizeEx = 0.031;
soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1};
soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
maxHistoryDelay = 1.0;
class ScrollBar
{
color[] = {0.3,0.3,0.3,0.6};
colorActive[] = {0.3,0.3,0.3,1};
colorDisabled[] = {0.3,0.3,0.3,0.3};
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
border = "";
};
class ComboScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {0.3,0.3,0.3,0.6};
colorActive[] = {0.3,0.3,0.3,1};
colorDisabled[] = {0.3,0.3,0.3,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
};
class cse_gui_mapBase {
moveOnEdges = 1;
x = "SafeZoneXAbs";
y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "SafeZoneWAbs";
h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
type = 100; // Use 100 to hide markers
style = 48;
shadow = 0;
ptsPerSquareSea = 5;
ptsPerSquareTxt = 3;
ptsPerSquareCLn = 10;
ptsPerSquareExp = 10;
ptsPerSquareCost = 10;
ptsPerSquareFor = 9;
ptsPerSquareForEdge = 9;
ptsPerSquareRoad = 6;
ptsPerSquareObj = 9;
showCountourInterval = 0;
scaleMin = 0.001;
scaleMax = 1.0;
scaleDefault = 0.16;
maxSatelliteAlpha = 0.85;
alphaFadeStartScale = 0.35;
alphaFadeEndScale = 0.4;
colorBackground[] = {0.969,0.957,0.949,1.0};
colorSea[] = {0.467,0.631,0.851,0.5};
colorForest[] = {0.624,0.78,0.388,0.5};
colorForestBorder[] = {0.0,0.0,0.0,0.0};
colorRocks[] = {0.0,0.0,0.0,0.3};
colorRocksBorder[] = {0.0,0.0,0.0,0.0};
colorLevels[] = {0.286,0.177,0.094,0.5};
colorMainCountlines[] = {0.572,0.354,0.188,0.5};
colorCountlines[] = {0.572,0.354,0.188,0.25};
colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};
colorCountlinesWater[] = {0.491,0.577,0.702,0.3};
colorPowerLines[] = {0.1,0.1,0.1,1.0};
colorRailWay[] = {0.8,0.2,0.0,1.0};
colorNames[] = {0.1,0.1,0.1,0.9};
colorInactive[] = {1.0,1.0,1.0,0.5};
colorOutside[] = {0.0,0.0,0.0,1.0};
colorTracks[] = {0.84,0.76,0.65,0.15};
colorTracksFill[] = {0.84,0.76,0.65,1.0};
colorRoads[] = {0.7,0.7,0.7,1.0};
colorRoadsFill[] = {1.0,1.0,1.0,1.0};
colorMainRoads[] = {0.9,0.5,0.3,1.0};
colorMainRoadsFill[] = {1.0,0.6,0.4,1.0};
colorGrid[] = {0.1,0.1,0.1,0.6};
colorGridMap[] = {0.1,0.1,0.1,0.6};
colorText[] = {1, 1, 1, 0.85};
font = "PuristaMedium";
sizeEx = 0.0270000;
stickX[] = {0.20, {"Gamma", 1.00, 1.50} };
stickY[] = {0.20, {"Gamma", 1.00, 1.50} };
onMouseButtonClick = "";
onMouseButtonDblClick = "";
fontLabel = "PuristaMedium";
sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontGrid = "TahomaB";
sizeExGrid = 0.02;
fontUnits = "TahomaB";
sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontNames = "PuristaMedium";
sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
fontInfo = "PuristaMedium";
sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontLevel = "TahomaB";
sizeExLevel = 0.02;
text = "#(argb,8,8,3)color(1,1,1,1)";
class ActiveMarker {
color[] = {0.30, 0.10, 0.90, 1.00};
size = 50;
};
class Legend
{
x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";
y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
font = "PuristaMedium";
sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
colorBackground[] = {1,1,1,0.5};
color[] = {0,0,0,1};
};
class Task
{
icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};
colorCreated[] = {1,1,1,1};
colorCanceled[] = {0.7,0.7,0.7,1};
colorDone[] = {0.7,1,0.3,1};
colorFailed[] = {1,0.3,0.2,1};
size = 27;
importance = 1;
coefMin = 1;
coefMax = 1;
};
class Waypoint
{
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
color[] = {0,0,0,1};
size = 20;
importance = "1.2 * 16 * 0.05";
coefMin = 0.900000;
coefMax = 4;
};
class WaypointCompleted
{
icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";
color[] = {0,0,0,1};
size = 20;
importance = "1.2 * 16 * 0.05";
coefMin = 0.900000;
coefMax = 4;
};
class CustomMark
{
icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
size = 24;
importance = 1;
coefMin = 1;
coefMax = 1;
color[] = {0,0,0,1};
};
class Command
{
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
size = 18;
importance = 1;
coefMin = 1;
coefMax = 1;
color[] = {1,1,1,1};
};
class Bush
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = "14/2";
importance = "0.2 * 14 * 0.05 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class Rock
{
icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
color[] = {0.1,0.1,0.1,0.8};
size = 12;
importance = "0.5 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class SmallTree
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = 12;
importance = "0.6 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class Tree
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = 12;
importance = "0.9 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class busstop
{
icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class fuelstation
{
icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class hospital
{
icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class church
{
icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class lighthouse
{
icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class power
{
icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powersolar
{
icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powerwave
{
icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powerwind
{
icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class quay
{
icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class shipwreck
{
icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class transmitter
{
icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class watertower
{
icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class Cross
{
icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {0,0,0,1};
};
class Chapel
{
icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {0,0,0,1};
};
class Bunker
{
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
size = 14;
importance = "1.5 * 14 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Fortress
{
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
size = 16;
importance = "2 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Fountain
{
icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
size = 11;
importance = "1 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Ruin
{
icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
size = 16;
importance = "1.2 * 16 * 0.05";
coefMin = 1;
coefMax = 4;
color[] = {0,0,0,1};
};
class Stack
{
icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
size = 20;
importance = "2 * 16 * 0.05";
coefMin = 0.9;
coefMax = 4;
color[] = {0,0,0,1};
};
class Tourism
{
icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
size = 16;
importance = "1 * 16 * 0.05";
coefMin = 0.7;
coefMax = 4;
color[] = {0,0,0,1};
};
class ViewTower
{
icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
size = 16;
importance = "2.5 * 16 * 0.05";
coefMin = 0.5;
coefMax = 4;
color[] = {0,0,0,1};
};
};
#endif