sreVbriefing.html Kbriefing.sqf K3*cargoCheck.sqf KfchangeFlagOwner.sqf K ClassicUI.hpp K&client\clientGUILoop.sqf Kclient\clientMarkerLoop.sqf[K|client\clientTagLoop.sqf Kclient\closeSpawnDialog.sqf Kclient\deployAmmo.sqf K~client\deployFacility.sqf Kclient\flagTaken.sqf Kclient\getAmmo.sqf K client\getVehicle.sqf K client\GUIlayers.hpp Kclient\initJIP.sqf Kclient\initPlayer.sqf K3client\introCam.sqf Kclient\killListUpdate.sqf Kbclient\leaveAmmo.sqf Kclient\MHQMarkerUpdate.sqf Kclient\respawner.sqf Kdclient\satchelTimer.sqf Kclient\switchCharacter.sqf K common\clearDeadCar.sqf K5common\initAmmo.sqf Kcommon\initCTB.sqf K$common\initFactory.sqf Kcommon\initHQ.sqf Kcommon\initUtility.sqf KScommon\vecGetIn.sqf Kpcommon\vehicleInit.sqf KdeployMHQ.sqf Kdescription.ext KAfsm\classFSMcompile.cfg Kifsm\scriptedFSM.cfg Kfsm\vehicleLoop.bifsm K09fsm\vehicleLoop.fsm KCfsm\vehicleLoopOld.fsm K,functions\checkSoldierClass.sqf Kfunctions\countSoldiersInZone.sqf K~functions\damageHandler.sqf Kfunctions\hashGetValue.sqf Kfunctions\hashListKey.sqf Kfunctions\onFired.sqf Kgui\aimDots.sqf Kgui\displayTextEffect.sqf Kgui\intro.sqf Kgui\lbClassesSelChange.sqf Kgui\loadSpawnDialog.sqf Kgui\loadVehicleDialog.sqf KGUIlayers.sqf Khpp\standartcontrolclasses.hpp Kinit.sqf KinitCTB.sqf KL2mission.sqm K,mrespawner.sqf K@rsc\DH-image.paa K)rsc\greenDot.paa Krsc\MenuBG.paa KUrsc\TAWlogo.paa KA]rsc\Whisper-image.paa KPrscMap.hpp KrscMap.hpp.old KJserver\changeFlagOwner.sqf Kfserver\clearTrees.sqf K?server\clientDisconnect.sqf Kqserver\flagInit.sqf K server\initServer.sqf Kserver\respawnVehicle.sqf KGserver\rolesCheckLoop.sqf Kserver\sceneries.sqf Kserver\serverLoop.sqf Kserver\spawnLoop.sqf KHserver\vehicleLoop.sqf KswitchCharacter.sqf K takeFlag.sqf KundeployMHQ.sqf KuvehicleGetOut.sqf KvehicleKilled.sqf K- Debriefing

EAST WON!


East took West main base and won the game.




WEST WON!


West defended long enough and won the game.


_goalString = format ["%1 must take the %2 Main Base.
To do so, %1 will try to capture the bases until they reach %2 Main Base and capture it.", attackingSide, defendingSide]; _capString = format ["Only neutral bases are capturable.
\ To take them, the attacking side must bring as much soldiers (from Soldier class in spawn screen) out of vehicles inside the base radius (black circle on map)/
\ The base will switch after a while if the attacking side has more soldiers in zone than defending side.
\ The capture advance is visible by checking the flag height on the pole at the base bunker.\ Once the attackers have been on zoen long enough with number advantage, the zone changes to the attacker's side, while the adjacent ennemy zone becomes neutral.", flagCaptureTime, flagMaxDistance]; _classString = "The game is class-based. You will be able to do actions corresponding to your current class.
\ The classes are the following : Soldier, Medic, Engineer, Recon, Spec Ops and Crewman. Each class has one or more possible roles dictating abilities and gear.
\ Soldier class counts toward base capture or defense. The roles are : Grenadier, Light AntiTank, Heavy AntiTank, AntiAir and Automatic Rifleman.
\ Medic class can heal. The only role is Medic. Medic are responsible for handling the respawn vehicle driving and deployement. See Respawn in Notes.
\ Engineer class is handling most of the support and supply for the army. The only role is Engineer. Engineer are the ones driving support vehicles for rearm and repair, and for building facilities (with supply truck) in friendly bases for faster vehicle deployement.
\ Recon class is the long range specialists. It includes sniper and heavy sniper. They're ability is to wear the Ghillie suit, they don't count toward base capture.
\ Spec Ops class is the sneaky sneaky. It includes demolition specialist who act in ennemy yard to destroy ennemy assets. He can destroy deploy facilities using his timed satchel charge (beware, satchel can only be timed at 30s in CTB, not remotely detonated).
\ Crewman is the vehicle class. Roles are Crew and Pilot. Crew can drive, gun and command armored vehicles, Pilot can pilot and gun air vehicles."; _respawnString = "When dead, the respawn screen appears. It lists the classes for player to chose from, and the available spawn points.
\ The available spawn points are : the side Back Spawn (area only enterable by this side's units), all friendly bases, and the nearest deployed friendly MHQ.
\ MHQ are handled by Medics. They spawn at the Back Spawn area and can be driven by Medics anywhere. They can then be deployed to act as spawn point."; _vehicleString = "Each side starts with a fixed set of vehicles, present in the BackSpawn area of each side.
\ To get in these vehicles as pilot, driver, gunner, commander, you must be of the correct class, otherwise you'll be booted out when entering.
\ In some other places on the map, near bases, you can find Factories (marked on map). They give you the possibility to take an available vehicle from the BackSpawn area to the factory place.
\ To use a Factory, use the 'get vehicle' action on it. A list of vehicles suitable for your class as driver, and available in the BackSpawn area, will be presented, select the desired vehicle and click OK.\ You'll be placed in driver position of vehicle and the vehicle will be positioned at your current Factory.
\ Aircraft can't be taken through Factories, you have to take them in the BackSpawn area.
\ Engineer can use the Supply Truck to go deploy a factory in a friendly base, to help his team with vehicle deployement.

\ Each Base bunker also always give access to a Humvee or UAZ, independantly of the vehicles available in BackSpawn area and indepandantly of your class.
\ Only Factory of friendly bases are active for you."; player createDiaryRecord ["Diary", ["Vehicles", _vehicleString]]; player createDiaryRecord ["Diary", ["Respawn", _respawnString]]; player createDiaryRecord ["Diary", ["Classes", _classString]]; player createDiaryRecord ["Diary", ["Capturing bases", _capString]]; player createDiaryRecord ["Diary", ["Goal", _goalString]]; taskList = []; _d = 10000; _nearFac = objNull; _curTask = objNull; waitUntil {!(isNull player)}; { _marker = _x getVariable "flagMarker"; _owner = _x getVariable "flagOwner"; diag_log format ["creating tasks for flag %1, owned by %2, marker is %3", _x, _owner, _marker]; _name = markerText _marker; _taskCreateText = ""; _taskDescrText = ""; if (pSide == attackingSide) then { _taskCreateText = format ["Take %1", _name]; _taskDescrText = format ["Bring soldiers in %1, within %3 meters of %1 bunker. You need more soldiers than defenders to take the base. Check the flag height on the pole at base's bunker for capture status indication", _name, flagCaptureTime, flagMaxDistance]; } else { _taskCreateText = format ["Defend base at %1", _name]; _taskDescrText = format ["Bring soldiers in %1, within %3 meters of %1 bunker. You need more soldiers than attackers to prevent capture of the base. Check the flag height on the pole at base's bunker for capture status indication", _name, flagCaptureTime, flagMaxDistance]; }; _obj = player createSimpleTask [_taskCreateText]; _obj setSimpleTaskDescription [_taskDescrText, \ _taskCreateText, \ _taskCreateText]; _obj setSimpleTaskDestination (getMarkerPos _marker); if (_owner == "none") then { _obj setTaskState "CREATED"; if ((player distance _x) < _d) then { _curTask = _obj; _d = player distance _x; _tmpFac = (position _x) nearObjects ["CDF_WarfareBHeavyFactory", flagMaxDistance]; if (count _tmpFac > 0) then { _nearFac = _tmpFac select 0; }; }; } else { _obj setTaskState "CANCELED"; }; taskList = taskList + [_obj]; } forEach flagList; diag_log format ["task list = %1", taskList]; diag_log "setting up class specific tasks"; diag_log (playerNamespace getVariable "currentClass"); _d = 100000; { if ((_x getVariable "flagOwner") == str(pside)) then { _tmpFac = (position _x) nearObjects ["CDF_WarfareBHeavyFactory", flagMaxDistance]; if (count _tmpFac > 0) then { if ((player distance _x) < _d) then { _d = player distance _x; _nearFac = _tmpFac select 0; }; }; }; } forEach flagList; switch (playerNamespace getVariable "currentClass") do { case "Medic": { _taskCreateText = "Get MHQ and deploy Mobile Respawn"; _taskDescrText = "Get a Mobile Respawn HQ at the nearest facility and deploy it on field. If no Facility is available, the MHQ is available in the backspawn"; _obj = player createSimpleTask [_taskCreateText]; _obj setSimpleTaskDescription [_taskDescrText, _taskCreateText, _taskCreateText]; if !(isNull _nearFac) then {_obj setSimpleTaskDestination (position _nearFac);} else {_obj setSimpleTaskDestination (getMarkerPos backSpawn);}; _obj setTaskState "CREATED"; _curTask = _obj; hintSilent "Medic task assigned, check task list (J key)"; }; case "Engineer": { _taskCreateText = "Get Ammo truck and deploy Ammo Crates"; _taskDescrText = "If available, call a Ammunition Truck at the nearest facility and deploy ammor crates on the field. If no facility is available, the Ammunition truck may be available in the backspawn."; _obj = player createSimpleTask [_taskCreateText]; _obj setSimpleTaskDescription [_taskDescrText, _taskCreateText, _taskCreateText]; if !(isNull _nearFac) then {_obj setSimpleTaskDestination (position _nearFac);} else {_obj setSimpleTaskDestination (getMarkerPos backSpawn);}; _taskCreateText = "Get Supply truck and deploy Facility"; _taskDescrText = "If available, call a Supply Truck at the nearest facility and Facilities in the range of friendly bases. If no facility is available, the Supply truck may be available in the backspawn."; _obj = player createSimpleTask [_taskCreateText]; _obj setSimpleTaskDescription [_taskDescrText, _taskCreateText, _taskCreateText]; if !(isNull _nearFac) then {_obj setSimpleTaskDestination (position _nearFac);} else {_obj setSimpleTaskDestination (getMarkerPos backSpawn);}; _obj setTaskState "CREATED"; _curTask = _obj; hintSilent "Engineer task assigned, check task list (J key)"; }; case "Recon": { _taskCreateText = "Recon and Support"; _taskDescrText = "Recon objective area, inform and support troops on objective. You cannot count toward objective capture process."; _obj = player createSimpleTask [_taskCreateText]; _obj setSimpleTaskDescription [_taskDescrText, _taskCreateText, _taskCreateText]; _obj setTaskState "CREATED"; _curTask = _obj; hintSilent "Recon task assigned, check task list (J key)"; }; case "SpecOps": { _taskCreateText = "Infiltrate ennemy territory"; _taskDescrText = "Infiltrate ennemy zones and destroy ennemy built facilities. Use your satchel charges for this task."; _obj = player createSimpleTask [_taskCreateText]; _obj setSimpleTaskDescription [_taskDescrText, _taskCreateText, _taskCreateText]; _obj setTaskState "CREATED"; _curTask = _obj; hintSilent "spec Ops task assigned, check task list (J key)"; }; case "Crewman": { _index = (playerNamespace getVariable "currentRole") - 10; _crewRoles = (CTBroles select (sides find (str(pSide)))) select (spawnClasses find "Crewman"); switch ((_crewRoles select _index) select 0) do { case "Crew": { _taskCreateText = "Get armored vehicle and support troops"; _taskDescrText = "Get an armored vehicle at the nearest facility and support troops at objectives. If no Facility is available, vehicles are available in the backspawn"; _obj = player createSimpleTask [_taskCreateText]; _obj setSimpleTaskDescription [_taskDescrText, _taskCreateText, _taskCreateText]; if !(isNull _nearFac) then {_obj setSimpleTaskDestination (position _nearFac);} else {_obj setSimpleTaskDestination (getMarkerPos backSpawn);}; _obj setTaskState "CREATED"; _curTask = _obj; hintSilent "Crewman task assigned, check task list (J key)"; }; case "Pilot": { _taskCreateText = "Use air vehicle and support troops"; _taskDescrText = "Get in air vehicle (usually at backspawn but can be placed somewhere else) and support troops on objectives"; _obj = player createSimpleTask [_taskCreateText]; _obj setSimpleTaskDescription [_taskDescrText, _taskCreateText, _taskCreateText]; _obj setSimpleTaskDestination (getMarkerPos backSpawn); _obj setTaskState "CREATED"; _curTask = _obj; hintSilent "Pilot task assigned, check task list (J key)"; }; }; }; }; if !(isNull _curTask) then {player setCurrentTask _curTask}; // Regular check of a non crew going in cargo place // this unit has no right to change position to gunner/commander/driver _Vehicle = vehicle player; _Cargo=(crew _Vehicle)-([driver _Vehicle]+[gunner _Vehicle]+[commander _Vehicle]); _p = 0; _i = 0; { if (player == _x) then {_p = _i}; _i = _i + 1; } forEach _Cargo; while {(vehicle player) != player} do { _Cargo=(crew _Vehicle)-([driver _Vehicle]+[gunner _Vehicle]+[commander _Vehicle]); if !(player in _Cargo) then { player action ["moveToCargo", vehicle player, _p]; hint "No change from cargo position possible!"; }; sleep 1; };diag_log "execing changeFlagOwner.sqf"; _flag = _this select 0; _newSide = format ["%1", _flag getVariable "flagTakenSide"]; _newFlag = nil; _links = _flag getVariable "flagLinks"; { _linkSide = _x getVariable "flagOwner"; diag_log _linkside; diag_log _newSide; if (_linkSide != _newSide) then { _x setVariable ["flagOwner", "none", true]; _x setFlagSide defendingSide; _m = _x getVariable "flagMarker"; _m setMarkerColor "colorGreen"; _newFlag = _x; }; } forEach _links; _flag setVariable ["flagTakenSide", "friendly"]; _flag setVariable ["flagTakenTime", -1]; _flag setVariable ["flagOwner", _newSide, true]; _m = _flag getVariable "flagMarker"; if (_newSide == "west") then { _m setMarkerColor "colorBlue"; }; if (_newSide == "east") then { _m setMarkerColor "colorRed"; }; _flag setFlagOwner objNull; _flag setFlagSide friendly; flagTaken = [_flag, _newSide, _newFlag]; publicVariable "flagTaken"; if (T_Client) then {["flagTaken", flagTaken] execVM "client\flagTaken.sqf";};//Last modified 1/13/9 //GUI related #define DEFAULTFONT "Bitstream" #define GUIUNDEFINED -1 #define GUILEFT 0 #define GUIRIGHT 1 #define GUICENTER 2 #define GUITILEBAR 32 #define GUIFRAME 64 #define GUIDEFAULTTILEBAR GUITILEBAR + GUICENTER #define GUIIMAGE 48 #define GUIIMAGEASPECTRATIO 48 + 0x800 #define GUISTYLEHUD 128 #define GUITEXT 0 #define GUIBUTTON 1 #define GUIEDITABLETEXT 2 #define GUISLIDER 3 #define GUICOMBO 4 #define GUILIST 5 #define GUICHECKBOX 7 #define GUICLICKABLETEXT 11 #define GUIMENU 14 #define GUIMAP 101 #define IDCDEFAULT 5000 #define IDCUNDEFINED -1 #define IDCMENUINFO 500 #define IDCMENUTEAMLIST 501 #define IDCMENULIST 502 #define IDCMENULIST1 503 #define IDCMENULIST2 504 #define IDCMENUTITLE 510 #define IDCMENUSTATUSLABEL 511 #define IDCMENUBUTTON 512 #define IDCMENUBUTTON1 513 #define IDCMENUBUTTON2 514 #define IDCMENUIMAGE 515 #define IDCMENUSLIDER 516 #define IDCMENUCHECKBOX 517 #define IDCMENUSLIDER 518 #define IDCCOMMANDMENUTEAMSELECT 100 #define IDCCOMMANDMENUSETMANUALWAYPOINTCOLUMN 101 #define IDCCOMMANDMENUSETMANUALWAYPOINTROW 102 #define IDCCOMMANDMENUSETPRECISEMANUALWAYPOINTCOLUMN1 103 #define IDCCOMMANDMENUSETPRECISEMANUALWAYPOINTCOLUMN2 104 #define IDCCOMMANDMENUSETPRECISEMANUALWAYPOINTROW1 105 #define IDCCOMMANDMENUSETPRECISEMANUALWAYPOINTROW2 106 #define IDCCOMMANDMENUSETWPTOCURRENT 107 #define IDCCOMMANDMENUMOVETOWP 108 #define IDCCOMMANDMENUTAKETOWNS 109 #define IDCCOMMANDMENUDEFENDTOWNS 110 #define IDCCOMMANDMENUSEARCH 111 #define IDCCOMMANDMENUCOMMAND 112 #define IDCCOMMANDMENUDISEMBARK 113 #define IDCCOMMANDMENUEMBARKTRANSPORT 114 #define IDCCOMMANDMENUDISEMBARKTRANSPORT 115 #define IDCCOMMANDMENUFIREMISSION 116 #define IDCCONSTRUCTIONBUTTON 600 #define IDCCONSTRUCTIONIMAGE 700 #define IDCCONSTRUCTIONLABEL 800 #define IDCGENERICBUTTON 3400 #define IDCGENERICIMAGE 3500 #define IDCGENERICLABEL 3600 #define IDCGENERICLIST 3700 #define IDCGENERICTEXT 3800 #define IDCGENERICCHECKBOX 3900 #define IDCERRORMESSAGE 3990 #define IDCCONTROLMENUINFO 131 #define IDCCONTROLMENUUPGRADELIST 132 #define IDCCONTROLMENUTEAMLIST 133 #define IDCCONTROLMENUUNITLIST 134 #define IDCCONTROLMENULIGHTLIST 135 #define IDCCONTROLMENUHEAVYLIST 146 #define IDCCONTROLMENUAIRLIST 147 #define IDCTEAM 1000 #define IDCTEAMSIZE 1100 #define IDCTEAMRESOURCES 1200 #define IDCTEAMINDEPENDENT 1300 #define IDCTEAMROLE 1400 #define IDCTEAMGIVEAMOUNT 1500 #define IDCTEAMLABEL 2000 #define IDCCOMMANDERRESOURCES 2001 #define IDCVOTEOPTION 3000 #define IDCVOTETOGGLE 3100 #define IDCVOTEON 3200 #define IDCVOTEOFF 3300 #define IDCTEAMLABEL 2000 #define IDCCOMMANDERRESOURCES 2001 #define IDCWESTRESOURCES 4000 #define IDCWESTTOWNSHELD 4001 #define IDCWESTPOINTS 4002 #define IDCWESTINCOME 4003 #define IDCEASTRESOURCES 4005 #define IDCEASTTOWNSHELD 4006 #define IDCEASTPOINTS 4007 #define IDCEASTINCOME 4008 #define IDCWEST 6000 #define IDCEAST 7000 #define IDCLOADOUTFUNDS 200 #define IDCLOADOUTSPACE 201 #define IDCLOADOUTTRADEIN 202 #define IDCLOADOUTCOST 203 #define IDCLOADOUTREFUND 204 #define IDCLOADOUTTEMPLATELIST 205 #define IDCLOADOUTPRIMARY 206 #define IDCLOADOUTPRIMARYAMMO 207 #define IDCLOADOUTPRIMARYLIST 208 #define IDCLOADOUTSECONDARY 209 #define IDCLOADOUTSECONDARYAMMO 210 #define IDCLOADOUTSECONDARYLIST 211 #define IDCLOADOUTSIDEARM 212 #define IDCLOADOUTSIDEARMLIST 213 #define IDCLOADOUTMISC 214 #define IDCLOADOUTMISCAMMO 215 #define IDCLOADOUTMISCLIST 216 #define IDCLOADOUTBUY 217 //Karel #define color1wf {0.247,0.314,0.177,1} #define color1wfRGB 0.247,0.314,0.177 #define color2wf {0.82,1.00,0.82,1} #define color2wfRGB 0.82,1.0,0.82 class GUIText { type = GUITEXT; idc = IDCUNDEFINED; style = GUILEFT; colorText[] = {0.75,0.75,0.75,1}; colorBackground[] = {0,0,0,0}; font = DEFAULTFONT; sizeEx = 0.025; w = 0.275; h = 0.04; text = ""; }; class GUISText: GUIText { type = 13; idc = IDCUNDEFINED; style = GUILEFT; colorText[] = {0.75,0.75,0.75,1}; colorBackground[] = {0,0,0,0}; font = DEFAULTFONT; sizeEx = 0.025; w = 0.275; h = 0.04; text = ""; }; class GUILargeText:GUIText { font = DEFAULTFONT; sizeEx = 0.029; w = 0.275; h = 0.1; }; class GUIButton { type = GUIBUTTON; idc = IDCUNDEFINED; style = GUICENTER; borderSize = 0; colorText[] = {0.75,0.75,0.75,1}; colorDisabled[] = {0.35,0.35,0.35,0}; colorBackground[] = {0.35,0.35,0.35,1}; colorBackgroundActive[] = {0.5,0.5,0.5,1}; colorBackgroundDisabled[] = {0.35,0.35,0.35,0}; colorFocused[] = {0.35,0.35,0.35,1}; colorShadow[] = {0.1,0.1,0.1,1}; colorBorder[] = {0,0,0,0}; font = DEFAULTFONT; sizeEx = 0.029; offsetX = 0.005; offsetY = 0.005; offsetPressedX = 0.0025; offsetPressedY = 0.0025; soundPush[] = {"\ca\ui\data\sound\new1", 0.09, 1}; soundClick[] = {"\ca\ui\data\sound\mouse3", 0.07, 1}; soundEnter[] = {"",0.1,1}; soundEscape[] = {"ui\ui_cc",0.2,1}; default = false; text = ""; //Default button dimensions. w = 0.275; h = 0.04; }; class GUIButtonDarker:GUIButton { colorBackground[] = {0.25,0.25,0.25,1}; colorBackgroundActive[] = {0.4,0.4,0.4,1}; colorFocused[] = {0.25,0.25,0.25,1}; }; class GUICheckBox { type = GUICHECKBOX; idc = IDCUNDEFINED; style = GUICENTER; colorText[] = {0.75,0.75,0.75,1}; colorDisabled[] = {0.35,0.35,0.35,0.25}; colorBackground[] = {0.35,0.35,0.35,0.25}; colorBackgroundActive[] = {0.35,0.35,0.35,0.25}; colorBackgroundDisabled[] = {0.35,0.35,0.35,0.25}; colorFocused[] = {0.35,0.35,0.35,0.25}; colorShadow[] = {0.1,0.1,0.1,0.25}; colorBorder[] = {0.7,0.7,0.7,0.5}; font = DEFAULTFONT; sizeEx = 0.025; offsetX = ; offsetY = ; offsetPressedX = ; offsetPressedY = ; /* borderSize = .002; soundClick[] = {"ui\ui_ok",0.2,1}; soundEnter[] = {"",0.1,1}; soundEscape[] = {"ui\ui_cc",0.2,1}; soundPush[] = {"",0.2,1}; default = false; */ //Default button dimensions. w = 0.275; h = 0.04; }; class GUIClickableText { type = GUICLICKABLETEXT; idc = IDCUNDEFINED; style = GUILEFT; color[] = {0.75,0.75,0.75,1}; colorActive[] = {1,1,1,1}; font = DEFAULTFONT; sizeEx = 0.025; soundClick[] = {"ui\ui_ok",0.2,1}; soundEnter[] = {"ui\ui_over",0.2,1}; soundEscape[] = {"ui\ui_cc",0.2,1}; soundPush[] = {, 0.2, 1}; default = false; //Default text dimensions. w = 0.275; h = 0.04; text = ""; }; class GUIEditableText { type = GUIEDITABLETEXT; idc = IDCUNDEFINED; style = GUILEFT; font = DEFAULTFONT; autocomplete = false; sizeEx = 0.02; colorSelection[] = {0.3,0.3,0.3,1}; colorText[] = {0.75,0.75,0.75,1}; text = ; //Default button dimensions. w = 0.275; h = 0.1; }; class GUIImage { type = GUITEXT; idc = IDCUNDEFINED; style = GUIIMAGE; colorText[] = {0.75,0.75,0.75,1}; colorBackground[] = {0,0,0,0}; font = DEFAULTFONT; sizeEx = 0.025; //Default button dimensions. w = 0.275; h = 0.04; text = ""; }; class GUIImageAspectRatio:GUIImage { style = GUIIMAGEASPECTRATIO; }; class GUIList { style = GUILEFT; idc = IDCUNDEFINED; colorBackground[] = {0.35,0.35,0.35,1}; colorSelect[] = {0.4,0.4,0.4,1}; colorSelectBackground[] = {0.6,0.6,0.6,1}; colorText[] = {0.75,0.75,0.75,1}; font = DEFAULTFONT; sizeEx = 0.029; rowHeight = 0.04; soundSelect[] = {"",0.1,1}; soundExpand[] = {"",0.1,1}; soundCollapse[] = {"",0.1,1}; maxHistoryDelay = 10; //Default list dimensions. w = 0.275; h = 0.04; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; }; class GUIListBox:GUIList { type = GUILIST; rowHeight = 0.03; colorScrollbar[] = {0.95, 0.95, 0.95, 1}; period = 1; class ScrollBar { color[] = {1, 1, 1, 0.6}; colorActive[] = {1, 1, 1, 1}; colorDisabled[] = {1, 1, 1, 0.3}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; }; class GUITransparentListBox:GUIListBox { colorBackground[] = {0,0,0,0}; colorSelect[] = {0,0,0,0}; colorSelectBackground[] = {0,0,0,0}; colorText[] = {0,0,0,0}; }; class GUIComboBox:GuiList { type = GUICOMBO; wholeHeight = 0.3; colorScrollbar[] = {0.95, 0.95, 0.95, 1}; period = 1; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; class ScrollBar { color[] = {1, 1, 1, 0.6}; colorActive[] = {1, 1, 1, 1}; colorDisabled[] = {1, 1, 1, 0.3}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; }; class GUISlider { idc = IDCUNDEFINED; type = GUISLIDER; style = 1024; color[] = {0.75,0.75,0.75,1}; colorActive[] = {1,1,1,1}; soundSelect[] = {"",0.1,1}; soundExpand[] = {"",0.1,1}; soundCollapse[] = {"",0.1,1}; //sizeEx = 0.025; w = 0.275; h = 0.04; }; class DefaultMenu { idd = IDCDEFAULT; movingEnable = true; controlsBackground[] = {BackgroundWindow}; objects[] = {}; class BackgroundWindow:GuiText { style = GUISTYLEHUD; colorBackground[] = {0.1,0.1,0.1,1.0}; text = ""; x = 0.325; y = 0.075; w = 0.4; h = 0.85; }; class BackgroundWindowLight:BackgroundWindow { colorBackground[] = {0.4,0.4,0.4,1.0}; }; }; // Karel, 01/22/2008 class GUIActiveText { type = 11; style = GUILEFT; SizeEx = 0.05; font = "BitStream"; color[]= {1,1,1,0.8}; colorActive[] = {1, 1, 1,1}; soundEnter[] = {"", 0.1, 1}; soundPush[] = {"", 0.1, 1}; soundClick[] = {"", 0.1, 1}; soundEscape[] = {"", 0.1, 1}; text = ""; }; class GUItab: GUIActiveText { // style = 48 + 0x800; style = 48; x = 0.15; y = 0.15; w = 0.1575; h = 0.05; text = "CA\Warfare2\Images\tab_mission.paa"; SizeEx = 0.030000; color[]= {1,1,1,1}; colorActive[] = {1,1,1,1}; onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_mission_a.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_mission.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_mission_a.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_mission.paa"";"; }; class GUIStructuredText { access=0; type=13; idc=-1; style=0; h=0.050000; text=""; size=0.020833; colorText[]={1,1,1,1}; class Attributes { font="Zeppelin32"; color="#ffffff"; align="left"; shadow=0; }; }; class GUIButtonLightGreen:GUIButton { style = GUICENTER; x = 0.65; y = 0.36; w = 0.24; h = 0.03; colorText[] = {0.82,1.00,0.82,1.0}; colorDisabled[] = {0.82,1.00,0.82,1.0}; colorBackground[] = {0.24,0.56,0.24,1.0}; colorBackgroundActive[] = {0.2,0.5,0.2,1.0}; colorBackgroundDisabled[] = {0.82,1.00,0.82,1.0}; colorFocused[] = {0.2,0.5,0.2,1.0}; colorShadow[] = {0.1,0.1,0.1,1}; colorBorder[] = {0,0,0,0}; }; class GUIButtonLightRed: GUIButtonLightGreen { style = GUICENTER; colorText[] = {1.00,0.82,0.82,1.0}; colorDisabled[] = {1.00,0.82,0.82,1.0}; colorBackground[] = {0.56,0.24,0.24,1.0}; colorBackgroundActive[] = {0.5,0.2,0.2,1.0}; colorBackgroundDisabled[] = {1.00,0.82,0.82,1.0}; colorFocused[] = {0.5,0.2,0.2,1.0}; }; //***************************************************************************************** //LOADOUT MENU //***************************************************************************************** class LoadoutMenu:DefaultMenu { controls[] = {MenuTitle,ResourcesLabel,SpaceLabel,TradeInLabel,CostLabel,LoadTemplate,BuyTemplate,SaveTemplate,TemplateList,PrimaryImage,PrimaryAmmo, PrimaryAdd,PrimarySubtract,PrimaryList,SecondaryImage,SecondaryAmmo,SecondaryAdd,SecondarySubtract,SecondaryList,SidearmImage, SidearmList,MiscImage,MiscAmmo,MiscAdd,MiscSubtract,MiscList,Reset,Clear,Cancel,Buy}; controlsBackground[] = {LoadoutBackgroundWindow}; class LoadoutBackgroundWindow:BackgroundWindow { x = 0.025; y = 0.1; w = 0.95; h = 0.8; }; class MenuTitle:GUILargeText { style = GUICENTER; x = 0.3625; y = 0.1; w = 0.285; h = 0.05; text = $STRWFLOADOUTS; }; class ResourcesLabel:GUILargeText { idc = IDCLOADOUTFUNDS; x = 0.05; y = 0.12; w = 0.25; text = ""; }; class SpaceLabel:GUILargeText { idc = IDCLOADOUTSPACE; x = 0.4; y = 0.12; w = 0.15; text = ""; }; class TradeInLabel:GUILargeText { idc = IDCLOADOUTTRADEIN; x = 0.6; y = 0.12; w = 0.2; text = ""; }; class CostLabel:GUILargeText { idc = IDCLOADOUTCOST; x = 0.8; y = 0.12; w = 0.15; text = ""; }; class LoadTemplate:GUIButtonDarker { x = 0.05; y = 0.2; w = 0.22; text = $STRWFLOADTEMPLATE; action = "loadoutLoadTemplate = true"; }; class BuyTemplate:GUIButtonDarker { x = 0.05; y = 0.25; w = 0.22; text = $STRWFBUYTEMPLATE; action = "loadoutBuyTemplate = true"; }; class SaveTemplate:GUIButtonDarker { x = 0.05; y = 0.3; w = 0.22; text = $STRWFSAVECUSTOM; action = "loadoutSaveTemplate = true"; }; //List of weapon loadout templates. class TemplateList:GUIListBox { idc = IDCLOADOUTTEMPLATELIST; x = 0.05; y = 0.35; w = 0.22; h = 0.477; }; class PrimaryImage:GUITransparentListBox { idc = IDCLOADOUTPRIMARY; x = 0.3; y = 0.2; rowHeight = 0.1; w = 0.16; h = 0.1; }; class PrimaryAmmo:GUIText { idc = IDCLOADOUTPRIMARYAMMO; x = 0.3; y = 0.305; w = 0.09; text = ""; }; class PrimaryAdd:GUIButtonDarker { x = 0.395; y = 0.305; w = 0.03; text = "+"; action = "loadoutPrimaryAdd = true"; }; class PrimarySubtract:GUIButtonDarker { x = 0.43; y = 0.305; w = 0.03; text = "-"; action = "loadoutPrimarySubtract = true"; }; class PrimaryList:GUIListBox { idc = IDCLOADOUTPRIMARYLIST; x = .3; y = 0.35; sizeEx = 0.026; rowHeight = 0.028; w = 0.158; h = 0.477; }; class SecondaryImage:GUITransparentListBox { idc = IDCLOADOUTSECONDARY; x = 0.49; y = 0.2; rowHeight = 0.1; w = 0.16; h = 0.1; }; class SecondaryAmmo:GUIText { idc = IDCLOADOUTSECONDARYAMMO; x = 0.49; y = 0.305; w = 0.09; text = ""; }; class SecondaryAdd:GUIButtonDarker { x = 0.585; y = 0.305; w = 0.03; text = "+"; action = "loadoutSecondaryAdd = true"; }; class SecondarySubtract:GUIButtonDarker { x = 0.62; y = 0.305; w = 0.03; text = "-"; action = "loadoutSecondarySubtract = true"; }; class SecondaryList:GUIListBox { idc = IDCLOADOUTSECONDARYLIST; sizeEx = 0.026; x = 0.49; y = 0.35; w = 0.158; h = 0.16; }; class SidearmImage:GUITransparentListBox { idc = IDCLOADOUTSIDEARM; x = 0.49; y = 0.54; rowHeight = 0.1; w = 0.16; h = 0.1; }; class SidearmList:GUIListBox { idc = IDCLOADOUTSIDEARMLIST; sizeEx = 0.026; x = 0.49; y = 0.65; w = 0.16; h = 0.177; }; class MiscImage:GUITransparentListBox { idc = IDCLOADOUTMISC; x = .68; y = 0.2; rowHeight = 0.1; w = 0.16; h = 0.1; }; class MiscAmmo:GUIText { idc = IDCLOADOUTMISCAMMO; x = 0.68; y = 0.305; w = 0.09; text = ""; }; class MiscAdd:GUIButtonDarker { x = 0.772; y = 0.305; w = 0.03; text = "+"; action = "loadoutMiscAdd = true"; }; class MiscSubtract:GUIButtonDarker { x = 0.807; y = 0.305; w = 0.03; text = "-"; action = "loadoutMiscSubtract = true"; }; class MiscList:GUIListBox { idc = IDCLOADOUTMISCLIST; sizeEx = 0.026; x = 0.68; y = 0.35; rowHeight = 0.03; w = 0.27; h = 0.477; }; class Reset:GUIButtonDarker { x = 0.1; y = 0.84; w = 0.18; text = $STRWFRESET; action = "loadoutReset = true"; }; class Clear:GUIButtonDarker { x = 0.3065; y = 0.84; w = 0.18; text = $STRWFCLEAR; action = "loadoutClear = true"; }; class Cancel:GUIButtonDarker { x = 0.513; y = 0.84; w = 0.18; text = $STRWFCANCEL; action = "loadoutCancel = true"; }; class Buy:GUIButtonDarker { idc = IDCLOADOUTBUY; x = 0.7+.02; y = 0.84; w = 0.18; text = $STRWFBUY; action = "loadoutBuy = true"; }; }; class LoadoutMenuLight:LoadoutMenu { controlsBackground[] = {LoadoutBackgroundWindow,LoadoutBackgroundWindow1}; class LoadoutBackgroundWindow1:BackgroundWindowLight { x = 0.025; y = 0.1; w = 0.95; h = 0.8; }; }; //***************************************************************************************** //FACTORY MENU //***************************************************************************************** //Base menu from which all vehicle menus are derived. class FactoryMenu:DefaultMenu { controls[] = {MenuTitle,StatusLabel,InfoBox,ImageBox,AddEmptyButton,AddToPlayerButton,AddList,ExitButton}; controlsBackground[] = {FactoryBackgroundWindow}; class FactoryBackgroundWindow:BackgroundWindow { x = 0.325; y = 0.02; w = 0.35; h = 0.7; }; class MenuTitle:GuiLargeText { idc = IDCMENUTITLE; style = GUICENTER; font = "Bitstream"; sizeEx = 0.025; x = 0.325; y = 0.00125; w = 0.35; h = 0.08; text = ""; }; class StatusLabel:GuiText { idc = IDCMENUSTATUSLABEL; style = GUICENTER; x = 0.3375; y = 0.06; w = 0.325; h = 0.04; text = ""; }; class InfoBox:GUIList { idc = IDCMENUINFO; type = GUILIST; x = 0.3375; y = 0.11; w = 0.17; h = 0.08; }; class ImageBox:GUIList { idc = IDCMENUIMAGE; type = GUILIST; rowHeight = 0.08; x = 0.53; y = 0.11; w = 0.13; h = 0.08; }; //Add vehicle to selected team. class AddToTeamButton:GUIButtonDarker { style = GUICENTER; x = 0.3375; y = 0.21; w = 0.17; action = "menuAddToTeam = true"; text = $STRWFADDTO; }; //Add vehicle to selected team. class AddToTeamList:GUIComboBox { idc = IDCMENUTEAMLIST; x = 0.53; y = 0.21; w = 0.13; }; //Add empty vehicle. class AddEmptyButton:GUIButtonDarker { idc = IDCMENUBUTTON; style = GUICENTER; x = 0.3375; y = 0.26; w = 0.325; action = "menuAddEmpty = true"; text = $STRWFADDEMPTY; }; //Add vehicle to player team. class AddToPlayerButton:GUIButtonDarker { idc = IDCMENUBUTTON1; style = GUICENTER; x = 0.3375; y = 0.31; w = 0.325; action = "menuAddToPlayer = true"; text = $STRWFADDMANNED; }; //Drop down list of units. class AddList:GUIListBox { idc = IDCMENULIST; x = 0.3375; y = 0.36; w = 0.325; h = 0.3; }; class ExitButton:GUIButtonDarker { x = 0.3375; y = 0.67; w = 0.325; action = "openMenuType = 0;CloseDialog 0"; text = $STRWFEXIT; }; }; class FactoryMenuLight:FactoryMenu { controlsBackground[] = {FactoryBackgroundWindow,FactoryBackgroundWindow1}; class FactoryBackgroundWindow1:BackgroundWindowLight { x = 0.325; y = 0.02; w = 0.35; h = 0.7; }; }; class CommanderFactoryMenu:FactoryMenu { controls[] = {MenuTitle,StatusLabel,InfoBox,ImageBox,AddToTeamButton,AddToTeamList,AddEmptyButton,AddToPlayerButton,AddList,ExitButton}; }; class CommanderFactoryMenuLight:FactoryMenuLight { controls[] = {MenuTitle,StatusLabel,InfoBox,ImageBox,AddToTeamButton,AddToTeamList,AddEmptyButton,AddToPlayerButton,AddList,ExitButton}; }; class ConstructionMenu:DefaultMenu { controls[] = {InfoBackground, MouseArea,HelpPanelBackground,HelpPanelClose,HelpPanel, Toolbar,ToolbarLabel,ToolbarMouseStop,ToolbarLabel1,StructureBackground,StructureDivider, /*FirstPersonToggle,*/ExitButton,GarrisonCheckbox,GarrisonLabel,HelpButton,NVGButton,warfarelogo,MessageBar, StructureImage0,StructureLabel0,StructureHighlighted0,StructureImage1,StructureLabel1,StructureHighlighted1, StructureImage2,StructureLabel2,StructureHighlighted2,StructureImage3,StructureLabel3,StructureHighlighted3, StructureImage4,StructureLabel4,StructureHighlighted4,StructureImage5,StructureLabel5,StructureHighlighted5, StructureImage6,StructureLabel6,StructureHighlighted6,StructureImage7,StructureLabel7,StructureHighlighted7, StructureImage8,StructureLabel8,StructureHighlighted8,StructureImage9,StructureLabel9,StructureHighlighted9, StructureImage10,StructureLabel10,StructureHighlighted10,StructureImage11,StructureLabel11,StructureHighlighted11, StructureImage12,StructureLabel12,StructureHighlighted12,StructureImage13,StructureLabel13,StructureHighlighted13 }; controlsBackground[] = {}; onKeyDown = "menuKey = KeyName (_this select 1)"; onKeyUp = "menuKey = """""; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_Construction.sqs"");BI_construction_NVG = false;menuGarrison = false;"; onUnload = "BI_construction_NVG = nil;"; class InfoBackground:GuiImage { idc = -1; x=-10.00; y=-00.00; w=+30.00; h=+00.05; text = "\ca\ui\data\marker_brush_horizontal_ca.paa"; colorText[] = {color1wfRGB,0.9}; colorBackground[]={0,0,0,0}; }; class StructureBackground:GuiImage { x = -10; y = 0.89; w = 30; h = 0.11; colorText[] = {color1wfRGB,0.9}; colorBackground[]={0,0,0,0}; text = "\ca\ui\data\ui_gradient_title_gs.paa"; }; class warfarelogo: GUIImageAspectRatio { x = -0.154-0.08; y = -0.077; w = 0.8; h = 0.2; text = "\CA\Warfare2\Images\warfare_logo_grn.paa"; colorText[] = {1,1,1,1.2}; }; class xExitButton: GUIActiveText { IDC = 220117; style = 48 + 0x800; x = 0.960; y = 0.85; w = 0.035; h = 0.05; text = "\CA\Warfare2\Images\button_x.paa"; color[] = {color2wfRGB, 0.7}; colorActive[] = {0.72,0.48,0.24,1.0}; SizeEx = 0.030000; action = "CloseDialog 0;menuExit = true"; }; class InfoMouseStop:GuiButton { x = 0.0; y = 0.0; w = 1.0; h = 0.08; colorBackground[] = {0,0,0,0}; colorBackgroundActive[] = {0,0,0,0}; colorBackgroundDisabled[] = {0,0,0,0}; colorFocused[] = {0,0,0,0}; colorShadow[] = {0,0,0,0}; colorBorder[] = {0,0,0,0}; onMouseMoving = "mouseFocus = false"; }; class MouseArea:GUIButton { idc = IDCMENUIMAGE; colorBackground[] = {0,0,0,0}; colorBackgroundActive[] = {0,0,0,0}; colorBackgroundDisabled[] = {0,0,0,0}; colorFocused[] = {0,0,0,0}; colorShadow[] = {0,0,0,0}; colorBorder[] = {0,0,0,0}; x = 0.0; y = 0.05; w = 1.0; h = 0.8; onMouseMoving = "mouseFocus = true;mouseX = (_this Select 1) / 1 - 0.5;mouseY = (_this Select 2) / 0.8 - 0.5;mousePos = _this"; onMouseButtonDown = "mouseButtonDown = _this Select 1"; onMouseButtonUp = "mouseButtonUp = _this Select 1"; onMouseZChanged = "mouseButtonWheel = _this Select 1"; }; class FirstPersonToggle:GUICheckBox { idc = IDCMENUCHECKBOX; //sizeEx = 0.025; color[] = {1,1,1,1}; x = 0.0; y = 0.85; w = 0.19; h = 0.035; action = ""; }; class Toolbar:GuiImage { x = 0.0; y = 0.85; w = 1.0; h = 0.04; text = "\ca\ui\data\ui_gradient_title_gs.paa"; colorText[] = {0.72,0.48,0.24,1.0}; }; class ToolbarMouseStop:GuiButton { x = 0.0; y = 0.85; w = 0.75; h = 0.04; colorBackground[] = {0,0,0,0}; colorBackgroundActive[] = {0,0,0,0}; colorBackgroundDisabled[] = {0,0,0,0}; colorFocused[] = {0,0,0,0}; colorShadow[] = {0,0,0,0}; colorBorder[] = {0,0,0,0}; onMouseMoving = "mouseFocus = false"; }; class ToolbarLabel:GuiLargeText { idc = IDCMENULIST; x = 0.1; y = 0.85; w = 0.4; h = 0.04; }; class ToolbarLabel1:GuiLargeText { idc = IDCMENULIST1; x = 0.5; y = 0.85; w = 0.4; h = 0.04; }; class StructureDivider:GuiLargeText { x = 0.4975; y = 0.89; w = 0.005; h = 0.11; colorBackground[] = {0.5,0.5,0.5,0.5}; }; class StructureImage:GUIClickableText { idc = IDCGENERICIMAGE; style = GUIIMAGEASPECTRATIO; y = 0.895; w = 0.08; h = 0.08; text = ""; }; class StructureHighlighted:StructureImage { idc = IDCUNDEFINED; text = "\Ca\UI\Data\clear_empty_ca.paa"; onMouseEnter = "(_this select 0) CtrlSetText """";"; onMouseExit = "(_this select 0) CtrlSetText """";"; onMouseMoving = "mouseFocus = false"; }; class StructureLabel:GuiText { style = GUICENTER; y = 0.965; w = 0.08; h = 0.04; }; class StructureImage0:StructureImage { idc = IDCCONSTRUCTIONIMAGE; x = 0.0; action = "menuBuy = 0"; }; class StructureLabel0:StructureLabel { idc = IDCCONSTRUCTIONLABEL; x = 0.0; }; class StructureHighlighted0:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON; x = 0.0; }; class StructureImage1:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 1; x = 0.071 * 1; action = "menuBuy = 1"; }; class StructureLabel1:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 1; x = 0.071 * 1; }; class StructureHighlighted1:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 1; x = 0.071 * 1; }; class StructureImage2:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 2; x = 0.071 * 2; action = "menuBuy = 2"; }; class StructureLabel2:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 2; x = 0.071 * 2; }; class StructureHighlighted2:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 2; x = 0.071 * 2; }; class StructureImage3:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 3; x = 0.071 * 3; action = "menuBuy = 3"; }; class StructureLabel3:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 3; x = 0.071 * 3; }; class StructureHighlighted3:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 3; x = 0.071 * 3; }; class StructureImage4:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 4; x = 0.071 * 4; action = "menuBuy = 4"; }; class StructureLabel4:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 4; x = 0.071 * 4; }; class StructureHighlighted4:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 4; x = 0.071 * 4; }; class StructureImage5:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 5; x = 0.071 * 5; action = "menuBuy = 5"; }; class StructureLabel5:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 5; x = 0.071 * 5; }; class StructureHighlighted5:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 5; x = 0.071 * 5; }; class StructureImage6:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 6; x = 0.071 * 6; action = "menuBuy = 6"; }; class StructureLabel6:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 6; x = 0.071 * 6; }; class StructureHighlighted6:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 6; x = 0.071 * 6; }; class StructureImage7:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 7; x = 0.071 * 7; action = "menuBuy = 7"; }; class StructureLabel7:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 7; x = 0.071 * 7; }; class StructureHighlighted7:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 7; x = 0.071 * 7; }; class StructureImage8:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 8; x = 0.071 * 8; action = "menuBuy = 8"; }; class StructureLabel8:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 8; x = 0.071 * 8; }; class StructureHighlighted8:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 8; x = 0.071 * 8; }; class StructureImage9:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 9; x = 0.071 * 9; action = "menuBuy = 9"; }; class StructureLabel9:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 9; x = 0.071 * 9; }; class StructureHighlighted9:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 9; x = 0.071 * 9; }; class StructureImage10:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 10; x = 0.071 * 10; action = "menuBuy = 10"; }; class StructureLabel10:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 10; x = 0.071 * 10; }; class StructureHighlighted10:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 10; x = 0.071 * 10; }; class StructureImage11:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 11; x = 0.071 * 11; action = "menuBuy = 11"; }; class StructureLabel11:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 11; x = 0.071 * 11; }; class StructureHighlighted11:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 11; x = 0.071 * 11; }; class StructureImage12:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 12; x = 0.071 * 12; action = "menuBuy = 12"; }; class StructureLabel12:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 12; x = 0.071 * 12; }; class StructureHighlighted12:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 12; x = 0.071 * 12; }; class StructureImage13:StructureImage { idc = IDCCONSTRUCTIONIMAGE + 13; x = 0.071 * 13; action = "menuBuy = 13"; }; class StructureLabel13:StructureLabel { idc = IDCCONSTRUCTIONLABEL + 13; x = 0.071 * 13; }; class StructureHighlighted13:StructureHighlighted { idc = IDCCONSTRUCTIONBUTTON + 13; x = 0.071 * 13; }; class MessageBar:GUIText { style = GUICENTER; idc = IDCMENUSTATUSLABEL; x = 0.2; y = 0.81; w = 0.6; h = 0.04; sizeEx = 0.035; colorText[] = {0.8,0,0,1}; colorBackground[] = {0,0,0,0}; }; class HelpPanel:GUIListBox { idc = IDCMENULIST2; x = 0.25; y = 0.1; w = 0.5; h = 0.6; colorText[] = {0.8,0.8,0.8,1}; colorBackground[] = {0,0,0,0}; }; class HelpPanelBackground:GUIText { idc = IDCMENUBUTTON; x = 0.225; y = 0.075; w = 0.55; h = 0.75; colorBackground[] = {0.3,0.3,0.3,0.9}; }; class HelpPanelClose:GUIButton { idc = IDCMENUBUTTON1; x = 0.4; y = 0.75; w = 0.2; h = 0.04; action = "menuExit = true"; text = "Close"; }; class ExitButton:GuiButton { x = 0.8; y = 0.85; w = 0.2; h = 0.04; offsetX = 0; offsetY = 0; offsetPressedX = 0; offsetPressedY = 0; colorText[] = {0.75,0.75,0.75,1}; colorBackground[] = {0,0,0,0.15}; colorBackgroundActive[] = {0.5,0.5,0.5,0.15}; colorFocused[] = {0.35,0.35,0.35,0.25}; colorShadow[] = {0.1,0.1,0.1,0}; action = "CloseDialog 0;menuExit = true"; text = $STRWFEXIT; onMouseMoving = "mouseFocus = false"; }; class HelpButton:ExitButton { x = 0.75; y = 0.85; w = 0.05; h = 0.04; sizeEx = 0.04; action = "menuHelp = true"; text = "?"; onMouseMoving = "mouseFocus = false"; }; class NVGButton:ExitButton { x = 0.68; y = 0.85; w = 0.07; h = 0.04; sizeEx = 0.03; action = "if (BI_construction_NVG) then {camUseNVG false; BI_construction_NVG = false} else {camUseNVG true; BI_construction_NVG = true;};"; text = "NVG"; onMouseMoving = "mouseFocus = false"; }; class GarrisonCheckbox:ExitButton { type = GUICLICKABLETEXT; style = GUIIMAGEASPECTRATIO; idc = IDCMENUCHECKBOX; x = 0.4; w = 0.025; text = "\CA\Warfare2\Images\CheckboxEmpty.paa"; color[] = {0.75,0.75,0.75,1}; colorActive[] = {1,1,1,1}; action = "menuGarrison = !menuGarrison;if (menuGarrison) then {CtrlSetText [IDCMENUCHECKBOX,""\CA\Warfare2\Images\CheckboxChecked.paa""]} else {CtrlSetText [IDCMENUCHECKBOX,""\CA\Warfare2\Images\CheckboxEmpty.paa""]};"; }; class GarrisonLabel:GuiLargeText { type = GUITEXT; idc = IDCMENUINFO; x = 0.425; y = 0.85; w = 0.15; h = 0.04; text = "Use Garrison: 10"; colorText[] = {0.75,0.75,0.75,1}; }; }; //***************************************************************************************** //TOWN CAPTURE PROGRESS INDICATOR & USE BUILDING INDICATOR //***************************************************************************************** class RscTitlesClassic { titles[] = {WF_Splash,CampCaptureProgress,TownCaptureProgress,EndOfGameStats,UseObject}; //--- Karel 03/03/2008 class WF_Splash { idd = IDCDEFAULT; movingEnable = true; duration = 3; onLoad = "BIS_WF_Splash = _this Select 0"; onUnload = "BIS_WF_Splash = displayNull"; fadein = 0; name = "Warfare Splash"; class controls { class BackgroundWindow:GuiText { colorBackground[] = {0,0,0,1}; text = ""; x = -1; y = 0; w = 3; h = 1; }; class InfoBackground:GuiImage { idc = -1; x=-1.0; y=+0.375; w=+3.0; h=+0.24; text = "\ca\ui\data\marker_brush_horizontal_ca.paa"; colorText[] = {1,1,1,0.1}; colorBackground[]={0,0,0,0}; }; class warfarelogo: GUIImageAspectRatio { x = 0.1; y = 0.2; w = 0.8; h = 0.5; text = "\CA\Warfare2\Images\warfare_logo_brown.paa"; colorText[] = {1,1,1,1}; }; class cti: GUIText { style = GUICENTER; x = 0.0; y = 0.45; w = 1.0; h = 0.2; sizeEx = 0.06; text = "$STRWFSPLASH"; colorText[] = {1,1,1,1}; }; class copyright: GUIText { style = GUICENTER; x = 0.0; y = 0.95; w = 1.0; h = 0.02; sizeEx = 0.025; text = "$STRWFCOPYRIGHT"; colorText[] = {1,1,1,0.5}; }; class ProgressBarBackground:GUIText { style = GUISTYLEHUD; idc = IDCGENERICIMAGE; x = 0.09; y = 0.8; w = 0.82; h = 0.08; colorBackground[] = {0.85,0.0,0.0,1.0}; text = ""; }; class ProgressBar:GUIText { style = GUISTYLEHUD; idc = IDCGENERICIMAGE + 1; x = 0.1; y = 0.8075; w = 0.0; h = 0.065; colorBackground[] = {1.0,0.4,0.4,0.9}; text = ""; }; class ProgressBarText:GUIText { style = GUICENTER; idc = IDCGENERICTEXT; sizeEx = 0.031; x = 0.1; y = 0.8075; w = 0.8; h = 0.065; colorText[] = {1,1,1,1.0}; colorBackground[] = {0,0,0,0}; text = "Initializing..."; }; }; }; class UseObject:DefaultMenu { duration = 15000; name = "UseObject"; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_SetCurrentCutDisplay.sqs"")"; onUnload = "_this Exec (corePath + ""Client\GUI\GUI_ClearCurrentCutDisplay.sqs"")"; controls[] = {ObjectKeyLabel,UsableObjectIcon1,UsableObjectIcon2,UsableObjectIcon3,UsableObjectIcon4,UsableObjectIcon5}; controlsBackground[] = {UseObjectBackground}; class UseObjectBackground:BackgroundWindow { idc = IDCMENUIMAGE; x = 0.93; y = 0.595; w = 0.07; h = 0.03; colorBackground[] = {0.4,0.4,0.4,1.0}; }; class ObjectKeyLabel:GuiLargeText { idc = IDCMENUINFO; style = GUICENTER; sizeEx = 0.022; x = 0.935; y = 0.6; w = 0.06; h = 0.02; colorText[] = {1.0,1.0,1.0,1}; text = ""; }; class UsableObjectIcon1:GUIImageAspectRatio { IDC = IDCGENERICIMAGE; x = 0.93; y = 0.54; w = 0.07; h = 0.06; colortext[] = {1,1,1,0.4}; text = ""; }; class UsableObjectIcon2:UsableObjectIcon1 { IDC = IDCGENERICIMAGE + 1; y = 0.54-(0.06*1); }; class UsableObjectIcon3:UsableObjectIcon1 { IDC = IDCGENERICIMAGE + 2; y = 0.54-(0.06*2); }; class UsableObjectIcon4:UsableObjectIcon1 { IDC = IDCGENERICIMAGE + 3; y = 0.54-(0.06*3); }; class UsableObjectIcon5:UsableObjectIcon1 { IDC = IDCGENERICIMAGE + 4; y = 0.54-(0.06*4); }; }; class CampCaptureProgress:DefaultMenu { duration = 15000; name = "CampCaptureProgress"; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_SetCurrentCutDisplay.sqs"")"; onUnload = "_this Exec (corePath + ""Client\GUI\GUI_ClearCurrentCutDisplay.sqs"")"; controls[] = {ProgressBar,InfoLabel}; controlsBackground[] = {ProgressBarBackground}; class ProgressBarBackground:BackgroundWindow { idc = IDCGENERICLABEL; x = 0.3; y = 0.01; w = 0.4; h = 0.06; colorBackground[] = {0.4,0.4,0.4,1.0}; }; class ProgressBar:BackgroundWindow { idc = IDCGENERICTEXT; x = 0.31; y = 0.02; w = 0.38; h = 0.04; colorBackground[] = {1.0,0.0,0.0,1.0}; }; class InfoLabel:GuiLargeText { idc = IDCMENUTITLE; style = GUICENTER; font = "Bitstream"; sizeEx = 0.03; x = 0.32; y = 0.02; w = 0.36; h = 0.04; colorText[] = {1.0,1.0,1.0,1}; text = $STRWFCAPTURINGCAMP; }; }; class TownCaptureProgress:DefaultMenu { duration = 15000; name = "TownCaptureProgress"; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_SetCurrentCutDisplay.sqs"")"; onUnload = "_this Exec (corePath + ""Client\GUI\GUI_ClearCurrentCutDisplay.sqs"")"; controls[] = {ProgressBar,InfoLabel}; controlsBackground[] = {ProgressBarBackground}; class ProgressBarBackground:BackgroundWindow { idc = IDCGENERICLABEL; x = 0.3; y = 0.01; w = 0.4; h = 0.06; colorBackground[] = {0.4,0.4,0.4,1.0}; }; class ProgressBar:BackgroundWindow { idc = IDCGENERICTEXT; x = 0.31; y = 0.02; w = 0.38; h = 0.04; colorBackground[] = {0.0,0.8,0.0,1.0}; }; class InfoLabel:GuiLargeText { idc = IDCGENERICTEXT + 1; style = GUICENTER; font = "Bitstream"; sizeEx = 0.03; x = 0.32; y = 0.02; w = 0.36; h = 0.04; colorText[] = {1.0,1.0,1.0,1}; text = $STRWFCAPTURINGTOWN; }; }; class EndOfGameStats:DefaultMenu { duration = 30000; name = "EndOfGameStats"; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_SetCurrentTitleDisplay.sqs"")"; onUnload = "_this Exec (corePath + ""Client\GUI\GUI_ClearCurrentTitleDisplay.sqs"")"; controls[] = {SideWinsText,EastImage,WestImage,SoldiersRecruitedLabel,SoldiersLostLabel,VehiclesCreatedLabel,VehiclesLostLabel, EastSoldiersRecruitedCount,EastSoldiersRecruitedBar,WestSoldiersRecruitedCount,WestSoldiersRecruitedBar, EastSoldiersLostCount,EastSoldiersLostBar,WestSoldiersLostCount,WestSoldiersLostBar, EastVehiclesCreatedCount,EastVehiclesCreatedBar,WestVehiclesCreatedCount,WestVehiclesCreatedBar, EastVehiclesLostCount,EastVehiclesLostBar,WestVehiclesLostCount,WestVehiclesLostBar}; //--- Karel 30/02/2008 controlsBackground[] = {MainBackground}; class MainBackground:GuiImage { color[] = {0,0,0,1}; colorText[] = color1wf; text = "\ca\ui\data\ui_gradient_start_gs.paa"; x = -10; y = 0; w = 30; h = 1; }; class SideWinsText:GuiLargeText { idc = IDCMENUINFO; style = GUICENTER; font = "Bitstream"; sizeEx = 0.05; x = 0.3; y = 0.1; w = 0.3; h = 0.08; colorText[] = {1.0,1.0,1.0,1}; }; class EastImage:GUIImageAspectRatio { x = 0.1; y = 0.05; w = 0.2; h = 0.2; text = "\ca\data\flag_rus_co.paa"; }; class WestImage:EastImage { x = 0.6; text = "\ca\data\flag_usa_co.paa"; }; class SoldiersRecruitedLabel:GuiLargeText { style = GUICENTER; font = "Bitstream"; sizeEx = 0.03; x = 0.05; y = 0.25; w = 0.9; h = 0.04; colorText[] = {1.0,1.0,1.0,1}; text = $STRWFSOLDIERSRECRUITED; }; class SoldiersRecruitedCountBase:GuiLargeText { idc = IDCEAST; style = GUILEFT; font = "Bitstream"; sizeEx = 0.06; x = 0.05; y = 0.3; w = 0.2; h = 0.1; colorText[] = {1.0,1.0,1.0,1}; }; class EastSoldiersRecruitedCount:SoldiersRecruitedCountBase { idc = IDCEAST; }; class EastSoldiersRecruitedBar:BackgroundWindow { idc = IDCEAST + 1; x = 0.05; y = 0.31; w = 0.4; h = 0.08; colorBackground[] = {0.0,0.9,0.0,1.0}; }; class WestSoldiersRecruitedCount:SoldiersRecruitedCountBase { idc = IDCWEST; x = 0.55; }; class WestSoldiersRecruitedBar:EastSoldiersRecruitedBar { idc = IDCWEST + 1; x = 0.55; }; class SoldiersLostLabel:SoldiersRecruitedLabel { y = 0.4; text = $STRWFSOLDIERSLOST; }; class EastSoldiersLostCount:SoldiersRecruitedCountBase { idc = IDCEAST + 2; y = 0.45; }; class EastSoldiersLostBar:EastSoldiersRecruitedBar { idc = IDCEAST + 3; y = 0.46; colorBackground[] = {0.9,0.0,0.0,1.0}; }; class WestSoldiersLostCount:SoldiersRecruitedCountBase { idc = IDCWEST + 2; y = 0.45; x = 0.55; }; class WestSoldiersLostBar:EastSoldiersLostBar { idc = IDCWEST + 3; x = 0.55; }; class VehiclesCreatedLabel:SoldiersRecruitedLabel { y = 0.55; text = $STRWFVEHICLESBUILT; }; class EastVehiclesCreatedCount:SoldiersRecruitedCountBase { idc = IDCEAST + 4; y = 0.6; }; class EastVehiclesCreatedBar:EastSoldiersRecruitedBar { idc = IDCEAST + 5; y = 0.61; colorBackground[] = {0.0,0.9,0.0,1.0}; }; class WestVehiclesCreatedCount:SoldiersRecruitedCountBase { idc = IDCWEST + 4; x = 0.55; y = 0.6; }; class WestVehiclesCreatedBar:EastVehiclesCreatedBar { idc = IDCWEST + 5; x = 0.55; }; class VehiclesLostLabel:SoldiersRecruitedLabel { y = 0.7; text = $STRWFVEHICLESLOST; }; class EastVehiclesLostCount:SoldiersRecruitedCountBase { idc = IDCEAST + 6; y = 0.75; }; class EastVehiclesLostBar:EastSoldiersRecruitedBar { idc = IDCEAST + 7; y = 0.76; colorBackground[] = {0.9,0.0,0.0,1.0}; }; class WestVehiclesLostCount:SoldiersRecruitedCountBase { idc = IDCWEST + 6; x = 0.55; y = 0.75; }; class WestVehiclesLostBar:EastVehiclesLostBar { idc = IDCWEST + 7; x = 0.55; }; }; }; //***************************************************************************************** //COMMAND INTERFACE //***************************************************************************************** class CommandMenu:DefaultMenu { controls[] = {InfoBackground,InfoLabel,CommandLabel,MapArea,TeamTypeLabel,TeamTypeList,TeamsToolbar,TeamsLabel, TeamButton1,TeamButton2,TeamButton3,TeamButton4,TeamButton5,TeamButton6,TeamButton7,TeamButton8, TeamButton9,TeamButton10,TeamButton11,TeamButton12,TeamButton13,TeamButton14,TeamButton15,TeamButton16, CommandsBackground,CommandsToolbarLabel, CommandButton1,CommandButton2,CommandButton3,CommandButton4,CommandButton5,CommandButton6, ExitButton}; controlsBackground[] = {}; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_Command.sqs"")"; class InfoBackground:GuiImage { x = 0.0; y = 0.0; w = 1.0; h = 0.5; text = "\ca\ui\data\ui_gradient_middle_gs.paa"; }; class InfoLabel:GuiLargeText { idc = IDCMENUTITLE; style = GUICENTER; font = "Bitstream"; sizeEx = 0.025; x = 0.2; y = 0.001; w = 0.35; h = 0.04; colorText[] = {1.0,1.0,1.0,1}; text = ""; }; class CommandLabel:GuiText { idc = IDCMENUINFO; style = GUICENTER; font = "Bitstream"; x = 0.0; y = 0.001; w = 0.3; h = 0.04; colorText[] = {1.0,0.0,0.0,1}; text = ""; }; class TeamTypeLabel:GuiText { style = GUICENTER; font = "Bitstream"; x = 0.45; y = 0.001; w = 0.2; h = 0.04; colorText[] = {1.0,1.0,1.0,1}; text = $STRWFTYPE; }; class TeamTypeList:GUIComboBox { idc = IDCMENULIST; x = 0.6; y = 0.001; w = 0.2; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; class TeamsToolbar:GuiImage { x = 0.0; y = 0.845; w = 1.0; h = 0.055; text = "\ca\ui\data\ui_gradient_title_gs.paa"; }; class TeamsLabel:GuiText { style = GUIRIGHT; font = "Bitstream"; x = 0.0; y = 0.855; w = 0.067; h = 0.04; colorText[] = {1.0,1.0,1.0,1}; text = $STRWFAITEAM; }; class TeamButton:GuiButton { y = 0.855; w = 0.045; h = 0.04; offsetX = 0; offsetY = 0; offsetPressedX = 0; offsetPressedY = 0; colorText[] = {0.75,0.75,0.75,1}; colorBackground[] = {0.3,0.3,0.3,0.4}; colorBackgroundActive[] = {0.75,0.75,0.75,0.4}; colorFocused[] = {0.35,0.35,0.35,0.8}; colorShadow[] = {0,0,0,0}; }; class TeamButton1:TeamButton { idc = IDCCONSTRUCTIONBUTTON; x = 0.06; text = "1"; action = "menuTeam = 1"; }; class TeamButton2:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 1; x = 0.11; text = "2"; action = "menuTeam = 2"; }; class TeamButton3:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 2; x = 0.16; text = "3"; action = "menuTeam = 3"; }; class TeamButton4:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 3; x = 0.21; text = "4"; action = "menuTeam = 4"; }; class TeamButton5:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 4; x = 0.26; text = "5"; action = "menuTeam = 5"; }; class TeamButton6:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 5; x = 0.31; text = "6"; action = "menuTeam = 6"; }; class TeamButton7:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 6; x = 0.36; text = "7"; action = "menuTeam = 7"; }; class TeamButton8:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 7; x = 0.41; text = "8"; action = "menuTeam = 8"; }; class TeamButton9:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 8; x = 0.46; text = "9"; action = "menuTeam = 9"; }; class TeamButton10:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 9; x = 0.51; text = "10"; action = "menuTeam = 10"; }; class TeamButton11:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 10; x = 0.56; text = "11"; action = "menuTeam = 11"; }; class TeamButton12:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 11; x = 0.61; text = "12"; action = "menuTeam = 12"; }; class TeamButton13:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 12; x = 0.66; text = "13"; action = "menuTeam = 13"; }; class TeamButton14:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 13; x = 0.71; text = "14"; action = "menuTeam = 14"; }; class TeamButton15:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 14; x = 0.76; text = "15"; action = "menuTeam = 15"; }; class TeamButton16:TeamButton { idc = IDCCONSTRUCTIONBUTTON + 15; x = 0.81; text = "16"; action = "menuTeam = 16"; }; class CommandsBackground:GUIText { x = 0.0; y = 0.9; w = 1.0; h = 0.1; colorBackground[] = {0,0,0,1}; }; class CommandsToolbarLabel:GuiLargeText { idc = IDCMENULIST; x = 0.1; y = 0.85; w = 0.9; h = 0.04; }; class CommandButton:GuiButton { y = 0.91; w = 0.145; h = 0.05; colorBackground[] = {0.2,0.2,0.2,1}; colorBackgroundActive[] = {0.3,0.3,0.3,1}; colorFocused[] = {0.4,0.4,0.4,1}; colorShadow[] = {0.1,0.1,0.1,1}; colorBorder[] = {0.7,0.7,0.7,0.5}; }; class CommandButton1:CommandButton { x = 0.025; text = $STRWFMOVE; action = "menuCommand = MISMOVETODESTINATION"; }; class CommandButton2:CommandButton { x = 0.186; //text = $STRWFASSAULT; //action = "menuCommand = MISASSAULT"; text = $STRWFNA; action = "menuCommand = MISCAPTURELOCATIONS"; }; class CommandButton3:CommandButton { x = 0.347; text = $STRWFCAPTURETOWN; action = "menuCommand = MISCAPTURELOCATIONS"; }; class CommandButton4:CommandButton { x = 0.508; text = $STRWFDEFENDBASE; action = "menuCommand = MISDEFENDBASE"; }; class CommandButton5:CommandButton { x = 0.669; //text = $STRWFDEFENDLOCATIONS; //action = "menuCommand = MISDEFENDLOCATIONS"; text = $STRWFNA; action = "menuCommand = MISCAPTURELOCATIONS"; }; class CommandButton6:CommandButton { x = 0.83; text = $STRWFPATROL; action = "menuCommand = MISPATROL"; }; class ExitButton:TeamButton { x = 0.935; y = 0.855; w = 0.06; text = $STRWFEXIT; action = "CloseDialog 0;menuExit = true"; }; class MapArea:GUIImage { type = GUIMAP; idc = IDCMENUIMAGE; colorBackground[] = {0.8,0.8,0.8,1}; colorText[] = {0, 0, 0, 1}; colorRailway[] = {0.5, 0.5, 0.5, 0.5}; colorSea[] = {0.56, 0.8, 0.98, 0.5}; colorForest[] = {0.6, 0.8, 0.2, 0.5}; colorRocks[] = {0.5, 0.5, 0.5, 0.5}; colorCountlines[] = {0.65, 0.45, 0.27, 0.5}; colorMainCountlines[] = {0.65, 0.45, 0.27, 1}; colorCountlinesWater[] = {0, 0.53, 1, 0.5}; colorMainCountlinesWater[] = {0, 0.53, 1, 1}; colorForestBorder[] = {0.4, 0.8, 0, 1}; colorRocksBorder[] = {0.5, 0.5, 0.5, 1}; colorPowerLines[] = {0, 0, 0, 1}; colorNames[] = {0, 0, 0, 1}; colorInactive[] = {1, 1, 1, 0.5}; colorLevels[] = {0, 0, 0, 1}; fontLabel = "TahomaB"; sizeExLabel = 0.04; fontGrid = "TahomaB"; sizeExGrid = 0.04; fontUnits = "TahomaB"; sizeExUnits = 0.04; fontNames = "TahomaB"; sizeExNames = 0.04; fontInfo = "TahomaB"; sizeExInfo = 0.04; fontLevel = "TahomaB"; sizeExLevel = 0.04; text = "#(argb,8,8,3)color(1,1,1,1)"; stickX[] = {0.2, {"Gamma", 1, 1.5}}; stickY[] = {0.2, {"Gamma", 1, 1.5}}; ptsPerSquareSea = 6; ptsPerSquareTxt = 8; ptsPerSquareCLn = 8; ptsPerSquareExp = 8; ptsPerSquareCost = 8; ptsPerSquareFor = "4.0f"; ptsPerSquareForEdge = "10.0f"; ptsPerSquareRoad = 2; ptsPerSquareObj = 10; showCountourInterval = "true"; x = 0.0; y = 0.05; w = 1.0; h = 0.8; onMouseMoving = "mouseX = (_this Select 1);mouseY = (_this Select 2)"; onMouseButtonDown = "mouseButtonDown = _this Select 1"; onMouseButtonUp = "mouseButtonUp = _this Select 1"; /* class Legend { x = 0.7; y = 0.65; w = 0.25; h = 0.09; font = "TahomaB"; sizeEx = 0.04; colorBackground[] = {1, 1, 1, 1}; color[] = {0, 0, 0, 1}; }; */ class task { icon = ""; color[] = {0, 0, 1, 1}; size = 10; coefMin = 1; coefMax = 4; importance = 1; }; class CustomMark { icon = "\ca\ui\data\map_waypoint_ca.paa"; color[] = {0, 0, 1, 1}; size = 18; importance = 1; coefMin = 1; coefMax = 1; }; class Bunker { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0, 0, 1, 1}; size = 14; importance = 1.5 * 14 * 0.05; coefMin = 0.25; coefMax = 4; }; class Bush { icon = "\ca\ui\data\map_bush_ca.paa"; color[] = {0.55, 0.64, 0.43, 1}; size = 14; importance = 0.2 * 14 * 0.05; coefMin = 0.25; coefMax = 4; }; class BusStop { icon = "\ca\ui\data\map_busstop_ca.paa"; color[] = {0, 0, 1, 1}; size = 10; importance = 1 * 10 * 0.05; coefMin = 0.25; coefMax = 4; }; class Command { icon = "#(argb,8,8,3)color(1,1,1,1)"; color[] = {0, 0.9, 0, 1}; size = 18; importance = 1; coefMin = 1; coefMax = 1; }; class Cross { icon = "\ca\ui\data\map_cross_ca.paa"; color[] = {0, 0, 1, 1}; size = 16; importance = 0.7 * 16 * 0.05; coefMin = 0.25; coefMax = 4; }; class Fortress { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0, 0, 1, 1}; size = 16; importance = 2 * 16 * 0.05; coefMin = 0.25; coefMax = 4; }; class Fuelstation { icon = "#(argb,8,8,3)color(0,0,0,1)"; color[] = {0, 0, 0, 1}; size = 16; importance = 2 * 16 * 0.05; coefMin = 0.75; coefMax = 4; }; class Fountain { icon = "\ca\ui\data\map_fountain_ca.paa"; color[] = {0, 0.35, 0.7, 1}; size = 12; importance = 1 * 12 * 0.05; coefMin = 0.25; coefMax = 4; }; class Hospital { icon = "\ca\ui\data\map_hospital_ca.paa"; color[] = {0.78, 0, 0.05, 1}; size = 16; importance = 2 * 16 * 0.05; coefMin = 0.5; coefMax = 4; }; class Chapel { icon = "\ca\ui\data\map_chapel_ca.paa"; color[] = {0, 0, 1, 1}; size = 16; importance = 1 * 16 * 0.05; coefMin = 0.9; coefMax = 4; }; class Church { icon = "\ca\ui\data\map_church_ca.paa"; color[] = {0, 0, 1, 1}; size = 16; importance = 2 * 16 * 0.05; coefMin = 0.9; coefMax = 4; }; class Lighthouse { icon = "\ca\ui\data\map_lighthouse_ca.paa"; color[] = {0.78, 0, 0.05, 1}; size = 20; importance = 3 * 16 * 0.05; coefMin = 0.9; coefMax = 4; }; class Quay { icon = "\ca\ui\data\map_quay_ca.paa"; color[] = {0, 0, 1, 1}; size = 16; importance = 2 * 16 * 0.05; coefMin = 0.5; coefMax = 4; }; class Rock { icon = "\ca\ui\data\map_rock_ca.paa"; color[] = {0, 0, 1, 1}; size = 12; importance = 0.5 * 12 * 0.05; coefMin = 0.25; coefMax = 4; }; class Ruin { icon = "\ca\ui\data\map_ruin_ca.paa"; color[] = {0.78, 0, 0.05, 1}; size = 16; importance = 1.2 * 16 * 0.05; coefMin = 1; coefMax = 4; }; class SmallTree { icon = "\ca\ui\data\map_smalltree_ca.paa"; color[] = {0.55, 0.64, 0.43, 1}; size = 12; importance = 0.6 * 12 * 0.05; coefMin = 0.25; coefMax = 4; }; class Stack { icon = "\ca\ui\data\map_stack_ca.paa"; color[] = {0, 0, 1, 1}; size = 20; importance = 2 * 16 * 0.05; coefMin = 0.9; coefMax = 4; }; class Tree { icon = "\ca\ui\data\map_tree_ca.paa"; color[] = {0.55, 0.64, 0.43, 1}; size = 12; importance = 0.9 * 16 * 0.05; coefMin = 0.25; coefMax = 4; }; class Tourism { icon = "\ca\ui\data\map_tourism_ca.paa"; color[] = {0.78, 0, 0.05, 1}; size = 16; importance = 1 * 16 * 0.05; coefMin = 0.7; coefMax = 4; }; class Transmitter { icon = "\ca\ui\data\map_transmitter_ca.paa"; color[] = {0, 0, 1, 1}; size = 20; importance = 2 * 16 * 0.05; coefMin = 0.9; coefMax = 4; }; class ViewTower { icon = "\ca\ui\data\map_viewtower_ca.paa"; color[] = {0, 0, 1, 1}; size = 16; importance = 2.5 * 16 * 0.05; coefMin = 0.5; coefMax = 4; }; class Watertower { icon = "\ca\ui\data\map_watertower_ca.paa"; color[] = {0, 0.35, 0.7, 1}; size = 32; importance = 1.2 * 16 * 0.05; coefMin = 0.9; coefMax = 4; }; class Waypoint { icon = "\ca\ui\data\map_waypoint_ca.paa"; color[] = {0, 0, 1, 1}; size = 14; importance = 2.5 * 16 * 0.05; coefMin = 0.5; coefMax = 4; }; class WaypointCompleted { icon = "\ca\ui\data\map_waypoint_completed_ca.paa"; color[] = {0, 0, 1, 1}; size = 14; importance = 2.5 * 16 * 0.05; coefMin = 0.5; coefMax = 4; }; class ActiveMarker { icon = ""; color[] = {0, 0, 1, 1}; size = 14; importance = 2.5 * 16 * 0.05; coefMin = 0.5; coefMax = 4; }; }; }; //***************************************************************************************** //BASE OF ALL MENUS //***************************************************************************************** //Keyword: xbase class OptionsBaseMenu:CommandMenu { idd = 220100; onKeyDown = "if ((_this select 1) In ActionKeys ""TeamSwitch"") then {menuExit = true}"; controlsBackground[] = {MainBackground,HeadBackgroundBorder,HeadBackground,MenuBackgroundBorder,MenuBackground,MenuBackgroundStatusbar}; controls[] = {tab_empty1,tab_empty2,tab_empty3,tab_empty4,tab_empty5, tab_mission,tab_team,tab_gear,tab_voteforcommander,warfarelogo,playername,playerrank,playerrankimage,infofunds, infoteam,infomission,infomissions,infotowns,button_construction,button_close,MessageBar }; //Background class MainBackground:GuiText { IDC = 220100; colorBackground[] = {0.82,1.00,0.82,0}; text = ""; x = -10; y = 0; w = 30; h = 1; }; class HeadBackgroundBorder:GuiText { colorBackground[] = color2wf; text = ""; x = 0.1-0.001; y = 0.05-0.001; w = 0.8+0.002; h = 0.09+0.003; }; class HeadBackground:GuiImage { colorBackground[] = color1wf; colorText[] = color1wf; text = "\ca\ui\data\ui_gradient_reverse_gs.paa"; x = 0.1; y = 0.05; w = 0.8; h = 0.09; }; class MenuBackgroundBorder:GuiText { colorBackground[] = color2wf; text = ""; x = 0.1-0.001; y = 0.2; w = 0.8+0.002; h = 0.75+0.002; }; class MenuBackground:GuiImage { colorBackground[] = color1wf; colorText[] = color1wf; text = "\CA\Warfare2\Images\ui_gradient_cti.paa"; x = 0.1; y = 0.2; w = 0.8; h = 0.7; }; class xMenuBackground:GuiText { colorBackground[] = color1wf; text = ""; x = 0.1; y = 0.2; w = 0.8; h = 0.7; }; class MenuBackgroundStatusbar:GuiImage { colorBackground[] = color1wf; colorText[] = color1wf; text = "\ca\ui\data\ui_gradient_title_gs.paa"; x = 0.1; y = 0.901; w = 0.8; h = 0.049; }; //--- Tabs class tab_empty1: GUIImage { idc=-1; style = 48; x = 0.1+(0*0.16125); y = 0.15; w = 0.1575; h = 0.05; colortext[] = {1,1,1,0.5}; text = "\CA\Warfare2\Images\tab_empty.paa"; }; class tab_empty2: tab_empty1 { x = 0.1+(1*0.16125); }; class tab_empty3: tab_empty1 { x = 0.1+(2*0.16125); }; class tab_empty4: tab_empty1 { x = 0.1+(3*0.16125); }; class tab_empty5: tab_empty1 { x = 0.1+(4*0.16125) - 0.001; }; class tab_mission: GUItab { IDC = 220101; text = "\CA\Warfare2\Images\tab_mission.paa"; x = 0.1+(0*0.16125); //--- Active tab onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_mission_a.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_mission.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_mission_a.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_mission.paa"";"; action = "menuButton = 53"; }; class tab_team: GUItab { IDC = 220102; text = "\CA\Warfare2\Images\tab_team.paa"; x = 0.1+(1*0.16125); onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_team_a.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_team.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_team_a.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_team.paa"";"; action = "menuButton = 52"; }; class tab_gear: GUItab { IDC = 220103; text = "\CA\Warfare2\Images\tab_gear.paa"; onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_gear_a.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_gear.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_gear_a.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_gear.paa"";"; x = 0.1+(2*0.16125); action = "menuButton = 54"; }; class tab_help: GUItab { IDC = 220104; text = "\CA\Warfare2\Images\tab_help.paa"; onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_help_a.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_help.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_help_a.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_help.paa"";"; x = 0.1+(3*0.16125); action = "menuButton = 1"; }; class tab_voteforcommander:GUItab { IDC = 220105; text = "\CA\Warfare2\Images\tab_vote.paa"; x = 0.1+(4*0.16125)- 0.001; onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_vote_a.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_vote.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_vote_a.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_vote.paa"";"; action = "menuButton = 11"; }; class warfarelogo: GUIImageAspectRatio { x = -0.154; y = -0.075; w = 0.8; h = 0.2; text = "\CA\Warfare2\Images\warfare_logo_grn.paa"; colorText[] = {1,1,1,1.2}; }; class copyright: GUIText { style = GUIRIGHT; x = 0.608; y = 0.029; w = 0.3; h = 0.02; sizeEx = 0.025; text = "$STRWF_COPYRIGHT"; colorText[] = {0,0,0,0.8}; }; class playername: GUIText { IDC = 220111; x = 0.22; y = 0.06; w = 0.195; h = 0.04; sizeEx = 0.05; text = ""; colorText[] = {0.82,1.00,0.82,1.0}; }; class playerrank: GUIText { IDC = 220112; style = GUIRIGHT; x = 0.125; y = 0.078; w = 0.1; h = 0.02; sizeEx = 0.025; text = ""; colorText[] = {0.82,1.00,0.82,1.0}; }; class playerrankimage: GUIImageAspectRatio { IDC = 220113; x = 0.105; y = 0.06; w = 0.04; h = 0.04; text = "\CA\Warfare2\Images\rank_CORPORAL.paa"; }; class infofunds: GUIStructuredText { IDC = 220114; x = 0.1; y = 0.11; w = 0.3; h = 0.025; size=0.03; }; class infotowns: GUIStructuredText { IDC = 220120; x = 0.38; y = 0.075; w = 0.25; h = 0.025; size=0.03; }; class infoteam: GUIStructuredText { IDC = 220115; x = 0.39; y = 0.11; w = 0.3; h = 0.025; size=0.03; }; class infomissions: GUIStructuredText { IDC = 220121; x = 0.5; y = 0.11; w = 0.35; h = 0.025; size=0.03; }; class infomission: GUIStructuredText { IDC = 220116; x = 0.5; y = 0.075; w = 0.35; h = 0.025; size=0.03; }; class button_construction: GUIActiveText { IDC = 220118; style = 48 + 0x800; x = 0.78; y = 0.057; w = 0.075; h = 0.075; text = "\CA\Warfare2\Images\button_const.paa"; color[] = {color2wfRGB, 0.8}; colorActive[] = {0.72,0.48,0.24,1.0}; SizeEx = 0.03; action = "menuButton = 55"; }; class button_close: button_construction { IDC = 220119; x = 0.860; w = 0.035; h = 0.05; text = "\CA\Warfare2\Images\button_x.paa"; action = "CloseDialog 0;menuExit = true"; }; class MessageBar:GUIText { idc = IDCERRORMESSAGE; style = GUICENTER; font = "Bitstream"; sizeEx = 0.05; x = 0.0875; y = 0.9; w = 0.825; h = 0.05; colorBackground[] = {0.5,0.5,0.5,0.0}; colorText[] = {1.0,1.0,1.0,1}; }; }; //***************************************************************************************** // MISSION MENU //***************************************************************************************** class MissionMap:OptionsBaseMenu { idd = 220100; controlsBackground[] = {MainBackground,HeadBackgroundBorder,HeadBackground,MenuBackgroundBorder,MenuBackground,MenuBackgroundStatusbar}; controls[] = {MissionMapArea,tab_empty1,tab_empty2,tab_empty3,tab_empty4,tab_empty5, tab_mission_selected,tab_team,tab_gear,tab_help,tab_voteforcommander,warfarelogo,playername,playerrank,playerrankimage,infofunds, infoteam,infomission,infomissions,infotowns,button_construction,button_close,MessageBar, sidebar_mission,sidebar_missionlist,MissionBriefing,ButtonPreviewAcceptMission,ButtonCancelMission,YesNoPrompt,YesButton, NoButton,sidebar_waypoint,ButtonAddWaypoints,ButtonClearWaypoints,sidebar_support,ButtonSetSupport,ButtonSetSupportRadius, ButtonAcceptSupport,ButtonCommandTeams,SelectedTeamLabel,SelectedTeamTypeLabel,TeamTypeList,TeamList, ButtonMove,ButtonCaptureTowns,ButtonDefendBase,ButtonPatrol,ButtonRespawn, ButtonTeleport,MissionTeamListLabel,MissionTeamList,MissionTeamAddButton,MissionTeamRemoveButton,MissionTeamListDelete }; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_UpdateMissionMap.sqs"")"; //--- Tabs class tab_mission_selected: tab_mission { //IDC = 220102; text = "\CA\Warfare2\Images\tab_mission_s.paa"; onMouseEnter = ""; onMouseExit = ""; onSetFocus = ""; onKillFocus = ""; }; class MissionMapArea:MapArea { x = 0.1+0.015; y = 0.2+0.02; w = 0.55-0.03; h = 0.7-0.04; }; //--- Mission class sidebar_mission: GUIText { IDC = 221001; style = 2; x = 0.65; y = 0.22; w = 0.24; h = 0.024; sizeEx = 0.027; text = "$STRWFMISSION"; colorText[] = color1wf; colorBackground[] = color2wf; }; class sidebar_missionlist: GUIListBox { IDC = 221002; x = 0.65; y = 0.25; w = 0.24; h = 0.2; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; onLBDblClick = "menuMissionClicked = true"; }; //******************* //Mike - 2/7/8 * //******************* class MissionBriefing: GUIListBox { IDC = 221003; x = 0.65; y = 0.25; w = 0.24; h = 0.5; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; rowHeight = 0.027; sizeEx = 0.02; }; class ButtonPreviewAcceptMission: GUIButtonLightGreen { IDC = 221004; style = GUICENTER; x = 0.65; y = 0.418+0.047; w = 0.24; h = 0.035; text = "ACCEPT"; action = "menuButton = 2"; }; class ButtonCancelMission: GUIButtonLightRed { IDC = 221005; style = GUICENTER; x = 0.65; y = 0.848; w = 0.24; h = 0.035; text = "CANCEL"; action = "menuButton = 100"; }; class ButtonAbortMission:GUIButtonLightRed { IDC = 221030; style = GUICENTER; x = 0.65; y = 0.51; w = 0.24; h = 0.035; text = "ABORT MISSION"; action = "menuButton = 101"; }; class YesNoPrompt:GUIText { idc = IDCGENERICLABEL + 25; style = GUIRIGHT; font = "Bitstream"; sizeEx = 0.05; x = 0.0875; y = 0.9; w = 0.6; h = 0.05; colorBackground[] = {0.5,0.5,0.5,0.0}; colorText[] = {1.0,1.0,1.0,1}; }; class YesButton:GUIButtonLightGreen { idc = IDCGENERICBUTTON + 25; x = 0.69; y = 0.905; w = 0.1; h = 0.04; text = $STRWFYES; action = "menuYes = true"; }; class NoButton:GUIButtonLightRed { idc = IDCGENERICBUTTON + 26; x = 0.8; y = 0.905; w = 0.1; h = 0.04; text = $STRWFNO; action = "menuNo = true"; }; class sidebar_waypoint: GUIText { IDC = 221006; style = 2; x = 0.65; y = 0.557; w = 0.24; h = 0.024; sizeEx = 0.027; text = "$STRWFWAYPOINTS"; colorText[] = color1wf; colorBackground[] = color2wf; }; class ButtonAddWaypoints:GUIButtonLightGreen { IDC = 221007; x = 0.65; y = 0.59; w = 0.115; h = 0.035; text = $STRWFADD; action = "menuButton = 4"; }; class ButtonClearWaypoints:GUIButtonLightRed { IDC = 221008; x = 0.655+0.12; //y = 0.58; y = 0.59; w = 0.115; h = 0.035; text = $STRWFCLEAR; action = "menuButton = 10"; }; class sidebar_support: GUIText { IDC = 221009; style = 2; x = 0.65; y = 0.64; w = 0.24; h = 0.024; sizeEx = 0.027; text = "FIRE SUPPORT"; colorText[] = color1wf; colorBackground[] = color2wf; }; class ButtonSetSupport:GUIButtonLightGreen { IDC = 221010; x = 0.65; y = 0.673; w = 0.1; h = 0.04; text = $STRWFSET; action = "menuButton = 12"; }; class ButtonSetSupportRadius:GUISlider { IDC = 221011; x = 0.76; y = 0.673; w = 0.13; h = 0.04; }; class ButtonAcceptSupport:GUIButtonLightGreen { IDC = 221012; style = GUICENTER; x = 0.65; y = 0.723; w = 0.24; h = 0.035; text = "Request Fire Mission"; action = "menuButton = 13"; }; class ButtonCommandTeams:GUIButtonLightGreen { IDC = 221013; style = GUICENTER; x = 0.65; y = 0.773; w = 0.24; h = 0.05; text = "Command Teams"; action = "menuButton = 14"; }; class SelectedTeamLabel:GUIText { IDC = 221014; x = 0.65; y = 0.22; w = 0.24; h = 0.035; colorText[] = color1wf; colorBackground[] = color2wf; }; class SelectedTeamTypeLabel:GUIText { IDC = 221015; x = 0.65; y = 0.27; w = 0.06; h = 0.035; text = "Type:"; colorText[] = {0.82,1.0,0.82,1.0}; }; class TeamTypeList:GUIComboBox { IDC = 221016; x = 0.71; y = 0.27; w = 0.12; h = 0.035; sizeEx = 0.02; rowHeight = 0.02; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; class TeamList:GuiListBox { IDC = 221017; x = 0.84; y = 0.27; w = 0.05; h = 0.56; sizeEx = 0.035; rowHeight = 0.035; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; onLBDblClick = "menuTeamSlotsClicked = true"; }; class ButtonMove:GUIButtonLightGreen { IDC = 221018; x = 0.65; y = 0.32; w = 0.18; h = 0.035; text = $STRWFMOVE; action = "menuButton = 15"; }; class ButtonCaptureTowns:ButtonMove { IDC = 221019; y = 0.37; text = $STRWFCAPTURETOWNS; action = "menuButton = 16"; }; class ButtonDefendBase:ButtonMove { IDC = 221020; y = 0.42; text = $STRWFDEFENDBASE; action = "menuButton = 17"; }; class ButtonPatrol:ButtonMove { IDC = 221021; y = 0.47; text = $STRWFPATROL; action = "menuButton = 18"; }; class ButtonRespawn:ButtonMove { IDC = 221022; y = 0.52; text = "Respawn"; action = "menuButton = 19"; }; class MissionTeamListLabel:GUIText { IDC = 221023; x = 0.65; y = 0.32; w = 0.15; h = 0.035; text = ""; colorText[] = color1wf; colorBackground[] = color2wf; }; class MissionTeamList:TeamList { IDC = 221024; x = 0.65; y = 0.37; w = 0.15; h = 0.41; onLBDblClick = "menuTeamListClicked = true"; }; class MissionTeamAddButton:GUIButtonLightGreen { IDC = 221025; x = 0.805; y = 0.37; w = 0.029; h = 0.1; text = "<"; action = "menuButton = 20"; }; class MissionTeamRemoveButton:GUIButtonLightGreen { IDC = 221026; x = 0.805; y = 0.49; w = 0.029; h = 0.1; text = ">"; action = "menuButton = 21"; }; class MissionTeamListDelete:GUIButtonLightGreen { IDC = 221027; x = 0.65; y = 0.79; w = 0.15; h = 0.035; text = "Abort Mission"; action = "menuButton = 22"; colorText[] = color1wf; colorBackground[] = color2wf; }; //******************* //End Mike - 2/7/8 * //******************* class ButtonTeleport: GUIButtonLightGreen { idc = IDCGENERICBUTTON + 10; style = GUICENTER; x = 0.65; y = 0.845; w = 0.24; h = 0.035; //sizeEx = 0.035; text = " FAST TRAVEL >>>"; //text = $STRWFFASTTRAVEL; action = "menuButton = 3"; }; }; //***************************************************************************************** //TEAM MENU //***************************************************************************************** //Keyword: xteam class TeamMenu:OptionsBaseMenu { idd = 220100; controlsBackground[] = {MainBackground,HeadBackgroundBorder,HeadBackground,MenuBackgroundBorder,MenuBackground,MenuBackgroundStatusbar}; controls[] = {tab_empty1,tab_empty2,tab_empty3,tab_empty4,tab_empty5, tab_mission,tab_team_selected,tab_gear,tab_help,tab_voteforcommander,warfarelogo,playername,playerrank,playerrankimage,infofunds, infoteam,infomission,infomissions,infotowns,button_construction,button_close,MessageBar, BarracksButton,BarracksImage,LightButton,LightImage,HeavyButton,HeavyImage,AircraftButton,AircraftImage, DepotButton,DepotImage,AirportButton,AirportImage,UnitList,BuyImage,BuyButton,BuyEmptyButton,DisbandButton,UnflipButton, TransferButton,TransferSlider,TransferAmountLabel,TransferTeamSelection,QueueLabel,TeamStatusLabel,QueueList, QueueButton,TeamStatusButton }; onLoad = "_this Spawn BIS_WF_UpdateTeamMenu"; //--- Tabs class tab_team_selected:tab_team { IDC = 220102; text = "\CA\Warfare2\Images\tab_team_s.paa"; onMouseEnter = ""; onMouseExit = ""; onSetFocus = ""; onKillFocus = ""; }; //--- Karel 02/29/2008 class BarracksButton: GUIActiveText { idc = IDCGENERICBUTTON + 0; style = 48 + 0x800; x = 0.116; y = 0.285417; w = 0.055; h = 0.079167; text = "\CA\Warfare2\Images\icon_barracks.paa"; color[] = color2wf; colorActive[] = {0.72,0.48,0.24,1.0}; action = "menuFactoryType = 0"; }; class LightButton: BarracksButton { idc = IDCGENERICBUTTON + 1; x = 0.116 + .058 * 1; text = "\CA\Warfare2\Images\icon_light.paa"; action = "menuFactoryType = 1"; }; class HeavyButton: BarracksButton { idc = IDCGENERICBUTTON + 2; x = 0.116 + .058 * 2; text = "\CA\Warfare2\Images\icon_heavy.paa"; action = "menuFactoryType = 2"; }; class AircraftButton: BarracksButton { idc = IDCGENERICBUTTON + 3; x = 0.116 + .058 * 3; text = "\CA\Warfare2\Images\icon_aircraft.paa"; action = "menuFactoryType = 3"; }; class AirportButton: BarracksButton { idc = IDCGENERICBUTTON + 4; x = 0.116 + .058 * 4; text = "\CA\Warfare2\Images\icon_airport.paa"; action = "menuFactoryType = 4"; }; class DepotButton: BarracksButton { idc = IDCGENERICBUTTON + 5; x = 0.116 + .058 * 5; text = "\CA\Warfare2\Images\icon_service_station.paa"; action = "menuFactoryType = 5"; }; class BarracksImage:GUIImageAspectRatio { x = 0.116; y = 0.285417; w = 0.055; h = 0.079167; colorText[] = {1,1,1,0.15}; text = "\CA\Warfare2\Images\icon_barracks.paa"; }; class LightImage:BarracksImage { x = 0.116 + .058 * 1; text = "\CA\Warfare2\Images\icon_light.paa"; }; class HeavyImage:BarracksImage { x = 0.116 + .058 * 2; text = "\CA\Warfare2\Images\icon_heavy.paa"; }; class AircraftImage:BarracksImage { x = 0.116 + .058 * 3; text = "\CA\Warfare2\Images\icon_aircraft.paa"; }; class AirportImage:BarracksImage { x = 0.116 + .058 * 4; text = "\CA\Warfare2\Images\icon_airport.paa"; }; class DepotImage:BarracksImage { x = 0.116 + .058 * 5; text = "\CA\Warfare2\Images\icon_service_station.paa"; }; class UnitList:GUIListBox { idc = IDCGENERICLIST; x = 0.115625; y = 0.364583; w = 0.343750; h = 0.450000; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; onLBDblClick = "menuListClicked = true"; }; class BuyImage:GUIImageAspectRatio { idc = IDCGENERICBUTTON + 10; x = 0.256250; y = 0.814583; w = 0.062500; h = 0.083333; }; class BuyButton:GUIButtonLightGreen { idc = IDCGENERICBUTTON + 11; x = 0.115625; y = 0.831250; w = 0.125000; h = 0.052083; text = "Buy"; action = "menuButton = 2"; }; class BuyEmptyButton:GUIButtonLightGreen { idc = IDCGENERICBUTTON + 12; x = 0.334375; y = 0.831250; w = 0.125000; h = 0.052083; text = "Buy Empty"; action = "menuButton = 3"; }; class TransferButton:GUIButtonLightGreen { x = 0.115625; y = 0.220833; w = 0.114063; h = 0.058333; text = "Transfer"; action = "menuButton = 4"; }; class TransferSlider:GUISlider { idc = IDCMENUSLIDER; x = 0.256250; y = 0.220833; w = 0.234375; h = 0.058333; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; }; class TransferAmountLabel:GUILargeText { style = GUIRIGHT; idc = IDCGENERICLABEL; x = 0.504688; y = 0.220833; w = 0.146875; h = 0.058333; colorText[] = {0.82,1.0,0.82,1.0}; }; class TransferTeamSelection:GUIComboBox { idc = IDCGENERICLIST + 1; x = 0.664063; y = 0.220833; w = 0.218750; h = 0.058333; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; }; class QueueLabel:GUILargeText { idc = IDCGENERICLABEL + 1; style = GUICENTER; x = 0.482813; y = 0.304167; w = 0.2; h = 0.052083; text = "Build Queue"; colorText[] = {0.82,1.0,0.82,1.0}; }; class TeamStatusLabel:GUILargeText { idc = IDCGENERICLABEL + 2; style = GUICENTER; x = 0.68; y = 0.304167; w = 0.2; h = 0.052083; text = "Team Status"; colorText[] = {0.82,1.0,0.82,1.0}; }; class QueueButton:GUIButtonLightGreen { idc = IDCGENERICBUTTON + 13; x = 0.482813; y = 0.304167; w = 0.2; h = 0.052083; text = "Build Queue"; type = GUIBUTTON; style = GUICENTER; colorText[] = {0.82,1.0,0.82,1.0}; action = "menuTeam = false;CtrlShow [IDCGENERICBUTTON + 13,false];CtrlShow [IDCGENERICBUTTON + 14,true];CtrlShow [IDCGENERICBUTTON + 15,false];CtrlShow [IDCGENERICBUTTON + 16,false];"; }; class TeamStatusButton:GUIButtonLightGreen { idc = IDCGENERICBUTTON + 14; x = 0.68; y = 0.304167; w = 0.2; h = 0.052083; text = "Team Status"; style = GUICENTER; colorText[] = {0.82,1.0,0.82,1.0}; action = "menuTeam = true;CtrlShow [IDCGENERICBUTTON + 14,false];CtrlShow [IDCGENERICBUTTON + 13,true];CtrlShow [IDCGENERICBUTTON + 15,true];CtrlShow [IDCGENERICBUTTON + 16,true];"; }; class QueueList:GUIListBox { idc = IDCGENERICLIST + 2; x = 0.482813; y = 0.364583; w = 0.400000; h = 0.452500; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; }; class DisbandButton:GUIButtonLightRed { idc = IDCGENERICBUTTON + 15; x = 0.482813; y = 0.83125; w = 0.1875; h = 0.052083; text = "Disband Selected"; action = "menuButton = 5"; }; class UnflipButton:GUIButtonLightRed { idc = IDCGENERICBUTTON + 16; x = 0.695313; y = 0.83125; w = 0.1875; h = 0.052083; text = "Unflip Vehicles"; action = "menuButton = 6"; }; }; //***************************************************************************************** //GEAR MENU //***************************************************************************************** class GearMenu:OptionsBaseMenu { idd = 220100; controlsBackground[] = { MainBackground,HeadBackgroundBorder,HeadBackground,MenuBackgroundBorder,MenuBackground }; controls[] = {tab_empty1,tab_empty2,tab_empty3,tab_empty4,tab_empty5, tab_mission,tab_team,tab_gear_selected,tab_help,tab_voteforcommander,warfarelogo,playername,playerrank,playerrankimage,infofunds, infoteam,infomission,infomissions,infotowns,button_construction,button_close,MessageBar, TemplateLabel,TemplateList,WeaponsLabel,PrimaryList,SecondaryList,SidearmList,MiscList,AmmoLabel,AmmoList, MainHighlighted,Main,SecondaryHighlighted,Secondary,SidearmHighlighted,Sidearm, InventoryHighlighted1,InventoryHighlighted2,InventoryHighlighted3,InventoryHighlighted4, InventoryHighlighted5,InventoryHighlighted6,InventoryHighlighted7,InventoryHighlighted8, InventoryHighlighted9,InventoryHighlighted10,InventoryHighlighted11,InventoryHighlighted12, InventoryButton1,InventoryButton2,InventoryButton3,InventoryButton4,InventoryButton5,InventoryButton6, InventoryButton7,InventoryButton8,InventoryButton9,InventoryButton10,InventoryButton11,InventoryButton12, SidearmInventoryHighlighted1,SidearmInventoryHighlighted2,SidearmInventoryHighlighted3, SidearmInventoryHighlighted4,SidearmInventoryHighlighted5,SidearmInventoryHighlighted6, SidearmInventoryHighlighted7,SidearmInventoryHighlighted8, SidearmInventoryButton1,SidearmInventoryButton2,SidearmInventoryButton3,SidearmInventoryButton4, SidearmInventoryButton5,SidearmInventoryButton6,SidearmInventoryButton7,SidearmInventoryButton8, CurrentLabel,Current1Label,UpgradeLabel,Upgrade1Label,CostLabel,Cost1Label,UpgradeButton,ResetButton }; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_UpdateGearMenu.sqs"")"; class MenuBackground:GuiImage { colorBackground[] = color1wf; colorText[] = color1wf; text = "\CA\Warfare2\Images\ui_gradient_cti.paa"; x = 0.1; y = 0.2; w = 0.8; h = 0.75; }; class tab_gear_selected: tab_help { x = 0.1+(2*0.16125); text = "\CA\Warfare2\Images\tab_gear.paa"; onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_gear_s.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_gear_s.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_gear_s.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_gear_s.paa"";"; action = ""; }; class TemplateLabel:GUILargeText { x = 0.115625; y = 0.21; w = 0.25; h = 0.04; text = "Complete Loadouts"; colorText[] = {0.82,1.0,0.82,1.0}; }; class TemplateList:GUIListBox { idc = IDCGENERICLIST; x = 0.115625; y = 0.25; w = 0.25; h = 0.32; sizeEx = 0.02; rowHeight = 0.02; onLBDblClick = "menuTemplateListClicked = true"; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; }; class AmmoLabel:GUILargeText { x = 0.115625; y = 0.575; w = 0.25; h = 0.04; text = "Ammo"; colorText[] = {0.82,1.0,0.82,1.0}; }; class AmmoList:TemplateList { idc = IDCGENERICLIST + 5; y = 0.615; w = 0.25; h = 0.31; onLBDblClick = "menuAmmoListClicked = true"; }; class WeaponsLabel:GUILargeText { x = 0.635; y = 0.21; w = 0.25; h = 0.04; text = "Weapons"; colorText[] = {0.82,1.0,0.82,1.0}; }; class PrimaryList:TemplateList { idc = IDCGENERICLIST + 1; x = 0.635; y = 0.25; w = 0.25; h = 0.32; onLBDblClick = "menuPrimaryListClicked = true"; }; class SecondaryList:TemplateList { idc = IDCGENERICLIST + 2; x = 0.635; y = 0.575; w = 0.25; h = 0.1; onLBDblClick = "menuSecondaryListClicked = true"; }; class SidearmList:TemplateList { idc = IDCGENERICLIST + 3; x = 0.635; y = 0.68; w = 0.25; h = 0.05; onLBDblClick = "menuSidearmListClicked = true"; }; class MiscList:TemplateList { idc = IDCGENERICLIST + 4; x = 0.635; y = 0.735; w = 0.25; h = 0.19; onLBDblClick = "menuMiscListClicked = true"; }; class Main:GUIClickableText { idc = IDCGENERICIMAGE; style = GUIIMAGEASPECTRATIO; x = 0.381250; y = 0.350000; w = 0.232813; h = 0.095833; text = "\Ca\UI\Data\ui_gear_gun_gs.paa"; action = "menuButton = 100"; }; class MainHighlighted:Main { idc = IDCUNDEFINED; text = "\Ca\UI\Data\clear_empty_ca.paa"; onMouseEnter = "(_this select 0) CtrlSetText ""\Ca\UI\Data\ui_gear_gun_gs.paa"";"; onMouseExit = "(_this select 0) CtrlSetText ""\Ca\UI\Data\clear_empty_ca.paa"";"; }; class Secondary:GUIClickableText { idc = IDCGENERICIMAGE + 1; style = GUIIMAGEASPECTRATIO; x = 0.381250; y = 0.454167; w = 0.232813; h = 0.095833; text = "\Ca\UI\Data\ui_gear_sec_gs.paa"; colorFocused[] = {0.35,0.35,0.35,1}; action = "menuButton = 101"; }; class SecondaryHighlighted:Secondary { idc = IDCUNDEFINED; text = "\Ca\UI\Data\clear_empty_ca.paa"; onMouseEnter = "(_this select 0) CtrlSetText ""\Ca\UI\Data\ui_gear_sec_gs.paa"";"; onMouseExit = "(_this select 0) CtrlSetText ""\Ca\UI\Data\clear_empty_ca.paa"";"; }; class InventoryButton1:GUIClickableText { idc = IDCGENERICIMAGE + 3; style = GUIIMAGEASPECTRATIO; x = 0.381250; y = 0.558333; w = 0.037500; h = 0.050000; text = "\Ca\UI\Data\ui_gear_mag_gs.paa"; colorFocused[] = {0.35,0.35,0.35,1}; action = "menuButton = 104"; }; class InventoryHighlighted1:InventoryButton1 { idc = IDCUNDEFINED; text = "\Ca\UI\Data\clear_empty_ca.paa"; onMouseEnter = "(_this select 0) CtrlSetText ""\Ca\UI\Data\ui_gear_mag_gs.paa"";"; onMouseExit = "(_this select 0) CtrlSetText ""\Ca\UI\Data\clear_empty_ca.paa"";"; }; class InventoryButton2:InventoryButton1 { idc = IDCGENERICIMAGE + 4; x = 0.420313; y = 0.558333; action = "menuButton = 105"; }; class InventoryHighlighted2:InventoryHighlighted1 { x = 0.420313; y = 0.558333; }; class InventoryButton3:InventoryButton1 { idc = IDCGENERICIMAGE + 5; x = 0.459375; y = 0.558333; action = "menuButton = 106"; }; class InventoryHighlighted3:InventoryHighlighted1 { x = 0.459375; y = 0.558333; }; class InventoryButton4:InventoryButton1 { idc = IDCGENERICIMAGE + 6; x = 0.498438; y = 0.558333; action = "menuButton = 107"; }; class InventoryHighlighted4:InventoryHighlighted1 { x = 0.498438; y = 0.558333; }; class InventoryButton5:InventoryButton1 { idc = IDCGENERICIMAGE + 7; x = 0.537500; y = 0.558333; action = "menuButton = 108"; }; class InventoryHighlighted5:InventoryHighlighted1 { x = 0.537500; y = 0.558333; }; class InventoryButton6:InventoryButton1 { idc = IDCGENERICIMAGE + 8; x = 0.576563; y = 0.558333; action = "menuButton = 109"; }; class InventoryHighlighted6:InventoryHighlighted1 { x = 0.576563; y = 0.558333; }; class InventoryButton7:InventoryButton1 { idc = IDCGENERICIMAGE + 9; x = 0.381250; y = 0.610417; action = "menuButton = 110"; }; class InventoryHighlighted7:InventoryHighlighted1 { x = 0.381250; y = 0.610417; }; class InventoryButton8:InventoryButton1 { idc = IDCGENERICIMAGE + 10; x = 0.420313; y = 0.610417; action = "menuButton = 111"; }; class InventoryHighlighted8:InventoryHighlighted1 { x = 0.420313; y = 0.610417; }; class InventoryButton9:InventoryButton1 { idc = IDCGENERICIMAGE + 11; x = 0.459375; y = 0.610417; action = "menuButton = 112"; }; class InventoryHighlighted9:InventoryHighlighted1 { x = 0.459375; y = 0.610417; }; class InventoryButton10:InventoryButton1 { idc = IDCGENERICIMAGE + 12; x = 0.498438; y = 0.610417; action = "menuButton = 113"; }; class InventoryHighlighted10:InventoryHighlighted1 { x = 0.498438; y = 0.610417; }; class InventoryButton11:InventoryButton1 { idc = IDCGENERICIMAGE + 13; x = 0.537500; y = 0.610417; action = "menuButton = 114"; }; class InventoryHighlighted11:InventoryHighlighted1 { x = 0.537500; y = 0.610417; }; class InventoryButton12:InventoryButton1 { idc = IDCGENERICIMAGE + 14; x = 0.576563; y = 0.610417; action = "menuButton = 115"; }; class InventoryHighlighted12:InventoryHighlighted1 { x = 0.576563; y = 0.610417; }; class Sidearm:GUIClickableText { idc = IDCGENERICIMAGE + 2; style = GUIIMAGEASPECTRATIO; x = 0.439063; y = 0.670833; w = 0.118750; h = 0.095833; text = "\Ca\UI\Data\ui_gear_hgun_gs.paa"; action = "menuButton = 103"; }; class SidearmHighlighted:Sidearm { idc = IDCUNDEFINED; text = "\Ca\UI\Data\clear_empty_ca.paa"; onMouseEnter = "(_this select 0) CtrlSetText ""\Ca\UI\Data\ui_gear_hgun_gs.paa"";"; onMouseExit = "(_this select 0) CtrlSetText ""\Ca\UI\Data\clear_empty_ca.paa"";"; }; class SidearmInventoryButton1:InventoryButton1 { idc = IDCGENERICIMAGE + 15; x = 0.381250; y = 0.775000; w = 0.027; h = 0.036; text = "\Ca\UI\Data\ui_gear_hgunmag_gs.paa"; action = "menuButton = 116"; }; class SidearmInventoryHighlighted1:InventoryHighlighted1 { x = 0.381250; y = 0.775000; w = 0.027; h = 0.036; onMouseEnter = "(_this select 0) CtrlSetText ""\Ca\UI\Data\ui_gear_hgunmag_gs.paa"";"; }; class SidearmInventoryButton2:SidearmInventoryButton1 { idc = IDCGENERICIMAGE + 16; x = 0.40825; action = "menuButton = 117"; }; class SidearmInventoryHighlighted2:SidearmInventoryHighlighted1 { x = 0.40825; }; class SidearmInventoryButton3:SidearmInventoryButton1 { idc = IDCGENERICIMAGE + 17; x = 0.43525; action = "menuButton = 118"; }; class SidearmInventoryHighlighted3:SidearmInventoryHighlighted1 { x = 0.43525; }; class SidearmInventoryButton4:SidearmInventoryButton1 { idc = IDCGENERICIMAGE + 18; x = 0.46225; action = "menuButton = 119"; }; class SidearmInventoryHighlighted4:SidearmInventoryHighlighted1 { x = 0.46225; }; class SidearmInventoryButton5:SidearmInventoryButton1 { idc = IDCGENERICIMAGE + 19; x = 0.48925; action = "menuButton = 120"; }; class SidearmInventoryHighlighted5:SidearmInventoryHighlighted1 { x = 0.48925; }; class SidearmInventoryButton6:SidearmInventoryButton1 { idc = IDCGENERICIMAGE + 20; x = 0.51625; action = "menuButton = 121"; }; class SidearmInventoryHighlighted6:SidearmInventoryHighlighted1 { x = 0.51625; }; class SidearmInventoryButton7:SidearmInventoryButton1 { idc = IDCGENERICIMAGE + 21; x = 0.54325; action = "menuButton = 121"; }; class SidearmInventoryHighlighted7:SidearmInventoryHighlighted1 { x = 0.54325; }; class SidearmInventoryButton8:SidearmInventoryButton1 { idc = IDCGENERICIMAGE + 22; x = 0.57025; action = "menuButton = 122"; }; class SidearmInventoryHighlighted8:SidearmInventoryHighlighted1 { x = 0.57025; }; class CurrentLabel:GUILargeText { style = GUIRIGHT; x = 0.35; y = 0.222917; w = 0.18; h = 0.039583; text = "Current Value:"; colorText[] = {0.82,1.0,0.82,1.0}; }; class Current1Label:GUILargeText { idc = IDCGENERICLABEL; style = GUILEFT; x = 0.52; y = 0.222917; w = 0.062500; h = 0.039583; colorText[] = {0.82,1.0,0.82,1.0}; }; class UpgradeLabel:GUILargeText { style = GUIRIGHT; x = 0.35; y = 0.264583; w = 0.18; h = 0.039583; text = "New Value:"; colorText[] = {0.82,1.0,0.82,1.0}; }; class Upgrade1Label:GUILargeText { idc = IDCGENERICLABEL + 1; style = GUILEFT; x = 0.52; y = 0.264583; w = 0.062500; h = 0.039583; colorText[] = {0.82,1.0,0.82,1.0}; }; class CostLabel:GUILargeText { style = GUIRIGHT; x = 0.35; y = 0.306250; w = 0.18; h = 0.039583; text = "Upgrade Cost:"; colorText[] = {0.82,1.0,0.82,1.0}; }; class Cost1Label:GUILargeText { idc = IDCGENERICLABEL + 2; style = GUILEFT; x = 0.52; y = 0.306250; w = 0.062500; h = 0.039583; colorText[] = {0.82,1.0,0.82,1.0}; }; class UpgradeButton:GUIButtonLightGreen { x = 0.381250; y = 0.891667; w = 0.232813; h = 0.039583; text = "Buy Upgrade"; action = "menuButton = 123"; }; class ResetButton:GUIButtonLightGreen { x = 0.381250; y = 0.843750; w = 0.232813; h = 0.039583; text = "Reset"; action = "menuButton = 124"; }; }; //***************************************************************************************** //HELP MENU //***************************************************************************************** //Karel - 03/03/2008 //Keyword: xhelp class HelpMenu:OptionsBaseMenu { idd = 220100; controlsBackground[] = { MainBackground,HeadBackgroundBorder,HeadBackground,MenuBackgroundBorder,MenuBackground }; controls[] = {tab_empty1,tab_empty2,tab_empty3,tab_empty4,tab_empty5, tab_mission,tab_team,tab_gear,tab_help_selected,tab_voteforcommander,warfarelogo,playername,playerrank,playerrankimage,infofunds, infoteam,infomission,infomissions,infotowns,button_construction,button_close,MessageBar, Title,HelpText,TopicButton1,TopicButton2,TopicButton3,TopicButton4,TopicButton5,TopicButton6 }; onLoad = "_this Spawn BIS_WF_UpdateHelpMenu"; class MenuBackground:GuiImage { colorBackground[] = color1wf; colorText[] = color1wf; text = "\CA\Warfare2\Images\ui_gradient_cti.paa"; x = 0.1; y = 0.2; w = 0.8; h = 0.75; }; class tab_help_selected: tab_help { text = "\CA\Warfare2\Images\tab_help_s.paa"; onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_help_s.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_help_s.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_help_s.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_help_s.paa"";"; }; class Title:GUILargeText { idc = IDCGENERICLABEL; style = GUICENTER; sizeEx = 0.055; x = 0.112500; y = 0.220833; w = 0.775000; h = 0.062500; text = "Title"; }; class HelpText:GUIListBox { idc = IDCGENERICLIST; style = GUILEFT; x = 0.112500; y = 0.304167; w = 0.775000; h = 0.552083; colorText[] = color2wf; colorSelect[] = color2wf; colorSelectBackground[] = {0,0,0,0}; }; class TopicButton1:GUIButtonLightGreen { x = 0.114; y = 0.875000; w = 0.12; h = 0.058333; text = "Intro"; action = "menuButton = 100"; }; class TopicButton2:TopicButton1 { x = 0.114 + (.13 * 1); text = "Gameplay"; action = "menuButton = 101"; }; class TopicButton3:TopicButton1 { x = 0.114 + (.13 * 2); text = "Buildings"; action = "menuButton = 102"; }; class TopicButton4:TopicButton1 { x = 0.114 + (.13 * 3); text = "Vehicles"; action = "menuButton = 103"; }; class TopicButton5:TopicButton1 { x = 0.114 + (.13 * 4); text = "Commander"; action = "menuButton = 104"; }; class TopicButton6:TopicButton1 { x = 0.114 + (.13 * 5); text = "Credits"; action = "menuButton = 105"; }; }; //***************************************************************************************** //COMMADER VOTE MENU //***************************************************************************************** //Karel - 02/08/2008 class CommanderVoteMenu:OptionsBaseMenu { idd = 220200; controlsBackground[] = { MainBackground,HeadBackgroundBorder,HeadBackground,MenuBackgroundBorder,MenuBackground,MenuBackgroundStatusbar1 }; controls[] = {tab_empty1,tab_empty2,tab_empty3,tab_empty4,tab_empty5, tab_mission,tab_team,tab_gear,tab_help,tab_voteforcommander_selected,warfarelogo,playername,playerrank,playerrankimage,infofunds, infoteam,infomission,infomissions,infotowns,button_construction,button_close,MessageBar, MenuTitle,InfoBox,VoteCountList,SelectionList }; onLoad = "_this Spawn BIS_WF_UpdateCommanderVoteMenuClassic"; class MenuBackgroundBorder1:GuiText { colorBackground[] = color2wf; x = 0.1-0.001; y = 0.2; w = 0.8+0.002; h = 0.05; }; class MenuBackgroundStatusbar1:MenuBackgroundStatusbar { y = 0.2; h = 0.049; text = "\CA\Warfare2\Images\ui_gradient_cti.paa"; }; class MenuBackground:GuiImage { colorBackground[] = color1wf; colorText[] = color1wf; text = "\CA\Warfare2\Images\ui_gradient_cti.paa"; x = 0.1; y = 0.25; w = 0.8; h = 0.7; }; class tab_voteforcommander_selected: tab_voteforcommander { text = "\CA\Warfare2\Images\tab_vote_s.paa"; onMouseEnter = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_vote_s.paa"";"; onMouseExit = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_vote_s.paa"";"; onSetFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_vote_s.paa"";"; onKillFocus = "(_this select 0) ctrlSetText ""\CA\Warfare2\Images\tab_vote_s.paa"";"; }; class MenuTitle:GuiLargeText { idc = IDCMENUTITLE; style = GUICENTER; font = "Bitstream"; sizeEx = 0.045; x = 0.3; y = 0.199; w = 0.4; h = 0.05; text = $STRWFVOTEFORCOMMANDER; colorText[] = color2wf; }; class InfoBox:GuiText { idc = IDCMENUINFO; style = GUICENTER; x = 0.3; y = 0.242; w = 0.4; h = 0.06; sizeEx = 0.035; text = ""; colorText[] = color2wf; }; class VoteCountList:GuiListBox { style = GUIRIGHT; idc = IDCMENULIST1; x = 0.11; y = 0.29; w = 0.05; h = 0.645; sizeEx = 0.035; rowHeight = 0.038; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; }; class SelectionList:GuiListBox { idc = IDCMENULIST; x = 0.16; y = 0.29; w = 0.73; h = 0.645; sizeEx = 0.035; rowHeight = 0.038; colorText[] = {0.82,1.00,0.82,1.0}; colorBackground[] = color1wf; colorSelect[] = {0.4,0,0,1}; colorSelectBackground[] = {0.72,0.48,0.24,1.0}; }; }; //***************************************************************************************** //RESPAWN MAP INTERFACE //***************************************************************************************** class RespawnMap:CommandMenu { controls[] = {RespawnTimerBar,RespawnMapArea,RespawnLocationLabel,MessageBar}; controlsBackground[] = {MenuBackground}; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_UpdateRespawnMap.sqs"")"; class MenuBackground:GuiText { colorBackground[] = {0.4,0.4,0.4,1.0}; text = ""; x = 0.0; y = 0.0; w = 1.0; h = 1.0; }; class RespawnTimerBar:GUIText { idc = IDCMENUTITLE; style = GUICENTER; font = "Bitstream"; sizeEx = 0.06; x = 0.01; y = 0.02; w = 0.98; h = 0.06; }; class RespawnMapArea:MapArea { x = 0.0; y = 0.16; w = 1.0; h = 0.79; }; class RespawnLocationLabel:GUIText { idc = IDCMENUINFO; style = GUICENTER; font = "Bitstream"; sizeEx = 0.05; x = 0.0; y = 0.11; w = 1.0; h = 0.04; colorText[] = {1.0,1.0,1.0,1}; }; class MessageBar:GUIText { style = GUICENTER; font = "Bitstream"; sizeEx = 0.05; x = 0.05; y = 0.96; w = 0.9; h = 0.04; colorText[] = {0.0,1.0,0.0,1}; text = $STRWFCLICKONRESPAWNLOCATION; }; }; //***************************************************************************************** //RESPAWN TIMER //***************************************************************************************** class RespawnTimer:DefaultMenu { controls[] = {RespawnBar}; controlsBackground[] = {RespawnBackground}; onLoad = "_this Exec (corePath + ""Client\GUI\GUI_UpdateRespawnTimer.sqs"")"; class RespawnBackground:GuiText { colorBackground[] = {0.4,0.4,0.4,1.0}; text = ""; x = 0.0; y = 0.0; w = 1.0; h = 0.1; }; class RespawnBar:GUIText { idc = IDCMENUSTATUSLABEL; style = GUICENTER; font = "Bitstream"; colorText[] = {1.0,1.0,1.0,1}; sizeEx = 0.06; x = 0.01; y = 0.02; w = 0.98; h = 0.06; }; }; //Created 10/25/8 // Handles client GUI, HUD, spawn timer and such // HUD Map creation HUDMAP_LAYER cutrsc ["HUDMap", "plain"]; waituntil {!isnil {uinamespace getvariable "WHIS_HUDMap"}}; ((uinamespace getvariable "WHIS_HUDMap") displayctrl 300201) mapcenteroncamera true; // Kill List creation KILLLIST_LAYER cutrsc ["KillList","plain"]; waituntil {!isnil {uinamespace getvariable "WHIS_KillList"}}; /*((uinamespace getvariable "WHIS_KillList") displayctrl 300301) ctrlSetFontHeight 0.08; ((uinamespace getvariable "WHIS_KillList") displayctrl 300302) ctrlSetFontHeight 0.08; ((uinamespace getvariable "WHIS_KillList") displayctrl 300303) ctrlSetFontHeight 0.08; ((uinamespace getvariable "WHIS_KillList") displayctrl 300301) ctrlSetPosition [0.2,0.972381,0.571429,0.05]; ((uinamespace getvariable "WHIS_KillList") displayctrl 300301) ctrlCommit 0; */ //Spawn Timer creation SPAWNTIMER_LAYER cutrsc ["spawnTimer","plain"]; GLOBALTIMER_LAYER cutrsc ["globalTimer", "plain"]; //Zone info creation //1126 cutRsc ["zoneInfo", "plain"]; waituntil {!isnil {uinamespace getvariable "WHIS_SpawnTime"}}; waituntil {!isnil {uinamespace getvariable "WHIS_GlobalTime"}}; //waituntil {!isnil {uinamespace getvariable "WHIS_ZoneInfo"}}; diag_log "starting client GUI loop"; while {timeLeft > 0} do { //Timers update _timeNow = time; ((uinamespace getvariable "WHIS_SpawnTime") displayctrl 300102) ctrlSetText format ["%1", spawnTick]; _mins = floor(timeLeft / 60); _sec = timeLeft - (_mins * 60); ((uinamespace getvariable "WHIS_GlobalTime") displayctrl 300302) ctrlSetText format ["%1:%2", _mins, _sec]; // Zone info update // sleep and check if respawn needed at end of spawn cycle // GUI loop is the fastest client-side loop, thus detection of needed respawn is done here sleep (0.1 max (1 - (time - _timeNow))); if (spawnTick > oldSpawnTick) then { if (respawnNow) then { WHIS_SpawnVar execVM "client\respawner.sqf"; respawnNow = false; }; }; oldSpawnTick = spawnTick; }; diag_log "starting client side marker loop"; while {true} do { _slots=westBaseUnits; if( str(pSide) == "east" ) then { _slots=eastBaseUnits; }; { _i=0; if !(isNil {_x getVariable "currentUnit"}) then { _u = _x getVariable "currentUnit"; if (isNil {_x getVariable "unitMarker"}) then { _marker = format ["unitMarker_%1", random 1000]; createMarkerLocal [_marker, getPosASL _u]; _marker setMarkerShapeLocal "Icon"; _marker setMarkerTextLocal (name _u); _marker setMarkerTypeLocal "dot"; _marker setMarkerPosLocal (getPosASL _u); _marker setMarkerColorLocal "colorGreen"; _x setVariable ["unitMarker", _marker, false]; } else { _marker = _x getVariable "unitMarker"; _marker setMarkerPosLocal (getPosASL _u); }; } else { if !(isNil {_x getVariable "unitMarker"}) then { _marker = _x getVariable "unitMarker"; deleteMarkerLocal _marker; _x setVariable ["unitMarker", nil, false]; }; }; } forEach _slots; { _marker = _x getVariable "perMarker"; _marker setMarkerTextLocal ((str(round(_x getVariable "flagTakePerc"))) + "%"); } forEach flagList; sleep 1; }; _IDCPlayer = 300400; disableSerialization; PLAYERTAGS_LAYER cutRsc ["PlayerTags", "PLAIN"]; waitUntil {!(isNil {uinamespace getVariable "WHIS_PlayerTags"})}; diag_log "starting tag loop client side"; while { true } do { _currentCutDisplay = uiNamespace getVariable "WHIS_PlayerTags"; _slots=westBaseUnits; if( str(pSide) == "east" ) then { _slots=eastBaseUnits; }; _ctr=0; _HUDIndex = 0; _listUnits = []; { _rUnit = _x getVariable "currentUnit"; if !(isNull _rUnit) then {_listUnits = _listUnits + [_rUnit];}; } forEach _slots; // Bug #4875 - sticky tag names for [ { _ctr = 0 } , { _ctr < 33 } , { _ctr = _ctr + 1 } ] do { if ((_ctr) < count _listUnits) then { _u = _listUnits select _ctr; // if ((playerSide == side _u) && (isPlayer _u) && ((_u distance player) < tagMaxRange) && (_u != player)) then { if ((playerSide == side _u) && ((_u distance player) < tagMaxRange) && (_u != player)) then { _control = _currentCutDisplay displayCtrl (_IDCPlayer + _ctr); _targetPos = (getPos _u); _targetPos set [ 2 , (_targetPos select 2) + 2.0 ]; // make marker float 1.6m above _position = worldToScreen _targetPos; if( (count _position) != 0 ) then { // this checks player is not out of view ctrlShow [ _control , true ]; _control ctrlSetPosition _position; _control ctrlSetText format ["%1 ", name _u]; _d = _u distance player; _trans = 0 max ((tagMaxRange - _d) / tagMaxRange); if !( alive _u ) then { _control ctrlSetTextColor [0.7,0.2,0.2,_trans]; // red-ish colour _control ctrlSetText ""; } else { _control ctrlSetTextColor [0,0.7,0,_trans]; // green }; } else { _control ctrlSetText ""; ctrlShow [ _control , false ]; }; _control ctrlCommit 0; waitUntil { ctrlCommitted _control }; } else { _control = _currentCutDisplay displayCtrl (_IDCPlayer + _ctr); ctrlShow [ _control , false ]; _control ctrlSetText ""; _control ctrlCommit 0; waitUntil { ctrlCommitted _control }; }; } else { _control = _currentCutDisplay displayCtrl (_IDCPlayer + _ctr); ctrlShow [ _control , false ]; _control ctrlSetText ""; _control ctrlCommit 0; waitUntil { ctrlCommitted _control }; }; }; sleep 0.05; }; _noRespawn = false; _roleList = westRoles; _roleCount = westRolesCount; if (str(pSide) == "east") then {_roleList = eastRoles;_roleCount = eastRolesCount;}; _i = 0; _index = 0; { if (_x == playerNextRole) then {_index = _i}; _i = _i + 1; } forEach _roleList; _tmpRoles = []; call compile format ["_tmpRoles = %1_%2_roles;", str(pSide), askedClass]; { _role = _x select 1; _max = 0; if (_role == playerNextRole) then { _max = _x select 3; }; if ((_max != 0) && ((_roleCount select _index) >= _max)) then { _noRespawn = true; }; if ((playerNamespace getVariable "currentRole") == _index) then { _noRespawn = false; }; } forEach _tmpRoles; if (_noRespawn) exitWith {nul = [playerSide, 1, "The selected class has reached maximum number!"] execVM "gui\loadSpawnDialog.sqf";}; playerNamespace setVariable ["currentRole", _index, true]; playerNamespace setVariable ["currentClass", askedClass, true]; respawnNow = true; _truck = _this select 0; _box = "SpecialWeaponsBox"; _ammoPos = [-0.0263672,-6.70117,-2.29116]; _playerPos = [0.0175781,-9.64453,-2.28077]; leaveAmmo = false; _ammo = _box createVehicle (_truck modelToWorld _ammoPos); player setPos (_truck modelToWorld _playerPos); player playActionNow "grabDrag"; _offset = player worldToModel (position _ammo); _ammo attachTo [player, [0, 1, 1]]; clearWeaponCargo _ammo; clearMagazineCargo _ammo; _leaveActionId = player addAction ["Release crate", "client\leaveAmmo.sqf", "", 12, true, true, "", "local _target"]; WaitUntil {leaveAmmo}; leaveAmmo = false; detach _ammo; player playActionNow "released"; player removeAction _leaveActionId; _ammo setPos [(position _ammo) select 0, (position _ammo) select 1, 0]; _ammo setPos position _ammo; _id = _ammo addAction ["Replenish ammo", "client\getAmmo.sqf", "", 12, true, true];_truck = _this select 0; _facPos = [0,-15,0]; diag_log format ["Facility asked for deployement at %1", position _truck]; _nearBase = objNull; { if ((_x distance _truck) < flagMaxDistance) then {_nearBase = _x}; } forEach flagList; diag_log format ["Nearest base is %1", _nearBase]; if (isNull _nearBase) exitWith {hint "You are too far from any base"}; if ((_nearBase getVariable "flagOwner") != str(pSide)) exitWith {diag_log "Nearest base is ennemy, skipping.";hint "you are not near a friendly base"}; _otherFac = []; _otherFac = (position _nearBase) nearObjects ["CDF_WarfareBHeavyFactory", flagMaxDistance]; if ((count _otherFac) > 0) exitWith {diag_log "Facility already built in area, skipping"; hint "There is already a Facility in this area"}; if (_nearBase getVariable "noFacility") exitWith {hint "No facility can be built on this base"}; Hint "Facility is going to be built in 30 seconds."; // Bug #7739 : facility deployed always at back of trucks. Deploy position now registered before the 30 seconds pause _pos = _truck modelToWorld _facPos; sleep 30; _otherFac = (position _nearBase) nearObjects ["CDF_WarfareBHeavyFactory", flagMaxDistance]; if ((count _otherFac) > 0) exitWith {diag_log "Facility already built in area, skipping"; hint "There is already a Facility in this area"}; diag_log "Facility in creation"; _fac = "CDF_WarfareBHeavyFactory" createVehicle (_pos); _facDmgCode = { if ((_this select 4) == "PIPEBOMB") then { if ((_this select 2) > 2) then { _marker = (_this select 0) getVariable "markerName"; deleteMarkerLocal _marker; deleteVehicle (_this select 0); }; }; }; // Bug #7738 : improper handleDamage EH action, EH was only created locally. Now integratde into init commands, should be global _fac setVehicleInit format ["nul = [this] execVM 'common\initFactory.sqf';this removeAllEventHandlers 'Hit';this addEventHandler ['handleDamage', %1]",_facDmgCode] ; processInitCommands; diag_log "Facility created!"; _v = _this select 1; // 21-11-2009 : potential bug with multiple links out of a single base // A base may be linked to more than one base, _newNeutral needs to be array of linked flags _oldFlag = _v select 0; _newSide = _v select 1; _newNeutral = _v select 2; _oldPos = getMarkerPos (_oldFlag getVariable "flagMarker"); //_newPos = getMarkerPos (_newNeutral getVariable "flagMarker"); _oldTask = objNull; _newTask = []; { if ((_oldPos distance (taskDestination _x)) < 10) then { _oldTask = _x; _x setTaskState "CANCELED"; }; _cTask = _x; { if (((getMarkerPos (_x getVariable "flagMarker")) distance (taskDestination _cTask)) < 10) then { _newTask = _newTask + [_cTask]; _cTask setTaskState "CREATED"; }; } forEach _newNeutral; } forEach taskList; if (_newSide == str(pSide)) then { nul=[objNull, ObjNull, _oldTask, "SUCCEEDED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf"; } else { nul=[objNull, ObjNull, _oldTask, "FAILED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf"; }; sleep 5; { nul=[objNull, ObjNull, _x, "CREATED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf"; } forEach _newTask; _needed = currentGear - (magazines player); diag_log currentGear; diag_log (magazines player); diag_log _needed; _weaps = weapons player; removeAllWeapons player; { player addMAgazine _x; } forEach currentGear; { player addWeapon _x; } forEach _weaps; _i = _this select 0; diag_log _i; diag_log lbValue [200101, _i]; _side = side player; _vecPool = ""; //if (hasTakenCar) exitWith {Hint "You already have requested a car during this life! You can't do it twice";}; switch (_side) do { case west: { _vecPool = westVehiclePool; }; case east: { _vecPool = eastVehiclePool; }; }; switch (lbValue [200101, _i]) do { case 255 : { _type = lbData [200101, _i]; _fac = uinamespace getVariable "currentFac"; //if (hasTakenCar) exitWith {Hint "You already have requested a car during this life! You can't do it twice";}; if ((time - (_fac getVariable "lastUsed")) < 30) exitWith {Hint format ["Facility has been used recently. Wait %1 seconds more before using it again", 30 - (time - (_fac getVariable "lastUsed"))]}; diag_log format ["creating vehicle %1 at pos %2", _type, (_fac modelToWorld [-4, -15, 0])]; // Kju's suggestion : create vehicle at player's position // _vec = _type createVehicle (_fac modelToWorld [-4, -15, 0]); _vec = _type createVehicle (position player); _vec addEventHandler ["killed", "_this execVM 'common\clearDeadCar.sqf'"]; player moveInDriver _vec; newVehicle = _vec; publicVariable "newVehicle"; if (isServer) then { if !(_vec in onFieldVehicles) then {onFieldVehicles = onFieldVehicles + [_vec]; (_vec) setVariable ["lastUsed", -1]}; }; hasTakenCar = true; _fac setVariable ["lastUsed", time]; }; default { // need verification that 2 players do not request the same vehicle at the same time // after clicking OK, check if vehicle is empty and still in place _type = lbText [200101, _i]; _fac = uinamespace getVariable "currentFac"; _index = lbValue [200101, _i]; _vec = vehiclePool select _index; if (((count crew _vec) == 0) && (_vec in list _vecPool)) then { // bug #4874 - vehicles damaged on spawn // clear vehicles from damages player moveInDriver _vec; sleep 1; _vec setPos (_fac modelToWorld [-4, -15, 0]); _vec setDamage 0; newVehicle = _vec; publicVariable "newVehicle"; if (isServer) then { if !(_vec in onFieldVehicles) then {onFieldVehicles = onFieldVehicles + [_vec]; (_vec) setVariable ["lastUsed", -1]}; }; } else { hint "The vehicle has been requested by another player!"; }; }; }; closeDialog 0; #define AIMDOTS_LAYER 1 #define PLAYERTAGS_LAYER 9 #define HUDMAP_LAYER 11 #define KILLLIST_LAYER 10 #define TAWIMAGE_LAYER 17 #define SPAWNTIMER_LAYER 1124 #define GLOBALTIMER_LAYER 1125 #define ZONEINFO_LAYER 1126 { _name = format ["%1_distance", _x]; _marker = _x getVariable "flagMarker"; _owner = _x getVariable "flagOwner"; _links = _x getVariable "flagLinks"; _flag = _x; _marker2 = createMarkerLocal [_name, position _x]; _marker2 setMarkerShapeLocal "ELLIPSE"; _marker2 setMarkerSizeLocal [flagMaxDistance,flagMaxDistance]; _marker2 setMarkerBrushLocal "BORDER"; if (_owner == "east") then { _marker setMarkerColorLocal "colorRed"; }; if (_owner == "west") then { _marker setMarkerColorLocal "colorBlue"; }; if (_owner == "none") then { _marker setMarkerColorLocal "colorGreen"; }; _facArray = position _x nearObjects ["CDF_WarfareBHeavyFactory", 300]; if ((count _facArray) > 0) then { _fac = _facArray select 0; _nameFac = ""; call compile format ["_nameFac = 'factoryMarker' + '%1'", random 100]; _marker3 = createMarkerLocal [_nameFac, position _fac]; _marker3 setMarkerTypeLocal "mil_box"; _marker3 setMarkerColorLocal "ColorOrange"; _marker3 setMarkerSizeLocal [0.4,0.4]; _marker3 setMarkerTextLocal "Facility"; }; { _endpos = position _x; _startpos = position _flag; _dist2d = sqrt(((_endpos select 0)-(_startpos select 0))^2+((_endpos select 1)-(_startpos select 1))^2); _ang = ((_endpos select 0)-(_startpos select 0)) atan2 ((_endpos select 1)-(_startpos select 1)); _center = [(_startpos select 0)+sin(_ang)*_dist2d/2,(_startpos select 1)+cos(_ang)*_dist2d/2]; _markerName = format ["newlinemarker_%1", floor(random 1000)]; createMarker [_markerName, _center]; _markerName setMarkerShape "RECTANGLE"; _markerName setMarkerSize [2, _dist2d / 2]; // 4m wide line _markerName setMarkerDir _ang; } forEach _links; } forEach flagList; sceneriesDone = true;waitUntil {!(isNull player)}; playerNextRole = ""; tmpRoles = []; pSide = side player; oldSpawnTick = 10000; respawnNow = false; playerNamespace = player; hasTakenCar = false; askedClass = "Soldier"; askedRole = "Grenadier"; aimDotID = -1; firstSpawn = true; playerDead = false; playerNamespace setVariable ["uid", getPlayerUID player, true]; playerNamespace setVariable ["currentClass", askedClass, true]; switch (side player) do { case west : { backSpawn = "west_backSpawn"; }; case east : { backSpawn = "east_backSpawn"; }; }; nul = [] execVM "briefing.sqf"; nul = [] execVM "client\clientGUILoop.sqf"; nul = [] execVM "client\clientTagLoop.sqf"; nul = [] execVM "client\clientMarkerLoop.sqf"; "killedEvent" addPublicVariableEventHandler { _this call compile preprocessFileLineNumbers "client\killListUpdate.sqf"}; "HQDeploy" addPublicVariableEventHAndler { _this call compile preprocessFileLineNumbers "client\MHQMarkerUpdate.sqf"}; "flagTaken" addPublicVariableEventHandler { _this execVM "client\flagTaken.sqf"}; initPlayerDone = true; /*"colorCorrections" ppEffectEnable true; //"colorCorrections" ppEffectAdjust [1, 0.4, 0, [0.8,0.9,1,-0.1], [1,1,1,2], [-0.5,0,-1,5]]; "colorCorrections" ppEffectAdjust [1, 1, 0, [0.0, 0.0, 0.0, 0.0], [0.6, 0.6, 1.8, 0.7], [0.199, 0.587, 0.114, 0.0]]; "colorCorrections" ppEffectCommit 1; */ disableSerialization; cutText [CTBMissionName, "PLAIN"]; // Camera effect showing all objectives // Disabled for tests and probably live version /* _cam = "camera" camCreate [((position (flagList select 0)) select 0) + 100, (position (flagList select 0)) select 1, 100]; _cam camSetTarget (position (flagList select 0)); _cam cameraEffect ["internal", "BACK"]; _cam camCommit 0; textEffectFunc = compile preprocessFileLineNumbers "gui\displayTextEffect.sqf"; cutRsc ["introEffects", "PLAIN"]; waitUntil {!(isNil {uinamespace getVariable "WHIS_IntroEffect"})}; _currentCutDisplay = uinamespace getVariable "WHIS_IntroEffect"; [format ["%1 Objectives : Take %2 bases", attackingSide, defendingSide], 2, 0, _currentCutDisplay] call textEffectFunc; _i = 0; sleep 2; while {_i < (count flagList)} do { _cam camSetPos [((position (flagList select _i)) select 0) + 100, (position (flagList select _i)) select 1, 100]; _cam camSetTarget (position (flagList select _i)); _cam camCommit 3; [format ["Objective %1 : %2", _i, markerText ((flagList select _i) getVariable "flagMarker")], 2, _i, _currentCutDisplay] call textEffectFunc; waitUntil {camCommitted _cam}; sleep 2; _i = _i + 1; }; waitUntil {!(isNull player) && (local player) &&(initPlayerDone)&&sceneriesDone}; camDestroy _cam; player cameraEffect ["terminate","back"]; cutRsc ["Default", "PLAIN"]; */ nul = [playerSide, 0] execVM "gui\loadSpawnDialog.sqf" _killArray = _this select 1; _killer = _killArray select 0; _killerSide = _killArray select 1; _killed = _killArray select 2; _killedSide = _killArray select 3; _display = uinamespace getVariable "WHIS_KillList"; _sK = side _killer; _sT = side _killed; _killerColor = '#ffffff'; _killedColor = '#ffffff'; if (_killerSide == west) then {_killerColor = '#0000ff'}; if (_killerSide == east) then {_killerColor = '#ff0000'}; if (_killedSide == west) then {_killedColor = '#0000ff'}; if (_killedSide == east) then {_killedColor = '#ff0000'}; _text = format ["%1 killed by %2", name _killed, name _killer, _killedColor, _killerColor]; _told2 = ctrlText (_display displayCtrl 300302); _t2 = format ["%1%1Abilities :
* Can take objective flags
Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",0],\ ["Light AntiArmor", "USMC_Soldier_AT", "Light Anti Armor.
AT weapon : SMAW.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",2],\ ["Heavy AntiArmor", "USMC_Soldier_HAT", "Heavy Anti Armor.
AT weapon : Javelin.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",1],\ ["Anti Aircraft", "USMC_Soldier_AA", "AA Soldier.

Abilities :
* Can take objective flags
Can gun mounted AA weapons.
Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",2],\ ["Automatic Rifleman", "USMC_Soldier_AR", "Automatic Rifleman - M249.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",0]]; west_Medic_roles = [["Medic", "USMC_Soldier_Medic", "Corpsman.
Abilities:
* Can heal
* Can drive and deploy Mobile HQ
Limitations:
* cannot drive or gun heavy and air vehicles.
* cannot take objective flags",0]]; west_Recon_roles = [["Sniper", "USMC_SoldierS_Sniper", "Basic sniper.
Abilities :
* Ghillie Suit

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1],\ ["Heavy Sniper", "USMC_SoldierS_SniperH", "M107 Sniper
Abilities :
* Ghillie Suit

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1]]; west_SpecOps_roles = [["Saboteur", "FR_R", "Demolition Specialist.
Abilities :
* Explosives

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1]]; west_Engineer_roles = [["Engineer", "USMC_SoldierS_Engineer", "The Engineer - Janitor of The Army
Abilities :
* Can drive support vehicles

Limitations
* Cannot drive or gun heavy and air vehicles
* cannot take objective flags",0]]; west_Crewman_roles = [["Crew", "USMC_Soldier_Crew", "Ground vehicle crew
Abilities :
* Can drive, gun and command armored vehicles.

Limitations
* Cannot drive support vehicles.
* cannot take objective flags",0],\ ["Pilot", "USMC_Soldier_Pilot", "Air vehicle pilot and crewmember
Abilities :
* Can pilot or gun air vehicles.

Limitations
* Cannot drive support vehicles.
* cannot take objective flags",0]]; east_Soldier_roles = [["Grenadier", "RU_Soldier_GL", "Grenadier.
Abilities :
* Can take objective flags
Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",0],\ ["Light AntiArmor", "RU_Soldier_AT", "Light Anti Armor.
AT weapon : RPG-7.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",2],\ ["Heavy AntiArmor", "RU_Soldier_HAT", "Heavy Anti Armor.
AT weapon : METIS.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",1],\ ["Anti Aircraft", "RU_Soldier_AA", "AA Soldier.

Abilities :
* Can take objective flags
Can gun mounted AA weapons.
Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",2],\ ["Automatic Rifleman", "RU_Soldier_AR", "Automatic Rifleman.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",0]]; east_Medic_roles = [["Medic", "RU_Soldier_Medic", "Corpsman.
Abilities:
* Can heal
* Can drive and deploy Mobile HQ
Limitations:
* cannot drive or gun heavy and air vehicles.
* cannot take objective flags",0]]; east_Recon_roles = [["Sniper", "RU_Soldier_Sniper", "Basic sniper
Abilities :
* Ghillie Suit

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1],\ ["Heavy Sniper", "RU_Soldier_SniperH", "KSVK Sniper
Abilities :
* Ghillie Suit

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1]]; east_SpecOps_roles = [["Saboteur", "RUS_Soldier_Sab", "Demolition Specialist.
Abilities :
* Explosives

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1]]; east_Engineer_roles = [["Engineer", "RU_Soldier2", "The Engineer - Janitor of The Army
Abilities :
* Can drive support vehicles

Limitations
* Cannot drive or gun heavy and air vehicles
* cannot take objective flags",0]]; east_Crewman_roles = [["Crew", "RU_Soldier_Crew", "Ground vehicle crew
Abilities :
* Can drive, gun and command armored vehicles.

Limitations
* Cannot drive support vehicles.
* cannot take objective flags",0],\ ["Pilot", "RU_Soldier_Pilot", "Air vehicle pilot and crewmember
Abilities :
* Can pilot or gun air vehicles.

Limitations
* Cannot drive support vehicles.
* cannot take objective flags",0]]; vehiclePermissions_LAV25 = [["commander", ["USMC_Soldier_Crew"]], ["gunner", ["USMC_Soldier_Crew"]], ["driver", ["USMC_Soldier_Crew"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_HMMWV_Avenger = [["gunner", ["USMC_Soldier_Crew", "USMC_Soldier_AA"]], ["driver", ["soldierWB"]], ["cargo", ["SoldierWB"]]]; vehiclePermissions_LAV25_HQ = [["commander", ["USMC_Soldier_Medic"]], ["gunner", ["USMC_Soldier_Medic"]], ["driver",["USMC_Soldier_Medic"]], ["cargo",["USMC_Soldier_Medic"]]]; vehiclePermissions_M1A2_TUSK_MG = [["commander", ["USMC_Soldier_Crew"]], ["gunner", ["USMC_Soldier_Crew"]], ["driver", ["USMC_Soldier_Crew"]], ["cargo", ["USMC_Soldier_Crew"]]]; vehiclePermissions_AH1Z = [["commander", ["USMC_Soldier_Pilot"]], ["gunner", ["USMC_Soldier_Pilot"]], ["driver", ["USMC_Soldier_Pilot"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_MH60S = [["commander", ["USMC_Soldier_Pilot"]], ["gunner", ["USMC_Soldier_Pilot"]], ["driver", ["USMC_Soldier_Pilot"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_WarfareSupplyTruck_USMC = [["driver", ["USMC_SoldierS_Engineer"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_MtvrRepair = [["driver", ["USMC_SoldierS_Engineer"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_WarfareReammoTruck_USMC = [["driver", ["USMC_SoldierS_Engineer"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_BTR90 = [["commander", ["RU_Soldier_Crew"]], ["gunner", ["RU_Soldier_Crew"]], ["driver", ["RU_Soldier_Crew"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_2S6M_Tunguska = [["gunner", ["RU_Soldier_Crew", "RU_Soldier_AA"]], ["driver", ["RU_Soldier_Crew"]], ["cargo", ["SoldierEB"]]]; vehiclePermissions_BTR90_HQ = [["commander", ["RU_Soldier_Medic"]], ["gunner", ["RU_Soldier_Medic"]], ["driver",["RU_Soldier_Medic"]], ["cargo",["RU_Soldier_Medic"]]]; vehiclePermissions_T90 = [["commander", ["RU_Soldier_Crew"]], ["gunner", ["RU_Soldier_Crew"]], ["driver", ["RU_Soldier_Crew"]], ["cargo", ["RU_Soldier_Crew"]]]; vehiclePermissions_Mi24_V = [["commander", ["RU_Soldier_Pilot"]], ["gunner", ["RU_Soldier_Pilot"]], ["driver", ["RU_Soldier_Pilot"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_WarfareSupplyTruck_RU = [["driver", ["RU_Soldier2"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_KamazRepair = [["driver", ["RU_Soldier2"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_WarfareReammoTruck_RU = [["driver", ["RU_Soldier2"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_UAZ_RU = [["driver", ["soldierEB"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_Kamaz = [["driver", ["soldierEB"]], ["cargo", ["soldierEB"]]]; initCTBdone = true; _fac = _this select 0; _fac addAction ["Get Vehicle", "gui\loadVehicleDialog.sqf","fac"]; if ((count _this) == 1) then { _fac addEventHandler ["Hit", {(_this select 0) setDamage 0}]; }; if (isServer) then { _name = ""; call compile format ["_name = 'factoryMarker' + '%1'", random 100]; _fac setVariable ["markerName", _name, true]; }; waitUntil {!isNil {_fac getVariable "markerName"}}; _name = _fac getVariable "markerName"; _marker = createMarkerLocal [_name, position _fac]; _marker setMarkerTypeLocal "mil_box"; _marker setMarkerColorLocal "ColorOrange"; _marker setMarkerSizeLocal [0.4,0.4]; _marker setMarkerTextLocal "Facility"; _HQvec = _this select 0; _side = _this select 1; _roles = []; waitUntil {initsqfDone}; switch (_side) do { case "west" : { _roles = west_Medic_roles; west_HQlist = west_HQlist + [_HQvec]; }; case "east" : { _roles = east_Medic_roles; east_HQlist = east_HQlist + [_HQvec]; }; }; //call compile format ["_roles = %1_Engineer_roles;", _side]; _class = (_roles select 0) select 1; _conditionDep = format ["(((_target getVariable ""deployed"") == 0) && ((typeOf _this) == ""%1"") && ((vehicle _this) == _this))", _class]; _conditionUndep = format ["(((_target getVariable ""deployed"") == 1) && ((typeOf _this) == ""%1"") && ((vehicle _this) == _this))", _class]; _depActionId = _HQvec addAction ["Deploy MHQ", "deployMHQ.sqf", "", 12, true, true, "", _conditionDep]; _undepActionId = _HQvec addAction ["Undeploy MHQ", "undeployMHQ.sqf", "", 12, true, true, "", _conditionUndep]; revealList = revealList + [_HQvec]; if !(isServer) exitWith {}; _HQvec setVariable ["deployed", 0, true]; _truck = _this select 0; _side = _this select 1; _roles = []; waitUntil {initsqfDone}; switch (_side) do { case "west" : { _roles = west_Engineer_roles; }; case "east" : { _roles = east_Engineer_roles; }; }; _class = (_roles select 0) select 1; _conditionAmmo = format ["(((typeOf _this) == ""%1"") && ((vehicle _this) == _this))", _class]; _actionIdAmmo = _truck addAction ["Deploy Facility", "client\deployFacility.sqf", "", 12, false, true, "", _conditionAmmo]; if (local _truck) then { _truck setVariable ["isUtility", true, true]; _truck setVariable ["side", _side, true]; };_vec = _this select 0; _position = _this select 1; _unit = _this select 2; scopeName "main"; if !(local _unit) exitWith {}; _vecPerm = []; _permitted = false; _neededPos = []; call compile format ["_vecPerm = vehiclePermissions_%1;", typeOf _vec]; { _pos = _x select 0; _perm = _x select 1; if (_pos == _position) then { _neededPos = _perm; { if (_unit isKindOf _x) then {_permitted = true}; } forEach _perm; }; } forEach _vecPerm; if (_permitted) then { if (_position == "cargo") then { [] execVM "cargoCheck.sqf"; }; newVehicle = _vec; publicVariable "newVehicle"; if (isServer) then { if !(_vec in onFieldVehicles) then {onFieldVehicles = onFieldVehicles + [_vec]; (_vec) setVariable ["lastUsed", -1]}; }; } else { player action ["eject", vehicle player]; hint "You are not of the correct class for this vehicle!"; }; _vec = _this select 0; _spawnTime = _this select 1; if ((count _this) > 2) then { _spawnTimeE = _this select 2; _vec setVariable ["spawnTimeE", _spawnTimeE]; }; _pos = position _vec; _vec setVariable ["spawnPosition", _pos]; _vec setVariable ["spawnTime", _spawnTime]; _vec setVariable ["spawnDir", getDir _vec]; _vec setVariable ["lastUsed", -1]; _vec setVariable ["magazines", magazines _vec]; //_vec addEventHandler ["GetOut", "_this execVM ""vehicleGetOut.sqf"""]; // Vehicle cleaning changed - Task #5028 //_vec addEventHandler ["Killed", "_this execVM ""vehicleKilled.sqf"""]; _vec addEventHandler ["GetIn", "_this execVM ""common\vecGetIn.sqf"""]; if (isNil "baseVehicleList") then {baseVehicleList = [_vec]} else {baseVehicleList = baseVehicleList + [_vec]}; _MHQ = _this select 0; _nearflag = (position _MHQ) nearObjects ["flagCarrier", 300]; if ((count _nearflag) != 0) exitWith {hint "You must be at least 300m away from any base to deploy MHQ!"}; _MHQ setVariable ["deployed", 2, true]; sleep 3; _camo = "Land_CamoNetB_NATO" createVehicle (_MHQ modelToWorld [-0.0292969,0.621582,-2.97668]); _camo setPos (_MHQ modelToWorld [-0.0292969,0.621582,-2.97668]); _camo setDir (getDir _MHQ); _MHQ setVariable ["camo", _camo, true]; _MHQ setVariable ["deployed", 1, true]; _MHQ setFuel 0; HQDeploy = [_MHQ, str(pSide), true]; publicVariable "HQDeploy"; _script = HQDeploy spawn compile loadFile "client\MHQMarkerUpdate.sqf"; respawn = 3; respawnDelay = 5; respawnvehicle=3; respawnVehicleDelay=10; // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_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_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 // 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 #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 FontM "Zeppelin32" #define true 1 #define false 0 #define IDCPLAYER 300400 #define IDCINTROEFFECT 300500 class Header { gameType = HOLD; minPlayers = 1; maxPlayers = 32; }; class Params { class RespawnDelay { title = "Respawn cycle"; values[] = {10, 15, 20, 25, 30}; texts[] = {"10 sec", "15 sec", "20 sec", "25 sec", "30 sec"}; default = 15; }; class FlagTimer { title = "Zone Capture Time"; values[] = {30, 60, 120, 180, 240, 300, 360}; texts[] = {"30 seconds", "1 minute", "2 minutes", "3 minutes", "4 minutes", "5 minutes", "6 minutes"}; default = 180; }; class Grass { title = "Grass"; values[] = {25, 50}; texts[] = {"On", "Off"}; default = 25; }; class gameLength { title = "Game Length"; values[] = {1200, 1800, 2400, 3000, 3600}; texts[] = {"20 minutes", "30 minutes", "40 minutes", "50 minutes", "1 hour"}; default = 2400; }; class aimDots { title = "Enable AimDots"; values[] = {1, 0}; texts[] = {"yes", "no"}; default = 0; }; }; #include "ClassicUI.hpp" //#include "rscMap.hpp" #include "hpp\standartcontrolclasses.hpp" class GUIMidText:GUIText { sizeEx = 0.020; w = 0.165; h = 0.018; }; class RscTitles { class introImage { idd = -1; movingEnable = false; duration = 30; fadein = 3; name = "IntroImage"; controls[] = {"image1", "image2"}; class image1: RscPicture { x = "(0.79 * SafeZoneW) + SafeZoneX"; y = "(0.3 * SafeZoneH) + SafeZoneY"; w = "0.15 * SafeZoneW"; h = "0.075 * SafeZoneH"; text = "rsc\Whisper-image.paa"; }; class image2: RscPicture { x = "(0.75 * SafeZoneW) + SafeZoneX"; y = "(0.5 * SafeZoneH) + SafeZoneY"; w = "0.35 * SafeZoneW"; h = "0.075 * SafeZoneH"; text = "rsc\DH-image.paa"; }; }; class TAWImage { idd = -1; movingEnable = false; duration = 30; fadein = 3; name = "TAWImage"; controls[] = {"text1", "TAWLogo"}; class text1: GUIText { x = "(0.75 * SafeZoneW) + SafeZoneX"; y = "(0.68 * SafeZoneH) + SafeZoneY"; w = "0.35 * SafeZoneW"; h = "0.009 * SafeZoneH"; text = "in collaboration with"; }; class TAWLogo: RscPicture { x = "(0.75 * SafeZoneW) + SafeZoneX"; y = "(0.7 * SafeZoneH) + SafeZoneY"; w = "0.2 * SafeZoneW"; h = "0.07 * SafeZoneH"; text = "rsc\TAWlogo.paa"; }; }; class AimDots { idd = -1; movingEnable = false; duration = 10000; fadein = 3; name = "AimDots"; controls[] = {"dot1", "dot2", "dot3"}; class dot1: RscPicture { x = "(0.4 * SafeZoneW) + SafeZoneX"; y = "(0.5 * SafeZoneH) + SafeZoneY"; w = "0.01 * SafeZoneW"; h = "0.01 * SafeZoneH"; text = "rsc\greenDot.paa"; }; class dot2: RscPicture { x = "(0.5 * SafeZoneW) + SafeZoneX"; y = "(0.6 * SafeZoneH) + SafeZoneY"; w = "0.01 * SafeZoneW"; h = "0.01 * SafeZoneH"; text = "rsc\greenDot.paa"; }; class dot3: RscPicture { x = "(0.6 * SafeZoneW) + SafeZoneX"; y = "(0.5 * SafeZoneH) + SafeZoneY"; w = "0.01 * SafeZoneW"; h = "0.01 * SafeZoneH"; text = "rsc\greenDot.paa"; }; }; class zoneInfo { idd = -1; duration = 10000; fadein = 0; movingEnable = 1; enableSimulation = 1; enableDisplay = 1; onload = "uinamespace setvariable ['WHIS_ZoneInfo',_this select 0]"; onunload = "uinamespace setvariable ['WHIS_ZoneInfo',nil]"; class controls { class ZoneName:GUIText { idc = 300401; x = "(0.83 * SafeZoneW) + SafeZoneX"; y = "SafeZoneY + (0.15 * SafeZoneH)"; w = 0.25; h = 0.05; size = 0.045; text = "Zone : none"; }; class Units:GUIText { idc = 300402; x = "(0.83 * SafeZoneW) + SafeZoneX"; y = "SafeZoneY + (0.2 * SafeZoneH)"; w = 0.25; h = 0.05; size = 0.045; text = ""; }; }; }; class spawnTimer { idd = -1; duration = 10000; fadein = 0; movingEnable = 1; enableSimulation = 1; enableDisplay = 1; onload = "uinamespace setvariable ['WHIS_SpawnTime',_this select 0]"; onunload = "uinamespace setvariable ['WHIS_SpawnTime',nil]"; class controls { class Descr:GUIText { idc = 300101; x = "0.01 + SafeZoneX"; y = "SafeZoneH + SafeZoneY - 0.05"; w = 0.1; h = 0.05; size = 0.045; text = "next spawn:"; }; class Timer:GUIText { idc = 300102; x = "0.115 + SafeZoneX"; y = "SafeZoneH + SafeZoneY - 0.05"; w = 0.05; h = 0.05; size = 0.045; text = ""; }; }; }; class globalTimer { idd = -1; duration = 10000; fadein = 0; movingEnable = 1; enableSimulation = 1; enableDisplay = 1; onload = "uinamespace setvariable ['WHIS_GlobalTime',_this select 0]"; onunload = "uinamespace setvariable ['WHIS_GlobalTime',nil]"; class controls { class Descr:GUIText { idc = 300301; x = "0.01 + SafeZoneX"; y = "SafeZoneH + SafeZoneY - 0.11"; w = 0.1; h = 0.05; size = 0.045; text = "Time left :"; }; class Timer:GUIText { idc = 300302; x = "0.115 + SafeZoneX"; y = "SafeZoneH + SafeZoneY - 0.11"; w = 0.05; h = 0.05; size = 0.045; text = ""; }; }; }; class introEffects { idd = -1; duration = 100; fadein = 0; movingEnable = 1; enableSimulation = 1; enableDisplay = 1; onload = "uinamespace setvariable ['WHIS_IntroEffect',_this select 0]"; onunload = "uinamespace setvariable ['WHIS_IntroEffect',nil]"; class controls { class generic:GUIText { x = 0.5; y = 0.7; w = 0.5; size = 0.25; }; class text01:generic { idc = IDCINTROEFFECT + 1; }; class text02:generic { idc = IDCINTROEFFECT + 2; }; class text03:generic { idc = IDCINTROEFFECT + 3; }; class text04:generic { idc = IDCINTROEFFECT + 4; }; class text05:generic { idc = IDCINTROEFFECT + 5; }; class text06:generic { idc = IDCINTROEFFECT + 6; }; class text07:generic { idc = IDCINTROEFFECT + 7; }; }; }; class HUDMap { idd = -1; duration = 10000; fadein = 0; movingEnable = 1; enableSimulation = 1; enableDisplay = 1; onload = "uinamespace setvariable ['WHIS_HUDMap',_this select 0]"; onunload = "uinamespace setvariable ['WHIS_HUDMap',nil]"; class controls { class HUD_MiniMap: RscMapControl { IDC = 300201; ShowCountourInterval = 0; x = "SafeZoneX + SafeZoneW - 0.2"; y = "SafeZoneH + SafeZoneY - 0.2"; w = "0.2 - 0.02"; h = "0.2 - 0.02"; colorbackground[] = {1,1,1,1}; alphaFadeStartScale = 0; alphaFadeEndScale = 0; }; }; }; class KillList { idd = -1; duration = 10000; fadein = 0; moveingEnable = 1; enableSimulation = 1; enableDisplay = 1; onload = "uinamespace setvariable ['WHIS_KillList', _this select 0]"; onunload = "uinamespace setvariable ['WHIS_KillList',nil]"; class controls { class KillerText: GUISText { idc = 300301; x = "(0.01 * safeZoneW) + SafeZoneX"; y = "(SafeZoneH * 0.84) + SafeZoneY"; w = (0.4 * safeZoneW); h = 0.05; size = 0.045; text = ""; }; class KillerText2: GUISText { idc = 300302; x = "(0.01 * safeZoneW) + SafeZoneX"; y = "(SafeZoneH * 0.825) + SafeZoneY"; w = (0.4 * safeZoneW); h = 0.05; size = 0.045; text = ""; }; class KillerText3: GUISText { idc = 300303; x = "(0.01 * safeZoneW) + SafeZoneX"; y = "(SafeZoneH * 0.81) + SafeZoneY"; w = (0.4 * safeZoneW); h = 0.05; size = 0.045; text = ""; }; }; }; class PlayerTags { idd = 301400; duration = 10000; fadein = 0; moveingEnable = 1; enableSimulation = 1; enableDisplay = 1; onload = "uinamespace setVariable ['WHIS_PlayerTags', _this select 0]"; onunload = "uinamespace setVariable ['WHIS_PlayerTags', nil]"; class controls { // Original definitions and coding from SBS CoolBox , taken from AAS pack class PlayerNameDisp:GUIMidText { //idc = IDCPLAYER0; x = 0.5; y = 0.5; }; class Player00:PlayerNameDisp { idc = IDCPLAYER + 0; }; class Player01:PlayerNameDisp { idc = IDCPLAYER + 1; }; class Player02:PlayerNameDisp { idc = IDCPLAYER + 2; }; class Player03:PlayerNameDisp { idc = IDCPLAYER + 3; }; class Player04:PlayerNameDisp { idc = IDCPLAYER + 4; }; class Player05:PlayerNameDisp { idc = IDCPLAYER + 5; }; class Player06:PlayerNameDisp { idc = IDCPLAYER + 6; }; class Player07:PlayerNameDisp { idc = IDCPLAYER + 7; }; class Player08:PlayerNameDisp { idc = IDCPLAYER + 8; }; class Player09:PlayerNameDisp { idc = IDCPLAYER + 9; }; class Player10:PlayerNameDisp { idc = IDCPLAYER + 10; }; class Player11:PlayerNameDisp { idc = IDCPLAYER + 11; }; class Player12:PlayerNameDisp { idc = IDCPLAYER + 12; }; class Player13:PlayerNameDisp { idc = IDCPLAYER + 13; }; class Player14:PlayerNameDisp { idc = IDCPLAYER + 14; }; class Player15:PlayerNameDisp { idc = IDCPLAYER + 15; }; class Player16:PlayerNameDisp { idc = IDCPLAYER + 16; }; class Player17:PlayerNameDisp { idc = IDCPLAYER + 17; }; class Player18:PlayerNameDisp { idc = IDCPLAYER + 18; }; class Player19:PlayerNameDisp { idc = IDCPLAYER + 19; }; class Player20:PlayerNameDisp { idc = IDCPLAYER + 20; }; class Player21:PlayerNameDisp { idc = IDCPLAYER + 21; }; class Player22:PlayerNameDisp { idc = IDCPLAYER + 22; }; class Player23:PlayerNameDisp { idc = IDCPLAYER + 23; }; class Player24:PlayerNameDisp { idc = IDCPLAYER + 24; }; class Player25:PlayerNameDisp { idc = IDCPLAYER + 25; }; class Player26:PlayerNameDisp { idc = IDCPLAYER + 26; }; class Player27:PlayerNameDisp { idc = IDCPLAYER + 27; }; class Player28:PlayerNameDisp { idc = IDCPLAYER + 28; }; class Player29:PlayerNameDisp { idc = IDCPLAYER + 29; }; class Player30:PlayerNameDisp { idc = IDCPLAYER + 30; }; class Player31:PlayerNameDisp { idc = IDCPLAYER + 31; }; class Player32:PlayerNameDisp { idc = IDCPLAYER + 32; }; }; }; }; class RespawnDialog:DefaultMenu { idd = 100100; movingEnable = 0; controls[] = {MenuTitle,TemplateList,RoleList,RoleDescr,SpawnMap,SpawnList,ButtonOK,spawnTimer,kitListTitle,roleCount,rolesWarning}; controlsBackground[] = {BackGroundLeft, BackGroundRight}; objects[] = {}; onLoad = "uinamespace setvariable ['WHIS_SpawnDialog', _this select 0]"; onUnload = "WHIS_SpawnVar = [playerNextRole, 0, lbCurSel 100202,uinamespace getVariable 'Whis_SpawnCam']; nul = [] execVM 'client\closeSpawnDialog.sqf'; uinamespace setvariable ['WHIS_SpawnDialog', nil]"; class BackGroundLeft:GuiText { text = ""; x = "(0.0 * SafeZoneW) + SafeZoneX"; y = "(0.25 * SafeZoneH) + SafeZoneY"; w = "0.2 * SafeZoneW"; h = "0.55 * SafeZoneH"; //Background needed darker, see http dev-heaven.net/issues/show/4840#note-3 colorBackground[] = { 0, 0, 0, 0.5}; }; class BackGroundRight:GuiText { text = ""; x = "(0.8 * SafeZoneW) + SafeZoneX"; y = "(0.25 * SafeZoneH) + SafeZoneY"; w = "0.2 * SafeZoneW"; h = "0.55 * SafeZoneH"; colorBackground[] = { 0, 0, 0, 0.5}; }; class MenuTitle:GUILargeText { style = GUICENTER; x = "SafeZoneX + (SafeZoneW / 2)"; y = "(0.01 * SafeZoneH) + SafeZoneY"; w = "0.285 * SafeZoneW"; h = "0.05 * SafeZoneH"; text = "Chose Role and Spawn Point"; }; class TemplateList:GUIComboBox { idc = 100101; x = "(0.025 * SafeZoneW) + SafeZoneX"; y = "(0.075 * SafeZoneH) + SafeZoneY"; w = "0.125 * SafeZoneW"; h = "0.025 * SafeZoneH"; }; class RoleList:GUIListBox { idc = 100102; x = "(0.160 * SafeZoneW) + SafeZoneX"; y = "(0.075 * SafeZoneH) + SafeZoneY"; w = "0.125 * SafeZoneW"; h = "0.15 * SafeZoneH"; }; class RoleDescr:GUISText { idc = 100103; style = GUILEFT; size = 0.026; x = "(0.81 * SafeZoneW) + SafeZoneX"; y = "(0.26 * SafeZoneH) + SafeZoneY"; w = "0.18 * SafeZoneW"; h = "0.53 * SafeZoneH"; }; class SpawnMap:RscMapControl { idc = 100201; showCountourInterval=2; scaleDefault = 0.1; scaleMax = 0.8; scaleMin = 0.05; onMouseButtonClick = ""; onMouseButtonDblClick = ""; x = "SafeZoneX + (SafeZoneW * 0.25)"; y = "SafeZoneY + (SafeZoneH * 0.7)"; w = "SafeZoneW * 0.5"; h = "SafeZoneH * 0.3"; }; class SpawnList:GUIComboBox { idc = 100202; x = "(0.4 * SafeZoneW) + SafeZoneX"; y = "(0.075 * SafeZoneH) + SafeZoneY"; w = "0.13 * SafeZoneW"; h = "0.025 * SafeZoneH"; }; class buttonOK:GUIButtonDarker { idc = 100301; x = "(0.70 * SafeZoneW) + SafeZoneX"; y = "(0.075 * SafeZoneH) + SafeZoneY"; w = 0.2; h = 0.06; text = "OK"; // action = "[playerNextRole, 0, lbCurSel 100202] execVM ""respawner.sqf""; closeDialog 0"; action = "closeDialog 0"; }; class spawnTimer:GUIText { idc = 100104; x = 0.85; y = 0.05; w = 0.05; h = 0.05; }; class kitListTitle:GUILargeText { x = "(0.025 * SafeZoneW) + SafeZoneX"; y = "(0.3 * SafeZoneH) + SafeZoneY"; w = "0.1 * SafeZoneW"; h = "0.03 * SafeZoneH"; style = GUICENTER; text = "Classes in use"; }; class roleCount:GUISText { idc = 100501; style = GUILEFT; size = 0.026; x = "(0.015 * SafeZoneW) + SafeZoneX"; y = "(0.4 * SafeZoneH) + SafeZoneY"; w = "0.2 * SafeZoneW"; h = "0.4 * SafeZoneH"; }; class rolesWarning:GUILargeText { idc = 100502; x = "(0.2 * SafeZoneW) + SafeZoneX"; y = "(0.55 * SafeZoneH) + SafeZoneY"; w = "0.6 * SafeZoneW"; h = "0.03 * SafeZoneH"; style = GUICENTER; text = ""; }; }; class vehicleDialog:DefaultMenu { idd = 200100; movingEnable = 0; controls[] = {MenuTitle,VehicleList,buttonOK2}; controlsBackground[] = {VehicleBackgroundWindow}; objects[] = {}; class VehicleBackgroundWindow:GuiImage { text = "rsc\MenuBG.paa"; x = 0.2; y = 0.075; w = 0.6; h = 0.2; }; class MenuTitle:GUILargeText { style = GUICENTER; x = 0.35; y = 0.1; w = 0.3; h = 0.05; text = "Chose Vehicle to use"; }; class VehicleList:GUIComboBox { idc = 200101; x = 0.25; y = 0.15; w = 0.25; h = 0.05; }; class buttonOK2:GUIButtonDarker { idc = 200201; x = 0.65; y = 0.15; w = 0.1; h = 0.03; text = "OK"; action = "[lbCurSel 200101] execVM 'client\getVehicle.sqf'"; }; }; class Attributes { names[] = {"globalPrefix"}; }; class Compile { clearNewLines = 0; class Pass_1 { //nodecompile = 1; print_0 = "\n/////////////////////////////////////////////////////////////////////////////////\n//\n//ARCADE_FSM_STATES defines\n//\n"; print_1 = "//{{AFX\n"; print_2 = "#define ARCADE_FSM_STATES(type,prefix,XX) \\\n"; //prefix... and presufSAVE/LOAD power demonstration. Other choice is nodecompile = 1; presufSAVE = 1; prefixSTATE = ""; sufixSTATE = ""; prefix2STATE = ""; sufix2STATE = ""; indent_1 = 2; class State { print_1 = "\tXX(type, prefix, %(statename)) \\\n"; }; indent_2 = 0; presufLOAD = 1; print_3 = "\n\nDECLARE_DEFINE_ENUM(ArcadeFSMStates, SArcade, ARCADE_FSM_STATES)\n"; print_4 = "//}}AFX\n\n"; }; class Pass_11pokus { print_0 = "///tohle je jen pokus s preCompile\n"; print_1 = "%(globalPrefix)\n"; class State { print_1 = "%(stateprecondition)"; class Links { print_1 = "%(condprecondition)"; }; }; }; class Pass_2 { print_0 = "/////////////////////////////////////////////////////////////////////////////////\n//\n//State initialization functions\n//\n"; class State { hprint_1 = "static void %(statename)(AIGroupContext *context)\n{\n"; indent_1 = 2; print_2 = "%(stateinit)\n"; indent_2 = 0; print_3 = "}\n\n"; }; print_1 = "\n"; }; class Pass_3 { print_0 = "/////////////////////////////////////////////////////////////////////////////////\n//\n//Condition checking functions\n//\n"; class State { hprint_1 = "static void check%(statename)(AIGroupContext *context)\n"; print_2 = "{\n"; indent_1 = 2; print_3 = "//STATE_PREFIX\n"; print_4 = "bool _conditionResult = false;\n"; class Link { print_1 = "%(condition)\n"; print_2 = "if (_conditionResult)\n{\n"; indent_1 = 4; print_3 = "%(action)\n"; hprint_35 = "/*action was:\n%(action)\nend of action*/\n"; hprint_4 = "context->_fsm->SetState(S%(to), context);\n"; print_5 = "return;\n"; indent_2 = 2; print_6 = "}\n"; }; indent_2 = 0; print_5 = "}\n\n"; }; }; class Pass_4 { print_0 = "/////////////////////////////////////////////////////////////////////////////////\n//\n//FSM array definition\n//\n"; print_1 = "//{{AFX\n"; print_2 = "static AIGroupFSM::StateInfo arcadeStates[] =\n{\n"; print_3 = "//}}AFX\n"; indent_1 = 2; class State { // nodecompile = 1; print_1 = " AIGroupFSM::StateInfo(%qt(statename), Arcade%(statename), CheckArcade%(statename)),\n"; }; indent_2 = 0; print_4 = "//{{AFX\n"; print_5 = "};\n"; print_6 = "//}}AFX\n"; }; }; class Decompile { process = 1; //0 for not processing Decompile info FSMLeft = "/*"; FSMRight = "*/"; class FSMPrefix { default = ""; action = "//}}AFX\n"; condition = "//}}AFX\n"; stateprecondition = "//}}AFX\n"; condprecondition = "//}}AFX\n"; stateinit = "//}}AFX\n"; globalprefix = "//}}AFX\n"; link = "\n"; }; class FSMPrefix2 { default = ""; head = "*/"; condition = "\n"; condprecondition = "\n"; action = "\n"; stateinit = "\n"; stateprecondition = "\n"; globalprefix = "\n"; }; class FSMSufix { default = ""; compile = "\n"; head = "//{{AFX\n/*\n"; state = "//{{AFX\n"; link = "\n"; condition = "\n"; condprecondition = "\n"; action = "\n"; stateinit = "\n"; stateprecondition = "\n"; globalprefix = "\n"; }; class FSMSufix2 { default = ""; compile = "\n"; head = "//}}AFX\n"; state = "//}}AFX\n"; link = "\n"; action = "//{{AFX\n"; condition = "//{{AFX\n"; condprecondition = "//{{AFX\n"; stateinit = "//{{AFX\n"; stateprecondition = "//{{AFX\n"; globalprefix = "//{{AFX\n"; }; }; class Compile { clearNewLines = 0; // indenting = -1; //no indenting rewriteFile = 1; //do not append result to the end of file, but rewriteIt class Pass_1 { print_1 = "class FSM\n{\n"; indent_2 = 2; print_name = "fsmName = ""%(fsmname)"";\n"; print_2 = "class States\n{\n"; indent_state = 4; class State { print_1 = "class %(statename)\n{\n"; indent_2 = 6; print_2 = "name = ""%(statename)"";\n"; print_3 = "init = %qtquoted(stateinit);\n"; print_precnd = "precondition = %qtquoted(statePreCondition);\n"; print_4 = "class Links\n{\n"; indent_links = 8; class Links { print_1 = "class %(linkname)\n{\n"; indent_2 = 10; print_2 = "priority = %(priority);\n"; print_3 = "to=""%(to)"";\n"; print_precnd = "precondition = %qtquoted(condPreCondition);\n"; print_4 = "condition=%qtquoted(condition);\n"; print_5 = "action=%qtquoted(action);\n"; indent_6 = 8; print_6 = "};\n"; } indent_5 = 6; print_5 = "};\n"; indent_6 = 4; print_6 = "};\n"; } indent_3 = 2; print_3 = "};\n"; print_4 = "initState=""%(initStateName)"";\n"; print_5 = "finalStates[] =\n{\n"; indent_fin = 4; class FinalStates { print_1 = """%(finalStateName)"",\n"; } indent_6 = 2; print_6 = "};\n"; indent_7 = 0; print_7 = "};\n"; } }; class Decompile { process = 1; //0 for not processing Decompile info FSMLeft = "/*"; FSMRight = "*/"; class FSMPrefix { default = ""; }; class FSMPrefix2 { default = ""; head = "*/"; }; class FSMSufix { default = ""; compile = "\n"; state = "\n"; head = "\n/*\n"; link = "\n"; }; class FSMSufix2 { default = ""; compile = ""; state = "\n"; head = "\n"; link = "\n"; }; }; version=1; class GraphItems { class Item0 { Flags=250; BasicText=""; Left=-101.93602; Top=-238.09634; Right=-11.935997; Bottom=-188.09628; BgColor=255; class ItemInfo { Text="Init"; lStyle=-842150451; Shape=6; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=700; FontUnderline=1; FontCharSet=0; ItemType=0; class ItemInfo { Id=1; }; }; }; class Item1 { Flags=218; BasicText=""; Left=-101.52225; Top=-142.22787; Right=-11.522255; Bottom=-92.227921; BgColor=65535; class ItemInfo { Text="true"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=2; Condition="true;"; }; }; }; class Item2 { Flags=250; BasicText=""; Left=-256.06085; Top=-40.998344; Right=-166.06087; Bottom=9.0016413; BgColor=16777215; class ItemInfo { Text="Base Vehicles" \n " Loop"; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=3; InitCode="_vecList = baseVehicleList + spawnedVehicleList;" \n "_index = 0;"; }; }; }; class Item3 { Flags=218; BasicText=""; Left=48.218769; Top=33.213104; Right=138.21884; Bottom=83.213081; BgColor=65535; class ItemInfo { Text="Loop ended?"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=6; Priority=10; Condition="_index >= (count _vecList)"; Action="_loopTimer = time;"; ConditionTab=1; }; }; }; class Item4 { Flags=250; BasicText=""; Left=141.36363; Top=-49.675335; Right=231.36362; Bottom=0.32466316; BgColor=16777215; class ItemInfo { Text="Wait 5 secs"; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=7; }; }; }; class Item5 { Flags=218; BasicText=""; Left=-120.75823; Top=37.798042; Right=-30.758247; Bottom=87.798042; BgColor=65535; class ItemInfo { Text="true"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=8; Condition="true"; }; }; }; class Item6 { Flags=250; BasicText=""; Left=-486.83762; Top=101.83258; Right=-396.83759; Bottom=151.83258; BgColor=16777215; class ItemInfo { Text="Select vec"; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=9; InitCode="_v = _vecList select _index;" \n "_index = _index + 1;" \n "_timer = 30;" \n "_isBaseVec = false;" \n "if !(isNil {_v getVariable ""spawnTime""}) then {" \n " _timer = _v getVariable ""spawnTime;" \n " _isBaseVec = true;" \n "};"; }; }; }; class Item7 { Flags=218; BasicText=""; Left=-320.7485; Top=112.97601; Right=-230.74841; Bottom=162.97601; BgColor=65535; class ItemInfo { Text="true"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=10; Condition="true"; }; }; }; class Item8 { Flags=250; BasicText=""; Left=-193.71819; Top=125.90041; Right=-103.71822; Bottom=175.9003; BgColor=16777215; class ItemInfo { Text="set usage time " \n "-1"; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=11; InitCode="_v setVariable [""lastUsed"", -1]"; }; }; }; class Item9 { Flags=218; BasicText=""; Left=-437.55911; Top=210.7282; Right=-287.37268; Bottom=295.12061; BgColor=65535; class ItemInfo { Text="Vec destroyed" \n "or empty"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=12; Priority=10; Condition="(!(alive _v)) || ({alive _x} count (crew _v) == 0)"; }; }; }; class Item10 { Flags=250; BasicText=""; Left=-260.91364; Top=236.46967; Right=-214.76396; Bottom=273.57269; BgColor=16777215; class ItemInfo { Text=""; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=13; }; }; }; class Item11 { Flags=218; BasicText=""; Left=-203.85352; Top=213.79758; Right=-113.85352; Bottom=263.79758; BgColor=65535; class ItemInfo { Text="Was in use"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=14; Priority=20; Condition="(_v getVariable ""lastUsed"") == -1"; }; }; }; class Item12 { Flags=250; BasicText=""; Left=-84.770096; Top=215.94722; Right=5.2299309; Bottom=265.94727; BgColor=16777215; class ItemInfo { Text="set last use"; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=16; InitCode="_v setVariable [""lastUsed"", time]"; }; }; }; class Item13 { Flags=218; BasicText=""; Left=-204.71335; Top=373.72192; Right=-114.71333; Bottom=423.72192; BgColor=65535; class ItemInfo { Text="long enough"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=18; Priority=10; Condition="(time - (_v getVariable ""lastUsed"")) > _timer"; }; }; }; class Item14 { Flags=250; BasicText=""; Left=183.49014; Top=160.05966; Right=273.49054; Bottom=210.05965; BgColor=16777215; class ItemInfo { Text="delete vec"; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=19; InitCode="deleteVehicle _v"; }; }; }; class Item15 { Flags=218; BasicText=""; Left=-196.97499; Top=284.30185; Right=-106.97509; Bottom=334.30185; BgColor=65535; class ItemInfo { Text="true"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=20; Condition="true"; }; }; }; class Item16 { Flags=250; BasicText=""; Left=37.322731; Top=250.33954; Right=127.32295; Bottom=300.33954; BgColor=16777215; class ItemInfo { Text="wait"; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=21; }; }; }; class Item17 { Flags=218; BasicText=""; Left=288.6055; Top=366.41367; Right=378.6055; Bottom=416.41367; BgColor=65535; class ItemInfo { Text="is base " \n "vec"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=24; Priority=10; Condition="_isBaseVec"; }; }; }; class Item18 { Flags=250; BasicText=""; Left=287.74588; Top=255.49838; Right=377.74588; Bottom=305.49823; BgColor=16777215; class ItemInfo { Text="replace" \n "vec"; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=25; InitCode="[_v] execVM ""server\respawnVehicle.sqf"";"; }; }; }; class Item19 { Flags=250; BasicText=""; Left=71.933929; Top=367.2735; Right=161.93394; Bottom=417.2735; BgColor=16777215; class ItemInfo { Text=""; lStyle=-842150451; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=2; class ItemInfo { Id=26; }; }; }; class Item20 { Flags=218; BasicText=""; Left=146.73726; Top=256.35822; Right=236.73726; Bottom=306.35822; BgColor=65535; class ItemInfo { Text="true"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=27; Condition="true"; }; }; }; class Item21 { Flags=218; BasicText=""; Left=32.382767; Top=-47.154182; Right=122.38277; Bottom=2.8458176; BgColor=65535; class ItemInfo { Text="enough"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=4; class ItemInfo { Id=28; Priority=10; Condition="(time - _loopTimer) > 5"; }; }; }; class Item22 { Flags=218; BasicText=""; Left=138.13922; Top=-162.36852; Right=228.13922; Bottom=-112.36852; BgColor=8421440; class ItemInfo { Text="true"; lStyle=-842150451; Shape=2; Group=-842150451; FontFace="Arial"; FontHeight=10; FontWeight=0; FontCharSet=0; ItemType=8; class ItemInfo { Id=29; }; }; }; }; class GraphLinks { class Link0 { From=0; To=1; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link1 { From=1; To=2; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link2 { From=2; To=3; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link3 { From=2; To=5; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link4 { From=3; To=4; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link5 { From=4; To=21; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link6 { From=4; To=22; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link7 { From=5; To=6; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link8 { From=6; To=7; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link9 { From=6; To=9; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link10 { From=7; To=8; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link11 { From=8; To=3; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link12 { From=8; To=5; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link13 { From=9; To=10; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link14 { From=10; To=11; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link15 { From=10; To=13; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link16 { From=10; To=15; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link17 { From=11; To=12; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link18 { From=12; To=3; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link19 { From=12; To=5; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link20 { From=13; To=19; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link21 { From=14; To=3; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link22 { From=14; To=5; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link23 { From=15; To=16; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link24 { From=16; To=3; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link25 { From=16; To=5; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link26 { From=17; To=18; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link27 { From=18; To=20; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link28 { From=19; To=17; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link29 { From=19; To=20; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link30 { From=20; To=14; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link31 { From=21; To=2; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; class Link32 { From=22; To=4; Color=6316128; Flags=2; class Extra { ArrowSize=0; }; }; }; class Globals { NextGroupID=1; NextID=30; FSMName="vehicleLoop.bifsm"; class DefaultLink { ArrowSize=0; }; DefaultLinkColor=6316128; DefaultLinkUseCustom=1; PZoomLeft=-461.71713; PZoomRight=332.74588; PZoomBottom=497.17007; PZoomTop=-243.98477; Clxs=924; Clys=862; Aspect=1; }; class Window { Flags=2; MaxPosX=-1; MaxPosY=-1; MinPosX=-1; MinPosY=-1; Left=88; Top=116; Right=1048; Bottom=838; ShowCmd=3; SplitPos=942; }; /*%FSM*/ /*%FSM*/ /* item0[] = {"Init",0,250,-101.936020,-238.096344,-11.935997,-188.096283,0.000000,"Init"}; item1[] = {"true",8,218,-101.522247,-142.227875,-11.522247,-92.227875,0.000000,"true"}; item2[] = {"Select_vec",2,4346,-105.226860,-54.828678,-15.226837,-4.828646,0.000000,"Select vec"}; item3[] = {"true",8,218,70.904663,25.607239,160.904663,75.607239,0.000000,"true"}; item4[] = {"Vehicle_is__in_u",1,250,70.396591,116.862267,160.396622,166.862244,0.000000,"Vehicle is " \n "in use"}; item5[] = {"Vec_destroyed",4,218,-348.181854,6.867733,-197.995422,91.260025,10.000000,"Vec destroyed"}; item6[] = {"_",2,250,-291.040771,119.977982,-244.891129,157.081009,0.000000,""}; item7[] = {"Was_in_use",4,218,-468.972534,216.810287,-378.972565,266.810272,20.000000,"Was in use"}; item8[] = {"Vehicle_changed",1,250,-561.040466,330.430450,-434.626617,414.243286,0.000000,"Vehicle changed" \n "state right now"}; item9[] = {"long_enough",4,218,-148.475891,222.081863,-58.475929,272.081879,10.000000,"long enough"}; item10[] = {"delete_vec",1,250,323.302917,404.296722,413.302917,454.296722,0.000000,"delete vec"}; item11[] = {"true",8,218,-314.470825,217.017868,-224.470825,267.017883,0.000000,"true"}; item12[] = {"Vehicle_is_not_destroyed",1,250,-392.190460,325.657440,-224.160736,409.470276,0.000000,"Vehicle is not destroyed/" \n "abandonned" \n "since long enough"}; item13[] = {"is_base__vec",4,218,-226.569031,408.591675,-136.569016,458.591675,10.000000,"is base " \n "vec"}; item14[] = {"replace_vec",2,250,70.353302,484.093719,160.353394,534.093018,0.000000,"replace" \n "vec"}; item15[] = {"__1",2,250,-122.888443,323.086975,-85.108788,349.989502,0.000000,""}; item16[] = {"true",8,218,70.674011,404.128510,160.674149,454.128510,0.000000,"true"}; item17[] = {"__2",2,250,-197.249146,496.728668,-167.987457,521.718872,0.000000,""}; item18[] = {"is_in_place",4,218,-333.713348,566.749023,-243.712585,616.749146,20.000000,"is in place"}; item19[] = {"Base_vec_is_at_the",1,250,-462.519348,565.976868,-372.519318,615.976868,0.000000,"Base vec is" \n "at the base"}; item20[] = {"true",8,218,-47.580818,483.280762,42.419178,533.280884,0.000000,"true"}; item21[] = {"Is_MHQ",4,218,-227.364380,639.172913,-137.364380,689.172913,10.000000,"Is MHQ"}; item22[] = {"__3",2,250,-15.691356,654.217896,12.470785,673.861145,0.000000,""}; item23[] = {"is_deployed_and",4,218,63.892693,634.225891,166.260208,695.469116,10.000000,"is deployed" \n "and alive"}; item24[] = {"HQ_deployed_and",1,250,327.422668,639.861145,417.422668,689.861145,0.000000,"HQ deployed" \n "and alive"}; item25[] = {"is_destroyed_deployed",4,218,-505.039154,51.572632,-369.402802,127.173508,30.000000,"is destroyed" \n "deployed MHQ"}; item26[] = {"Vec_empty",4,218,-103.182152,38.886253,-13.182152,88.886253,5.000000,"Vec empty"}; item27[] = {"__4",2,250,-79.224792,121.025749,-34.857826,155.054184,0.000000,""}; item28[] = {"long_enough",4,218,-29.028461,212.291824,60.971539,262.291809,10.000000,"long enough"}; link0[] = {0,1}; link1[] = {1,2}; link2[] = {2,3}; link3[] = {2,5}; link4[] = {2,26}; link5[] = {3,4}; link6[] = {5,6}; link7[] = {6,7}; link8[] = {6,9}; link9[] = {6,11}; link10[] = {6,25}; link11[] = {7,8}; link12[] = {9,15}; link13[] = {11,12}; link14[] = {13,17}; link15[] = {14,16}; link16[] = {15,13}; link17[] = {15,16}; link18[] = {16,10}; link19[] = {17,18}; link20[] = {17,20}; link21[] = {17,21}; link22[] = {18,19}; link23[] = {20,14}; link24[] = {21,22}; link25[] = {22,20}; link26[] = {22,23}; link27[] = {23,24}; link28[] = {25,6}; link29[] = {26,27}; link30[] = {27,7}; link31[] = {27,11}; link32[] = {27,28}; link33[] = {28,15}; globals[] = {0.000000,0,0,0,0,640,480,1,52,6316128,1,-677.650696,389.021667,794.014893,-184.813812,935,858,1}; window[] = {2,-1,-1,-1,-1,954,176,1136,232,3,953}; *//*%FSM*/ class FSM { fsmName = "vehicleLoop.bifsm"; class States { /*%FSM*/ class Init { name = "Init"; init = /*%FSM*/"_v = _this select 0;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class true { priority = 0.000000; to="Select_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true;"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Select_vec { name = "Select_vec"; init = /*%FSM*/"_timerD = 30;" \n "_timerE = 30;" \n "_isBaseVec = false;" \n "if !(isNil {_v getVariable ""spawnTime""}) then {" \n " _timerD = _v getVariable ""spawnTime"";" \n " _isBaseVec = true;" \n "};" \n "if !(isNil {_v getVariable ""spawnTimeE""}) then {" \n " _timerE = _v getVariable ""spawnTimeE"";" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Vec_destroyed { priority = 10.000000; to="_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!(alive _v)"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Vec_empty { priority = 5.000000; to="__4"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"({alive _x} count (crew _v)) == 0"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="Vehicle_is__in_u"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Vehicle_is__in_u { name = "Vehicle_is__in_u"; init = /*%FSM*/"_v setVariable [""lastUsed"", -1];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class _ { name = "_"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class is_destroyed_deployed { priority = 30.000000; to="_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!(alive _v) && (_v in (west_HQlist + east_HQList)) && ((_v getVariable ""deployed"") == 1)"/*%FSM*/; action=/*%FSM*/"_v setVariable [""deployed"", 0, true];"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Was_in_use { priority = 20.000000; to="Vehicle_changed"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(_v getVariable ""lastUsed"") == -1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class long_enough { priority = 10.000000; to="__1"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(time - (_v getVariable ""lastUsed"")) > _timerD"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="Vehicle_is_not_destroyed"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Vehicle_changed { name = "Vehicle_changed"; init = /*%FSM*/"_v setVariable [""lastUsed"", time];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class delete_vec { name = "delete_vec"; init = /*%FSM*/"diag_log format [""%2 - vehicle %1 deleted"", _v, time];" \n "deleteVehicle _v;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class Vehicle_is_not_destroyed { name = "Vehicle_is_not_destroyed"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class replace_vec { name = "replace_vec"; init = /*%FSM*/"_delScript = [_v] execVM ""server\respawnVehicle.sqf"";" \n "diag_log format [""%2 - creating replacement vehicle for %1 at base"", _v, time];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class true { priority = 0.000000; to="delete_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class __1 { name = "__1"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class is_base__vec { priority = 10.000000; to="__2"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_isBaseVec"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="delete_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class __2 { name = "__2"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class is_in_place { priority = 20.000000; to="Base_vec_is_at_the"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(((position _v) distance (_v getVariable ""spawnPosition"")) < 10) && (alive _v)"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Is_MHQ { priority = 10.000000; to="__3"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_v in (west_HQlist + east_HQList)"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="replace_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Base_vec_is_at_the { name = "Base_vec_is_at_the"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class __3 { name = "__3"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class is_deployed_and { priority = 10.000000; to="HQ_deployed_and"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"((_v getVariable ""deployed"") == 1) && (alive _v)"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="replace_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class HQ_deployed_and { name = "HQ_deployed_and"; init = /*%FSM*/"_v setVariable [""lastUsed"", time];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class __4 { name = "__4"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Was_in_use { priority = 20.000000; to="Vehicle_changed"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(_v getVariable ""lastUsed"") == -1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class long_enough { priority = 10.000000; to="__1"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(time - (_v getVariable ""lastUsed"")) > _timerE"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="Vehicle_is_not_destroyed"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ }; initState="Init"; finalStates[] = { "Vehicle_is__in_u", "Vehicle_changed", "delete_vec", "Vehicle_is_not_destroyed", "Base_vec_is_at_the", "HQ_deployed_and", }; }; /*%FSM*//*%FSM*/ /*%FSM*/ /* item0[] = {"Init",0,250,-101.936020,-238.096344,-11.935997,-188.096283,0.000000,"Init"}; item1[] = {"true",4,218,-101.522247,-142.227875,-11.522255,-92.227921,0.000000,"true"}; item2[] = {"Select_vec",2,250,-105.226860,-54.828678,-15.226837,-4.828646,0.000000,"Select vec"}; item3[] = {"true",4,218,70.904663,25.607239,160.904938,75.607101,0.000000,"true"}; item4[] = {"set_usage_time_",2,250,70.396591,116.862267,160.396637,166.862152,0.000000,"set usage time " \n "-1"}; item5[] = {"Vec_destroyed_or",4,218,-348.181854,6.867733,-197.995422,91.260025,10.000000,"Vec destroyed" \n "or empty"}; item6[] = {"_",2,250,-291.040771,119.977982,-244.891129,157.081009,0.000000,""}; item7[] = {"Was_in_use",4,218,-468.972534,216.810287,-378.972565,266.810272,20.000000,"Was in use"}; item8[] = {"set_last_use",2,250,-524.626648,330.430450,-434.626617,380.430481,0.000000,"set last use"}; item9[] = {"long_enough",4,218,-148.475891,222.081863,-58.475929,272.081879,10.000000,"long enough"}; item10[] = {"delete_vec",2,250,152.525497,410.158691,242.525894,460.158722,0.000000,"delete vec"}; item11[] = {"true",4,218,-314.470825,217.017868,-224.471039,267.017883,0.000000,"true"}; item12[] = {"wait",2,250,-314.160767,325.657440,-224.160614,375.657440,0.000000,"wait"}; item13[] = {"is_base__vec",4,218,-226.569031,408.591675,-136.569016,458.591675,10.000000,"is base " \n "vec"}; item14[] = {"replace_vec",2,4346,-102.884987,482.969391,-12.885000,532.968689,0.000000,"replace" \n "vec"}; item15[] = {"__1",2,250,-122.888443,323.086975,-85.108788,349.989502,0.000000,""}; item16[] = {"true",4,218,-61.678604,409.990479,28.321358,459.990479,0.000000,"true"}; item17[] = {"__2",2,250,-197.249146,511.865662,-167.987457,536.855774,0.000000,""}; item18[] = {"is_in_place",4,218,-333.713348,566.749023,-243.712585,616.749146,10.000000,"is in place"}; item19[] = {"__3",2,250,-416.711731,576.755127,-383.877258,607.700073,0.000000,""}; item20[] = {"true",4,218,-162.505035,566.875916,-72.505112,616.875854,0.000000,"true"}; link0[] = {0,1}; link1[] = {1,2}; link2[] = {2,3}; link3[] = {2,5}; link4[] = {3,4}; link5[] = {5,6}; link6[] = {6,7}; link7[] = {6,9}; link8[] = {6,11}; link9[] = {7,8}; link10[] = {9,15}; link11[] = {11,12}; link12[] = {13,17}; link13[] = {14,16}; link14[] = {15,13}; link15[] = {15,16}; link16[] = {16,10}; link17[] = {17,18}; link18[] = {17,20}; link19[] = {18,19}; link20[] = {20,14}; globals[] = {0.000000,0,0,0,0,640,480,1,34,6316128,1,-608.522156,453.698090,660.053467,-319.234100,935,862,1}; window[] = {2,-1,-1,-32000,-32000,838,88,1048,116,3,953}; *//*%FSM*/ class FSM { fsmName = "vehicleLoop.bifsm"; class States { /*%FSM*/ class Init { name = "Init"; init = /*%FSM*/"_v = _this select 0;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class true { priority = 0.000000; to="Select_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true;"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Select_vec { name = "Select_vec"; init = /*%FSM*/"_timer = 30;" \n "_isBaseVec = false;" \n "if !(isNil {_v getVariable ""spawnTime""}) then {" \n " _timer = _v getVariable ""spawnTime"";" \n " _isBaseVec = true;" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Vec_destroyed_or { priority = 10.000000; to="_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(!(alive _v)) || ({alive _x} count (crew _v) == 0)"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="set_usage_time_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class set_usage_time_ { name = "set_usage_time_"; init = /*%FSM*/"_v setVariable [""lastUsed"", -1];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class _ { name = "_"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Was_in_use { priority = 20.000000; to="set_last_use"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(_v getVariable ""lastUsed"") == -1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class long_enough { priority = 10.000000; to="__1"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(time - (_v getVariable ""lastUsed"")) > _timer"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="wait"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class set_last_use { name = "set_last_use"; init = /*%FSM*/"_v setVariable [""lastUsed"", time];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class delete_vec { name = "delete_vec"; init = /*%FSM*/"diag_log format [""%2 - vehicle %1 deleted"", _v, time];" \n "deleteVehicle _v;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class wait { name = "wait"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class replace_vec { name = "replace_vec"; init = /*%FSM*/"[_v] execVM ""server\respawnVehicle.sqf"";" \n "diag_log format [""%2 - creating replacement vehicle for %1 at base"", _v, time];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class true { priority = 0.000000; to="delete_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class __1 { name = "__1"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class is_base__vec { priority = 10.000000; to="__2"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_isBaseVec"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="delete_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class __2 { name = "__2"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class is_in_place { priority = 10.000000; to="__3"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(((position _v) distance (_v getVariable ""spawnPosition"")) < 10) && (alive _v)"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="replace_vec"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class __3 { name = "__3"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ }; initState="Init"; finalStates[] = { }; }; /*%FSM*/_u = _this select 0; _return = false; _c = typeOf _u; { _class = _x select 1; if (_c == _class) then {_return = true;}; } forEach (west_Soldier_roles + east_Soldier_roles); _return;//Returns the number of soldiers on foot from a side inside the taking radius of a zone _flag = _this select 0; _side = _this select 1; _slotsList = westBaseUnits; _roleList = west_Soldier_roles; if (_side == east) then {_slotsList = eastBaseUnits;_roleList = east_Soldier_roles}; _soldierRoles = []; { _soldierRoles = _soldierRoles + [_x select 1]; } forEach _roleList; _count = 0; { _u = _x getVariable "currentUnit"; if (((vehicle _u) == _u) && ((typeOf _u) in _soldierRoles) && ((_u distance _flag) < flagMaxDistance) && !(_u getVariable "playerDead")) then {_count = _count + 1}; } forEach _slotsList; _count;_hitUnit = _this select 0; _partHit = _this select 1; _partDmg = _this select 2; _source = _this select 3; //Xeno selection of cool dead anims _uncon_anims = ["AdthPercMstpSnonWnonDnon_1","AdthPercMstpSnonWnonDnon_2","AdthPercMstpSnonWnonDnon_3"]; // bug #8568 - damageHandler applied to vehicles - strange results // Check if unit in vehicle if ((vehicle _hitUnit) != _hitUnit) exitWith {_partDmg}; if (_partHit in ["legs", "hands"]) exitWith {_partDmg}; if (_partDmg <= 0.9) exitWith {_partDmg}; if (playerDead) exitWith {}; if (_hitUnit getVariable "playerDead") exitWith {}; playerDead = true; _hitUnit setVariable ["playerDead", true, true]; diag_log format ["Player dead by %1 hit for %2, coming from %3", _partHit, _partDmg, _source]; _hitUnit playMoveNow (_uncon_anims select (floor random 2.99)); _hitUnit setVariable ["BIS_noCoreConversations", true]; //_hitUnit setDamage 1; killedEvent = [_source, side _source, _hitUnit, side _hitUnit]; publicVariable "killedEvent"; ["killedEvent", killedEvent] call compile preprocessFileLineNumbers "client\killListUpdate.sqf"; nul = [str(pSide), 1] execVM "gui\loadSpawnDialog.sqf"; /* hashGetValue.sqf Whisper - 2009 Returns the index2 value of the first occurence of index1 key in selected hash Very loose definition of hash here, being an array of arrays Any = [hash, index1, key, index2] call compile PreprocessFile "hashGetValue.sqf"; hash = hash (array of arrays) to check index1 = index of the inner arrays to check key = key value of index1 to check index2 = value index in inner array to return Returns : Any : value seen at index2 of found key */ _hash = _this select 0; _keyIndex = _this select 1; _key = _this select 2; _valueIndex = _this select 3; _res = nil; { _v = _x select _keyIndex; if (_v == _key) then {_res = _x select _valueIndex}; } forEach _hash; _res;/* hashListKey.sqf Whisper - 2009 Returns the list of keys on selected index of hash Very loose definition of hash here, being an array of arrays Array = [hash, index] call compile PreprocessFile "hashListKey.sqf"; hash = hash (array of arrays) to check index = index of the inner arrays to select Returns : Array : array of subselected keys in hash */ _hash = _this select 0; _index = _this select 1; _res = []; { _res = _res + [_x select _index]; } forEach _hash; _res;_ammo = _this select 4; _unit = _this select 0; if !(_ammo == "pipebomb") exitWith {true}; _satch = ((position _unit) nearObjects ["pipebomb", 2]) select 0; _pos = position _satch; deleteVehicle _satch; _newSatchel = createVehicle ["pipebomb", _pos, [], 0, "NONE"]; _condition = format ["(_this distance %1) < 1", _pos]; _action = _unit addAction ["Activate 30s timer", "client\satchelTimer.sqf", [_newSatchel], 1, true, true, "", _condition];if ((_this select 3) select 0) then { AIMDOTS_LAYER cutRsc ["AimDots", "PLAIN"]; player removeAction aimDotID; aimDotID = player addAction ["Disable AimDots", "gui\aimDots.sqf", [false], -10, false, true, "", "true"]; } else { AIMDOTS_LAYER cutRsc ["Default", "PLAIN"]; player removeAction aimDotID; aimDotID = player addAction ["Enable AimDots", "gui\aimDots.sqf", [true], -10, false, true, "", "true"]; }; //Animation mode 1 - characters enter the screen behind the camera and move away from the camera. IDCClassText = 300500; disableSerialization; private ["_char", "_pos", "_index"]; _char = _this select 0; _pos = _this select 1; _index = _this select 2; _currentCutDisplay = _this select 3; _ctrl = _currentCutDisplay displayCtrl (IDCClassText + _index + 1); _ctrl ctrlSetText _char; _ctrl ctrlSetPosition [(_pos * 0.03) + 0.1,0.05 + _index / 10]; _ctrl ctrlSetFade 0; _ctrl ctrlSetScale 10; _ctrl ctrlCommit 0; _ctrl ctrlSetScale 1; _ctrl ctrlCommit 0.5; //Make sure the proper text / fade level is set. sleep 1; _ctrl ctrlSetText _x; _ctrl ctrlSetFade 0; _ctrl ctrlSetPosition [(_pos * 0.03) + 0.1,0.05 + _index / 10]; _ctrl ctrlSetScale 1; _ctrl ctrlCommit 0; disableSerialization; _lbClasses = _this select 0; _lbIndex = _this select 1; _side = _this select 2; _class = spawnClasses select _lbIndex; askedClass = _class; // For feature #4840, current selected class is broadcasted // Broadcasting on selection == too much, must be done on dialog closing //playerNamespace setVariable ["currentClass", askedClass, true]; _codeString = format ["tmpRoles = %1_%2_roles;", _side, _class]; diag_log _codeString; call compile _codeString; _display = findDisplay 100100; _lbRoles = _display displayCtrl 100102; _lbRoles ctrlSetEventHandler ["LBSelChanged", "playerNextRole = (tmpRoles select (lbCurSel 100102)) select 1;askedRole = (tmpRoles select (lbCurSel 100102)) select 0;_display = findDisplay 100100;_SText = _display displayCtrl 100103; _SText ctrlSetStructuredText parseText((tmpRoles select (lbCurSel 100102)) select 2); true"]; _lbIndex = 0; _lbAskedIndex = 0; lbClear 100102; { _id = lbAdd [100102, _x select 0]; lbSetData [100102, _id, _x select 1]; lbSetValue [100102, _id, _lbIndex]; if ((_x select 0) == askedRole) then {_lbAskedIndex = _lbIndex;}; _lbIndex = _lbIndex + 1; } forEach tmpRoles; lbSetCurSel [100102, _lbAskedIndex]; _s = _this select 0; _spawns = _this select 1; if !(isnil {uinamespace getVariable "WHIS_SpawnDialog"}) exitWith {}; disableSerialization; waitUntil {!(isNull player)}; if (_spawns == 1) then { sleep 3; }; _cam = "camera" camCreate [(position player) select 0, (position player) select 1, 50]; _cam camSetTarget player; _cam cameraEffect ["internal", "BACK"]; _cam camCommit 0; uinamespace setVariable ["Whis_SpawnCam", _cam]; createDialog "respawnDialog"; lbClear 100101; _display = findDisplay 100100; _lbClasses = _display displayCtrl 100101; _lbClasses ctrlSetEventHandler ["LBSelChanged", "[_this select 0, _this select 1, str(pSide)] execVM ""gui\lbClassesSelChange.sqf"";true"]; { _id = lbAdd [100101, _x]; lbSetData [100101, _id, _x]; if (_x == askedClass) then {lbSetCurSel [100101, _id];}; } forEach spawnClasses; //lbSetCurSel [100101, 0]; _ctrlMap = _display displayCtrl 100201; _mX = (position middleGround) select 0; _mY = (position middleGround) select 1; _z = 0.3; _ctrlMap ctrlMapAnimAdd [0.1, _z, [_mX, _mY]]; ctrlMapAnimCommit _ctrlMap; _lbSpawns = _display displayCtrl 100202; spawnsList = []; updateCam = { _display = findDisplay 100100; _ctrlMap = _display displayCtrl 100201; _control = _this select 0; _index = _this select 1; _cam = uinamespace getVariable "Whis_SpawnCam"; _pos = spawnsList select _index; _cam camSetPos [_pos select 0, _pos select 1, 50]; _cam camSetTarget [(_pos select 0) + 1, _pos select 1, 0];; _cam camCommit 0; _ctrlMap ctrlMapAnimAdd [0.2, 0.15, [_pos select 0, _pos select 1]]; ctrlMapAnimCommit _ctrlMap; }; _lbSpawns ctrlSetEventHandler ["LBSelChanged", "_this call updateCam;true"]; _i = 0; _HQList = []; switch (str(pSide)) do { case "WEST" : {_HQList = west_HQlist;}; case "EAST" : {_HQList = east_HQlist;}; }; _HQdistance = 10000; _hq = objNull; { if ((_x getVariable "deployed") == 1) then { if ((player distance _x) < _HQdistance) then { _hq = _x; _HQdistance = player distance _x; }; }; } forEach _HQlist; if !(isNull _hq) then { _pos = position _hq; _id = lbAdd [100202, "Nearest deployed MHQ"]; spawnsList = spawnsList + [_pos]; lbSetValue [100202, _id, _i]; _i = _i + 1; }; _flagDistance = 10000; _f = objNull; { _side = _x getVariable "flagOwner"; if (_side == str(pSide)) then { if ((player distance _x) < _flagDistance) then { _f = _x; _flagDistance = player distance _x; }; }; } forEach flagList; _closer = 0; { _side = _x getVariable "flagOwner"; if (_side == str(pSide)) then { _text = markerText (_x getVariable "flagMarker"); _sX = (position _x) select 0; _sY = (position _x) select 1; spawnsList = spawnsList + [[_sX, _sY, 0]]; _id = lbAdd [100202, _text]; lbSetValue [100202, _id, _i]; if (_f == _x) then {_closer = _i}; _i = _i + 1; }; } forEach flagList; _text = markerText backSpawn; spawnsList = spawnsList + [getMarkerPos backSpawn]; _id = lbAdd [100202, _text]; lbSetValue [100202, _id, _i]; lbSetCurSel [100202, _closer]; if !(isnil {_this select 2}) then { _text = _this select 2; _warnText = (uinamespace getVariable "WHIS_SpawnDialog") displayCtrl 100502; _warnText ctrlSetText _text; }; while {dialog} do { ctrlSetText [100104, format ["%1", spawnTick]]; _tmpRoles = []; call compile format ["_tmpRoles = %1_%2_roles;", str(pSide), askedClass]; _rolesCount = []; call compile format ["_rolesCount = %1RolesCount;", str(pSide)]; _offset = 0; _i = 0; while {(spawnClasses select _i) != askedClass} do { _r = []; call compile format ["_r = %1_%2_roles;", str(pSide), (spawnClasses select _i)]; _offset = _offset + (count _r); _i = _i + 1; }; _sText = ""; _i = 0; { _roleName = _x select 0; _roleMax = _x select 3; _roleCurrent = _rolesCount select (_i + _offset); _i = _i + 1; _sText = _sText + _roleName + " : " + str _roleCurrent + "/" + str _roleMax + "
"; } forEach _tmpRoles; _countText = (uinamespace getVariable "WHIS_SpawnDialog") displayCtrl 100501; _countText ctrlSetStructuredText parseText _sText; sleep 1; }; /* old class listing code: _nbSoldier = 0; _nbMedic = 0; _nbEngineer = 0; _nbSpecOps = 0; _nbCrewman = 0; { if ((side _x) == playerSide) then { _unitClass = _x getVariable "currentClass"; switch (_unitClass) do { case "Soldier" : { _nbSoldier = _nbSoldier + 1;}; case "Medic" : { _nbMedic = _nbMedic + 1}; case "Engineer" : { _nbEngineer = _nbEngineer + 1;}; case "SpecOps" : { _nbSpecOps = _nbSpecOps + 1}; case "Crewman" : { _nbCrewman = _nbCrewman + 1}; }; }; } forEach playableUnits; ctrlSetText [100401, format ["Soldiers : %1", _nbSoldier]]; ctrlSetText [100402, format ["Medics : %1", _nbMedic]]; ctrlSetText [100403, format ["Engineers : %1", _nbEngineer]]; ctrlSetText [100404, format ["SpecOps : %1", _nbSpecOps]]; ctrlSetText [100405, format ["Crewmen : %1", _nbCrewman]]; */ _fac = _this select 0; disableSerialization; _side = side player; _fType = _this select 3; _nearFlag = position _fac nearObjects ["flagCarrier", 300]; _flag = _nearFlag select 0; _flagSide = _flag getVariable "flagOwner"; if (_flagside != str(pSide)) exitWith {}; createDialog "vehicleDialog"; _car = ""; _type = ""; _vecPool = []; uinamespace setVariable ["currentFac", _fac]; switch (_side) do { case west: { _car = "HMMWV"; _type = "HMMWV"; _vecPool = list westVehiclePool; }; case east: { _car = "UAZ"; _type = "UAZ_RU"; _vecPool = list eastVehiclePool; }; }; diag_log _vecPool; switch (_fType) do { case "flag": { _id = lbAdd [200101, _car]; lbSetValue [200101, _id, 255]; lbSetData [200101, _id, _type]; lbSetCurSel [200101, _id]; }; case "fac": { vehiclePool = []; { if !(isNil {_x getVariable "spawnDir"}) then { _vec = _x; _t = typeOf _vec; _vecPerm = []; call compile format ["_vecPerm = vehiclePermissions_%1;", typeOf _vec]; _permitted = false; { _pos = _x select 0; if (_pos == "driver") then { _permissions = _x select 1; // if ((typeOf player) in _permissions) then { // vehiclePool = vehiclePool + [_vec]; _permitted = false; { if (player isKindOf _x) then {_permitted = true;}; } forEach _permissions; if (_permitted) then {vehiclePool = vehiclePool + [_vec];}; }; } forEach _vecPerm; }; } forEach _vecPool; //vehiclePool = list _vecPool; diag_log vehiclePool; _i = 0; { _id = lbAdd [200101, getText (configFile >> "CfgVehicles" >> (typeOf _x) >> "displayName")]; lbSetValue [200101, _id, _i]; _i = _i + 1; } forEach vehiclePool; }; }; AIMDOTS_LAYER = 1; PLAYERTAGS_LAYER = 9; HUDMAP_LAYER = 11; KILLLIST_LAYER = 10; TAWIMAGE_LAYER = 17; SPAWNTIMER_LAYER = 1124; GLOBALTIMER_LAYER = 1125; ZONEINFO_LAYER = 1126; class control { x = 0; y = 0; w = 0.5; h = 0.5; }; class RscText : control { type = 0; idc = -1; colorBackground[] = {0,0,0,0}; colorText[] = {0.543,0.5742,0.4102,1}; text = ""; x = 0; y = 0; h = 0.037; w = 0.3; style = 256; font = "Zeppelin32"; SizeEx = 0.03921; }; class RscTextSmall : RscText { h = 0.03; sizeEx = 0.027; }; class RscTitle : RscText { style = 2; x = 0.15; y = 0.06; w = 0.7; }; class RscProgress : control { type = 8; style = 0; colorFrame[] = {0,0,0,0}; colorBar[] = {1,1,1,1}; x = 0.344; y = 0.619; w = 0.156863; h = 0.0261438; texture = "\ca\ui\data\loadscreen_progressbar_ca.paa"; }; class RscPicture : control { type = 0; idc = -1; style = 48; colorBackground[] = {0,0,0,0}; colorText[] = {1,1,1,1}; font = "TahomaB"; sizeEx = 0; lineSpacing = 0; text = ""; x = 0; y = 0; w = 0.2; h = 0.15; }; class RscHTML : control { type = 9; idc = -1; style = 0; filename = ""; colorBackground[] = {0,0,0,0}; colorText[] = {0.543,0.5742,0.4102,1}; colorBold[] = {0.543,0.5742,0.4102,1}; colorLink[] = {0.6,0.8392,0.4706,1}; colorLinkActive[] = {1,0.537,0,1}; colorPicture[] = {1,1,1,1}; colorPictureLink[] = {1,1,1,1}; colorPictureSelected[] = {1,1,1,1}; colorPictureBorder[] = {0,0,0,0}; tooltipColorText[] = {0,0,0,1}; tooltipColorBox[] = {0,0,0,0.5}; tooltipColorShade[] = {1,1,0.7,1}; class H1 { font = "Zeppelin32"; fontBold = "Zeppelin33"; sizeEx = 0.03921; align = "left"; }; class H2 { font = "Zeppelin32"; fontBold = "Zeppelin33"; sizeEx = 0.03921; align = "left"; }; class H3 { font = "Zeppelin32"; fontBold = "Zeppelin33"; sizeEx = 0.03921; align = "left"; }; class H4 { font = "Zeppelin33Italic"; fontBold = "Zeppelin33"; sizeEx = 0.03921; align = "left"; }; class H5 { font = "Zeppelin32"; fontBold = "Zeppelin33"; sizeEx = 0.03921; align = "left"; }; class H6 { font = "Zeppelin32"; fontBold = "Zeppelin33"; sizeEx = 0.03921; align = "left"; }; class P { font = "Zeppelin32"; fontBold = "Zeppelin33"; sizeEx = 0.03921; align = "left"; }; sizeEx = 0.03921; prevPage = "\ca\ui\data\arrow_left_ca.paa"; nextPage = "\ca\ui\data\arrow_right_ca.paa"; }; class RscButton : control { text = ""; colorText[] = {0.543,0.5742,0.4102,1}; colorDisabled[] = {0.4,0.4,0.4,1}; colorBackground[] = {1,0.537,0,0.5}; colorBackgroundDisabled[] = {0.95,0.95,0.95,1}; colorBackgroundActive[] = {1,0.537,0,1}; colorFocused[] = {1,0.537,0,1}; colorShadow[] = {0.023529,0,0.0313725,1}; colorBorder[] = {0.023529,0,0.0313725,1}; soundEnter[] = {"\ca\ui\data\sound\mouse2",0.09,1}; soundPush[] = {"\ca\ui\data\sound\new1",0.09,1}; soundClick[] = {"\ca\ui\data\sound\mouse3",0.07,1}; soundEscape[] = {"\ca\ui\data\sound\mouse1",0.09,1}; type = 1; style = "0x02 + 0x100"; x = 0; y = 0; w = 0.095589; h = 0.039216; font = "Zeppelin32"; sizeEx = 0.03921; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; borderSize = 0; }; class RscShortcutButton : control { x = 0.1; y = 0.1; class HitZone { left = 0.004; top = 0.029; right = 0.004; bottom = 0.029; }; class ShortcutPos { left = 0.0145; top = 0.026; w = 0.0392157; h = 0.0522876; }; class TextPos { left = 0.05; top = 0.034; right = 0.005; bottom = 0.005; }; shortcuts[] = {}; textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)"; color[] = {0.543,0.5742,0.4102,1}; color2[] = {0.95,0.95,0.95,1}; colorDisabled[] = {1,1,1,0.25}; colorBackground[] = {1,1,1,1}; colorBackground2[] = {1,1,1,0.4}; class Attributes { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; shadow = "true"; }; type = 16; idc = -1; style = 0; default = 0; w = 0.183825; h = 0.104575; periodFocus = 1.2; periodOver = 0.8; animTextureNormal = "\ca\ui\data\ui_button_normal_ca.paa"; animTextureDisabled = "\ca\ui\data\ui_button_disabled_ca.paa"; animTextureOver = "\ca\ui\data\ui_button_over_ca.paa"; animTextureFocused = "\ca\ui\data\ui_button_focus_ca.paa"; animTexturePressed = "\ca\ui\data\ui_button_down_ca.paa"; animTextureDefault = "\ca\ui\data\ui_button_default_ca.paa"; period = 0.4; font = "Zeppelin32"; size = 0.03921; sizeEx = 0.03921; text = ""; soundEnter[] = {"\ca\ui\data\sound\mouse2",0.09,1}; soundPush[] = {"\ca\ui\data\sound\new1",0.09,1}; soundClick[] = {"\ca\ui\data\sound\mouse3",0.07,1}; soundEscape[] = {"\ca\ui\data\sound\mouse1",0.09,1}; action = ""; class AttributesImage { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; }; }; class RscButtonSmall : RscButton { w = 0.12; }; class RscEdit : control { type = 2; h = 0.04; colorBackground[] = {0,0,0,1}; colorText[] = {0.95,0.95,0.95,1}; colorSelection[] = {0.543,0.5742,0.4102,1}; autocomplete = ""; text = ""; size = 0.2; style = "0x00 + 0x40"; font = "Zeppelin32"; sizeEx = 0.03921; }; class RscCombo : control { type = 4; style = 0; colorSelect[] = {0.023529,0,0.0313725,1}; colorText[] = {0.023529,0,0.0313725,1}; colorBackground[] = {0.95,0.95,0.95,1}; colorScrollbar[] = {0.023529,0,0.0313725,1}; soundSelect[] = {"",0.1,1}; soundExpand[] = {"",0.1,1}; soundCollapse[] = {"",0.1,1}; maxHistoryDelay = 1; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.3}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; x = 0; y = 0; w = 0.12; h = 0.035; colorSelectBackground[] = {0.543,0.5742,0.4102,1}; arrowEmpty = "\ca\ui\data\ui_arrow_combo_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_combo_active_ca.paa"; wholeHeight = 0.45; color[] = {0,0,0,0.6}; colorActive[] = {0,0,0,1}; colorDisabled[] = {0,0,0,0.3}; font = "Zeppelin32"; sizeEx = 0.03921; }; class RscListBox : control { w = 0.4; h = 0.4; rowHeight = 0; colorText[] = {0.543,0.5742,0.4102,1}; 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}; colorBackground[] = {0,0,0,1}; soundSelect[] = {"",0.1,1}; arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.3}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; type = 5; style = "0 + 0x10"; font = "Zeppelin32"; sizeEx = 0.03921; color[] = {1,1,1,1}; period = 1.2; maxHistoryDelay = 1; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; }; class RscListNBox : control { type = 102; style = 0; w = 0.4; h = 0.4; font = "TahomaB"; sizeEx = 0.04; rowHeight = 0; colorText[] = {1,1,1,1}; colorScrollbar[] = {1,1,1,1}; colorSelect[] = {0,0,0,1}; colorSelect2[] = {1,0.5,0,1}; colorSelectBackground[] = {0.6,0.6,0.6,1}; colorSelectBackground2[] = {0.2,0.2,0.2,1}; colorBackground[] = {0,0,0,1}; maxHistoryDelay = 1; soundSelect[] = {"",0.1,1}; period = 1; 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)"; drawSideArrows = 0; columns[] = {0.3,0.6,0.7}; idcLeft = -1; idcRight = -1; class ScrollBar { 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)"; 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)"; }; }; class RscXListBox : control { x = 0.1; y = 0.1; color[] = {1,1,1,0.6}; colorActive[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.3}; colorSelect[] = {0.95,0.95,0.95,1}; colorText[] = {0.543,0.5742,0.4102,1}; soundSelect[] = {"\ca\ui\data\sound\new1",0.09,1}; idc = -1; type = 42; style = "0x400 + 0x02 + 0x10"; arrowEmpty = "\ca\ui\data\ui_arrow_left_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_left_active_ca.paa"; border = "\ca\ui\data\ui_border_frame_ca.paa"; w = 0.14706; h = 0.039216; font = "Zeppelin32"; sizeEx = 0.03921; }; class RscTree : control { type = 12; style = 0; colorBackground[] = {0.35,0.38,0.36,1}; colorSelect[] = {1,1,1,1}; colorText[] = {1,1,1,0.75}; colorBorder[] = {1,1,1,1}; colorArrow[] = {1,1,1,1}; maxHistoryDelay = 1; font = "Zeppelin32"; sizeEx = 0.02674; }; class RscSlider : control { type = 3; style = 1024; w = 0.3; color[] = {1,1,1,0.8}; colorActive[] = {1,1,1,1}; h = 0.025; }; class RscSliderH : RscSlider { }; class RscXSliderH : control { color[] = {1,1,1,0.4}; colorActive[] = {1,1,1,1}; colorDisable[] = {1,1,1,0.4}; type = 43; style = "0x400 + 0x10"; x = 0; y = 0; h = 0.029412; w = 0.4; colorDisabled[] = {1,1,1,0.2}; arrowEmpty = "\ca\ui\data\ui_arrow_left_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_left_active_ca.paa"; border = "\ca\ui\data\ui_border_frame_ca.paa"; thumb = "\ca\ui\data\ui_slider_bar_ca.paa"; }; class RscActiveText : control { type = 11; style = 2; color[] = {0,0,0,1}; colorActive[] = {0.3,0.4,0,1}; soundEnter[] = {"",0.1,1}; soundPush[] = {"",0.1,1}; soundClick[] = {"",0.1,1}; soundEscape[] = {"",0.1,1}; text = ""; default = 0; idc = -1; x = 0; y = 0; h = 0.035; w = 0.035; font = "Zeppelin32"; sizeEx = 0.03921; colortext[] = {0,0,0,1}; }; class RscStructuredText : control { colorText[] = {0.543,0.5742,0.4102,1}; class Attributes { font = "Zeppelin32"; color = "#99D678"; align = "center"; shadow = 1; }; type = 13; idc = -1; style = 0; x = 0; y = 0; h = 0.035; w = 0.1; text = ""; size = 0.03921; }; class RscControlsGroup : control { type = 15; idc = -1; style = 0; x = 0; y = 0; w = 1; h = 1; class VScrollbar { color[] = {1,1,1,1}; width = 0.021; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; }; class HScrollbar { color[] = {1,1,1,1}; height = 0.028; }; class ScrollBar { 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)"; 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)"; }; class Controls { }; }; class RscBackgroundStripeTop : RscText { x = -10; y = -10; w = 21; h = 10.125; text = ""; colorBackground[] = {0.1,0.1,0.1,1}; }; class RscBackgroundStripeBottom : RscText { x = -10; y = 0.875; w = 21; h = 10.125; text = ""; colorBackground[] = {0.1,0.1,0.1,1}; }; class RscToolbox : control { type = 6; style = 2; colorText[] = {0.95,0.95,0.95,1}; color[] = {0.95,0.95,0.95,1}; colorTextSelect[] = {0.95,0.95,0.95,1}; colorSelect[] = {0.95,0.95,0.95,1}; colorTextDisable[] = {0.4,0.4,0.4,1}; colorDisable[] = {0.4,0.4,0.4,1}; coloSelectedBg[] = {0,0,0,255}; colorSelectedBg[] = {0,0,0,1}; font = "Zeppelin32"; sizeEx = 0.02674; }; class RscXKeyShadow : control { type = 40; idc = -1; class Attributes { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; }; class AttributesImage { color = "#E5E5E5"; }; style = 0; w = 0.313726; h = 0.104575; size = 0.03921; }; class RscXKey : RscXKeyShadow { class Attributes { shadow = 0; }; }; class RscMapControl : control { type = 101; idc = 51; style = 48; colorBackground[] = {1,1,1,1}; colorOutside[] = {0,0,0,1}; colorText[] = {0,0,0,1}; font = "TahomaB"; sizeEx = 0.04; colorSea[] = {0.46,0.65,0.74,0.5}; colorForest[] = {0.45,0.64,0.33,0.5}; colorRocks[] = {0,0,0,0.3}; colorCountlines[] = {0.85,0.8,0.65,1}; colorMainCountlines[] = {0.45,0.4,0.25,1}; colorCountlinesWater[] = {0.25,0.4,0.5,0.3}; colorMainCountlinesWater[] = {0.25,0.4,0.5,0.9}; colorForestBorder[] = {0,0,0,0}; colorRocksBorder[] = {0,0,0,0}; colorPowerLines[] = {0.1,0.1,0.1,1}; colorRailWay[] = {0.8,0.2,0,1}; colorNames[] = {0.1,0.1,0.1,0.9}; colorInactive[] = {1,1,1,0.5}; colorLevels[] = {0.65,0.6,0.45,1}; stickX[] = {0.2,["Gamma",1,1.5]}; stickY[] = {0.2,["Gamma",1,1.5]}; class Legend { colorBackground[] = {0.906,0.901,0.88,0}; color[] = {0,0,0,1}; x = "SafeZoneX"; y = "SafeZoneY"; w = 0.34; h = 0.152; font = "Zeppelin32"; sizeEx = 0.03921; }; class ActiveMarker { color[] = {0.3,0.1,0.9,1}; size = 50; }; class Command { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_waypoint_ca.paa"; size = 18; importance = 1; coefMin = 1; coefMax = 1; }; class Task { colorCreated[] = {0.95,0.95,0.95,1}; colorCanceled[] = {0.606,0.606,0.606,1}; colorDone[] = {0.424,0.651,0.247,1}; colorFailed[] = {0.706,0.0745,0.0196,1}; color[] = {0.863,0.584,0,1}; icon = "\ca\ui\data\ui_taskstate_current_CA.paa"; iconCreated = "\ca\ui\data\ui_taskstate_new_CA.paa"; iconCanceled = "#(argb,8,8,3)color(0,0,0,0)"; iconDone = "\ca\ui\data\ui_taskstate_done_CA.paa"; iconFailed = "\ca\ui\data\ui_taskstate_failed_CA.paa"; size = 27; importance = 1; coefMin = 1; coefMax = 1; }; class CustomMark { color[] = {0.6471,0.6706,0.6235,1}; icon = "\ca\ui\data\map_waypoint_ca.paa"; size = 18; importance = 1; coefMin = 1; coefMax = 1; }; class Tree { color[] = {0.45,0.64,0.33,0.4}; icon = "\ca\ui\data\map_tree_ca.paa"; size = 12; importance = "0.9 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class SmallTree { color[] = {0.45,0.64,0.33,0.4}; icon = "\ca\ui\data\map_smalltree_ca.paa"; size = 12; importance = "0.6 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Bush { color[] = {0.45,0.64,0.33,0.4}; icon = "\ca\ui\data\map_bush_ca.paa"; size = 14; importance = "0.2 * 14 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Church { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_church_ca.paa"; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Chapel { color[] = {0,0,0,1}; icon = "\ca\ui\data\map_chapel_ca.paa"; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Cross { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_cross_ca.paa"; size = 16; importance = "0.7 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Rock { color[] = {0.1,0.1,0.1,0.8}; icon = "\ca\ui\data\map_rock_ca.paa"; size = 12; importance = "0.5 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Bunker { color[] = {0,0,0,1}; icon = "\ca\ui\data\map_bunker_ca.paa"; size = 14; importance = "1.5 * 14 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Fortress { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_bunker_ca.paa"; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Fountain { color[] = {0.2,0.45,0.7,1}; icon = "\ca\ui\data\map_fountain_ca.paa"; size = 11; importance = "1 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class ViewTower { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_viewtower_ca.paa"; size = 16; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class Lighthouse { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_lighthouse_ca.paa"; size = 14; importance = "3 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Quay { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_quay_ca.paa"; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class Fuelstation { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_fuelstation_ca.paa"; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.75; coefMax = 4; }; class Hospital { color[] = {0.78,0,0.05,1}; icon = "\ca\ui\data\map_hospital_ca.paa"; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class BusStop { color[] = {0.15,0.26,0.87,1}; icon = "\ca\ui\data\map_busstop_ca.paa"; size = 12; importance = "1 * 10 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Transmitter { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_transmitter_ca.paa"; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Stack { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_stack_ca.paa"; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Ruin { color[] = {0,0.9,0,1}; icon = "\ca\ui\data\map_ruin_ca.paa"; size = 16; importance = "1.2 * 16 * 0.05"; coefMin = 1; coefMax = 4; }; class Tourism { color[] = {0,0,1,1}; icon = "\ca\ui\data\map_tourism_ca.paa"; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.7; coefMax = 4; }; class Watertower { color[] = {0.2,0.45,0.7,1}; icon = "\ca\ui\data\map_watertower_ca.paa"; size = 20; importance = "1.2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Waypoint { color[] = {0,0,0,1}; size = 24; importance = 1; coefMin = 1; coefMax = 1; icon = "\ca\ui\data\map_waypoint_ca.paa"; }; class WaypointCompleted { color[] = {0,0,0,1}; size = 24; importance = 1; coefMin = 1; coefMax = 1; icon = "\ca\ui\data\map_waypoint_completed_ca.paa"; }; moveOnEdges = 1; x = "SafeZoneXAbs"; y = "SafeZoneY"; w = "SafeZoneWAbs"; h = "SafeZoneH"; ptsPerSquareSea = 8; ptsPerSquareTxt = 10; ptsPerSquareCLn = 10; ptsPerSquareExp = 10; ptsPerSquareCost = 10; ptsPerSquareFor = "6.0f"; ptsPerSquareForEdge = "15.0f"; ptsPerSquareRoad = "3f"; ptsPerSquareObj = 15; showCountourInterval = "false"; maxSatelliteAlpha = 0.75; alphaFadeStartScale = 0.15; alphaFadeEndScale = 0.29; fontLabel = "Zeppelin32"; sizeExLabel = 0.034; fontGrid = "Zeppelin32"; sizeExGrid = 0.03; fontUnits = "Zeppelin32"; sizeExUnits = 0.034; fontNames = "Zeppelin32"; sizeExNames = 0.056; fontInfo = "Zeppelin32"; sizeExInfo = 0.034; fontLevel = "Zeppelin32"; sizeExLevel = 0.024; text = "\ca\ui\data\map_background2_co.paa"; }; class RscObject : control { type = 80; scale = 1; direction[] = {0,0,1}; up[] = {0,1,0}; }; class RscCompass : RscObject { idc = -1; type = 81; selectionArrow = "arrow"; position[] = {0.026,0.047,0.2}; direction[] = {0,0.5,0.5}; up[] = {0,1,0}; positionBack[] = {0,-0.02,0.075}; inBack = 1; enableZoom = 0; zoomDuration = 0.5; class Animations { class Pointer { type = "rotation"; source = "compassPointer"; selection = "kompas"; axis = "osa kompasu"; memory = 1; animPeriod = 0; minValue = "rad -180"; maxValue = "rad 180"; angle0 = "rad -180"; angle1 = "rad 180"; }; class Arrow { type = "rotation"; source = "compassArrow"; selection = "arrow"; axis = "osa kompasu"; memory = 1; animPeriod = 0; minValue = "rad -180"; maxValue = "rad 180"; angle0 = "rad -180"; angle1 = "rad 180"; }; class Cover { type = "rotation"; source = "compassCover"; selection = "vicko"; axis = "osa vicka"; memory = 1; animPeriod = 0; angle0 = 0; angle1 = "rad -81"; }; }; model = "\ca\ui\compass.p3d"; scale = 0.44; }; class RscWatch : RscObject { idc = -1; type = 81; selectionDate1 = "date1"; selectionDate2 = "date2"; selectionDay = "day"; position[] = {0.026,0.047,0.2}; positionBack[] = {0.05,-0.05,0.22}; inBack = 1; enableZoom = 1; zoomDuration = 0.5; class Animations { class WatchHour { type = "rotation"; source = "clockHour"; selection = "hodinova"; axis = "osa"; memory = 1; animPeriod = 0; angle0 = 0; angle1 = "rad 360"; }; class WatchMinute { type = "rotation"; source = "clockMinute"; selection = "minutova"; axis = "osa"; memory = 1; animPeriod = 0; angle0 = 0; angle1 = "rad 360"; }; class WatchSecond { type = "rotation"; source = "clockSecond"; selection = "vterinova"; axis = "osa"; memory = 1; animPeriod = 0; angle0 = 0; angle1 = "rad 360"; }; }; model = "\ca\ui\watch.p3d"; }; class RscIGText : RscText { h = 0.04; colorText[] = {0.6,0.8392,0.4706,1}; font = "EtelkaNarrowMediumPro"; sizeEx = 0.034; style = "0x00 + 0x100"; }; class RscIGProgress : control { type = 8; style = 0; idc = -1; colorFrame[] = {0.706,0.098,0.9294,0}; colorBar[] = {0.6,0.8392,0.4706,1}; h = 0.018; texture = "\ca\ui\data\ui_armor_progressbar.paa"; }; class RscListBoxKeys : RscListBox { collisionColor[] = {1,0,0,1}; disabledKeyColor[] = {1,1,1,0.5}; mainCollumW = 0.4; secndCollumW = 0.6; }; class RscXTitle : RscText { idc = -1; style = 2; x = 0.025; y = 0.02; w = 0.95; h = 0.08; colorText[] = {0.665,0.665,0.7,1}; sizeEx = "( 36 / 408 )"; text = ""; }; class RscXBackgroundAll : RscText { x = -0.088; y = -0.088; w = 1.176; h = 1.176; text = ""; colorBackground[] = {0.169,0.235,0.169,1}; }; class RscXNotepad : RscText { x = -0.03; y = 0.15; w = 1.06; h = 0.71; text = ""; colorText[] = {1,1,1,0}; }; class RscXNotepadSett : RscText { x = -0.03; y = 0.15; w = 1.06; h = 0.71; text = ""; colorText[] = {1,1,1,1}; }; class RscXMPNotepad : RscText { idc = -1; x = -0.05; y = 0.1235; w = 1.11; h = 0.775; text = ""; colorText[] = {1,1,1,1}; }; class RscTextMainMenu : RscText { style = "0x02 + 0x100"; }; class RscPictureKeepAspect : RscPicture { style = "0x30 + 0x800"; }; class RscGearButtonTest : RscButton { colorText[] = {1,0,1,1}; colorDisabled[] = {0,1,1,1}; colorBackground[] = {1,1,0,1}; colorBackgroundActive[] = {0,1,0,1}; colorBackgroundDisabled[] = {1,0,0,1}; offsetX = 0; offsetY = 0; offsetPressedX = 0; offsetPressedY = 0; colorShadow[] = {1,1,1,0}; }; class RscIGUIShortcutButton : RscShortcutButton { w = 0.183825; h = 0.0522876; style = 2; color[] = {1,1,1,1}; color2[] = {1,1,1,0.85}; colorBackground[] = {1,1,1,1}; colorbackground2[] = {1,1,1,0.85}; colorDisabled[] = {1,1,1,0.4}; class HitZone { left = 0.002; top = 0.003; right = 0.002; bottom = 0.016; }; class ShortcutPos { left = -0.006; top = -0.007; w = 0.0392157; h = 0.0522876; }; class TextPos { left = 0.02; top = 0; right = 0.002; bottom = 0.016; }; animTextureNormal = "\ca\ui\data\igui_button_normal_ca.paa"; animTextureDisabled = "\ca\ui\data\igui_button_disabled_ca.paa"; animTextureOver = "\ca\ui\data\igui_button_over_ca.paa"; animTextureFocused = "\ca\ui\data\igui_button_focus_ca.paa"; animTexturePressed = "\ca\ui\data\igui_button_down_ca.paa"; animTextureDefault = "\ca\ui\data\igui_button_normal_ca.paa"; class Attributes { font = "Zeppelin32"; color = "#E5E5E5"; align = "center"; shadow = "true"; }; }; class RscGearShortcutButton : RscShortcutButton { w = 0.0392157; h = 0.0522876; style = 2; color[] = {1,1,1,1}; color2[] = {1,1,1,0.85}; colorBackground[] = {1,1,1,1}; colorbackground2[] = {1,1,1,0.85}; colorDisabled[] = {1,1,1,0.4}; class HitZone { left = 0; top = 0; right = 0; bottom = 0; }; class ShortcutPos { left = -0.006; top = -0.007; w = 0.0392157; h = 0.0522876; }; class TextPos { left = 0.003; top = 0.001; right = 0; bottom = 0; }; sizeEx = 0.1; animTextureNormal = "\ca\ui\data\igui_gear_normal_ca.paa"; animTextureDisabled = "\ca\ui\data\igui_gear_disabled_ca.paa"; animTextureOver = "\ca\ui\data\igui_gear_over_ca.paa"; animTextureFocused = "\ca\ui\data\igui_gear_focus_ca.paa"; animTexturePressed = "\ca\ui\data\igui_gear_down_ca.paa"; animTextureDefault = "\ca\ui\data\igui_gear_normal_ca.paa"; class Attributes { font = "Zeppelin32"; color = "#E5E5E5"; align = "center"; shadow = "false"; }; }; class RscShortcutButtonMainMenu : RscShortcutButton { w = 0.183825; h = 0.104575; color[] = {0.543,0.5742,0.4102,1}; colorDisabled[] = {1,1,1,0.25}; class HitZone { left = 0.004; top = 0.029; right = 0.004; bottom = 0.029; }; class ShortcutPos { left = 0.004; top = 0.026; w = 0.0392157; h = 0.0522876; }; class TextPos { left = 0.043; top = 0.034; right = 0.005; bottom = 0.005; }; animTextureNormal = "\ca\ui\data\ui_button_normal_ca.paa"; animTextureDisabled = "\ca\ui\data\ui_button_disabled_ca.paa"; animTextureOver = "\ca\ui\data\ui_button_over_ca.paa"; animTextureFocused = "\ca\ui\data\ui_button_focus_ca.paa"; animTexturePressed = "\ca\ui\data\ui_button_down_ca.paa"; animTextureDefault = "\ca\ui\data\ui_button_default_ca.paa"; soundEnter[] = {"\ca\ui\data\sound\mouse2",0.09,1}; soundPush[] = {"\ca\ui\data\sound\new1",0.09,1}; soundClick[] = {"\ca\ui\data\sound\mouse3",0.07,1}; soundEscape[] = {"\ca\ui\data\sound\mouse1",0.09,1}; action = ""; class Attributes { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; shadow = "true"; }; class AttributesImagev { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; }; }; class RscShortcutButtonMain : RscShortcutButton { type = 16; idc = -1; style = 0; default = 0; w = 0.313726; h = 0.104575; color[] = {0.543,0.5742,0.4102,1}; colorDisabled[] = {1,1,1,0.25}; class HitZone { left = 0; top = 0; right = 0; bottom = 0; }; class ShortcutPos { left = 0.0204; top = 0.026; w = 0.0392157; h = 0.0522876; }; class TextPos { left = 0.08; top = 0.034; right = 0.005; bottom = 0.005; }; animTextureNormal = "\ca\ui\data\ui_button_main_normal_ca.paa"; animTextureDisabled = "\ca\ui\data\ui_button_main_disabled_ca.paa"; animTextureOver = "\ca\ui\data\ui_button_main_over_ca.paa"; animTextureFocused = "\ca\ui\data\ui_button_main_focus_ca.paa"; animTexturePressed = "\ca\ui\data\ui_button_main_down_ca.paa"; animTextureDefault = "\ca\ui\data\ui_button_main_normal_ca.paa"; period = 0.5; font = "Zeppelin32"; size = 0.03921; sizeEx = 0.03921; text = ""; soundEnter[] = {"\ca\ui\data\sound\mouse2",0.09,1}; soundPush[] = {"\ca\ui\data\sound\new1",0.09,1}; soundClick[] = {"\ca\ui\data\sound\mouse3",0.07,1}; soundEscape[] = {"\ca\ui\data\sound\mouse1",0.09,1}; action = ""; class Attributes { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; shadow = "false"; }; class AttributesImage { font = "Zeppelin32"; color = "#E5E5E5"; align = "false"; }; }; class RscShortcutButtonDiary : RscShortcutButton { type = 16; idc = -1; style = 0; default = 0; w = 0.156863; h = 0.20915; color[] = {1,1,1,1}; color2[] = {1,1,1,0.7}; colorBackground[] = {1,1,1,1}; colorbackground2[] = {1,1,1,0.7}; colorDisabled[] = {1,1,1,0.7}; periodFocus = 0; periodOver = 0.8; period = 0.4; onSetFocus = "private [""_dummy""]; _dummy = [_this,""setfocus""] execVM ""\ca\ui\scripts\focusDiary.sqf"";"; class HitZone { left = 0; top = 0; right = 0.04; bottom = 0.09; }; class ShortcutPos { left = 0.004; top = 0.026; w = 0.0392157; h = 0.0522876; }; class TextPos { left = 0.003; top = 0.004; right = 0.005; bottom = 0.005; }; animTextureNormal = "\ca\ui\data\diary\ui_button_normal_ca.paa"; animTextureDisabled = "\ca\ui\data\diary\ui_button_disabled_ca.paa"; animTextureOver = "\ca\ui\data\diary\ui_button_over_ca.paa"; animTextureFocused = "\ca\ui\data\diary\ui_button_focus_ca.paa"; animTexturePressed = "\ca\ui\data\diary\ui_button_pressed_ca.paa"; animTextureDefault = "\ca\ui\data\diary\ui_button_default_ca.paa"; font = "Zeppelin32"; size = 0.105; sizeEx = 0.09; text = ""; soundEnter[] = {"\ca\ui\data\sound\mouse2",0.09,1}; soundPush[] = {"\ca\ui\data\sound\new1",0.09,1}; soundClick[] = {"\ca\ui\data\sound\mouse3",0.07,1}; soundEscape[] = {"\ca\ui\data\sound\mouse1",0.09,1}; action = ""; class Attributes { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; shadow = "false"; }; class AttributesImage { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; shadow = "true"; }; }; class RscShortcutButtonDiaryMap : RscShortcutButton { type = 16; idc = -1; style = 0; default = 0; w = 0.0392157; h = 0.0522876; color[] = {0.543,0.5742,0.4102,1}; colorDisabled[] = {1,1,1,0.25}; class HitZone { left = 0; top = 0; right = 0.076; bottom = 0.09; }; class ShortcutPos { left = 0; top = 0.026; w = 0.0392157; h = 0.0522876; }; class TextPos { left = -0.1; top = -0.1; right = 0.005; bottom = 0.005; }; animTextureNormal = "\ca\ui\data\diary\ui_button_normal_ca.paa"; animTextureDisabled = "\ca\ui\data\diary\ui_button_disabled_ca.paa"; animTextureOver = "\ca\ui\data\diary\ui_button_focus_ca.paa"; animTextureFocused = "\ca\ui\data\diary\ui_button_down_ca.paa"; animTexturePressed = "\ca\ui\data\diary\ui_button_down_ca.paa"; animTextureDefault = "\ca\ui\data\diary\ui_button_normal_ca.paa"; period = 0.4; font = "Zeppelin32"; size = 0.034; sizeEx = 0.034; text = ""; soundEnter[] = {"\ca\ui\data\sound\mouse2",0.09,1}; soundPush[] = {"\ca\ui\data\sound\new1",0.09,1}; soundClick[] = {"\ca\ui\data\sound\mouse3",0.07,1}; soundEscape[] = {"\ca\ui\data\sound\mouse1",0.09,1}; action = ""; class Attributes { font = "Zeppelin32"; color = "#E5E5E5"; align = "left"; shadow = "false"; }; class AttributesImage { font = "Zeppelin32"; color = "#E5E5E5"; align = "false"; }; }; class RscShortcutButtonWizard : RscShortcutButtonMain { class TextPos { left = 0.08; top = 0.024; right = 0.005; bottom = 0.005; }; animTextureNormal = "\ca\ui\data\ui_button_normal_ca.paa"; animTextureDisabled = "\ca\ui\data\ui_button_normal_ca.paa"; animTextureOver = "\ca\ui\data\ui_button_over_ca.paa"; animTextureFocused = "\ca\ui\data\ui_button_over_ca.paa"; animTexturePressed = "\ca\ui\data\ui_button_down_ca.paa"; animTextureDefault = "\ca\ui\data\ui_button_normal_ca.paa"; }; class RscButton_small : RscButton { w = 0.095589; h = 0.039216; sizeEx = 0.02674; }; class RscButtonTextOnly : RscButton { SizeEx = 0.02674; colorBackground[] = {1,1,1,0}; colorBackgroundActive[] = {1,1,1,0}; colorBackgroundDisabled[] = {1,1,1,0}; colorFocused[] = {1,1,1,0}; colorShadow[] = {1,1,1,0}; borderSize = 0; }; class RscProgressBackground : RscPicture { x = 0; y = 0.892164; w = 1; h = 0.078432; text = "\ca\ui\data\ui_gradient_title_gs.paa"; colorText[] = {0,0,0,0.4}; }; class RscLoadingText : RscText { style = 2; x = 0.323532; y = 0.666672; w = 0.352944; h = 0.039216; sizeEx = 0.03921; colorText[] = {0.543,0.5742,0.4102,1}; }; class RscProgressNotFreeze { idc = -1; type = 45; style = 0; x = 0.022059; y = 0.911772; w = 0.029412; h = 0.039216; texture = "#(argb,8,8,3)color(0,0,0,0)"; }; class RscIGUIListBox : RscListBox { color[] = {1,1,1,1}; colorText[] = {0.6,0.8392,0.4706,1}; 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.424,0.651,0.247,0.3}; colorSelectBackground2[] = {0.424,0.651,0.247,1}; period = 0; colorBackground[] = {0,0,0,1}; sizeEx = 0.034; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.3}; thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; border = "\ca\ui\data\igui_border_scroll_ca.paa"; }; }; class RscIGUIListNBox : RscListNBox { style = "0 + 0x10"; color[] = {1,1,1,1}; colorText[] = {1,1,1,0.75}; 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.6,0.8392,0.4706,1}; colorSelectBackground2[] = {0.6,0.8392,0.4706,1}; period = 0; colorBackground[] = {0,0,0,1}; columns[] = {0.1,0.7,0.1,0.1}; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.3}; thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; border = "\ca\ui\data\igui_border_scroll_ca.paa"; }; }; class RscFrame : control { type = 0; idc = -1; style = 64; colorBackground[] = {0,0,0,0}; colorText[] = {1,1,1,1}; font = "Zeppelin32"; sizeEx = 0.02; text = ""; }; class RscBackground : control { type = 0; IDC = -1; style = 512; x = 0; y = 0; w = 1; h = 1; text = ""; ColorBackground[] = {0.48,0.5,0.35,1}; ColorText[] = {0.1,0.1,0.1,1}; font = "Zeppelin32"; SizeEx = 1; }; class IGUIBack : control { type = 0; idc = 124; style = 128; text = ""; colorText[] = {0,0,0,0}; font = "Zeppelin32"; sizeEx = 0; x = 0.1; y = 0.1; w = 0.1; h = 0.1; colorbackground[] = {0.1882,0.2588,0.149,0.76}; }; class CA_Mainback : RscPicture { x = 0.35; y = 0.8; w = 0.3; h = 0.2; text = "\ca\ui\data\ui_gradient_start_gs.paa"; colorText[] = {0.424,0.651,0.247,1}; }; class CA_Mainback_2 : CA_Mainback { x = 0.35; y = 0.8; w = 0.3; h = 0.2; colorText[] = {0.023529,0,0.0313725,1}; text = "\ca\ui\data\ui_gradient_middle_gs.paa"; }; class CA_Mainback_3 : CA_Mainback { x = 0.35; y = 0.8; w = 0.3; h = 0.2; colorText[] = {0.023529,0,0.0313725,1}; text = "\ca\ui\data\ui_gradient_end_gs.paa"; }; class CA_Back : CA_Mainback { x = 0.29; y = 0.38; w = 0.56; h = 0.57; colorText[] = {0.424,0.651,0.247,1}; text = "\ca\ui\data\ui_gradient_reverse_gs.paa"; }; class CA_Title_Back : CA_Mainback { x = 0.014706; y = 0; w = 0.950743; h = 0.058824; text = "#(argb,8,8,3)color(0,0,0,0)"; colorText[] = {0.95,0.95,0.95,1}; }; class CA_Back1 : CA_Back { x = 0.3; y = 0.43; w = 0.26; h = 0.22; colorText[] = {0.1,0.1,0.1,0.4}; }; class CA_Back2 : CA_Back { x = 0.565; y = 0.43; w = 0.27; h = 0.5; colorText[] = {0.2,0.2,0.2,0.2}; }; class CA_Back3 : CA_Back { x = 0.57; y = 0.43; w = 0.27; h = 0.5; colorText[] = {0.2,0.2,0.2,0.2}; }; class CA_Black_Back : CA_Mainback { x = "SafeZoneX - SafeZoneW"; y = "SafeZoneY - SafeZoneH"; w = "SafeZoneW * 4"; h = "SafeZoneH * 4"; text = "#(argb,8,8,3)color(0,0,0,1)"; colorText[] = {0.023529,0,0.0313725,1}; color[] = {0.023529,0,0.0313725,1}; colorBackground[] = {0.023529,0,0.0313725,1}; }; class CA_Title : RscText { x = 0.014706; y = 0.182; w = 0.950743; h = 0.058824; style = "0x00 + 0x100"; font = "Zeppelin32"; sizeEx = 0.0506536; colorText[] = {0.95,0.95,0.95,1}; }; class RscTextWIP : RscText { x = -5; y = "SafeZoneY"; w = 1; h = 0.098; style = 2; SizeEx = 0.029655; colorText[] = {0.0588,0.4,0.498,1}; text = "PREVIEW VERSION - WORK IN PROGRESS"; }; class CA_IGUI_Title : CA_Title { sizeEx = 0.03921; style = 0; }; class CA_Logo : RscPictureKeepAspect { idc = 1220; x = 0.638; y = 0.333; w = 0.25; h = 0.08; text = "\ca\ui\data\logo_white_all_ca.paa"; }; class CA_Logo_Small : CA_Logo { w = 0.2; h = 0.0666; }; class CA_GameSpy_logo : RscPictureKeepAspect { x = 0.55; y = 0.333; w = 0.15; h = 0.05; text = "\ca\ui\data\gamespy_logo.paa"; }; class ArmA2_HintBackgroundTop : CA_Mainback { x = -0.5; y = -0.264708; w = 1.9608; h = 0.326473; colorText[] = {0.023529,0,0.0313725,1}; }; class ArmA2_HintBackgroundBottom : CA_Mainback { x = -0.5; y = 0.843144; w = 1.9608; h = 0.326473; colorText[] = {0.023529,0,0.0313725,1}; }; class RscLineBreak { idc = -1; type = 98; }; class CA_RscButton : RscButton { idc = -1; default = 0; x = 0.843144; y = 0.8; w = 0.14706; h = 0.039216; borderSize = 0.009804; color[] = {0,0,0,0}; colorActive[] = {0,0,0,0}; }; class CA_RscButton_dialog : CA_RscButton { x = 0.823536; y = 0.85; w = 0.198531; borderSize = 0; }; class CA_Ok : RscActiveText { idc = -1; style = 48; default = 0; x = 0.85; y = 0.8; w = 0.15; h = 0.035; text = "#(argb,8,8,3)color(0,0,0,0)"; color[] = {0,0,0,0}; colorActive[] = {0,0,0,0}; }; class CA_Ok_image : RscText { idc = -1; x = 0.86; y = 0.8; w = 0.14; h = 0.04; text = "#(argb,8,8,3)color(1,1,1,0.9)"; style = 48; colortext[] = {1,1,1,0.8}; }; class CA_Ok_image2 : RscText { idc = -1; x = 0.85; y = 0.8; w = 0.01; h = 0.04; text = "#(argb,8,8,3)color(1,1,1,0.9)"; style = 48; colortext[] = {0,0,0,0.8}; }; class CA_Ok_text : RscText { sizeEx = 0.02674; idc = -1; x = 0.86; y = 0.8; w = 0.14; h = 0.04; style = 0; colortext[] = {0,0,0,0.8}; }; class CA_Table_back : RscPicture { x = 0.2; y = 0.25; w = 0.4; h = 0.68; text = "\ca\ui\textures\g_black2grey.paa"; colortext[] = {1,1,1,0.8}; }; class CA_UpTitle : RscTitle { x = 0.01; y = 0.105; w = 0.5; h = 0.05; style = "ST_LEFT"; colortext[] = {1,1,1,1}; }; class CA_BoxLeft : RscPicture { x = 0; y = 0.1; w = 1; h = 0.08; text = "\ca\ui\textures\white_basic.paa"; }; class BB_left : RscText { x = 0.05; y = 0.255; w = 0.005; h = 0.5; colorbackground[] = {0,0,0,0.5}; }; class BB_right : BB_left { x = 0.944; }; class BB_down : BB_left { y = 0.755; w = 0.9; h = 0.005; }; class BB_up : BB_down { y = 0.2495; w = 0.9; }; class BB_Back : RscPicture { x = 0.055; y = 0.255; w = 0.89; h = 0.5; colortext[] = {1,1,1,0.5}; text = "\ca\ui\textures\white_basic.paa"; }; class Back_UserTitle : RscPicture { x = 0.05; y = 0.2; w = 0.27; h = 0.065; colortext[] = {1,1,1,0.8}; text = "\ca\ui\textures\title_up.paa"; }; class Table_back_black : RscPicture { x = 0.2; y = 0.25; w = 0.4; h = 0.68; text = "\ca\ui\textures\g_black2grey.paa"; colortext[] = {1,1,1,0.8}; }; class Table_back_white : CA_Ok_image { x = 0.21; y = 0.26; w = 0.38; h = 0.66; colortext[] = {1,1,1,0.9}; }; class RscSplashText : RscText { sizeEx = 0.034; colorText[] = {0.95,0.95,0.95,1}; colorbackground[] = {1,1,1,0}; style = "0x02 + 0x10 + 0x200 + 0x100"; lineSpacing = 1; }; class MapArea : RscMapControl { style = 48; font = "EtelkaNarrowMediumPro"; sizeEx = 0.025; type = 101; idc = 515; colorBackground[] = {0.8,0.8,0.8,1}; colorText[] = {0,0,0,1}; colorRailway[] = {0.5,0.5,0.5,0.5}; colorSea[] = {0.56,0.8,0.98,0.5}; colorForest[] = {0.6,0.8,0.2,0.5}; colorRocks[] = {0.5,0.5,0.5,0.5}; colorCountlines[] = {0.65,0.45,0.27,0.5}; colorMainCountlines[] = {0.65,0.45,0.27,1}; colorCountlinesWater[] = {0,0.53,1,0.5}; colorMainCountlinesWater[] = {0,0.53,1,1}; colorForestBorder[] = {0.4,0.8,0,1}; colorRocksBorder[] = {0.5,0.5,0.5,1}; colorPowerLines[] = {0,0,0,1}; colorNames[] = {0,0,0,1}; colorInactive[] = {1,1,1,0.5}; colorLevels[] = {0,0,0,1}; fontLabel = "TahomaB"; sizeExLabel = 0.04; fontGrid = "TahomaB"; sizeExGrid = 0.04; fontUnits = "TahomaB"; sizeExUnits = 0.04; fontNames = "TahomaB"; sizeExNames = 0.04; fontInfo = "TahomaB"; sizeExInfo = 0.04; fontLevel = "TahomaB"; sizeExLevel = 0.04; text = "#(argb,8,8,3)color(1,1,1,1)"; stickX[] = {0.2,["Gamma",1,1.5]}; stickY[] = {0.2,["Gamma",1,1.5]}; ptsPerSquareSea = 6; ptsPerSquareTxt = 8; ptsPerSquareCLn = 8; ptsPerSquareExp = 8; ptsPerSquareCost = 8; ptsPerSquareFor = "4.0f"; ptsPerSquareForEdge = "10.0f"; ptsPerSquareRoad = 2; ptsPerSquareObj = 10; showCountourInterval = "true"; x = 0; y = 0.05; w = 1; h = 0.8; onMouseMoving = "mouseX = (_this Select 1);mouseY = (_this Select 2)"; onMouseButtonDown = "mouseButtonDown = _this Select 1"; onMouseButtonUp = "mouseButtonUp = _this Select 1"; class task { icon = "\ca\ui\data\ui_taskstate_current_CA.paa"; iconCreated = "\ca\ui\data\ui_taskstate_new_CA.paa"; iconCanceled = "#(argb,8,8,3)color(0,0,0,0)"; iconDone = "\ca\ui\data\ui_taskstate_done_CA.paa"; iconFailed = "\ca\ui\data\ui_taskstate_failed_CA.paa"; color[] = {0.863,0.584,0,1}; colorCreated[] = {0.95,0.95,0.95,1}; colorCanceled[] = {0.606,0.606,0.606,1}; colorDone[] = {0.424,0.651,0.247,1}; colorFailed[] = {0.706,0.0745,0.0196,1}; size = 10; coefMin = 1; coefMax = 4; importance = 1; }; class CustomMark { icon = "\ca\ui\data\map_waypoint_ca.paa"; color[] = {0,0,1,1}; size = 18; importance = 1; coefMin = 1; coefMax = 1; }; class Bunker { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0,0,1,1}; size = 14; importance = "1.5 * 14 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Bush { icon = "\ca\ui\data\map_bush_ca.paa"; color[] = {0.55,0.64,0.43,1}; size = 14; importance = "0.2 * 14 * 0.05"; coefMin = 0.25; coefMax = 4; }; class BusStop { icon = "\ca\ui\data\map_busstop_ca.paa"; color[] = {0,0,1,1}; size = 10; importance = "1 * 10 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Command { icon = "#(argb,8,8,3)color(1,1,1,1)"; color[] = {0,0.9,0,1}; size = 18; importance = 1; coefMin = 1; coefMax = 1; }; class Cross { icon = "\ca\ui\data\map_cross_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "0.7 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Fortress { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Fuelstation { icon = "#(argb,8,8,3)color(0,0,0,1)"; color[] = {0,0,0,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.75; coefMax = 4; }; class Fountain { icon = "\ca\ui\data\map_fountain_ca.paa"; color[] = {0,0.35,0.7,1}; size = 12; importance = "1 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Hospital { icon = "\ca\ui\data\map_hospital_ca.paa"; color[] = {0.78,0,0.05,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class Chapel { icon = "\ca\ui\data\map_chapel_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Church { icon = "\ca\ui\data\map_church_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Lighthouse { icon = "\ca\ui\data\map_lighthouse_ca.paa"; color[] = {0.78,0,0.05,1}; size = 20; importance = "3 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Quay { icon = "\ca\ui\data\map_quay_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class Rock { icon = "\ca\ui\data\map_rock_ca.paa"; color[] = {0,0,1,1}; size = 12; importance = "0.5 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Ruin { icon = "\ca\ui\data\map_ruin_ca.paa"; color[] = {0.78,0,0.05,1}; size = 16; importance = "1.2 * 16 * 0.05"; coefMin = 1; coefMax = 4; }; class SmallTree { icon = "\ca\ui\data\map_smalltree_ca.paa"; color[] = {0.55,0.64,0.43,1}; size = 12; importance = "0.6 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Stack { icon = "\ca\ui\data\map_stack_ca.paa"; color[] = {0,0,1,1}; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Tree { icon = "\ca\ui\data\map_tree_ca.paa"; color[] = {0.55,0.64,0.43,1}; size = 12; importance = "0.9 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Tourism { icon = "\ca\ui\data\map_tourism_ca.paa"; color[] = {0.78,0,0.05,1}; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.7; coefMax = 4; }; class Transmitter { icon = "\ca\ui\data\map_transmitter_ca.paa"; color[] = {0,0,1,1}; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class ViewTower { icon = "\ca\ui\data\map_viewtower_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class Watertower { icon = "\ca\ui\data\map_watertower_ca.paa"; color[] = {0,0.35,0.7,1}; size = 32; importance = "1.2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Waypoint { icon = "\ca\ui\data\map_waypoint_ca.paa"; color[] = {0,0,1,1}; size = 14; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class WaypointCompleted { icon = "\ca\ui\data\map_waypoint_completed_ca.paa"; color[] = {0,0,1,1}; size = 14; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class ActiveMarker { icon = ""; color[] = {0,0,1,1}; size = 14; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; }; class WFGUIText : control { type = 0; idc = -1; style = 0; colorText[] = {0.5,0.75,0.5,1}; colorBackground[] = {0,0,0,0}; font = "Bitstream"; sizeEx = 0.025; w = 0.275; h = 0.04; text = ""; }; class WFGUIButton : control { type = 1; idc = -1; style = 2; borderSize = 0; colorText[] = {0.82,1,0.82,1}; colorDisabled[] = {0.82,1,0.82,1}; colorBackground[] = {0.24,0.5,0.24,1}; colorBackgroundActive[] = {0.2,0.5,0.2,1}; colorBackgroundDisabled[] = {0.82,1,0.82,1}; colorFocused[] = {0.2,0.5,0.2,1}; colorShadow[] = {0.1,0.1,0.1,1}; colorBorder[] = {0,0,0,0}; font = "Bitstream"; sizeEx = 0.029; offsetX = 0.005; offsetY = 0.005; offsetPressedX = 0.0025; offsetPressedY = 0.0025; soundPush[] = {"\ca\ui\data\sound\new1",0.09,1}; soundClick[] = {"\ca\ui\data\sound\mouse3",0.07,1}; soundEnter[] = {"",0.1,1}; soundEscape[] = {"ui\ui_cc",0.2,1}; default = 0; text = ""; w = 0.275; h = 0.04; }; class WFGUIListBox : control { type = 5; style = 0; idc = -1; colorBackground[] = {0.2,0.35,0.2,1}; colorSelect[] = {0.2,0.4,0.2,1}; colorSelectBackground[] = {0.3,0.6,0.3,1}; colorText[] = {0.5,0.75,0.5,1}; font = "Bitstream"; sizeEx = 0.029; rowHeight = 0.03; soundSelect[] = {"",0.1,1}; soundExpand[] = {"",0.1,1}; soundCollapse[] = {"",0.1,1}; maxHistoryDelay = 10; w = 0.275; h = 0.04; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; colorScrollbar[] = {0.95,0.95,0.95,1}; period = 1; arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.3}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; }; class WFGUIComboBox : control { type = 4; style = 0; idc = -1; colorBackground[] = {0.2,0.35,0.2,1}; colorSelect[] = {0.2,0.4,0.2,1}; colorSelectBackground[] = {0.3,0.6,0.3,1}; colorText[] = {0.5,0.75,0.5,1}; font = "Bitstream"; sizeEx = 0.029; rowHeight = 0.04; soundSelect[] = {"",0.1,1}; soundExpand[] = {"",0.1,1}; soundCollapse[] = {"",0.1,1}; maxHistoryDelay = 10; w = 0.275; h = 0.04; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; wholeHeight = 0.3; colorScrollbar[] = {0.95,0.95,0.95,1}; period = 1; arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.3}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; }; class WFGUIActiveText : control { type = 11; idc = -1; style = 0; SizeEx = 0.05; font = "BitStream"; color[] = {0.5,0.75,0.5,1}; colorActive[] = {1,1,1,1}; soundEnter[] = {"",0.1,1}; soundPush[] = {"",0.1,1}; soundClick[] = {"",0.1,1}; soundEscape[] = {"",0.1,1}; text = ""; }; class WFGUIMap : control { type = 101; style = 48; idc = -1; font = "Bitstream"; sizeEx = 0.025; default = 0; colorBackground[] = {0.8,0.8,0.8,1}; colorText[] = {0,0,0,1}; colorRailway[] = {0.5,0.5,0.5,0.5}; colorSea[] = {0.56,0.8,0.98,0.5}; colorForest[] = {0.6,0.8,0.2,0.5}; colorRocks[] = {0.5,0.5,0.5,0.5}; colorCountlines[] = {0.65,0.45,0.27,0.5}; colorMainCountlines[] = {0.65,0.45,0.27,1}; colorCountlinesWater[] = {0,0.53,1,0.5}; colorMainCountlinesWater[] = {0,0.53,1,1}; colorForestBorder[] = {0.4,0.8,0,1}; colorRocksBorder[] = {0.5,0.5,0.5,1}; colorPowerLines[] = {0,0,0,1}; colorNames[] = {0,0,0,1}; colorInactive[] = {1,1,1,0.5}; colorLevels[] = {0,0,0,1}; fontLabel = "TahomaB"; sizeExLabel = 0.04; fontGrid = "TahomaB"; sizeExGrid = 0.04; fontUnits = "TahomaB"; sizeExUnits = 0.04; fontNames = "TahomaB"; sizeExNames = 0.04; fontInfo = "TahomaB"; sizeExInfo = 0.04; fontLevel = "TahomaB"; sizeExLevel = 0.04; text = "#(argb,8,8,3)color(1,1,1,1)"; stickX[] = {0.2,["Gamma",1,1.5]}; stickY[] = {0.2,["Gamma",1,1.5]}; ptsPerSquareSea = 6; ptsPerSquareTxt = 8; ptsPerSquareCLn = 8; ptsPerSquareExp = 8; ptsPerSquareCost = 8; ptsPerSquareFor = "4.0f"; ptsPerSquareForEdge = "10.0f"; ptsPerSquareRoad = 2; ptsPerSquareObj = 10; showCountourInterval = "true"; x = 0; y = 0.05; w = 1; h = 0.8; class task { icon = ""; color[] = {0,0,1,1}; size = 10; coefMin = 1; coefMax = 4; importance = 1; }; class CustomMark { icon = "\ca\ui\data\map_waypoint_ca.paa"; color[] = {0,0,1,1}; size = 18; importance = 1; coefMin = 1; coefMax = 1; }; class Bunker { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0,0,1,1}; size = 14; importance = "1.5 * 14 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Bush { icon = "\ca\ui\data\map_bush_ca.paa"; color[] = {0.55,0.64,0.43,1}; size = 14; importance = "0.2 * 14 * 0.05"; coefMin = 0.25; coefMax = 4; }; class BusStop { icon = "\ca\ui\data\map_busstop_ca.paa"; color[] = {0,0,1,1}; size = 10; importance = "1 * 10 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Command { icon = "#(argb,8,8,3)color(1,1,1,1)"; color[] = {0,0.9,0,1}; size = 18; importance = 1; coefMin = 1; coefMax = 1; }; class Cross { icon = "\ca\ui\data\map_cross_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "0.7 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Fortress { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Fuelstation { icon = "#(argb,8,8,3)color(0,0,0,1)"; color[] = {0,0,0,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.75; coefMax = 4; }; class Fountain { icon = "\ca\ui\data\map_fountain_ca.paa"; color[] = {0,0.35,0.7,1}; size = 12; importance = "1 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Hospital { icon = "\ca\ui\data\map_hospital_ca.paa"; color[] = {0.78,0,0.05,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class Chapel { icon = "\ca\ui\data\map_chapel_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Church { icon = "\ca\ui\data\map_church_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Lighthouse { icon = "\ca\ui\data\map_lighthouse_ca.paa"; color[] = {0.78,0,0.05,1}; size = 20; importance = "3 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Quay { icon = "\ca\ui\data\map_quay_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class Rock { icon = "\ca\ui\data\map_rock_ca.paa"; color[] = {0,0,1,1}; size = 12; importance = "0.5 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Ruin { icon = "\ca\ui\data\map_ruin_ca.paa"; color[] = {0.78,0,0.05,1}; size = 16; importance = "1.2 * 16 * 0.05"; coefMin = 1; coefMax = 4; }; class SmallTree { icon = "\ca\ui\data\map_smalltree_ca.paa"; color[] = {0.55,0.64,0.43,1}; size = 12; importance = "0.6 * 12 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Stack { icon = "\ca\ui\data\map_stack_ca.paa"; color[] = {0,0,1,1}; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Tree { icon = "\ca\ui\data\map_tree_ca.paa"; color[] = {0.55,0.64,0.43,1}; size = 12; importance = "0.9 * 16 * 0.05"; coefMin = 0.25; coefMax = 4; }; class Tourism { icon = "\ca\ui\data\map_tourism_ca.paa"; color[] = {0.78,0,0.05,1}; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.7; coefMax = 4; }; class Transmitter { icon = "\ca\ui\data\map_transmitter_ca.paa"; color[] = {0,0,1,1}; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class ViewTower { icon = "\ca\ui\data\map_viewtower_ca.paa"; color[] = {0,0,1,1}; size = 16; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class Watertower { icon = "\ca\ui\data\map_watertower_ca.paa"; color[] = {0,0.35,0.7,1}; size = 32; importance = "1.2 * 16 * 0.05"; coefMin = 0.9; coefMax = 4; }; class Waypoint { icon = "\ca\ui\data\map_waypoint_ca.paa"; color[] = {0,0,1,1}; size = 14; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class WaypointCompleted { icon = "\ca\ui\data\map_waypoint_completed_ca.paa"; color[] = {0,0,1,1}; size = 14; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; class ActiveMarker { icon = ""; color[] = {0,0,1,1}; size = 14; importance = "2.5 * 16 * 0.05"; coefMin = 0.5; coefMax = 4; }; }; // Constant definitions call compile preprocessFileLineNumbers "GUIlayers.sqf"; // Init CTB parameters initCTBdone = false; sides = ["WEST", "EAST"]; initCTB = [] execVM "initCTB.sqf"; //spawns available at respawn time, leave empty, filled at spawn time spawnsList = []; spawnTypes = ["WarfareBCamp", "flagCarrier"]; taskList = []; east_HQlist = []; west_HQlist = []; vehiclePool = []; killedEvent = []; HQDeploy = []; flagTaken = []; currentGear = []; spawnedVehicleList = []; spawnTick = 0; noTimeLeft = false; timeLeft = paramsArray select 3; // end definitions checkSoldierClass = compile preprocessFileLineNumbers "functions\checkSoldierClass.sqf"; countSoldiersInZone = compile preprocessFileLineNumbers "functions\countSoldiersInZone.sqf"; dmgHandler = compile preprocessFileLineNumbers "functions\damageHandler.sqf"; onFiredEH = compile preprocessfilelinenumbers "functions\onFired.sqf"; hashListKey = compile preprocessFileLineNumbers "functions\hashListKey.sqf"; hashGetValue = compile preprocessFileLineNumbers "functions\hashGetValue.sqf"; uinamespace setVariable ["WHIS_SpawnDialog", nil]; powerPlantType = "Land_trafostanica_velka"; enableSaving [false, false]; setTerrainGrid (paramsArray select 2); onPlayerDisconnected "[_uid, _name] execVM 'server\clientDisconnect.sqf'"; /* Script by Sickboy (sb _at_ 6thSense.eu) Version: v0.1 */ T_INIT = false; T_Server = false; T_Client = false; T_JIP = false; if (playersNumber east + playersNumber west + playersNumber resistance + playersNumber civilian > 0) then { T_MP = true } else { T_MP = false }; if (isServer) then { T_Server = true; if (!(isNull player)) then { T_Client = true }; T_INIT = true; } else { T_Client = true; if (isNull player) then { T_JIP = true; [] spawn { waitUntil { !(isNull player) }; T_INIT = true }; } else { T_INIT = true; }; }; waitUntil {initCTBdone}; if (T_Client) then {[] execVM "client\initPlayer.sqf"}; if (T_JIP) then {[] execVM "client\initJIP.sqf"}; //flagList = []; if (isServer) then {[] execVM "server\initServer.sqf"}; waitUntil {(count flagList) > 0}; revealList = flagList; initsqfDone = true; // Game parameters attackingSide = east; defendingSide = west; //Mission name (appears in intro screen) CTBMissionName = "Capture The Base\nAirport"; //Time before dead corpses removal corpse_decay = 40; // how long to take a base for a single person flagCaptureTime = paramsArray select 1; //max distance for base taking flagMaxDistance = 130; //max range from chosen spawn point players can respawn spawnMaxRange = 20; //Max range for friendly tags tagMaxRange = 420; //Time between respawn waves spawnDelay = paramsArray select 0; //Static list of bases, in order of taking flagList = [fa1,fa6,fa2,fa3,fa4,fa5]; //Base that attackers need to take to win winFlag = fa2; // Arrays and other definitions //classes list spawnClasses = ["Soldier", "Medic", "Engineer", "Recon", "SpecOps", "Crewman"]; // Roles list within each class // var Name : __roles // type : Array of array // description : contains the list of sub-roles each class has // each element of the list is an array of : [ , , , ] // Role name (string) : the name that appears in the spawn dialog // Role config name (string) : the unit config name as seen in A2 configuration files. It is the type of unit that is created when chosing this role. This type is used for vehicle restrictions checks. // Role description (string) : a Structured Text containing role description as seen in spawn dialog (left panel) // Role maximum units (integer) : indicate the maximum number of allowed players in this role. 0 means unlimited. west_Soldier_roles = [["Grenadier", "USMC_Soldier_GL", "Grenadier.
Abilities :
* Can take objective flags
Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",0],\ ["Light AntiArmor", "USMC_Soldier_AT", "Light Anti Armor.
AT weapon : SMAW.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",2],\ ["Heavy AntiArmor", "USMC_Soldier_HAT", "Heavy Anti Armor.
AT weapon : Javelin.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",1],\ ["Anti Aircraft", "USMC_Soldier_AA", "AA Soldier.

Abilities :
* Can take objective flags
Can gun mounted AA weapons.
Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",2],\ ["Automatic Rifleman", "USMC_Soldier_AR", "Automatic Rifleman - M249.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",0]]; west_Medic_roles = [["Medic", "USMC_Soldier_Medic", "Corpsman.
Abilities:
* Can heal
* Can drive and deploy Mobile HQ
Limitations:
* cannot drive or gun heavy and air vehicles.
* cannot take objective flags",0]]; west_Recon_roles = [["Sniper", "USMC_SoldierS_Sniper", "Basic sniper.
Abilities :
* Ghillie Suit

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1],\ ["Heavy Sniper", "USMC_SoldierS_SniperH", "M107 Sniper
Abilities :
* Ghillie Suit

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1]]; west_SpecOps_roles = [["Saboteur", "FR_R", "Demolition Specialist.
Abilities :
* Explosives

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1]]; west_Engineer_roles = [["Engineer", "USMC_SoldierS_Engineer", "The Engineer - Janitor of The Army
Abilities :
* Can drive support vehicles

Limitations
* Cannot drive or gun heavy and air vehicles
* cannot take objective flags",0]]; west_Crewman_roles = [["Crew", "USMC_Soldier_Crew", "Ground vehicle crew
Abilities :
* Can drive, gun and command armored vehicles.

Limitations
* Cannot drive support vehicles.
* cannot take objective flags",0],\ ["Pilot", "USMC_Soldier_Pilot", "Air vehicle pilot and crewmember
Abilities :
* Can pilot or gun air vehicles.

Limitations
* Cannot drive support vehicles.
* cannot take objective flags",0]]; east_Soldier_roles = [["Grenadier", "RU_Soldier_GL", "Grenadier.
Abilities :
* Can take objective flags
Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",0],\ ["Light AntiArmor", "RU_Soldier_AT", "Light Anti Armor.
AT weapon : RPG-7.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",2],\ ["Heavy AntiArmor", "RU_Soldier_HAT", "Heavy Anti Armor.
AT weapon : METIS.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",1],\ ["Anti Aircraft", "RU_Soldier_AA", "AA Soldier.

Abilities :
* Can take objective flags
Can gun mounted AA weapons.
Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",2],\ ["Automatic Rifleman", "RU_Soldier_AR", "Automatic Rifleman.
Abilities :
* Can take objective flags

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles",0]]; east_Medic_roles = [["Medic", "RU_Soldier_Medic", "Corpsman.
Abilities:
* Can heal
* Can drive and deploy Mobile HQ
Limitations:
* cannot drive or gun heavy and air vehicles.
* cannot take objective flags",0]]; east_Recon_roles = [["Sniper", "RU_Soldier_Sniper", "Basic sniper
Abilities :
* Ghillie Suit

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1],\ ["Heavy Sniper", "RU_Soldier_SniperH", "KSVK Sniper
Abilities :
* Ghillie Suit

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1]]; east_SpecOps_roles = [["Saboteur", "RUS_Soldier_Sab", "Demolition Specialist.
Abilities :
* Explosives

Limitations
* Cannot drive or gun heavy and air vehicles
* Cannot drive support vehicles.
* cannot take objective flags",1]]; east_Engineer_roles = [["Engineer", "RU_Soldier2", "The Engineer - Janitor of The Army
Abilities :
* Can drive support vehicles

Limitations
* Cannot drive or gun heavy and air vehicles
* cannot take objective flags",0]]; east_Crewman_roles = [["Crew", "RU_Soldier_Crew", "Ground vehicle crew
Abilities :
* Can drive, gun and command armored vehicles.

Limitations
* Cannot drive support vehicles.
* cannot take objective flags",0],\ ["Pilot", "RU_Soldier_Pilot", "Air vehicle pilot and crewmember
Abilities :
* Can pilot or gun air vehicles.

Limitations
* Cannot drive support vehicles.
* cannot take objective flags",0]]; // Vehicle permissions descriptions // 1 entry per vehicle type // Var name : vehiclePermissions_ - where is the A2 config file name for the vehicle type // Array of Arrays // description : contains the allowed classes for each available positions in the vehicle // each element of the array is an array of : [, ] // position (string) : position in vehicle, as in A2 "getIn..." commands // allowed classes (array) : list of config file names of units allowed to use said position. Children of listed classes will be allowed in position vehiclePermissions_LAV25 = [["commander", ["USMC_Soldier_Crew"]], ["gunner", ["USMC_Soldier_Crew"]], ["driver", ["USMC_Soldier_Crew"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_HMMWV_Avenger = [["gunner", ["USMC_Soldier_Crew", "USMC_Soldier_AA"]], ["driver", ["soldierWB"]], ["cargo", ["SoldierWB"]]]; vehiclePermissions_LAV25_HQ = [["commander", ["USMC_Soldier_Medic"]], ["gunner", ["USMC_Soldier_Medic"]], ["driver",["USMC_Soldier_Medic"]], ["cargo",["USMC_Soldier_Medic"]]]; vehiclePermissions_M1A2_TUSK_MG = [["commander", ["USMC_Soldier_Crew"]], ["gunner", ["USMC_Soldier_Crew"]], ["driver", ["USMC_Soldier_Crew"]], ["cargo", ["USMC_Soldier_Crew"]]]; vehiclePermissions_AH1Z = [["commander", ["USMC_Soldier_Pilot"]], ["gunner", ["USMC_Soldier_Pilot"]], ["driver", ["USMC_Soldier_Pilot"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_MH60S = [["commander", ["USMC_Soldier_Pilot"]], ["gunner", ["USMC_Soldier_Pilot"]], ["driver", ["USMC_Soldier_Pilot"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_WarfareSupplyTruck_USMC = [["driver", ["USMC_SoldierS_Engineer"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_MtvrRepair = [["driver", ["USMC_SoldierS_Engineer"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_WarfareReammoTruck_USMC = [["driver", ["USMC_SoldierS_Engineer"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_A10 = [["commander", ["USMC_Soldier_Pilot"]], ["gunner", ["USMC_Soldier_Pilot"]], ["driver", ["USMC_Soldier_Pilot"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_UH1Y = [["commander", ["USMC_Soldier_Pilot"]], ["gunner", ["USMC_Soldier_Pilot"]], ["driver", ["USMC_Soldier_Pilot"]], ["cargo", ["soldierWB"]]]; vehiclePermissions_HMMWV = [["driver", ["soldierWB"]], ["cargo", ["SoldierWB"]]]; vehiclePermissions_BTR90 = [["commander", ["RU_Soldier_Crew"]], ["gunner", ["RU_Soldier_Crew"]], ["driver", ["RU_Soldier_Crew"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_BMP3 = [["commander", ["RU_Soldier_Crew"]], ["gunner", ["RU_Soldier_Crew"]], ["driver", ["RU_Soldier_Crew"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_2S6M_Tunguska = [["gunner", ["RU_Soldier_Crew", "RU_Soldier_AA"]], ["driver", ["RU_Soldier_Crew"]], ["cargo", ["SoldierEB"]]]; vehiclePermissions_BTR90_HQ = [["commander", ["RU_Soldier_Medic"]], ["gunner", ["RU_Soldier_Medic"]], ["driver",["RU_Soldier_Medic"]], ["cargo",["RU_Soldier_Medic"]]]; vehiclePermissions_ZSU_INS = [["gunner", ["RU_Soldier_Crew", "RU_Soldier_AA"]], ["driver", ["RU_Soldier_Crew"]], ["cargo", ["SoldierEB"]]]; vehiclePermissions_T90 = [["commander", ["RU_Soldier_Crew"]], ["gunner", ["RU_Soldier_Crew"]], ["driver", ["RU_Soldier_Crew"]], ["cargo", ["RU_Soldier_Crew"]]]; vehiclePermissions_Mi24_V = [["commander", ["RU_Soldier_Pilot"]], ["gunner", ["RU_Soldier_Pilot"]], ["driver", ["RU_Soldier_Pilot"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_Mi17_rockets_RU = [["commander", ["RU_Soldier_Pilot"]], ["gunner", ["RU_Soldier_Pilot"]], ["driver", ["RU_Soldier_Pilot"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_WarfareSupplyTruck_RU = [["driver", ["RU_Soldier2"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_KamazRepair = [["driver", ["RU_Soldier2"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_WarfareReammoTruck_RU = [["driver", ["RU_Soldier2"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_UAZ_RU = [["driver", ["soldierEB"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_Kamaz = [["driver", ["RU_Soldier2"]], ["cargo", ["soldierEB"]]]; vehiclePermissions_SU39 = [["commander", ["RU_Soldier_Pilot"]], ["gunner", ["RU_Soldier_Pilot"]], ["driver", ["RU_Soldier_Pilot"]], ["cargo", ["soldierEB"]]]; //////////////////////////////////////////////////////////// // Some internal variable definitions, do not change westRolesCount = []; westRoles = []; eastRolesCount = []; eastRoles = []; CTBroles = []; { _tmpWRoles = []; _tmpERoles = []; _class = _x; call compile format ["_tmpWRoles = west_%1_roles", _x]; call compile format ["_tmpERoles = east_%1_roles", _x]; { // westRoles = westRoles + [_x select 1]; // countSet method better than append westRoles set [(count westRoles) , _x select 1]; } forEach _tmpWRoles; { // eastRoles = eastRoles + [_x select 1]; eastRoles set [(count eastRoles) , _x select 1]; } forEach _tmpERoles; } forEach spawnClasses; ///////////////////////////////////////// // Sickboy (CBA) Hash method implementation { _side = _x; _tmpArray = []; { _class = _x; _tmpRoles = []; call compile format ["_tmpRoles = %1_%2_roles", _side, _class]; _tmpArray set [spawnClasses find _class, _tmpRoles]; } forEach spawnClasses; CTBroles set [sides find _side, _tmpArray]; } forEach sides; initCTBdone = true; version=11; class Mission { addOns[]= { "cacharacters2", "chernarus", "arma2_ka52", "ca_modules_functions", "cawheeled2_m998a2_avenger", "CATracked2_BMP3", "camisc3", "CAWheeled2_LAV25", "CATracked", "CAAir2_UH1Y", "warfare2", "CAWheeled2_MTVR", "warfarebuildings", "CAWheeled", "cadata", "CATracked2_T90", "CATracked2_2S6M_Tunguska", "CAWheeled2_BTR90", "CAWheeled2_Kamaz", "CAAir2", "CAMisc", "CAAir", "CAA10", "ca_air2_su25", "CAWeapons_ZU23" }; addOnsAuto[]= { "cacharacters2", "ca_modules_functions", "CAWheeled2_LAV25", "CATracked", "warfare2", "CAWheeled2_MTVR", "camisc3", "CATracked2_T90", "CAWheeled2_BTR90", "CAWheeled2_Kamaz", "warfarebuildings", "caair", "CAAir2_UH1Y", "CAWheeled", "CAA10", "CATracked2_BMP3", "ca_air2_su25", "CAWeapons_ZU23", "chernarus" }; randomSeed=9706788; class Intel { briefingName="CTB Airport Beta06 RC11"; resistanceWest=0; startWeather=0.84900391; startFog=0.025215166; forecastWeather=0.094317913; forecastFog=0.020668883; year=2010; month=4; day=1; hour=11; minute=10; }; class Groups { items=36; class Item0 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11615.399,168.98755,12442.237}; id=2; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item1 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11615.51,168.99232,12438.763}; id=1; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item2 { side="LOGIC"; class Vehicles { items=1; class Item0 { position[]={5393.1362,298.64661,10773.254}; id=3; side="LOGIC"; vehicle="FunctionsManager"; leader=1; skill=0.60000002; }; }; }; class Item3 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11611.647,168.98694,12438.938}; id=0; side="WEST"; vehicle="USMC_Soldier"; player="PLAYER COMMANDER"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item4 { side="LOGIC"; class Vehicles { items=1; class Item0 { position[]={4500.1621,339,10205.834}; id=17; side="LOGIC"; vehicle="Logic"; leader=1; skill=0.60000002; text="middleGround"; }; }; }; class Item5 { side="CIV"; class Vehicles { items=1; class Item0 { position[]={-4619.7227,378.80798,15806.041}; id=18; side="CIV"; vehicle="Citizen1"; leader=1; skill=0.60000002; text="Speaker"; description="Game Speaker"; }; }; }; class Item6 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11615.172,168.99655,12449.741}; id=21; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item7 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11615.282,168.99207,12446.267}; id=20; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item8 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11611.42,168.98715,12446.442}; id=19; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item9 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11615.021,169,12458.001}; id=24; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item10 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11615.132,169,12454.526}; id=23; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item11 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11611.269,168.99797,12454.702}; id=22; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item12 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11622.523,168.99675,12442.54}; id=27; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item13 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11622.634,168.99684,12439.066}; id=26; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item14 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11618.772,168.99435,12439.241}; id=25; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item15 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11621.613,169.00548,12450.421}; id=30; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item16 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11621.724,169.00157,12446.948}; id=29; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item17 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11617.862,168.99664,12447.123}; id=28; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item18 { side="WEST"; class Vehicles { items=1; class Item0 { position[]={11621.648,169.00801,12455.209}; id=31; side="WEST"; vehicle="USMC_Soldier"; player="PLAY CDG"; leader=1; skill=0.60000002; }; }; }; class Item19 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4917.7554,5.6986599,2220.1003}; id=32; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item20 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4919.7769,5.698843,2220.0867}; id=33; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item21 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4917.6831,5.7243376,2218.1746}; id=34; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item22 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4919.8647,5.7253537,2218.0984}; id=35; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item23 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4921.9761,5.6710081,2220.198}; id=36; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item24 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4923.9976,5.644238,2220.1843}; id=37; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item25 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4921.9038,5.69765,2218.2722}; id=38; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item26 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4924.0854,5.6695766,2218.196}; id=39; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item27 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4917.6909,5.7414217,2216.8933}; id=40; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item28 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4919.7104,5.7416048,2216.8796}; id=41; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item29 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4917.6167,5.7670989,2214.9675}; id=42; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item30 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4919.8003,5.7681122,2214.8914}; id=43; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item31 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4922.1401,5.7115536,2216.9929}; id=44; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item32 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4924.1597,5.6848388,2216.9773}; id=45; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item33 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4922.0659,5.7382174,2215.0671}; id=46; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item34 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={4924.2495,5.7101192,2214.991}; id=47; side="EAST"; vehicle="RU_Soldier"; player="PLAY CDG"; leader=1; rank="CORPORAL"; skill=0.60000002; }; }; }; class Item35 { side="LOGIC"; class Vehicles { items=1; class Item0 { position[]={4996.8413,349.23203,8857.8623}; id=54; side="LOGIC"; vehicle="Logic"; leader=1; skill=0.60000002; text="camIntro"; }; }; }; }; class Vehicles { items=41; class Item0 { position[]={12134.861,158.90131,12667.599}; azimut=18.179001; id=4; side="EMPTY"; vehicle="LAV25"; skill=0.60000002; text="l1"; init="nul = [this, 160] execVM ""common\vehicleInit.sqf"""; }; class Item1 { position[]={12154.317,158.9639,12660.475}; azimut=18.179001; id=5; side="EMPTY"; vehicle="M1A2_TUSK_MG"; skill=0.60000002; init="nul = [this, 320] execVM ""common\vehicleInit.sqf"""; }; class Item2 { position[]={12115.513,158.9929,12674.468}; azimut=18.179001; id=6; side="EMPTY"; vehicle="LAV25_HQ"; skill=0.60000002; text="w_MHQ_1"; init="nul = [this, 120] execVM ""common\vehicleInit.sqf""; nul = [this, ""west""] execVM ""common\initHQ.sqf"""; }; class Item3 { position[]={12099.318,159,12680.781}; azimut=18.178988; id=7; side="EMPTY"; vehicle="WarfareReammoTruck_USMC"; skill=0.60000002; init="nul = [this, 60] execVM ""common\vehicleInit.sqf""; nul = [this, ""west""] execVM ""common\initAmmo.sqf"""; }; class Item4 { position[]={12086.997,158.84476,12684.178}; azimut=18.178988; id=8; side="EMPTY"; vehicle="MtvrRepair"; skill=0.60000002; init="nul = [this, 60] execVM ""common\vehicleInit.sqf"""; }; class Item5 { position[]={4811.8647,339,10283.683}; azimut=125.256; id=9; side="EMPTY"; vehicle="FlagCarrierCDF"; skill=0.60000002; text="fa2"; init="nul = [this, [fa1, fa3, fa4, fa6], ""west"", ""flag_zone1_1""] execVM ""server\flagInit.sqf"""; }; class Item6 { position[]={4810.5073,339,10283.931}; azimut=125.25635; id=10; side="EMPTY"; vehicle="Land_fortified_nest_big"; skill=0.60000002; }; class Item7 { position[]={4582.8232,338.98001,9633.3643}; azimut=17.788799; id=11; side="EMPTY"; vehicle="FlagCarrierCDF"; skill=0.60000002; text="fa3"; init="nul = [this, [fa2, fa4], ""west"", ""flag_zone1_2"", true] execVM ""server\flagInit.sqf"""; }; class Item8 { position[]={4582.9883,338.98001,9631.9971}; azimut=17.788786; id=12; side="EMPTY"; vehicle="Land_fortified_nest_big"; skill=0.60000002; }; class Item9 { position[]={6081.1704,267.43732,10379.516}; azimut=104.58; id=13; side="EMPTY"; vehicle="FlagCarrierCDF"; skill=0.60000002; text="fa1"; init="nul = [this, [fa2, fa6], ""west"", ""flag_zone1""] execVM ""server\flagInit.sqf"""; }; class Item10 { position[]={6079.811,267.3598,10379.271}; azimut=104.57971; id=14; side="EMPTY"; vehicle="Land_fortified_nest_big"; skill=0.60000002; }; class Item11 { position[]={3842.7058,310.98999,8929.292}; azimut=29.117275; id=15; side="EMPTY"; vehicle="FlagCarrierCDF"; skill=0.60000002; text="fa4"; init="nul = [this, [fa3, fa5, fa2], ""none"", ""flag_zone1_3""] execVM ""server\flagInit.sqf"""; }; class Item12 { position[]={3842.5999,310.98999,8927.917}; azimut=29.117275; id=16; side="EMPTY"; vehicle="Land_fortified_nest_big"; skill=0.60000002; }; class Item13 { position[]={4694.6519,8.9046383,2550.2329}; azimut=-144.506; id=48; side="EMPTY"; vehicle="T90"; leader=1; skill=0.60000002; init="nul = [this, 320] execVM ""common\vehicleInit.sqf"""; }; class Item14 { position[]={4727.3291,8.9792871,2534.2236}; azimut=-150.217; id=49; side="EMPTY"; vehicle="BTR90"; leader=1; skill=0.60000002; init="nul = [this, 160] execVM ""common\vehicleInit.sqf"""; }; class Item15 { position[]={4716.5127,9,2539.5339}; azimut=-141.752; id=50; side="EMPTY"; vehicle="BTR90_HQ"; leader=1; skill=0.60000002; text="e_MHQ_1"; init="nul = [this, 120] execVM ""common\vehicleInit.sqf""; nul = [this, ""east""] execVM ""common\initHQ.sqf"""; }; class Item16 { position[]={4729.5942,8.9612608,2555.5117}; azimut=-143.41792; id=51; side="EMPTY"; vehicle="WarfareReammoTruck_RU"; leader=1; skill=0.60000002; init="nul = [this, 60] execVM ""common\vehicleInit.sqf""; nul = [this, ""east""] execVM ""common\initAmmo.sqf"""; }; class Item17 { position[]={4735.6343,9,2552.8604}; azimut=-504.30399; id=52; side="EMPTY"; vehicle="KamazRepair"; leader=1; skill=0.60000002; init="nul = [this, 60] execVM ""common\vehicleInit.sqf"""; }; class Item18 { position[]={6048.5249,266.99332,10401.015}; azimut=-262.63205; id=53; side="EMPTY"; vehicle="CDF_WarfareBHeavyFactory"; skill=0.60000002; text="fac1_7"; init="nul = [this] execVM ""common\initFactory.sqf"""; }; class Item19 { position[]={3088.4639,298.97806,8026.6089}; id=55; side="EMPTY"; vehicle="FlagCarrierCDF"; skill=0.60000002; text="fa5"; init="nul = [this, [fa4], ""east"", ""flag_zone1_3_1""] execVM ""server\flagInit.sqf"""; }; class Item20 { position[]={3089.04,298.97952,8025.3579}; id=56; side="EMPTY"; vehicle="Land_fortified_nest_big"; skill=0.60000002; }; class Item21 { position[]={3144.7676,299.082,7959.2246}; azimut=-236.26561; id=57; side="EMPTY"; vehicle="CDF_WarfareBHeavyFactory"; skill=0.60000002; text="fac1_7_1"; init="nul = [this] execVM ""common\initFactory.sqf"""; }; class Item22 { position[]={3112.4568,298.99167,7954.5825}; azimut=35.334267; id=58; side="EMPTY"; vehicle="Mi17_rockets_RU"; skill=0.60000002; init="nul = [this, 200] execVM ""common\vehicleInit.sqf"""; }; class Item23 { position[]={6009.8311,266.9866,10409.526}; azimut=210.07018; id=59; side="EMPTY"; vehicle="UH1Y"; skill=0.60000002; init="nul = [this, 240] execVM ""common\vehicleInit.sqf"""; }; class Item24 { position[]={12159.236,158.99123,12638.157}; azimut=200.63901; id=60; side="EMPTY"; vehicle="HMMWV"; skill=0.60000002; init="nul = [this, 30] execVM ""common\vehicleInit.sqf"""; }; class Item25 { position[]={4709.1865,9,2544.449}; azimut=-145.423; id=61; side="EMPTY"; vehicle="ZSU_INS"; skill=0.60000002; init="nul = [this, 160] execVM ""common\vehicleInit.sqf"""; }; class Item26 { position[]={4741.2285,8.9207973,2524.7114}; azimut=-149.37325; id=62; side="EMPTY"; vehicle="UAZ_RU"; leader=1; skill=0.60000002; init="nul = [this, 60] execVM ""common\vehicleInit.sqf"""; }; class Item27 { position[]={4738.2939,8.9371395,2526.4199}; azimut=-149.37325; id=63; side="EMPTY"; vehicle="UAZ_RU"; leader=1; skill=0.60000002; init="nul = [this, 60] execVM ""common\vehicleInit.sqf"""; }; class Item28 { position[]={4741.5498,9,2548.3159}; azimut=575.56201; id=64; side="EMPTY"; vehicle="Kamaz"; skill=0.60000002; init="nul = [this, 60] execVM ""common\vehicleInit.sqf""; nul = [this, ""east""] execVM ""common\initUtility.sqf"""; }; class Item29 { position[]={12083.079,158.8,12667.756}; azimut=381.94061; id=65; side="EMPTY"; vehicle="WarfareSupplyTruck_USMC"; skill=0.60000002; init="nul = [this, 120] execVM ""common\vehicleInit.sqf""; nul = [this, ""west""] execVM ""common\initUtility.sqf"""; }; class Item30 { position[]={12457.942,158.9895,12585.344}; azimut=288.935; id=66; side="EMPTY"; vehicle="A10"; skill=0.60000002; init="nul = [this, 320] execVM ""common\vehicleInit.sqf"""; }; class Item31 { position[]={12124.83,158.95299,12671.474}; azimut=18.179001; id=67; side="EMPTY"; vehicle="LAV25"; skill=0.60000002; text="l1_1"; init="nul = [this, 160] execVM ""common\vehicleInit.sqf"""; }; class Item32 { position[]={4181.2573,339,10858.017}; azimut=152.577; id=68; side="EMPTY"; vehicle="A10"; skill=0.60000002; init="nul = [this, 320] execVM ""common\vehicleInit.sqf"""; }; class Item33 { position[]={4738.4282,339,10287.395}; azimut=-298.80612; id=69; side="EMPTY"; vehicle="HMMWV"; skill=0.60000002; init="nul = [this, 30] execVM ""common\vehicleInit.sqf"""; }; class Item34 { position[]={4733.7754,8.9520292,2529.8218}; azimut=-150.217; id=70; side="EMPTY"; vehicle="BMP3"; leader=1; skill=0.60000002; init="nul = [this, 260] execVM ""common\vehicleInit.sqf"""; }; class Item35 { position[]={4638.6714,9,2558.4382}; azimut=120; id=71; side="EMPTY"; vehicle="Su39"; skill=0.60000002; init="nul = [this, 220] execVM ""common\vehicleInit.sqf"""; }; class Item36 { position[]={4697.4492,339,10259.916}; azimut=220; id=72; side="EMPTY"; vehicle="ZU23_Ins"; skill=0.60000002; }; class Item37 { position[]={4693.0171,339,10254.459}; azimut=225.72302; id=73; side="EMPTY"; vehicle="Land_fort_artillery_nest"; skill=0.60000002; }; class Item38 { position[]={4703.4951,339,10267.101}; azimut=31.529104; id=74; side="EMPTY"; vehicle="Land_fort_artillery_nest"; skill=0.60000002; }; class Item39 { position[]={4551.9927,338.99933,10758.534}; azimut=125.256; id=75; side="EMPTY"; vehicle="FlagCarrierCDF"; skill=0.60000002; text="fa6"; init="nul = [this, [fa1, fa2], ""west"", ""flag_zone1_1_1"", true] execVM ""server\flagInit.sqf"""; }; class Item40 { position[]={4550.6353,338.9975,10758.782}; azimut=125.25635; id=76; side="EMPTY"; vehicle="Land_fortified_nest_big"; skill=0.60000002; }; }; class Markers { items=12; class Item0 { position[]={-11048.937,485.68671,16377.837}; name="trashMarker"; type="Empty"; }; class Item1 { position[]={12225.637,158.72646,12729.104}; name="respawn_west"; markerType="RECTANGLE"; type="Empty"; colorName="ColorRed"; a=20; b=20; angle=-72.732399; }; class Item2 { position[]={6074.5894,266.95709,10365.935}; name="flag_zone1"; text="West Main Base"; type="mil_flag"; }; class Item3 { position[]={4800.5894,339,10300.133}; name="flag_zone1_1"; text="Airport"; type="mil_flag"; }; class Item4 { position[]={4579.2676,338.98767,9629.2881}; name="flag_zone1_2"; text="Outpost"; type="mil_flag"; }; class Item5 { position[]={3829.4758,310.98999,8930.6279}; name="flag_zone1_3"; text="Vybor"; type="mil_flag"; }; class Item6 { position[]={12305.381,150.91704,12812.455}; name="no_east"; text="EAST FORBIDDEN"; markerType="ELLIPSE"; type="Empty"; colorName="ColorBlue"; fillName="Cross"; a=2000; b=2000; }; class Item7 { position[]={12124.764,158.98691,12698.48}; name="west_backSpawn"; text="West BackSpawn"; type="mil_flag"; colorName="ColorBlue"; }; class Item8 { position[]={4835.6587,5.4335146,2113.6958}; name="no_west"; text="West FORBIDDEN"; markerType="ELLIPSE"; type="Empty"; colorName="ColorRed"; fillName="Cross"; a=2000; b=2000; }; class Item9 { position[]={4641.5884,9,2511.5361}; name="east_backSpawn"; text="East BackSpawn"; type="mil_flag"; colorName="ColorRed"; }; class Item10 { position[]={3076.2549,298.97809,8021.3394}; name="flag_zone1_3_1"; text="Putoshka"; type="mil_flag"; }; class Item11 { position[]={4562.645,339,10766.275}; name="flag_zone1_1_1"; text="Airport Depot"; type="mil_flag"; }; }; class Sensors { items=10; class Item0 { position[]={5012.9058,301.35422,10919.398}; timeoutMin=1; timeoutMid=1; timeoutMax=1; interruptable=1; age="UNKNOWN"; expCond="!(isNull player) && (local player) &&(initPlayerDone)&&sceneriesDone"; class Effects { }; }; class Item1 { position[]={12314.748,150.53688,12829.744}; a=2000; b=2000; activationBy="EAST"; repeating=1; interruptable=1; age="UNKNOWN"; expActiv="{_x setDamage 1} forEach thislist"; class Effects { }; }; class Item2 { position[]={5073.6226,287.20331,10995.479}; timeoutMin=3; timeoutMid=3; timeoutMax=3; interruptable=1; type="END2"; age="UNKNOWN"; expCond="noTimeLeft"; expActiv="forceEnd"; class Effects { }; }; class Item3 { position[]={4992.9585,290.85471,11014.358}; timeoutMin=3; timeoutMid=3; timeoutMax=3; interruptable=1; type="END1"; age="UNKNOWN"; expCond="(winFlag getVariable ""flagOwner"") == str(attackingSide)"; expActiv="forceEnd"; class Effects { }; }; class Item4 { position[]={4819.4282,4.3205404,2074.9771}; a=2000; b=2000; activationBy="WEST"; repeating=1; interruptable=1; age="UNKNOWN"; expActiv="{_x setDamage 1} forEach thislist"; class Effects { }; }; class Item5 { position[]={12123.686,159,12652.417}; angle=-71.820915; rectangular=1; activationBy="ANY"; repeating=1; interruptable=1; age="UNKNOWN"; name="westVehiclePool"; class Effects { }; }; class Item6 { position[]={4702.7314,9,2572.1389}; a=30; b=80; angle=121.91495; rectangular=1; activationBy="ANY"; repeating=1; interruptable=1; age="UNKNOWN"; name="eastVehiclePool"; class Effects { }; }; class Item7 { position[]={4413.7505,339,10783.715}; interruptable=1; age="UNKNOWN"; expCond="true"; expActiv="nul = [] execVM ""client\introCam.sqf"""; class Effects { track="Track11_Large_Scale_Assault"; }; }; class Item8 { position[]={4920.8901,5.7233243,2217.3601}; a=20; b=20; activationBy="EAST"; repeating=1; interruptable=1; age="UNKNOWN"; name="EastSlots"; expActiv="eastBaseUnits = thislist"; class Effects { }; }; class Item9 { position[]={11616.418,168.99663,12448.549}; a=20; b=20; activationBy="WEST"; repeating=1; interruptable=1; age="UNKNOWN"; name="WestSlots"; expActiv="westBaseUnits = thislist"; class Effects { }; }; }; }; class Intro { addOns[]= { "chernarus" }; addOnsAuto[]= { "chernarus" }; randomSeed=2863777; class Intel { startWeather=0.25; forecastWeather=0.25; year=2008; month=10; day=11; hour=9; minute=20; }; }; class OutroWin { addOns[]= { "chernarus" }; addOnsAuto[]= { "chernarus" }; randomSeed=10392273; class Intel { startWeather=0.25; forecastWeather=0.25; year=2008; month=10; day=11; hour=9; minute=20; }; }; class OutroLoose { addOns[]= { "chernarus" }; addOnsAuto[]= { "chernarus" }; randomSeed=9869509; class Intel { startWeather=0.25; forecastWeather=0.25; year=2008; month=10; day=11; hour=9; minute=20; }; }; diag_log "Executing respawner.sqf"; /*_g = group player; aP = player; [aP] joinSilent grpNull; _type = _this select 0; _spawnIndex = _this select 2; _spawnPos = spawnsList select _spawnIndex; diag_log _type; _type createUnit [position player, _g, "tmpUnit = this; this addEventHandler [""killed"", {nul = [playerSide, 0] execVM ""loadSpawnDialog.sqf"";}]"]; selectPlayer tmpUnit; //[aP] joinSilent grpNull; [player] joinSilent grpNull; removeAllWeapons aP; //player setPos getMarkerPos "west_spawnplace"; */ // Using Sickboy switching method instead of my own waitUntil {!(isNull player)}; _type = _this select 0; _spawnIndex = _this select 2; _cam = _this select 3; _spawnPos = spawnsList select _spawnIndex; _newPos = [(_spawnPos select 0) + (random spawnMaxRange), (_spawnPos select 1) + (random spawnMaxRange), 0]; //waitUntil {spawnTick == 0}; nul = [_type, "LEAVEWEAPS", _newPos] execVM "switchCharacter.sqf"; sleep 1; // issue #3956 : briefing notes not appearing : briefing is reset when switch character. Need re-execution of briefing.sqf [] execVM "briefing.sqf"; //_cam = uinamespace getVariable "Whis_SpawnCam"; camDestroy _cam; player cameraEffect ["terminate","back"]; uinamespace setVariable ["Whis_SpawnCam", nil]; //sleep 30; //aP setPos getMarkerPos "trashMarker"; //deleteVehicle aP;GGATCGVAGGATCXAMGGATGALFGGATSFFO@@I$IYUUU1YUUUͶmۅYUU#-ڙ}YUPPPm۶YUU)Ͷm[YU#۵ YUTTTKmcYU#۵ YUTTTmc/YU:ȶم-YUPPT m[cYUl]۱ YUTTT8ҶmFYUUEVDYUU 6bkhY@@.YNP9iY ۉ͠YTTP;I$YUU#3%YA@@#vՈrY m۱YUUI$ãYUU@I$I$YUUUT#vՈrY m۱YUUI$ãYUU@Ffr8YO$) `YTU+m `YUU@I$IYUUUI$oYUU\6bFcYH$I$YTUUUOmYUUvٶmY@@UUcmYUUipYUUٶmYAUU%dmY@UUt ζmY@AUUrUmYUU[gI$YUU9ʶmYTU-H$I$YTUUUrUmYUU[gI$YUU9ʶmYTU.a{Y7꼬YY@PŎ%N$Y@PUcmYUU^̰m[Y@k E]y8ƪI ɘ$YU ۶mYTTUUVi;6jcY2cشmY@@PT/m%6c1U %!5 Ie)U#I۪E)U% ,E)U!3",f)U  ۵E)UTTTI$ɒ E)UUEE۰mE)UTTEI"$E)U@I$x҄E)UUP I$p28E)UUP@ I&IE)UPm[BfE)U@6jvE)UI:4E)U@h#E)UP m^E)U*$Le)UImxvE)UIxE)U"& `E)U$٩E)U@mۀE)UUPPIRE)UIPE)U"IE)U]60E)U@DI$4E)UUDDmcE)UIDE)U,E)U@T m`E)UȑE)U@P@+m۶m#8UUU ׽U# j-E)U"-] E)U"e E)U! E)UP,E)U@Pm۶-E)UU%IE)U m-E)U$E)UU"-^"E)U'I5R+E)U@mflE)UAIGU+ֱ׵$ۖT}ٰm{X\\UqcǶmvnU% 59|yhPА<ؑ~v 9G.""p7Ԗ+\v `^Ý}JPoU@@D@@PPPP??]Z@@@@m۶m#)BUUU#?#E))ZJ 3%^k>8o|8 c>5 2R;UKߏ}ڏm׽gtIJΏ_ؽ),Bn#:/w,{8׵ 07{ru0(;'rGO׽! .& 'X;u {{uBBBBn#6b#%)T\\\ H$I$E!TUUU A$I$E)QQUURg;6b%%e}tRgFik[׵!-&'ӜP0 &6+0.BVVӜ!/R|YV~OP (R%""%"$YD)`lԿ˺ϲ@HBCD@@PPPP@]Z@@@2jo%"Tsi}U wTP!mUU.Fob!'51Ͽ|ںB@`PcضI]UI$I(E)UUUDl]K -ZTق [OW_} Mc@@c Mk % DvL [~ Bj%۶m,cTUumm UuömIBfWVpnK ۚ'%UW"AmuUU b=ضmۮsPXUUl۶mBAUUU mE)UUAA3nn#Y'rΏ؏=yPPPP16d] Um۶0zWUI$I$E)UUUQo(ey,U} l<_Uc{aۖUUقmۖPZ_Ucl6`s ,E-E)6 QrzUVn/U `׵`UUbFn6K=u T4_ FsPzn l{!_,rb+E)A{-!{ __ʀm`jW { |Bc iJ:ZV[Mضm0\^UU+b+6hf) %%3IIe)%!"-іE)%!:* **ڬe)PPPP we;c9}ؗ]^R_WI$IbUUUEp ! E)PE)I{IE)E!*%a@e)E)u =شE)PPTP 9$I$E)AUUUbmE)UU"*E)#-6h E)E! ݔ)E)!1Ɗm+VE) !۶ ېpE)E!N$IE)UU$"fl81E):$NRE)P T$Ee)%!#W(}ډѳIgz˷}Dӊ}شmɇ ޙ-6EvadF]HܓK;oCشMmۆk#6bځ![yܜٟtFh> Lٶa,g6"yر=۲ [ am۰9II$ۯذmeVjmk{a:/mca:/m` g,m۶mFkĶm FlͶm 6bkmH$I$ycmvYm7ڵ}۱]S9 mؓ$I$Dvne09II$ۯذmeVjmEn76lSl8ضmpn6`́-۶m Dcm"dذmS9 mؓ$I$ Nl¶mB6n;mߑ ۶mNtԶm vbmBcmD<۶m놆m$I$6o6b TʃmH$I$ =m۶"YUUU:m6YUUE@(YUUUI$38YUUA@ mۆYUUAAom۶a;YUUMQm۱ YUUTT dI$y,YUUAA 'ͮd`YUUCfYU).CeY@Usɞ$YU$rUjYPU -lYU@@T$rUjYPUYI0,>YT@I YUv ؁-YAPPP GcmYUU(m`YTUk; @Yv-ۀ-YPTI$IE)UUU m2 5E)UUI$I2E)UUU m۳,E)UUm"E)UUm۲2E)UU 'm E)UUI$-WE)UUI$M:E)UUP@mۛ(E)UU I$E)UUI$I&E)UU I$v0E)UUI$&/,E)UU LI$I!UUI$;E)UUm$%E)UU I$l$E)UUPP ,E)UUUI$f E)UU md#E)UU#I$|E)UU mۂ;E)UUE)UUPPm6f+E)UUm$!E)UUm$E)UU@@ 6mۆ`UUUdCQ $I$E)UUUX?I&Br,j-۱ 4VT&4@ 4`& 6Equ L6l۶ 80U ؆__Iq z~$I {mGQ " 6@sE)UUU.-"W(€ ذ__ D}m۶mUUU€ f׵Uuib m۶"UeI>C$uUyqRFlFlĚAAA%̿{k I$̋KU mF׵_6d(ނ,YյZ,C>Ӕ%!uI$oaӔBր 䲔#qa(K4{ ۃuWW* 6`ò5Ӕ,Rmۂ5#ȜME)@@PP $ $E)EEEU@v`> +l4R+08\U / LJus79kjVU! !y)Bbˬ()fGCG!tBU{8c!u $U(B"3u@;fa?ӜVwiuU͂ TFaW0,c&"_uZ8{vDU֦ZFc P^'AkʞЈ.Gs;f@ީ؇]׽XPZRFlFlĚAAAADBDHP2_ @C YCx8A ]\McH $I(\@cX 4 ""a̋0s>4 HiגcӔ @ ( UVmFlŲIM$H$E)TUTT +l۶mjJUUU}6b۶mUUU?c`cg[sՓ $OUE)UUU ۲%[WG۳ Ӕ XTVl0(BDeɐ$I<UUUEX$O$WWQ ɝ$UD ?֯s%vbӔ0$BE!UUUohmk!Z $IR13cӜ c !?UUUHl۶mhUmBPf ր AA_ Kem}6b0 T5wh$I$WUU as$Ջ $'sE)EUUUffӜE!UUU^j q_ r5mۯs UU<?0 ?E!UUU mR ۶mۯsKWUU I$I$e)UUU,-L`E)U $E)@UI| yE)UU!y$ E)Ub$E)\VUUm0EE)UUm>$E)UW~k$E)U[=&E)<U@ EE)PU,E)Uvh??t?BR/?.??.?z0U\0UUU(բ005P???t??BRw'w/?.??.?8R``z9bbUv:uvՖ:4peBp^????t?BRw7w/~?.??.?~4UnL7cU`dUj:9:qx??h??t?BR'wתwg /?.? ?.?>f:1 uz<ej$39FU*???t??BR g؈0$0??.Є?ľgffR h"f.7 `.8o? ?Xq1u0Z???`/Rwٻ?" 'fFRh?F+W wwfff~??"`J^Td???`/Rt, g鐠w$0? g Z?Mv1?=77f0[fƺf,E? ??%ޠjd?????`/Rf6G$0P? W"h?:~30?? syfz0J2?fw7f???e1:???`/p/RR w f&H ?'f&f6f&`2?Z?K~5? x~8w4v?? ?1BՈ?????hRJ(wWwGD $2Px'?w'@gw炡gb(@ fT? 7s t?{tU5z???\"ufD???`/TH"w, (0/vvG'wP"('b0gpVffpwf! ~3?pV{`? Wp1750>~f&Ue??? fUP???`/$"wLj"#*!@,'4/dTv0v&搇PGr~`$  (|7șə aadh\anxAGb\ |(DgL 0w j@???.d=WfJF?h?8GjaGcwwXx`wgvgn2a0j z1RZLzwfF~W &/PWB@w fbb 80ZdKF3 01gx  :9;0[??0?d7w0H5 ?? _ M^ (fP50êD U 2WLa/w2Afڑ #xwbA$( 8hr ? ?31 Z9@OH@UR??1ׄ17;@^${'ҏTVbs;@ }8 W#3@o$6 ux? zfVV6 4؁?ON?XVL&???<F??=tx9VcgDae??$PMjEy׀bI>բ.ob+"\ tH[jҋhgT???> VR???a?88.(o {?p :!+ql/`/w? "$&p=J[(?0{ 9\X????ZT??RZSр?? ??4/brN wX??8L[? { ??8d1s$ ﮕGpAɈȻWJ`7L`'W`GvдzKJ&WX ;:?? U p4O?f?#*gԌr? H }ff  d y#.o uf*c؀?|1CL` Zwx63dObXL_XW1fZ]^X<? ???E?8fG'??//Q?w 7s w1T!>f?;.((BwDE*~1p'~ 0A421 ؊dDF\nI0ҏ䈢;D? ?? ?u??HlϪ*8>3 (l6o暐|@?`39^1u ?鄫aAR {f L@/ ?"?5U p??F  ͆:BՒЉ ? {??RԚ+ 5!?fM4>fw>wd`3wf6fvfw咧?~Vy҇V?DŽ2Lh߄??"0Z6h? ? yr$"VTx5U? ;R>.ee2Ѻ/ t w9"t&fv*0w|9竄? WwAP_ z77^??@ ph??X6Ѳ/;3?6f6 1.6}sN "~?cW:TЇpw71 낱l`@ q؍pwP"??UEpU? ?FQ| :DW,c&Ӫ ?/?g& P=2_ gߗ{@6Ԅ?za4o vq52fff>Lwf0F `K;? &F q?wPO?? Urń??TZGgg𗇈N wP\w:6w܏?L0hn 7?Vwhq?`O$Oڒsrnq2:ؚwҁ}( ˆ?7GԈ PS?r!<???U%Ute??tMBW6m1 nWee9?p (?U0??gwTP~ӗ07f6qLÙx/"?P?0Vf.7~?̄>)JT# dOPDz̰r~|3fvZЧw7~?\AT4%Zq?z26? U X\Uu?p3fv@`g,'w5PT~= ?u52ޣg.vЄ?WpwG?GR ?y6Ȗz a#paā?}?rzDp6p?? eUx h??}2FҒ.̇@Ԏ?$f P,offJ/p`;f&Ryu |Hn-fyהHܐj F? f fن?r.~?/?5?? '(T4nGfN`8/.Ӗ R,u ?ZD ه*k΢t!&? w ؈:PGR5cRNp2?@d ?xZ???Ŏh??Gj,ؐӀ?? }ǂG>' f6  3p銥 㒫pl/ 0z?HIhS`qh3Hrfwff x9'?02wtD fz?>??????82tPwdҏ?0 =  !/wL .٤/`;t gp?1BOSTA w.;fpf1>ww1?2 tx_???%??w˄?$6q!@y'8ZS4w ?͆?9&"a|?`9cRn<^w}w5LAw=?#| wu~B215?h""ww3?8x$??????(bwH0ʀw8 l"'Ȓ }z"otȒ/?&H ^uwX ;~?ފ?@f 8wg|3΁Rq~u 9!ޢS$??? pE???thHt0DQ,/? /g/?0.aˊPGb?8?@}0? p BP?`D~b@sꎬ.D؊f???( e??!wf]wWV)/.Ԅ58Pm?&: a wdE > З?<@ zЇatl3?~nE^1xbf&r5? ???U??Pfw'h/ <ܥFXӰ/-2ਈ&ΔbO<"Ն7Ȉ23v>h'w't` 16J`hwWԣz9; s2 ~X ???(u~??ؑ6w f@gd/?fjwBІ?!4?x ZMu&g&  wTɈ! Q=*~uBZ5hhnrw = 0???~Մ??t t pwf(r^??(^R6u/?>DX8"{5Dk.O7@DEu!e䊤ጀ~u.8h|p?? <??: 5~Uh??pfT w{w7:fV'?? s/?&o!wj8y?d Ǫ5Ȁ:e=1 ww?9???t%0U5h? ?oF7[WWfFGPA$ >& ?)t? Ǿw^@f` G0t8Ǭp< qdEv>3aJ!??@? UEh???|w|H0@?0xwB/x*aWwe785^` /??p 1Uh??grЀx w?f&%/Vd'0^@Fpp 722' k?Ի ?~4*Qtu?LZe1f  !h??J'bG:w9= &/,ZggQjp 6@w2 Ҍ@/?ҹFGf3NAwWb~?ˈ2 spк@4eh%e2 ?h??(Ljffƀ:6>ʄ?G TGo:?N0{%"652?? 纇ƈ錣R AgБ/6? r.ppunwDŽw<ԣJv s쨢e\1 Y=u ~5xOsP ?\ Uj$@VzEh?@?Ww|CC> ,4eѼ7uu/df6Z0Bp`rGn"p vװpD. ?Aq3xf/eU@uUE"F^??ߗwwfvUu?,? aBo??1w|":V6;*? 0F1fF*W00fawwnZS?{;vKrs/?%r5h??@@hPdPf6 u??` ت/ƕut|/?oX?⸎,PqÎwgn&N? fy y???p\U%h??D www&&=? ٨/? L窟?%`(9F;/fffZwu7nE5vFf~/??P E h?@?ܰw0-BR:??0p??nd=Ā7Ӊo? zz?ZDd,Qnbf 9#s~??n ?? eീ??7wǙ Ѱ/ȏ??ɪ?0?w ;)Jp迈wwg5v5w z"j??w?ʊeb eU*@~??wGw?7 Fń?&G/dV㦟d&k*ך$"j wfbW z'0|?=3r8Gx?c%* pe? 0ֆ@w,S??4k?LT`Be@/?5s a(oz5 =6JB? sy( }s3tI/pUEUr TnՆpE?`hÂ?X'Dӆ?#͆?8~3s? ?&8c vR?`O pV7 fzwf  5|qh???!4Ѣ=?q? gē/ / ZLwu/o*? ?쎩 v ?<u7 3=??|h?Є?s"|/9(? /<`?? XTLZGDt~xs?@ ??|5?`Sf&F׼/%/ zx9=",~@PAz?`IlGr ?U??2;B4߄?77޼/&r r w"Pru> {|85wׂ??b?y?wUA9n?| (`ŔUu0;??1&a3?;?Zr ޮ/"! f&;wGfV|bZG2f6<̐Q.DxEf1 }? wǢxs ??p6dž?}9~nl f1D)/%`10 xuwh????w?.gwɈwwfWwax>o7sw?2' 03l?✦dN*J҇Шx? `GpX?0 @5;*52e 2,xBtVhB qvth??@?"V`?wfw?t!O66C?b\AJ_?bO / ?hX;F??0fHf3sX4<ҸQq=΁1T vH^qz? &`Cwwp|.Wt oz8$?rv7D |?֋ {xG~خ??????^V׈ |%FQ??d?? /ofwjwD&o?Ј |p?"??2:\Ō7j ?@?Z LEpU%?e!ᄓN"עx@/< ??./JfT"7D? ?OxF?qh_wǎgLp:lTO 爸XhY  uP?H 5eՒb ń?UT%2E??YD2G$*PbWx'&֮8w?`1u?/qB'wXq/(sD`u=13?O?=,fX?o |x h??wWfvPBg~0f2Ҟ$J˄?י|2v?:ި/tzo??L^e??ti`w !(` qWRƔ>fr rp  > h(q g',t?4o,gf8v x/ 2*X?@$sf p  or84Uv h??? %>@'kf&6(f&8F/ ( ? u7ꊩj`vz7P P,V l/`|n f$`uHd<$?t4 ?? .=.:61v8? 1s~=?p/wDOw!Wwsx?1jo ?Nw?(0%  ?Y9iII i;9bEU 1"VU5 ?????????Z" GNk {gZ .1I ) !"./ , YLC(:2 REɞ9F%"ejt ?b@v????????`?Zww ?t?82 ,i^&1'by(aHk? y !,h(~b0 Dn0H 110i> zx xO^O?????????? w?0~5 usG?"?`9aA:?SBJَ6߲ qu?<xa8HBq1Y?D {|%f??????????~2wW0$ѧw ? z? * iй.5>$?hru6QI(*9 2ٜpiY"uf6hxc~ (A&sz|#A)ƴBryh>D`D3fD/h???????? ??W25GGl3w ~H?7?:”t3$>/?~kx 6j4Y q֘ zU_fب2^* 5"wquC)DzT蒰uyns2x9JAyNGdpt2h|fV4h?????????? wx*'wՄ?3>ܧ| ^Q*aH!).94v!$)IdѪZ:/ndw`8&sH?86gTx(i 8 ꬯I)"v2l fl.X&shw b<^fLRI??^//??8????? wwg~0GwwC|? >ܤ?xH׌ uvagRH >a< u42 Z 9&lc:r\w`<9|:|(ps18ƻq>s|wrUvh??????????ofw19;;9 ~g,?6L'"~2f)<ܥgI 2v擌Dv,4x?fwI|5*dwf,p٪ª4ڪڼ*X31َ 5?ijU$dѸelI(U x?&Cz򥪡еPCzh lxuW??????????l9 wwf6h9z?oD4W?ѹb02י9frb|08n ?~d0 = `Мxr鉚I>3? y5lq wU4:yL?????????WwʨW7 78&70  +.njy)t#4yZhagdq4{p7نӪg?fvw.s6I8p`qپ;Yf1fLLh??????????b70l69xn fh׎Q!2 q9Z(g ѩ p>v.z<`)*3??  ff*x=)0IZA@CwVUpw7x\?????/? ??? wxא' ~p??? o?R 34?rebk`p?LLLh???/????V?L q7zw0???.2u;J(j+??N?Ue106xtLʥfp\q4??\u`h LLh???/?????L7w]G'w0(???>7A2蓌yL4?Bv? PNnwUUU=fUfFtf$K?9kujfUL7$L?????/? ???;~e ??6+8)6h748pc7 ei 6?NXαRvUՈf0??????/?? ?? f?W82s?/}꓌>7'$p:J'Nф7DwB7Ɇ? ~s~FwUUu9aH眷x3?JqfUU%nL&h???/?????LTG`r7 *? @k3қ7yb%Щ`vNIȧ$9){E(v՘܄0x`yy39FBf 匢.3iv Et0urpuLh???/?????LpGww?/ *l5eH@Z ? GJ160ƧsوU>2UU%w0Ufw=3fHjlP&$HxwffX)U ~Lh???/?????Lw@??)"3WIR4c`9aE 5q7Xt f2e4PqP xw4EU~>D Lh???/?????L&? deaF28L#J `s=0z!P2|p0!4E4v???^/??8??/P6pu pc*`"16?8TH0!ve0sl nU6??????8???8R %s"U ?95f1E" ??????8???g,??*7V0֕X??(?1u~倠v??????????|ww??" Ep3U??E`0uP?????????? fff&??&0eЊ5:1r0E>0j9U:R{%|1Dl~????????????' pw???2e0ZUT0wpepN ž8`ᵈ|???????????ffwwwG0w?? ?t52Z; ȠT?????????? =q$??5beХfT2"rpu@???j?????????N??9???j?????????N ???????????? www??????????? W????v1~GGATCGVAGGATCXAMGGATGALFGGATSFFO@#3m۶YUUUPTӶmbYUUI$I$YUUUTDmbYUUDm^YUUA@ e/n jY^}رMYPPPTGm۶a;YUU O3o+Y M۵CYTTTI$IRYUUI$K$YUUTT l۶mY@UUP I$IYUUU%m۶YUUUSI$IYUUUKI$I$YUUUTI$I$YUUUQlŶa{k;Y a]۲ [YTTT I$I$YUUUT|m۶mYUUU@I$I$YUUUTI$IYUU/6aHY'1d{Y[OL}YPP_ ۶mY@PUU+߶nFjwYٴ!#vcnY*XzYTڏYPP@Ppm{vcYU"ÉY@@@PvkFb/Y}m{qYP͉?Y@@"a/&9Y6}رYPPPTQn|Y@@6YAvChGY1anXYͩ}ڗ}YPPPP 6n6c3Y`M2aY(@YT=Y@@@PPY2̱]۳ YTTTTVjFhY -۶mYPTUUBlckYُYPP@Pvd|o}Y,2bY-|ځ]Y@PPT:dYPILYN}YP p#iYk؇ Y@@PTQk?ƅY@'k6n6oYJ$=YT@1|Y@#&L$Y@PTUgցm۶mYPUUUbmYUU.H$I$YTUUÜl۶mY@UUUl۶mY@UUUdI$I$YUUUCH$I$YTUUU!j=I$Y@PUH$I$YTUUU I$I$YUUU>m۶mYPUUU92s$YAAAP"m۶a;YUU Ȝر=YPPTT6b۶mYUUUH$I$YTUUUȟ @om۰UTTT a{k#(?@@PImQUH$I$TUUU-m۶a;UUI!l۰mTTTUXm۶m#UUUam۶ 5UU mP?U/3m۱ UUTTkҶm6bUUmہ}UTPPP6nvo}ف]PPPT=I$I$UUU ¶m@UU mFnU '@?o'@m۶a;UU1F< ہ}UTPPK`UUfo"P؏}PPPP<=H$I$TUUU%m۶UUgm UQ@@OT6b۶mUUU _o&?@@@@Ficu}٧PPP@To<۴ PTTTI$I$UUU9@@ ܶm۶m0UUUm۶UUUP?m[U"MؗUPPPJܶm |@P(! ۶m@TUU9Um۶cUUm}U@I$IUUU\ݶmFUU̶ ۟UTPP m6h4UU?Ӷ_TVm۶aUUa5L$ڡ@@P2mVURU@@@^b$vc3 ?@@@@(m۶a;UUevn>@Fo @@$m۶a;UU<@@` "9ۏ@@PPͶmFU:h$I$؏PPP@QI$IUUU%hʟ ?0M۰mPTTT?ڇڿGP@@I$I$UUUTUm۶aUUm6o?@{blqJ؇}PPPP m۶cUUWɑ(a#?-`UoB=@)ضmPUUHH$I$TUUU6c/b#@n&ۯذm@PTUovno{=ہ}TTP@I$IUUU۰mPTTU7c6n0ןy"ȧ@PPaol?@@@@cmUU/Mi; ۶mTTUU&okU9ڳاTPP@ЏAUo9@  ۶mPTUUL~ڧ}PPPPUanl?G@6 ?ٳmPTUI$IUUhس @PTTնcaM@@PT&I$I$UUUot@6j_%ذm@PTUI _@cH$I$TUUUb7b#D?oI$IUUU*mUU@@a{i;55m۶a+UUUUPPFn@@@@>o۵ @PPT am۶a;UU~P@K=۰mTTTTAo P@@H$I$TUUU um&UUAa۶m;UU[ ۶mTTUU)Ķi;6nC<@PH$I$TUUUII$UU@,?ڱ @PTTlo0?ˏ}@@PP6vn6nGF@&?ٶm@PUU_6nvn?! @'P܁-۶mPTUU;m۶e0UU-@l}۶mPTUUG>˴-۶m(TTUk4j$|ӏM@Poo?@@ mHU'@°m@@TU˶i;6n2@+I$I$UUULRm۶mPUUU?{ @P m۶mPUUU6n;eUGmPUtH$I$TUUU/ncU%ٲm@TUжa;c= 5) then { _flag setVariable ["noFacility", _this select 4, false]; }; if !(isServer) exitWith {}; diag_log "I am server, continuing"; _newF = "flagCarrier" createVehicle (position _flag); _newF setDir (getDir _flag); _newF setPos (position _flag); _flag setVariable ["flagLinks", _links, true]; _flag setVariable ["flagOwner", _owner, true]; _flag setVariable ["flagMarker", _marker, true]; _flag setVariable ["flagTakePerc", 0, true]; if (_owner == "east") then { _marker setMarkerColor "colorRed"; _flag setFlagSide friendly; }; if (_owner == "west") then { _marker setMarkerColor "colorBlue"; _flag setFlagSide friendly; }; if (_owner == "none") then { // since 4e87028e no more flag taking, removing takeable flags // _flag setFlagSide defendingSide; _flag setFlagSide friendly; _marker setMarkerColor "colorGreen"; }; _name = format ["%1_distance", _flag];; _marker = createMarker [_name, position _flag]; _marker setMarkerShape "ELLIPSE"; _marker setMarkerSize [flagMaxDistance,flagMaxDistance]; _marker setMarkerBrush "BORDER"; // Line drawing code and idea from Mandoble (aka Genius :) ) & Spooner on OFPEC { _endpos = position _x; _startpos = position _flag; _dist2d = sqrt(((_endpos select 0)-(_startpos select 0))^2+((_endpos select 1)-(_startpos select 1))^2); _ang = ((_endpos select 0)-(_startpos select 0)) atan2 ((_endpos select 1)-(_startpos select 1)); _center = [(_startpos select 0)+sin(_ang)*_dist2d/2,(_startpos select 1)+cos(_ang)*_dist2d/2]; _markerName = format ["newlinemarker_%1", floor(random 1000)]; createMarker [_markerName, _center]; _markerName setMarkerShape "RECTANGLE"; _markerName setMarkerSize [2, _dist2d / 2]; // 4m wide line _markerName setMarkerDir _ang; } forEach _links; onFieldVehicles = []; _tmpGrp = createGroup sideLogic; serverLogic = _tmpGrp createUnit ["LOGIC", [0,0,0], [], 0, "NONE"]; { _side= _x; { _class = _x; _roleList = []; call compile format ["_roleList = %1_%2_roles;", _side, _class]; { serverLogic setVariable [_x, 0, true]; diag_log format ["setting serverside counter for %1 class", _x]; } forEach ([_roleList, 1] call hashListKey); } forEach spawnClasses; } forEach ["west", "east"]; diag_log "Server initiating sceneries generation"; [] execVM "server\sceneries.sqf"; waitUntil {initCTBdone}; diag_log "Starting serverside loops"; [] execVM "server\serverLoop.sqf"; [] execVM "server\spawnLoop.sqf"; [] execVM "server\vehicleLoop.sqf"; [] execVM "server\rolesCheckLoop.sqf"; //vecFSM = [] execFSM "fsm\vehicleLoop.fsm"; "newVehicle" addPublicVariableEventHAndler {if !((_this select 1) in spawnedVehicleList) then {spawnedVehicleList = spawnedVehicleList + [_this select 1]; (_this select 1) setVariable ["lastUsed", -1]};}; _vec = _this select 0; _spawnPos = _vec getVariable "spawnPosition"; _spawnTime = _vec getVariable "spawnTime"; _spawnDir = _vec getVariable "spawnDir"; _HQList = []; switch (str(pSide)) do { case "west" : {_HQList = west_HQlist;}; case "east" : {_HQList = east_HQlist;}; }; if (_vec in _HQList) then {_vec setVariable ["deployed", 0];}; _type = typeOf _vec; //sleep _spawnTime; _newVec = _type createVehicle _spawnPos; _newVec setDir _spawnDir; _newVec setPos _spawnPos; _code = format ["nul = [this, %1] execVM 'common\vehicleInit.sqf'", _spawnTime]; if (_vec in west_HQlist) then { _code = format ["nul = [this, %1] execVM 'common\vehicleInit.sqf';nul = [this, 'west'] execVM 'common\initHQ.sqf'", _spawnTime]; west_HQlist = west_HQlist - [_vec]; publicVariable "west_HQlist"; sleep 2; }; if (_vec in east_HQlist) then { _code = format ["nul = [this, %1] execVM 'common\vehicleInit.sqf';nul = [this, 'east'] execVM 'common\initHQ.sqf'", _spawnTime]; east_HQlist = east_HQlist - [_vec]; publicVariable "east_HQlist"; sleep 2; }; // bug #7737 : trucks are not respawned with their action, lookis like the support tuck init lines are not re-run on spawning new truck // Trying to check for simple existence of isUtility or isAmmo instead of 'true' value // bug was with 'east' parameters instead of checking player's side // Addition : for compatibility with potential future multi-role truck, this variable checking now adds to _code, instead of redefine it _side = "west"; if (_newVec in (list eastVehiclePool)) then {_side = "east";}; if !(isnil {_vec getVariable "isUtility"}) then { _code = _code + ";nul = [this, " + str _side + "] execVM 'common\initUtility.sqf'"; }; if !(isnil {_vec getVariable "isAmmo"}) then { _code = _code + ";nul = [this, " + str _side + "] execVM 'common\initAmmo.sqf'"; }; diag_log format ["Base vehicle %1 respawn at %2", _newVec, position _newVec]; diag_log "attaching init line to vehicle :"; diag_log _code; _newVec setVehicleInit _code; processInitCommands; //[_newVec, _spawnTime] execVM "common\vehicleInit.sqf"; //sleep 300; //deleteVehicle _vec; while {true} do { westRolesCount = []; eastRolesCount = []; { westRolesCount = westRolesCount + [0]; } forEach westRoles; { eastRolesCount = eastRolesCount + [0]; } forEach eastRoles; { if !(isnil {_x getVariable "currentRole"}) then { _index = _x getVariable "currentRole"; _count = westRolesCount select _index; _count = _count + 1; westRolesCount set [_index, _count]; }; } forEach westBaseUnits; { if !(isnil {_x getVariable "currentRole"}) then { _index = _x getVariable "currentRole"; _count = eastRolesCount select _index; _count = _count + 1; eastRolesCount set [_index, _count]; }; } forEach eastBaseUnits; publicVariable "westRolesCount"; publicVariable "eastRolesCount"; sleep 1; };diag_log "Initiating sceneries."; myCompoFarm = [ ["Land_Farm_Cowshed_b",[10.7725,8.14355,0.000106812],273.5,1,0], ["Land_Barn_W_01",[-16.0254,-6.21094,-0.0897369],183.9,1,0], ["Land_Farm_Cowshed_b",[9.46387,-13.2451,0.000106812],273.5,1,0], ["Land_Farm_Cowshed_a",[10.7725,8.14355,9.15527e-005],273.5,1,0], ["Land_seno_balik",[21.6357,14.8818,-0.00445557],0,1,0], ["Land_seno_balik",[23.2129,14.9043,-0.00445557],0,1,0], ["Land_seno_balik",[25.1152,15.126,-0.00360107],0,1,0], ["Land_seno_balik",[26.9971,14.9424,0.0188141],0,1,0], ["Land_Farm_Cowshed_c",[9.46289,-13.2451,1.52588e-005],273.5,1,0], ["Land_Ind_Workshop01_02",[-25.1094,28.8672,0.0176849],3.49989,1,0], ["Land_Shed_W01",[29.3975,33.1426,0.138611],2.49998,1,0], ["Land_Farm_WTower",[-53.0938,-9.74707,0.0799103],73.1019,1,0], ["Land_seno_balik",[-51.9785,11.8926,-0.0997925],318.544,1,0], ["Land_seno_balik",[-42.5557,-34.5771,0.141602],12.8313,1,0], ["Land_houseV_2T1",[-0.0419922,53.9121,-0.0167084],295.5,1,0] ]; myCompoFactory = [ ["Land_Ind_TankSmall2",[5.61035,3.22168,0],19.7631,1,0], ["Land_IndPipe2_Small_ground1",[2.10938,7.16113,0],128.3,1,0], ["Land_A_BuildingWIP",[-13.2754,-7.71875,0.100006],17.4266,1,0], ["Land_IndPipe2_Small_9",[6.34473,12.7354,0],128.3,1,0], ["Land_IndPipe2_SmallL_R",[-7.73535,13.8477,0],38.2998,1,0], ["Land_IndPipe2_SmallL_L",[0.9375,42.0278,0],128.3,1,0], ["Land_IndPipe2_Small_ground2",[-25.541,13.6904,0],275.461,1,0], ["Land_Ind_Workshop01_L",[26.3486,13.5068,0],187.597,1,0], ["Land_IndPipe2_Small_9",[10.6221,29.2822,0],128.3,1,0], ["Land_Misc_GContainer_Big",[-22.5908,22.1626,6.10352e-005],195.788,1,0], ["Land_IndPipe2_SmallL_L",[-10.582,5.9165,0],275.461,1,0], ["Land_Ind_Workshop01_02",[28.623,-20.0259,0],182.014,1,0], ["Land_IndPipe2_Small_ground2",[-5.24805,-35.3452,0],185.461,1,0], ["Land_IndPipe2_Small_9",[-11.6289,-34.6045,0],185.461,1,0], ["Land_IndPipe2_SmallL_R",[-3.57617,30.2686,1.32484],38.2998,1,0], ["Land_IndPipe2_Small_9",[-32.7324,20.0781,0],185.461,1,0], ["Land_IndPipe2_Small_9",[-20.3271,-33.7734,0],185.461,1,0], ["Land_IndPipe2_Small_9",[9.13184,39.9238,0.12822],38.2997,1,0], ["Land_IndPipe2_Small_9",[-42.2061,2.229,0.0418091],275.461,1,0], ["Land_IndPipe2_Small_9",[-41.2695,11.1338,0.073761],275.461,1,0], ["Land_IndPipe2_Small_9",[-43.0381,-6.3667,0],275.461,1,0], ["Land_IndPipe2_Small_9",[-29.0264,-32.9429,0],185.461,1,0], ["Land_IndPipe2_Small_9",[2.42969,45.4956,0],38.2997,1,0], ["Land_IndPipe2_SmallL_R",[-27.2764,35.1274,0],185.461,1,0], ["Land_IndPipe2_Small_9",[-40.541,19.728,0],275.461,1,0], ["Land_IndPipe2_Small_9",[-43.8691,-15.0654,0],275.461,1,0], ["Land_IndPipe2_Small_9",[-39.709,28.4263,0],275.461,1,0], ["Land_IndPipe2_Small_9",[-37.7246,-32.1118,0],185.461,1,0], ["Land_IndPipe2_Small_9",[-44.7012,-23.7637,0],275.461,1,0], ["Land_Misc_GContainer_Big",[-28.5752,-41.6294,0],93.0468,1,0], ["Land_IndPipe2_Small_9",[-4.42773,50.9111,0],38.2997,1,0], ["Land_Ind_Workshop01_box",[-22.0664,-51.8438,0],282.7,1,0], ["Land_IndPipe2_SmallL_R",[-32.2686,-17.062,0],185.461,1,0], ["Land_IndPipe2_Small_9",[-38.877,37.1245,0],275.461,1,0], ["Land_Ind_Workshop01_01",[-20.9629,-52.2495,0],102.72,1,0], ["Land_IndPipe2_Small_9",[-11.2881,56.3257,0],38.2997,1,0], ["Land_Mil_Guardhouse",[5.05664,59.019,-0.0457153],37.9819,1,0], ["Land_IndPipe2_Small_9",[-38.0449,45.8228,0],275.461,1,0], ["Land_Ind_Workshop01_04",[-41.4453,-46.9092,0],189.037,1,0], ["Land_IndPipe2_SmallL_L",[-22.2168,80.2378,0],128.3,1,0], ["Land_IndPipe2_Small_9",[-37.2129,54.521,0],275.461,1,0], ["Land_Misc_PowerStation",[-30.584,61.2524,0],2.25649,1,0], ["Land_IndPipe2_Small_9",[-12.5342,67.4907,0],128.3,1,0], ["Land_Wall_Gate_Ind2B_L",[0.208984,70.9146,-0.320023],221.309,1,0], ["Land_Wall_Gate_Ind2B_R",[0.192383,71.0103,-0.0213318],221.351,1,0], ["Land_IndPipe2_Small_ground2",[-8.45215,72.4502,0],128.3,1,0], ["Land_IndPipe2_Small_9",[-36.3809,63.2192,0],275.461,1,0], ["Land_Ind_TankSmall",[-13.6611,74.7476,0],306.626,1,0], ["Land_IndPipe2_Small_ground1",[-35.8457,70.1992,0],275.461,1,0], ["Land_Ind_TankSmall",[-17.125,77.3667,0],306.529,1,0], ["Land_Ind_TankSmall",[-20.667,79.8921,0],305.934,1,0] ]; _objectComposition = [position newFactory, 0, myCompoFactory] call (compile (preprocessFileLineNumbers "ca\modules\dyno\data\scripts\objectmapper.sqf")); sceneriesDone = true; publicVariable "sceneriesDone";waituntil {BIS_MPF_InitDone}; diag_log "entering serverside flag check loop"; _warning_done = false; while {timeLeft > 0} do { //flags checking loop { _flagSide = _x getVariable "flagOwner"; if (_flagSide == "none") then { _pos = position _x; _attackNumber = [_x, attackingSide] call countSoldiersInZone; _defenseNumber = [_x, defendingSide] call countSoldiersInZone; _flagTakePerc = _x getVariable "flagTakePerc"; _timeSlice = flagCaptureTime / 5; _percUpdate = 100 / _timeSlice; _flagTakePerc = _flagTakePerc + ((0 max (_attackNumber - _defenseNumber)) * _percUpdate); _x setVariable ["flagTakePerc", _flagTakePerc, true]; _x setPos [_pos select 0, _pos select 1, 0 - ( 4.5 * _flagTakePerc / 100)]; if (_flagTakePerc > 100) then { [_x] execVM "server\changeFlagOwner.sqf"; _sentence = format ["%1", attackingSide] + " have taken " + (markerText (_x getVariable "flagMarker")) + "!"; _nic = [speaker, nil, rGlobalChat, _sentence] call RE; }; }; } forEach flagList; if ((!warning_done)&&(timeLeft <= 120)) then { _nic = [nil, nil, rTITLETEXT, "2 minutes warning!", "PLAIN DOWN"] call RE; _warning_done = true; }; sleep 5; }; // Game has ended, defenders win! diag_log "game end by time expired"; _nic = [nil, nil, rTITLETEXT, format ["Game has ended.\n%1 hold their ground long enough,\nand WON!", defendingSide], "PLAIN"] call RE; noTimeLeft = true; publicVariable "noTimeLeft"; //sleep 18; diag_log "Server spawn loop started"; while {true} do { for [{_i = spawnDelay}, {_i >= 0}, {_i = _i - 1}] do { if (((playersNumber west) + (playersNumber east)) > 0) then { timeLeft = timeLeft - 1; spawnTick = _i; }; publicVariable "spawnTick"; publicVariable "timeLeft"; sleep 1; }; }; _reammo = {_v = _this select 0; _mags = _this select 1; {_v removeMagazine _x} forEach magazines _v;{_v addMagazine _x} forEach _mags;}; while {true} do { { [_x] execFSM "fsm\vehicleLoop.fsm"; sleep 0.1; } forEach vehicles; sleep 2; }; private ["_type", "_ar", "_oldUnit", "_newUnit", "_dummyUnit", "_dummyGroup", "_fSelectWeapon"]; _type = _this select 0; _newPos = _this select 2; _oldUnit = player; diag_log format ["starting respawn process for unit %1", name _oldUnit]; removeAllWeapons _oldUnit; //_dummyGroup = group _oldUnit; _dummyGroup = createGroup truePlayerSide; diag_log format ["target group is %1", _dummyGroup]; //_dummyUnit = (_ar select 4) createUnit [_type, [0,0,0], [], 0, "NONE"]; // Join in the old group incase there was only 1 member [_oldUnit] joinSilent grpNull; diag_log format ["Old unit joined grpNull : %1", group _oldUnit]; //player sidechat format["1.Dummy created, State saved and put oldUnit in new group: %1", _dummyGroup]; //_newUnit = _dummyGroup createUnit [_type, _newPos, [], 0, "NONE"]; //_type createUnit [_newPos, _dummyGroup, "if (local this) then {tmpUnit = this}; this addEventHandler [""killed"", {nul = [pSide, 1] execVM ""gui\loadSpawnDialog.sqf"";}]"]; diag_log format ["Creating unit of type %1 in group %2", _type, _dummyGroup]; _newUnit = _dummyGroup createUnit [_type, _newPos, [], 0, "NONE"]; _newUnit addEventHandler ["killed", {nul = [pSide, 1] execVM "gui\loadSpawnDialog.sqf";}]; diag_log format ["New unit created : %1, name %2, its group is %3. it is local : %4", _newUnit, name _newUnit, group _newUnit, local _newUnit]; //_newUnit = tmpUnit; addSwitchableUnit _newUnit; if !(isPlayer _newUnit) then { selectPlayer _newUnit; diag_log format ["player transfered to new unit : %1, name %2, its group is %3.", _newUnit, name _newUnit, group _newUnit]; } else { diag_log "target unit is a Player!!! Can't respawn there!"; hint "target unit is a Player!!! Can't respawn there!"; }; {player reveal _x;} forEach revealList; //Beta 0.4 : keep unit switchable and playable slot (for listing of units tag) //removeSwitchableUnit _newUnit; setPlayable _newUnit; removeSwitchableUnit _oldUnit; //registering to player namespace playerNamespace setVariable ["currentUnit", _newUnit, true]; //player sidechat "5.New Unit joined in original group"; sleep 1; currentGear = magazines player; hasTakenCar = false; if ((paramsArray select 4) == 1) then {aimDotID = _newUnit addAction ["Enable AimDots", "gui\aimDots.sqf", [true], -10, false, true, "", "true"];}; {player reveal _x;} forEach revealList; if (alive _oldUnit) exitWith {cutrsc ["introImage", "plain"];17 cutrsc ["TAWImage", "plain"];}; sleep corpse_decay; deleteVehicle _oldUnit; //hint format ["%1", _this]; _f = _this select 0; _c = _this select 1; _f setFlagOwner _c; hint format ["%1", _f getVariable "flagSide"];_MHQ = _this select 0; _MHQ setVariable ["deployed", 2, true]; sleep 3; _camo = _MHQ getVariable "camo"; deleteVehicle _camo; _MHQ setVariable ["camo", nil, true]; _MHQ setVariable ["deployed", 0, true]; _MHQ setFuel 1; HQDeploy = [_MHQ, str(pSide), false]; publicVariable "HQDeploy"; _script = HQDeploy spawn compile loadFile "client\MHQMarkerUpdate.sqf"; // v0.2 : this looks non functional. More to be done _vec = _this select 0; _spawnPos = _vec getVariable "spawnPosition"; _spawnTime = _vec getVariable "spawnTime"; _spawnDir = _vec getVariable "spawnDir"; if ((count crew _vec) == 0 ) then { _t = time; while {(time < (_t + 120)) || ((count crew _vec) == 0)} do { sleep 5; }; if ((count crew _vec) == 0 ) then { _vec setPos _spawnPos; _vec setDir _spawnDir; _vec setDamage 0; }; }; _vec = _this select 0; _spawnPos = _vec getVariable "spawnPosition"; _spawnTime = _vec getVariable "spawnTime"; _spawnDir = _vec getVariable "spawnDir"; _HQList = []; switch (str(pSide)) do { case "west" : {_HQList = west_HQlist;}; case "east" : {_HQList = east_HQlist;}; }; if (_vec in _HQList) then {_vec setVariable ["deployed", 0];}; _type = typeOf _vec; sleep _spawnTime; _newVec = _type createVehicle _spawnPos; _newVec setDir _spawnDir; _newVec setPos _spawnPos; _code = format ["[this, %1] execVM 'common\vehicleInit.sqf'", _spawnTime]; if (_vec in west_HQlist) then { _code = format ["[this, %1] execVM 'common\vehicleInit.sqf';[this, 'west'] execVM 'common\initHQ.sqf'", _spawnTime]; deleteVehicle _vec; sleep 2; }; if (_vec in east_HQlist) then { _code = format ["[this, %1] execVM 'common\vehicleInit.sqf';[this, 'east'] execVM 'common\initHQ.sqf'", _spawnTime]; deleteVehicle _vec; sleep 2; }; _newVec setVehicleInit _code; processInitCommands; //[_newVec, _spawnTime] execVM "common\vehicleInit.sqf"; sleep 300; deleteVehicle _vec; ́s*79~X.,