briefing.htmlâîE½description.ext6öìE>hidemarkers.sqsLCïEóini123123t.sqf11?AïE¾init.sqsGCïENmarkers.sqs§žìE'mission.sqmyDïEs"onPlayerRespawnAsSeagull.sqs«ÛE·randldr.sqs àëEêrandMG.sqsàëEˆrandrifles.sqs8àëE™Specscript.sqsOøìE>spect\common.hppèÃÜEÃspect\specta.sqf$4íEhspect\specta_events.sqf¸(íE2spect\specta_init.sqf4'ˆE5spect\spectating.hpp+íE  Mission

Mission by kevb0.




RACS forces have been spotted nearby our lines. They have American Air support, Most likely being AV-8 Harriers with LGBs.


The most probable targets are our Weapon Storage buildings, and our Platoon HQ building.
Thankfully, we have two shilkas keeping the American Harriers at bay. They are located here and here. If we loose these two Shilkas, the Americans will surely rain metal death upon our heads.

Good luck, Comrades!





The local Indiginous forces are making their first assualt on the SLA mainland today, and have requested two AV8 Harriers to support them.

The one thing that is preventing us from turning the whole area into a parking lot is the two shilkas. We know the position of one, but the exact location of the other is stationed at one of the places with question marks.

The RACS forces have laser designators, so we can put our GBU's through a window if we have to.

Our Main objective is to destroy SLA Weapon Storage buildings, and their Platoon HQ building.

We will only be able to take off once the Shilkas are destroyed.
Good luck, pilots!





We have SLA Forces on the defensive. We've managed to trap them in this area.

We've been tasked with destroying 3 important SLA buildings: Weapon Storage buildings, and their Platoon HQ.

American Air support has been notified of these targets, and are willing to help, but refuse to be in the air when there are shilkas around. Recond has found the first Shilka, but the second one has been spotted at many locations, and could not be found. It is probably at one of the Question marked locations.

Once the Shilkas have been dispatched, the Harriers will take off and, with our help, will be able to destroy the SLA Buildings Quickly and easily. If the Harriers get destroyed, or are not available, There are satchels and other goodies in the trunk of our vehicles.
Good luck, soldiers!


Short description of the mission for the Eastern side.


EAST: Defend Our shilkas and Buildings!



Short description of the mission for the Resistance.


Destroy the SLA Weapon Storage and Platoon HQ buildings.



#include "spect\spectating.hpp" titleParam2 = "Mission time:" valuesParam2[] = {3,15}; defValueParam2 = 3; textsParam2[] = { "Day", "Night" }; titleParam1 = "Viewdistance:" valuesParam1[] = {1500,2000,2500}; defValueParam1 = 2000; textsParam1[] = { "1.5 KM", "2.0 KM", "2.5 KM" };? side player == east : goto "east" ? side player == west : goto "west" ? side player == resistance : goto "guer" exit #east "FT1" setmarkertype "empty" "FT2" setmarkertype "empty" "FT3" setmarkertype "empty" "FT4" setmarkertype "empty" "SL1" setmarkertype "empty" "SL2" setmarkertype "empty" "unknown" setmarkertype "empty" "unknown_1" setmarkertype "empty" "unknown_2" setmarkertype "empty" "unknown_3" setmarkertype "empty" "unknown_4" setmarkertype "empty" exit #west "FT1" setmarkertype "empty" "FT2" setmarkertype "empty" "FT3" setmarkertype "empty" "FT4" setmarkertype "empty" "SL1" setmarkertype "empty" "SL2" setmarkertype "empty" "shilka2" setmarkertype "empty" exit #guer "shilka2" setmarkertype "empty" exit // Initialize spectating script when player joins as seagull // Set the following to limit visible sides: KEGsShownSides = [west, resistance, civilian]; [] execVM "spect\specta_init.sqf"; KEGsShownSides = [west, resistance, civilian]; [] execVM "spect\specta_init.sqf"; kevb0=["kevb0"] if(name player in kevb0)then {Player addaction["Spectator Script","Specscript.sqs"]}; skiptime param2 setviewdistance param1 [] exec "markers.sqs" [] exec "hidemarkers.sqs" "shilka2" setmarkerpos getpos shilka2 #start "FT1" setmarkerpos getpos leader Fireteam1 "FT2" setmarkerpos getpos leader Fireteam2 "FT3" setmarkerpos getpos leader Fireteam3 "FT4" setmarkerpos getpos leader Fireteam4 "SL1" setmarkerpos getpos leader Squadleader1 "SL2" setmarkerpos getpos leader Squadleader2 ~3 goto "start"version=11; class Mission { addOns[]= { "cacharacters", "cawheeled", "sara", "CATracked", "caair" }; addOnsAuto[]= { "cacharacters", "CATracked", "caair", "cawheeled", "sara" }; randomSeed=7793155; class Intel { briefingName="Operation Homewreckers v2"; briefingDescription="RACS troops are tasked with destroying Key buildings."; startWeather=0.100000; forecastWeather=0.300000; year=2007; month=6; day=7; hour=10; }; class Groups { items=32; class Item0 { side="GUER"; class Vehicles { items=5; class Item0 { position[]={14228.669922,48.849895,9344.643555}; azimut=-179.626007; special="NONE"; id=2; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Fireteam 1 Rifleman"; }; class Item1 { position[]={14230.152344,48.753384,9343.313477}; azimut=-179.903000; special="NONE"; id=6; side="GUER"; vehicle="TeamLeaderG"; player="PLAY CDG"; leader=1; rank="SERGEANT"; skill=0.600000; init="fireteam1 = group this; [this] exec ""randldr.sqs"" "; description="Alpha Fireteam 1 Leader"; }; class Item2 { position[]={14230.039063,48.869129,9344.643555}; azimut=-179.626007; special="NONE"; id=3; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Fireteam 1 Rifleman"; }; class Item3 { position[]={14227.503906,48.836090,9344.678711}; azimut=-179.626007; special="NONE"; id=1; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Fireteam 1 Rifleman"; }; class Item4 { position[]={14225.929688,48.813797,9344.684570}; azimut=-179.626007; special="NONE"; id=0; side="GUER"; vehicle="SoldierGMG"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randMG.sqs"" "; description="Alpha Fireteam 1 Machinegunner"; }; }; }; class Item1 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={13774.368164,34.965000,11542.819336}; azimut=320.000000; id=4; side="EAST"; vehicle="ZSU"; leader=1; skill=1.000000; text="shilka1"; }; }; class Waypoints { items=1; class Item0 { position[]={13774.368164,34.965000,11542.819336}; id=4; type="HOLD"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; }; }; class Item2 { side="EAST"; class Vehicles { items=1; class Item0 { position[]={14399.307617,45.348984,11136.229492}; azimut=205.000000; id=5; side="EAST"; vehicle="ZSU"; leader=1; skill=1.000000; text="shilka2"; markers[]= { "asdasd", "asdasd_1", "asdasd_2" }; }; }; }; class Item3 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={13676.646484,26.624138,10622.520508}; azimut=220.000000; special="NONE"; id=7; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={13679.077148,26.744186,10625.595703}; azimut=220.000000; special="NONE"; id=8; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={13680.828125,26.834185,10628.642578}; azimut=220.000000; special="NONE"; id=9; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={13683.809570,26.865870,10626.179688}; azimut=220.000000; special="NONE"; id=10; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={13685.560547,26.917093,10629.226563}; azimut=220.000000; special="NONE"; id=11; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={13694.368164,27.308315,10556.666992}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={13779.613281,27.808676,10590.437500}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13730.892578,25.748678,10684.701172}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={13668.691406,26.246937,10619.584961}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item4 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={13824.074219,29.595863,10317.436523}; azimut=220.000000; special="NONE"; id=12; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={13826.504883,29.823059,10320.511719}; azimut=220.000000; special="NONE"; id=13; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={13828.255859,29.989141,10323.558594}; azimut=220.000000; special="NONE"; id=14; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={13831.237305,29.939466,10321.095703}; azimut=220.000000; special="NONE"; id=15; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={13832.988281,30.083572,10324.142578}; azimut=220.000000; special="NONE"; id=16; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={13830.748047,29.235472,10274.978516}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={13917.618164,31.862434,10286.329102}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13872.471680,31.366802,10372.794922}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={13816.119141,29.434723,10314.500977}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item5 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={13178.181641,30.835014,11504.304688}; azimut=220.000000; special="NONE"; id=17; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={13180.612305,30.498068,11507.379883}; azimut=220.000000; special="NONE"; id=18; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={13182.363281,30.620001,11510.426758}; azimut=220.000000; special="NONE"; id=19; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={13185.344727,30.293852,11507.963867}; azimut=220.000000; special="NONE"; id=20; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={13187.095703,30.415783,11511.010742}; azimut=220.000000; special="NONE"; id=21; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={13184.855469,26.142750,11461.846680}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={13271.725586,26.683126,11473.197266}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13226.579102,31.278881,11559.663086}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={13170.226563,32.552727,11501.369141}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item6 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={13678.034180,33.996296,11554.371094}; azimut=220.000000; special="NONE"; id=22; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={13680.464844,34.103233,11557.446289}; azimut=220.000000; special="NONE"; id=23; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={13682.215820,34.174507,11560.493164}; azimut=220.000000; special="NONE"; id=24; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={13685.197266,34.390461,11558.030273}; azimut=220.000000; special="NONE"; id=25; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={13686.948242,34.499252,11561.077148}; azimut=220.000000; special="NONE"; id=26; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={13667.959961,32.256649,11463.492188}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={13834.607422,34.861542,11448.443359}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13837.280273,39.741657,11622.518555}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={13683.477539,34.793297,11597.115234}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item7 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={13636.527344,28.332422,11147.270508}; placement=400.000000; azimut=225.000000; id=27; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={13649.418945,28.868309,11154.188477}; azimut=225.000000; id=28; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={13665.140625,29.330364,11164.565430}; azimut=225.000000; id=29; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={13679.604492,29.548201,11171.166992}; azimut=225.000000; id=30; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={13705.701172,30.348049,11186.259766}; azimut=225.000000; id=31; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={13726.138672,31.076000,11189.718750}; azimut=225.000000; id=32; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={13706.250977,30.364065,11166.437500}; azimut=225.000000; id=33; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={13739.972656,31.948299,11202.295898}; azimut=225.000000; id=34; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=4; class Item0 { position[]={13904.919922,54.646118,11850.408203}; placement=400.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14469.852539,49.361073,11855.469727}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13685.641602,27.407669,10760.684570}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={13419.444336,28.247330,11162.508789}; placement=400.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item8 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={14186.380859,39.530586,11528.035156}; placement=400.000000; azimut=225.000000; id=35; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={14199.272461,39.977787,11534.953125}; azimut=225.000000; id=36; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={14214.994141,40.278168,11545.330078}; azimut=225.000000; id=37; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={14229.458008,40.661850,11551.931641}; azimut=225.000000; id=38; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={14255.554688,41.369591,11567.024414}; azimut=225.000000; id=39; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={14275.992188,42.890324,11570.483398}; azimut=225.000000; id=40; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={14256.104492,41.284336,11547.202148}; azimut=225.000000; id=41; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={14289.826172,44.284035,11583.060547}; azimut=225.000000; id=42; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=4; class Item0 { position[]={14392.823242,45.524147,11035.234375}; placement=400.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={13469.031250,30.928478,11762.724609}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13988.047852,31.615267,10105.443359}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14084.825195,50.927822,11667.529297}; placement=400.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item9 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={14040.906250,55.185944,11801.757813}; placement=400.000000; azimut=225.000000; id=43; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={14053.797852,56.105503,11808.675781}; azimut=225.000000; id=44; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={14069.519531,57.374130,11819.052734}; azimut=225.000000; id=45; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={14083.983398,58.984333,11825.654297}; azimut=225.000000; id=46; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={14110.080078,59.251389,11840.747070}; azimut=225.000000; id=47; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={14130.517578,57.790340,11844.206055}; azimut=225.000000; id=48; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={14110.629883,59.555950,11820.924805}; azimut=225.000000; id=49; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={14144.351563,56.407166,11856.783203}; azimut=225.000000; id=50; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=4; class Item0 { position[]={14238.051758,39.959999,12522.745117}; placement=400.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14094.514648,43.493958,11573.421875}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13811.547852,41.487873,12299.078125}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14590.469727,59.299767,12096.228516}; placement=400.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item10 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={14029.111328,36.452400,10253.358398}; placement=400.000000; azimut=225.000000; id=51; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={14042.002930,36.932175,10260.276367}; azimut=225.000000; id=52; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={14057.724609,37.391632,10270.653320}; azimut=225.000000; id=53; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={14072.188477,38.105553,10277.254883}; azimut=225.000000; id=54; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={14098.285156,39.644066,10292.347656}; azimut=225.000000; id=55; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={14118.722656,40.730339,10295.806641}; azimut=225.000000; id=56; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={14098.834961,39.277596,10272.525391}; azimut=225.000000; id=57; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={14132.556641,41.400784,10308.383789}; azimut=225.000000; id=58; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=4; class Item0 { position[]={13446.353516,26.342464,11061.236328}; placement=400.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14539.919922,45.795006,10843.426758}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13828.328125,30.981489,10992.017578}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={13917.895508,30.069529,10426.240234}; placement=400.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item11 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={13663.565430,43.617477,12137.957031}; placement=400.000000; azimut=225.000000; id=59; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={13676.457031,43.552780,12144.875000}; azimut=225.000000; id=60; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={13692.178711,42.766140,12155.251953}; azimut=225.000000; id=61; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={13706.642578,43.026848,12161.853516}; azimut=225.000000; id=62; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={13732.739258,45.225250,12176.946289}; azimut=225.000000; id=63; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={13753.176758,46.594681,12180.405273}; azimut=225.000000; id=64; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={13733.289063,44.723248,12157.124023}; azimut=225.000000; id=65; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={13767.010742,46.549892,12192.982422}; azimut=225.000000; id=66; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=4; class Item0 { position[]={13706.438477,52.757057,12374.584961}; placement=400.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14242.006836,39.959999,12567.361328}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14300.972656,56.797928,12091.859375}; placement=400.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14069.572266,64.972267,12004.945313}; placement=400.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item12 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={13343.119141,25.965000,11374.329102}; azimut=225.000000; id=67; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={13356.010742,25.965000,11381.247070}; azimut=225.000000; id=68; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={13371.732422,26.025425,11391.624023}; azimut=225.000000; id=69; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={13386.196289,26.603676,11398.225586}; azimut=225.000000; id=70; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={13412.292969,27.607061,11413.318359}; azimut=225.000000; id=71; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={13432.730469,27.588991,11416.777344}; azimut=225.000000; id=72; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={13412.842773,27.726545,11393.496094}; azimut=225.000000; id=73; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={13446.564453,27.158247,11429.354492}; azimut=225.000000; id=74; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=3; class Item0 { position[]={13066.743164,33.836979,11392.594727}; placement=200.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={13331.326172,25.965000,11381.916016}; placement=200.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={13081.113281,25.965000,11275.851563}; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item13 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={14495.401367,43.104645,10973.499023}; azimut=179.603073; id=75; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={14499.527344,43.726036,10987.539063}; azimut=179.603073; id=76; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={14503.181641,44.457497,11006.013672}; azimut=179.603073; id=77; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={14508.636719,45.031654,11020.953125}; azimut=179.603073; id=78; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={14516.213867,46.588573,11050.126953}; azimut=179.603073; id=79; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={14528.101563,46.699966,11067.108398}; azimut=179.603073; id=80; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={14530.714844,46.228310,11036.597656}; azimut=179.603073; id=81; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={14528.868164,46.863319,11085.791016}; azimut=179.603073; id=82; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=3; class Item0 { position[]={14347.851563,42.924416,10716.419922}; placement=200.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14480.020508,41.805466,10921.113281}; placement=200.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14526.086914,43.965000,10682.088867}; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item14 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={14257.079102,39.832680,12800.648438}; azimut=131.843613; id=83; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={14211.225586,39.285851,12668.067383}; azimut=131.843613; id=84; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={14199.994141,38.181507,12683.197266}; azimut=131.843613; id=85; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={14192.606445,37.390289,12697.273438}; azimut=131.843613; id=86; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={14176.102539,37.963226,12722.499023}; azimut=131.843613; id=87; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={14171.524414,38.455425,12742.717773}; azimut=131.843613; id=88; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={14195.867188,37.678814,12724.141602}; azimut=131.843613; id=89; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={14158.206055,38.740650,12755.837891}; azimut=131.843613; id=90; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=3; class Item0 { position[]={14116.587891,39.959999,12405.615234}; placement=200.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14275.794922,39.959999,12600.196289}; placement=200.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14321.638672,46.025017,12308.556641}; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item15 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={14531.628906,47.257469,12551.399414}; azimut=205.230057; id=91; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={14439.361328,39.959999,12588.913086}; azimut=205.230057; id=92; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={14450.644531,39.959999,12603.996094}; azimut=205.230057; id=93; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={14462.024414,39.959999,12615.099609}; azimut=205.230057; id=94; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={14481.477539,41.958023,12638.132813}; azimut=205.230057; id=95; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={14499.536133,45.599575,12648.300781}; azimut=205.230057; id=96; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={14488.703125,42.556217,12619.663086}; azimut=205.230057; id=97; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={14508.304688,49.058033,12664.815430}; azimut=205.230057; id=98; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=3; class Item0 { position[]={14163.305664,39.959999,12501.749023}; placement=200.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14415.907227,39.959999,12581.188477}; placement=200.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14216.314453,40.040516,12396.747070}; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item16 { side="EAST"; class Vehicles { items=8; class Item0 { position[]={14250.469727,54.646568,12224.376953}; azimut=300.333191; id=99; side="EAST"; vehicle="SquadLeaderE"; leader=1; skill=1.000000; }; class Item1 { position[]={14260.427734,54.901218,12213.657227}; azimut=300.333191; id=100; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item2 { position[]={14274.447266,55.629730,12201.076172}; azimut=300.333191; id=101; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item3 { position[]={14284.496094,56.131626,12188.755859}; azimut=300.333191; id=102; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item4 { position[]={14305.705078,56.591713,12167.331055}; azimut=300.333191; id=103; side="EAST"; vehicle="SoldierEB"; skill=1.000000; }; class Item5 { position[]={14314.225586,56.352867,12148.433594}; azimut=300.333191; id=104; side="EAST"; vehicle="SoldierEG"; skill=1.000000; }; class Item6 { position[]={14286.666016,56.647701,12161.779297}; azimut=300.333191; id=105; side="EAST"; vehicle="SoldierEMG"; skill=1.000000; }; class Item7 { position[]={14329.893555,55.929928,12138.234375}; azimut=300.333191; id=106; side="EAST"; vehicle="SoldierEMedic"; skill=1.000000; }; }; class Waypoints { items=3; class Item0 { position[]={14278.916992,39.996792,12481.918945}; placement=200.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14391.027344,39.959999,12504.903320}; placement=200.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14176.908203,39.959999,12584.392578}; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item17 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14163.625000,39.959999,12524.622070}; azimut=220.000000; special="NONE"; id=107; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={14166.055664,39.959999,12527.697266}; azimut=220.000000; special="NONE"; id=108; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={14167.806641,39.959999,12530.744141}; azimut=220.000000; special="NONE"; id=109; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={14170.788086,40.062000,12528.281250}; azimut=220.000000; special="NONE"; id=110; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={14172.539063,39.959999,12531.328125}; azimut=220.000000; special="NONE"; id=111; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={14170.298828,40.062000,12482.164063}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14257.168945,39.959999,12493.514648}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14212.022461,39.959999,12579.980469}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14155.669922,39.959999,12521.686523}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item18 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14240.394531,39.959999,12505.100586}; azimut=185.075089; special="NONE"; id=112; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={14240.622070,39.959999,12509.014648}; azimut=185.075089; special="NONE"; id=113; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={14240.318359,39.959999,12512.515625}; azimut=185.075089; special="NONE"; id=114; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={14244.170898,40.062000,12512.205078}; azimut=185.075089; special="NONE"; id=115; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={14243.864258,40.062000,12515.706055}; azimut=185.075089; special="NONE"; id=116; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={14270.171875,40.062000,12474.111328}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14334.897461,39.959999,12533.151367}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14248.382813,39.959999,12578.199219}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14235.550781,39.959999,12498.142578}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item19 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14200.152344,40.062000,12441.451172}; azimut=134.007675; special="NONE"; id=117; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={14197.252930,39.959999,12444.093750}; azimut=134.007675; special="NONE"; id=118; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={14194.332031,39.959999,12446.051758}; azimut=134.007675; special="NONE"; id=119; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={14197.004883,39.959999,12448.848633}; azimut=134.007675; special="NONE"; id=120; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={14194.084961,39.959999,12450.810547}; azimut=134.007675; special="NONE"; id=121; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={14242.973633,39.959999,12445.145508}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14237.718750,39.959999,12532.596680}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14148.307617,39.959999,12493.601563}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14202.523438,39.959999,12433.313477}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item20 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14563.753906,52.164288,11890.520508}; azimut=220.000000; special="NONE"; id=122; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={14566.184570,52.455639,11893.595703}; azimut=220.000000; special="NONE"; id=123; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={14567.935547,52.692802,11896.642578}; azimut=220.000000; special="NONE"; id=124; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={14570.916992,53.444698,11894.179688}; azimut=220.000000; special="NONE"; id=125; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={14572.667969,53.623188,11897.226563}; azimut=220.000000; special="NONE"; id=126; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={14648.243164,51.484722,11613.504883}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14628.347656,56.363617,11836.795898}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14612.151367,52.791748,11945.878906}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14426.484375,56.869366,12226.266602}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item21 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14678.413086,49.140144,11180.128906}; azimut=242.099060; special="NONE"; id=127; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={14681.825195,49.046196,11182.065430}; azimut=242.099060; special="NONE"; id=128; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={14684.590820,48.934414,11184.230469}; azimut=242.099060; special="NONE"; id=129; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={14686.428711,49.012627,11180.828125}; azimut=242.099060; special="NONE"; id=130; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={14689.196289,48.900902,11182.991211}; azimut=242.099060; special="NONE"; id=131; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={14558.321289,47.310917,11022.993164}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14690.045898,49.528603,11163.797852}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14741.945313,52.826542,11440.232422}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14650.015625,52.367485,11574.658203}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item22 { side="WEST"; class Vehicles { items=2; class Item0 { position[]={9804.141602,140.075729,9959.319336}; special="NONE"; id=134; side="WEST"; vehicle="AV8B"; player="PLAY CDG"; leader=1; skill=0.600000; fuel=0.000000; text="plane2"; }; class Item1 { position[]={9767.019531,140.075729,9968.158203}; special="NONE"; id=135; side="WEST"; vehicle="AV8B"; player="PLAY CDG"; skill=0.600000; fuel=0.000000; text="plane1"; }; }; }; class Item23 { side="GUER"; class Vehicles { items=5; class Item0 { position[]={14222.115234,48.807472,9344.719727}; azimut=-179.626007; special="NONE"; id=142; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Fireteam 2 Rifleman"; }; class Item1 { position[]={14223.388672,48.714737,9343.441406}; azimut=-179.903000; special="NONE"; id=144; side="GUER"; vehicle="TeamLeaderG"; player="PLAY CDG"; leader=1; rank="SERGEANT"; skill=0.600000; init="fireteam2 = group this; [this] exec ""randldr.sqs"" "; description="Alpha Fireteam 2 Leader"; }; class Item2 { position[]={14223.475586,48.808048,9344.727539}; azimut=-179.626007; special="NONE"; id=143; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Fireteam 2 Rifleman"; }; class Item3 { position[]={14220.957031,48.810528,9344.761719}; azimut=-179.626007; special="NONE"; id=141; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Fireteam 2 Rifleman"; }; class Item4 { position[]={14219.381836,48.799946,9344.756836}; azimut=-179.626007; special="NONE"; id=140; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Fireteam 2 Rifleman"; }; }; }; class Item24 { side="GUER"; class Vehicles { items=3; class Item0 { position[]={14216.479492,48.661831,9343.514648}; azimut=-179.626007; special="NONE"; id=145; side="GUER"; vehicle="SquadLeaderG"; player="PLAY CDG"; leader=1; rank="LIEUTENANT"; skill=0.600000; init="Squadleader1 = group this; [this] exec ""randldr.sqs"" "; description="Alpha Squad Leader"; }; class Item1 { position[]={14216.520508,48.756325,9344.808594}; azimut=-179.626007; special="NONE"; id=146; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Squad Assistant "; }; class Item2 { position[]={14214.895508,48.738331,9344.889648}; azimut=-179.626007; special="NONE"; id=147; side="GUER"; vehicle="SoldierGMedic"; player="PLAY CDG"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Alpha Squad Medic"; }; }; }; class Item25 { side="GUER"; class Vehicles { items=5; class Item0 { position[]={14228.147461,49.485966,9352.136719}; azimut=-179.626007; special="NONE"; id=150; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Fireteam 1 Rifleman"; }; class Item1 { position[]={14229.424805,49.400696,9350.849609}; azimut=-179.903000; special="NONE"; id=152; side="GUER"; vehicle="TeamLeaderG"; player="PLAY CDG"; leader=1; rank="SERGEANT"; skill=0.600000; init="fireteam3 = group this; [this] exec ""randldr.sqs"" "; description="Bravo Fireteam 1 Leader"; }; class Item2 { position[]={14229.515625,49.533958,9352.151367}; azimut=-179.626007; special="NONE"; id=151; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Fireteam 1 Rifleman"; }; class Item3 { position[]={14226.981445,49.466549,9352.174805}; azimut=-179.626007; special="NONE"; id=149; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Fireteam 1 Rifleman"; }; class Item4 { position[]={14225.408203,49.443996,9352.176758}; azimut=-179.626007; special="NONE"; id=148; side="GUER"; vehicle="SoldierGMG"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randMG.sqs"" "; description="Bravo Fireteam 1 Machinegunner"; }; }; }; class Item26 { side="GUER"; class Vehicles { items=5; class Item0 { position[]={14221.595703,49.392792,9352.226563}; azimut=-179.626007; special="NONE"; id=155; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Fireteam 2 Rifleman"; }; class Item1 { position[]={14222.865234,49.307323,9350.935547}; azimut=-179.903000; special="NONE"; id=157; side="GUER"; vehicle="TeamLeaderG"; player="PLAY CDG"; leader=1; rank="SERGEANT"; skill=0.600000; init="fireteam4 = group this; [this] exec ""randldr.sqs"" "; description="Bravo Fireteam 2 Leader"; }; class Item2 { position[]={14222.966797,49.413036,9352.231445}; azimut=-179.626007; special="NONE"; id=156; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Fireteam 2 Rifleman"; }; class Item3 { position[]={14220.421875,49.378716,9352.262695}; azimut=-179.626007; special="NONE"; id=154; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Fireteam 2 Rifleman"; }; class Item4 { position[]={14218.857422,49.318348,9352.254883}; azimut=-179.626007; special="NONE"; id=153; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Fireteam 2 Rifleman"; }; }; }; class Item27 { side="GUER"; class Vehicles { items=3; class Item0 { position[]={14215.961914,49.174541,9351.015625}; azimut=-179.626007; special="NONE"; id=158; side="GUER"; vehicle="SquadLeaderG"; player="PLAY CDG"; leader=1; rank="LIEUTENANT"; skill=0.600000; init="Squadleader2 = group this; [this] exec ""randldr.sqs"" "; description="Bravo Squad Leader"; }; class Item1 { position[]={14215.992188,49.239754,9352.308594}; azimut=-179.626007; special="NONE"; id=159; side="GUER"; vehicle="SoldierGB"; player="PLAY CDG"; rank="CORPORAL"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Squad Assistant"; }; class Item2 { position[]={14214.366211,49.216919,9352.390625}; azimut=-179.626007; special="NONE"; id=160; side="GUER"; vehicle="SoldierGMedic"; player="PLAY CDG"; skill=0.600000; init="[this] exec ""randrifles.sqs"" "; description="Bravo Squad Medic"; }; }; }; class Item28 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14241.846680,55.022949,11884.880859}; azimut=220.000000; special="NONE"; id=161; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={14244.277344,55.043705,11887.956055}; azimut=220.000000; special="NONE"; id=162; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={14246.028320,55.064274,11891.002930}; azimut=220.000000; special="NONE"; id=163; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={14249.009766,55.047646,11888.540039}; azimut=220.000000; special="NONE"; id=164; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={14250.760742,55.068211,11891.586914}; azimut=220.000000; special="NONE"; id=165; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={14254.683594,54.990002,11876.135742}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14335.208984,52.451580,11876.611328}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14290.062500,56.019466,11963.077148}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14233.709961,61.925690,11904.783203}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item29 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14169.915039,55.806820,11879.373047}; azimut=220.000000; special="NONE"; id=166; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={14172.345703,55.830345,11882.448242}; azimut=220.000000; special="NONE"; id=167; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={14174.096680,55.962776,11885.495117}; azimut=220.000000; special="NONE"; id=168; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={14177.078125,55.489517,11883.032227}; azimut=220.000000; special="NONE"; id=169; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={14178.829102,55.190182,11886.079102}; azimut=220.000000; special="NONE"; id=170; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={14176.588867,55.273884,11836.915039}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14263.458984,53.657341,11848.265625}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14218.312500,55.048336,11934.731445}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14161.959961,56.353909,11876.437500}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item30 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14231.113281,58.090012,11817.965820}; azimut=146.178238; special="NONE"; id=171; side="EAST"; vehicle="TeamLeaderE"; leader=1; rank="CORPORAL"; skill=0.600000; }; class Item1 { position[]={14228.837891,59.840530,11821.157227}; azimut=146.178238; special="NONE"; id=172; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item2 { position[]={14226.401367,60.995720,11823.688477}; azimut=146.178238; special="NONE"; id=173; side="EAST"; vehicle="SoldierEB"; rank="CORPORAL"; skill=0.600000; }; class Item3 { position[]={14229.597656,59.491119,11825.863281}; azimut=146.178238; special="NONE"; id=174; side="EAST"; vehicle="SoldierEAA"; rank="CORPORAL"; skill=0.600000; }; class Item4 { position[]={14227.158203,60.647690,11828.397461}; azimut=146.178238; special="NONE"; id=175; side="EAST"; vehicle="SoldierEMG"; rank="CORPORAL"; skill=0.600000; }; }; class Waypoints { items=4; class Item0 { position[]={14273.750000,51.121990,11812.548828}; placement=100.000000; type="SENTRY"; combatMode="RED"; class Effects { }; showWP="NEVER"; }; class Item1 { position[]={14287.055664,54.957394,11899.140625}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item2 { position[]={14191.434570,67.477203,11879.872070}; placement=50.000000; type="SENTRY"; class Effects { }; showWP="NEVER"; }; class Item3 { position[]={14231.715820,54.801147,11809.507813}; placement=50.000000; type="CYCLE"; class Effects { }; showWP="NEVER"; }; }; }; class Item31 { side="EAST"; class Vehicles { items=5; class Item0 { position[]={14266.339844,38.880001,12721.485352}; azimut=-179.903000; special="NONE"; id=176; side="EAST"; vehicle="SoldierESaboteurPipe"; player="PLAYER COMMANDER"; leader=1; rank="SERGEANT"; skill=0.600000; }; class Item1 { position[]={14269.115234,38.880001,12717.407227}; azimut=-179.903000; special="NONE"; id=177; side="EAST"; vehicle="SoldierEAA"; player="PLAY CDG"; rank="SERGEANT"; skill=0.600000; }; class Item2 { position[]={14266.716797,38.880001,12712.609375}; azimut=-179.903000; special="NONE"; id=178; side="EAST"; vehicle="SoldierESaboteurPipe"; player="PLAY CDG"; rank="SERGEANT"; skill=0.600000; }; class Item3 { position[]={14263.325195,38.880001,12716.083984}; azimut=-179.903000; special="NONE"; id=179; side="EAST"; vehicle="SoldierESaboteurPipe"; player="PLAY CDG"; rank="SERGEANT"; skill=0.600000; }; class Item4 { position[]={14263.572266,38.880001,12711.121094}; azimut=-179.903000; special="NONE"; id=180; side="EAST"; vehicle="SoldierESaboteurBizon"; player="PLAY CDG"; rank="SERGEANT"; skill=0.600000; }; }; }; }; class Vehicles { items=8; class Item0 { position[]={14219.113281,48.465000,9296.327148}; azimut=-269.769012; id=132; side="EMPTY"; vehicle="Landrover"; skill=0.600000; init="clearweaponcargo this; clearmagazinecargo this; this addweaponcargo [""laserdesignator"",2]; this addmagazinecargo [""Laserbatteries"",2]; this addmagazinecargo [""PipeBomb"",6]; this addmagazinecargo [""m136"",1]; this addweaponcargo [""m136"",1]"; }; class Item1 { position[]={14219.196289,48.465000,9289.982422}; azimut=-269.769012; id=133; side="EMPTY"; vehicle="LandroverMG"; skill=0.600000; fuel=0.900000; init="clearweaponcargo this; clearmagazinecargo this; this addweaponcargo [""laserdesignator"",2]; this addmagazinecargo [""Laserbatteries"",2]; this addmagazinecargo [""PipeBomb"",6]; this addmagazinecargo [""m136"",1]; this addweaponcargo [""m136"",1]"; }; class Item2 { position[]={14219.084961,48.465000,9310.404297}; azimut=-269.769012; id=136; side="EMPTY"; vehicle="Landrover"; skill=0.600000; init="clearweaponcargo this; clearmagazinecargo this; this addweaponcargo [""laserdesignator"",2]; this addmagazinecargo [""Laserbatteries"",2]; this addmagazinecargo [""PipeBomb"",6];this addmagazinecargo [""m136"",1]; this addweaponcargo [""m136"",1] "; }; class Item3 { position[]={14219.177734,48.465000,9304.064453}; azimut=-269.769012; id=137; side="EMPTY"; vehicle="LandroverMG"; skill=0.600000; fuel=0.900000; init="clearweaponcargo this; clearmagazinecargo this; this addweaponcargo [""laserdesignator"",2]; this addmagazinecargo [""Laserbatteries"",2]; this addmagazinecargo [""PipeBomb"",6]; this addmagazinecargo [""m136"",1]; this addweaponcargo [""m136"",1]"; }; class Item4 { position[]={14219.260742,48.463337,9324.118164}; azimut=-269.769012; id=138; side="EMPTY"; vehicle="Landrover"; skill=0.600000; init="clearweaponcargo this; clearmagazinecargo this; this addweaponcargo [""laserdesignator"",2]; this addmagazinecargo [""Laserbatteries"",2]; this addmagazinecargo [""PipeBomb"",6]; this addmagazinecargo [""m136"",1]; this addweaponcargo [""m136"",1]"; }; class Item5 { position[]={14219.342773,48.465000,9317.788086}; azimut=-269.769012; id=139; side="EMPTY"; vehicle="Landrover"; skill=0.600000; fuel=0.900000; init="clearweaponcargo this; clearmagazinecargo this; this addweaponcargo [""laserdesignator"",2]; this addmagazinecargo [""Laserbatteries"",2]; this addmagazinecargo [""PipeBomb"",6]; this addmagazinecargo [""m136"",1]; this addweaponcargo [""m136"",1]"; }; class Item6 { position[]={14272.992188,38.880001,12722.107422}; azimut=-179.903000; special="NONE"; id=181; side="EMPTY"; vehicle="UAZMG"; skill=0.600000; }; class Item7 { position[]={14273.178711,38.880001,12708.559570}; azimut=-179.903000; special="NONE"; id=182; side="EMPTY"; vehicle="UAZMG"; skill=0.600000; }; }; class Markers { items=21; class Item0 { position[]={14221.751953,63.085979,11914.175781}; name="bld"; type="Destroy"; a=0.600000; b=0.600000; }; class Item1 { position[]={14205.521484,49.734718,12515.101563}; name="bld_3"; type="Destroy"; a=0.600000; b=0.600000; }; class Item2 { position[]={13772.348633,34.965000,11523.090820}; name="shilka"; type="Flag"; a=0.500000; b=0.500000; }; class Item3 { position[]={14256.791016,63.215603,11913.981445}; name="bld_1"; type="Destroy"; a=0.600000; b=0.600000; }; class Item4 { position[]={13220.473633,28.328764,11502.036133}; name="asdasd"; type="Empty"; }; class Item5 { position[]={13722.788086,27.094976,10619.630859}; name="asdasd_1"; type="Empty"; }; class Item6 { position[]={13881.153320,30.514566,10288.242188}; name="asdasd_2"; type="Empty"; }; class Item7 { position[]={14392.130859,45.180580,11135.143555}; name="unknown"; type="Unknown"; colorName="ColorRed"; a=0.400000; b=0.400000; }; class Item8 { position[]={13718.041016,27.090118,10619.497070}; name="unknown_1"; type="Unknown"; colorName="ColorRed"; a=0.400000; b=0.400000; }; class Item9 { position[]={13219.162109,28.345255,11506.166992}; name="unknown_2"; type="Unknown"; colorName="ColorRed"; a=0.400000; b=0.400000; }; class Item10 { position[]={13884.044922,30.616329,10288.858398}; name="unknown_3"; type="Unknown"; colorName="ColorRed"; a=0.400000; b=0.400000; }; class Item11 { position[]={14226.117188,48.465000,9307.333984}; name="start"; text="RACS start"; type="Start"; a=0.600000; b=0.600000; }; class Item12 { position[]={9822.622070,139.994995,9993.363281}; name="start_1"; text="AV8 Start"; type="Start"; colorName="ColorBlue"; a=0.600000; b=0.600000; }; class Item13 { position[]={11596.701172,21.344570,6475.443359}; name="FT1"; text="Alpha Fireteam1"; type="Dot"; colorName="ColorGreen"; a=0.600000; b=0.600000; }; class Item14 { position[]={11619.141602,24.794184,5868.115234}; name="FT2"; text="Alpha Fireteam2"; type="Dot"; colorName="ColorGreen"; a=0.600000; b=0.600000; }; class Item15 { position[]={11611.485352,11.519310,6070.228516}; name="FT3"; text="Bravo Fireteam1"; type="Dot"; colorName="ColorGreen"; a=0.600000; b=0.600000; }; class Item16 { position[]={12173.600586,4.250723,6142.535156}; name="FT4"; text="Bravo Fireteam2"; type="Dot"; colorName="ColorGreen"; a=0.600000; b=0.600000; }; class Item17 { position[]={11615.739258,8.305874,6341.541992}; name="SL1"; text="Alpha SL"; type="Dot"; colorName="ColorGreen"; a=0.600000; b=0.600000; }; class Item18 { position[]={12299.712891,0.949042,5927.413574}; name="SL2"; text="Bravo SL"; type="Dot"; colorName="ColorGreen"; a=0.600000; b=0.600000; }; class Item19 { position[]={14399.409180,45.368340,11135.800781}; name="shilka2"; type="Flag"; a=0.500000; b=0.500000; }; class Item20 { position[]={14038.340820,38.684921,11543.250977}; name="lines"; markerType="ELLIPSE"; type="UnknownVehicle_Marker"; colorName="ColorRed"; fillName="Grid"; a=1600.000000; b=1200.000000; angle=-80.171471; }; }; class Sensors { items=10; class Item0 { position[]={14257.630859,55.049522,11888.818359}; activationBy="STATIC"; activationType="NOT PRESENT"; interruptable=1; age="UNKNOWN"; idStatic=254863; idObject=-1523899505; expActiv=" objective2completed = 1"; class Effects { }; }; class Item1 { position[]={14222.142578,55.066711,11891.364258}; activationBy="STATIC"; activationType="NOT PRESENT"; interruptable=1; age="UNKNOWN"; idStatic=254861; idObject=-1523901555; expActiv=" objective1completed = 1"; class Effects { }; }; class Item2 { position[]={14204.417969,39.959999,12497.112305}; activationBy="STATIC"; activationType="NOT PRESENT"; interruptable=1; age="UNKNOWN"; idStatic=279996; idObject=-1492443716; expActiv="objective3completed = 1"; class Effects { }; }; class Item3 { position[]={14277.259766,43.166672,11531.122070}; a=0.000000; b=0.000000; interruptable=1; age="UNKNOWN"; expCond="objective1completed == 1 and objective2completed == 1 and objective3completed == 1"; expActiv="hint ""The target buildings have been destroyed!""; buildingsdestroyed = 1;"; class Effects { }; }; class Item4 { position[]={14083.833008,32.607037,11448.316406}; interruptable=1; age="UNKNOWN"; expCond="!(alive shilka1)"; expActiv="hint ""Shilka 1 has been destroyed!"""; class Effects { }; }; class Item5 { position[]={14139.523438,32.329742,11439.250000}; interruptable=1; age="UNKNOWN"; expCond="!(alive shilka2)"; expActiv="hint ""Shilka 2 has been destroyed!"""; class Effects { }; }; class Item6 { position[]={14103.906250,36.424778,11368.560547}; interruptable=1; age="UNKNOWN"; expCond="!(alive shilka1) and !(alive shilka2)"; expActiv="hint ""Both shilkas have been destroyed. The Harriers have been cleared for takeoff.""; plane1 setfuel 1; plane2 setfuel 1"; class Effects { }; }; class Item7 { position[]={14322.554688,34.946941,11432.277344}; activationBy="ANY"; timeoutMin=3.000000; timeoutMid=3.000000; timeoutMax=3.000000; interruptable=1; type="END1"; age="UNKNOWN"; expCond="buildingsdestroyed == 1"; class Effects { }; }; class Item8 { position[]={14273.262695,62.096832,9921.235352}; a=50000.000000; b=50000.000000; activationBy="GUER"; activationType="NOT PRESENT"; timeoutMin=5.000000; timeoutMid=5.000000; timeoutMax=5.000000; interruptable=1; type="END2"; age="UNKNOWN"; class Effects { }; }; class Item9 { position[]={14250.954102,55.918320,9918.172852}; a=50000.000000; b=50000.000000; activationBy="GUER"; activationType="NOT PRESENT"; interruptable=1; age="UNKNOWN"; expActiv="hint ""All RACS forces have been killed. Mission failed."""; class Effects { }; }; }; }; class Intro { addOns[]= { "sara" }; addOnsAuto[]= { "sara" }; randomSeed=4177923; class Intel { startWeather=0.100000; forecastWeather=0.300000; year=2007; month=6; day=7; hour=8; }; }; class OutroWin { addOns[]= { "sara" }; addOnsAuto[]= { "sara" }; randomSeed=5989891; class Intel { startWeather=0.100000; forecastWeather=0.300000; year=2007; month=6; day=7; hour=8; }; }; class OutroLoose { addOns[]= { "sara" }; addOnsAuto[]= { "sara" }; randomSeed=12859907; class Intel { startWeather=0.100000; forecastWeather=0.300000; year=2007; month=6; day=7; hour=8; }; }; ; Initialize spectating script when player dies ; Set the following to limit visible sides: ; KEGsShownSides = [west, east, resistance, civilian]; _this execVM "spect\specta.sqf";_guyLDR = _this select 0 LDRnumber = random 5 ?LDRnumber < 1:goto "M16A2GL" ?LDRnumber < 2:goto "M4" ?LDRnumber < 3:goto "M4GL" ?LDRnumber < 4:goto "M16A4" ?LDRnumber < 5:goto "M16A4GL" exit #M16A2GL Removeallweapons _guyLDR _guyLDR addweapon "M16A2GL" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "SmokeShell" _guyLDR addmagazine "SmokeShellRed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addweapon "M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addweapon "Binocular" _guyLDR addweapon "NVGoggles" exit #m4 Removeallweapons _guyLDR _guyLDR addweapon "M4A1" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "SmokeShell" _guyLDR addmagazine "SmokeShellRed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addweapon "M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addweapon "Binocular" _guyLDR addweapon "NVGoggles" exit #M4GL Removeallweapons _guyLDR _guyLDR addweapon "M16A2GL" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "SmokeShell" _guyLDR addmagazine "SmokeShellRed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addweapon "M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addweapon "Binocular" _guyLDR addweapon "NVGoggles" exit #M16A4 Removeallweapons _guyLDR _guyLDR addweapon "M16A4" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "SmokeShell" _guyLDR addmagazine "SmokeShellRed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addweapon "M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addweapon "Binocular" _guyLDR addweapon "NVGoggles" exit #M16A4GL Removeallweapons _guyLDR _guyLDR addweapon "M16A4_GL" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "30Rnd_556x45_Stanag" _guyLDR addmagazine "SmokeShell" _guyLDR addmagazine "SmokeShellRed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addmagazine "HandGrenadeTimed" _guyLDR addweapon "M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "15Rnd_9x19_M9" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addmagazine "1Rnd_HE_M203" _guyLDR addweapon "NVGoggles" _guyLDR addweapon "Binocular" exit _guyMG = _this select 0 MGnumber = random 3 ?MGnumber < 1:goto "M249" ?MGnumber < 2:goto "M240" ?MGnumber < 3:goto "PKM" exit #M249 Removeallweapons _guyMG _guyMG addweapon "M249" _guyMG addmagazine "200Rnd_556x45_M249" _guyMG addmagazine "200Rnd_556x45_M249" _guyMG addmagazine "200Rnd_556x45_M249" _guyMG addweapon "M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addweapon "NVGoggles" exit #m240 Removeallweapons _guyMG _guyMG addweapon "M240" _guyMG addmagazine "100Rnd_762x51_M240" _guyMG addmagazine "100Rnd_762x51_M240" _guyMG addmagazine "100Rnd_762x51_M240" _guyMG addmagazine "100Rnd_762x51_M240" _guyMG addmagazine "100Rnd_762x51_M240" _guyMG addmagazine "100Rnd_762x51_M240" _guyMG addweapon "M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addweapon "NVGoggles" exit #PKM Removeallweapons _guyMG _guyMG addweapon "PK" _guyMG addmagazine "100Rnd_762x54_PK" _guyMG addmagazine "100Rnd_762x54_PK" _guyMG addmagazine "100Rnd_762x54_PK" _guyMG addmagazine "100Rnd_762x54_PK" _guyMG addmagazine "100Rnd_762x54_PK" _guyMG addmagazine "100Rnd_762x54_PK" _guyMG addweapon "M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addmagazine "15Rnd_9x19_M9" _guyMG addweapon "NVGoggles" exit _d00d = _this select 0 weaponnumber = random 10 ?weaponnumber < 1:goto "M16A4" ?weaponnumber < 2:goto "M16A4ACOG" ?weaponnumber < 3:goto "M16A2" ?weaponnumber < 4:goto "M16A2ACOG" ?weaponnumber < 5:goto "M4" ?weaponnumber < 6:goto "M4AIM" ?weaponnumber < 7:goto "M4A1" ?weaponnumber < 8:goto "G36K" ?weaponnumber < 9:goto "G36C" ?weaponnumber < 10:goto "G36A" exit #M16A4 Removeallweapons _d00d _d00d addweapon "M16A4" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #M16A4ACOG Removeallweapons _d00d _d00d addweapon "M16A4_ACG" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #M16A2 Removeallweapons _d00d _d00d addweapon "M16A2" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #M16A2ACOG Removeallweapons _d00d _d00d addweapon "M16A2" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #M4 Removeallweapons _d00d _d00d addweapon "M4" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #M4AIM Removeallweapons _d00d _d00d addweapon "M4AIM" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #M4A1 Removeallweapons _d00d _d00d addweapon "M4A1" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "30Rnd_556x45_Stanag" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #G36k Removeallweapons _d00d _d00d addweapon "G36K" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #G36c Removeallweapons _d00d _d00d addweapon "G36c" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exit #G36a Removeallweapons _d00d _d00d addweapon "G36a" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "30Rnd_556x45_G36" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addmagazine "HandGrenadeTimed" _d00d addweapon "NVGoggles" exitfoo = [player, player, "null"] execVM "spect\specta.sqf" exit#define ReadAndWrite 0 #define ReadAndCreate 1 #define ReadOnly 2 #define ReadOnlyVerified 3 #define true 1 #define false 0 class KEGsRscText { access = ReadAndWrite; type = 0; idc = -1; style = 0; w = 0.1; h = 0.05; font = "TahomaB"; sizeEx = 0.04; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; text = ""; }; class KEGsRscListBox { access = ReadAndWrite; type = 5; 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}; soundSelect[] = {"", 0.1, 1}; period = 1; }; class KEGsRscActiveText { access = ReadAndWrite; type = 11; style = 2; h = 0.05; w = 0.15; font = "TahomaB"; sizeEx = 0.04; color[] = {1, 1, 1, 1}; colorActive[] = {1, 0.5, 0, 1}; soundEnter[] = {"", 0.1, 1}; soundPush[] = {"", 0.1, 1}; soundClick[] = {"", 0.1, 1}; soundEscape[] = {"", 0.1, 1}; text = ""; default = 0; }; class KEGsRscMapControl { access = ReadAndWrite; type = 101; idc = 51; style = 48; colorBackground[] = {1, 1, 1, 1}; colorText[] = {0, 0, 0, 1}; font = "TahomaB"; sizeEx = 0.04; 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 = "Zeppelin32"; sizeExLabel = 0.027; fontGrid = "Zeppelin32"; sizeExGrid = 0.027; fontUnits = "Zeppelin32"; sizeExUnits = 0.027; fontNames = "Zeppelin32"; sizeExNames = 0.027; fontInfo = "Zeppelin32"; sizeExInfo = 0.027; fontLevel = "Zeppelin32"; sizeExLevel = 0.027; 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; class Bunker { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0.55, 0.64, 0.43, 1}; size = 16; 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 = 16; 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 Cross { icon = "\ca\ui\data\map_cross_ca.paa"; color[] = {0.55, 0.64, 0.43, 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.55, 0.64, 0.43, 1}; size = 16; importance = 2 * 16 * 0.05; coefMin = 0.25; coefMax = 4; }; class Fuelstation { icon = "\ca\ui\data\map_fuelstation_ca.paa"; color[] = {0.55, 0.64, 0.43, 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.55, 0.64, 0.43, 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.55, 0.64, 0.43, 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.55, 0.64, 0.43, 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.55, 0.64, 0.43, 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 = 16; importance = 0.6 * 12 * 0.05; coefMin = 0.25; coefMax = 4; }; class Stack { icon = "\ca\ui\data\map_stack_ca.paa"; color[] = {0.55, 0.64, 0.43, 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 = 16; 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"; size = 20; color[] = {0, 0.35, 0.7, 1}; importance = 2 * 16 * 0.05; coefMin = 0.9; coefMax = 4; }; class ViewTower { icon = "\ca\ui\data\map_viewtower_ca.paa"; size = 16; color[] = {0, 0.35, 0.7, 1}; 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"; size = 16; color[] = {0, 0.35, 0.7, 1}; importance = 2.5 * 16 * 0.05; coefMin = 0.5; coefMax = 4; }; class WaypointCompleted { icon = "\ca\ui\data\map_waypoint_completed_ca.paa"; size = 16; color[] = {0, 0.35, 0.7, 1}; importance = 2.5 * 16 * 0.05; coefMin = 0.5; coefMax = 4; }; }; class KEGsRscControlsGroup { type = 15; idc = -1; style = 0; x = 0; y = 0; w = 1; h = 1; class VScrollbar { color[] = {1, 1, 1, 1}; width = 0.021; }; class HScrollbar { color[] = {1, 1, 1, 1}; height = 0.028; }; class Controls {}; };// // Spectating Script for Armed Assault // by Kegetys // _player = _this select 0; _killer = _this select 1; _seagull = _this select 2; // If seagull is valid we came from the respawn scene if(typeName _seagull != "string") then { _seagull setpos[-1000, -1000, 1000]; sleep 1.5; titleCut["","BLACK OUT", 1.5]; }; // Globals etc. spectate_events = compile loadfile "spect\specta_events.sqf"; KEGsMouseButtons = [false, false]; KEGsMouseScroll = 0; KEGsMouseCoord = [0.5, 0.5]; KEGsUseNVG = false; KEGsMissileCamActive = false; KEGsUseMissileCam = true; KEGsMarkerNames = false; // True = display marker names and arrows KEGsMarkerType = 1; // 0 = disabled, 1 = names, 2 = types KEGsTags = false; // Particlesource tags KEGsAIfilter = false; // Filter AI units (only players displayed) KEGsClientAddonPresent = false; // Is client-side addon present? KEGsMarkerSize = 1.0; // Full map marker size KEGsMinimapZoom = 0.5; // Minimap zoom KEGsSelect = 0; // Used to change selected target KEGs1stGunner = false; // Gunner view on 1st person camera? KEGsDroppedCamera = false; // Free camera dropped (non-targeted with free motion)? KEGsCamForward = false; KEGsCamBack = false; KEGsCamLeft = false; KEGsCamRight = false; KEGsNeedUpdateLB = false; _mouseDeltaX = 0; _mouseDeltaY = 0; _sdistance = 1; // camera distance _fangle = 0; // Free camera angle _fangleY = 15; _flybydst = 35; // Distance of flyby camera (adjusted based on target speed) _szoom = 0.976; _markers = []; // Map markers showing positions of all units KEGsTagSources = []; // Particle sources for tags _lastTgt = 0; _nameCache = []; // Used to store valid names since name command cannot be trusted _maxDistance = 50; // Maximum distance for camera _maxZoom = 0.05; // Maximum zoom level _minZoom = 2; // Unit sides shown - Show all if sides not set if(format["%1", KEGsShownSides] == "scalar bool array string 0xe0ffffef") then { KEGsShownSides = [west, east, resistance, civilian]; }; deathCam = []; _ehVehicles = []; // Used to keep track of added eventhandlers KEGsAllUnits = []; // Create trigger for retrieving all vehicles _t = createTrigger["EmptyDetector", getpos player]; _t setTriggerType "NONE"; _t setTriggerStatements ["this", "KEGsAllUnits = thislist", ""]; _t setTriggerArea[50000, 50000, 0, false]; _t setTriggerActivation["ANY", "PRESENT", false]; // Wait until trigger assigns the array waitUntil{count KEGsAllUnits > 0}; if(typeName _seagull != "string") then { sleep 1; titleCut ["","BLACK IN", 8]; } else { titleText["","BLACK IN", 0]; }; // Create dialog & assign keyboard handler createDialog "rscSpectate"; _disp = (findDisplay 55001); _disp displaySetEventHandler["KeyDown", "[""KeyDown"",_this] call spectate_events"]; _disp displaySetEventHandler["KeyUp", "[""KeyUp"",_this] call spectate_events"]; // Hide menus by default ["ToggleCameraMenu",0] call spectate_events; ["ToggleTargetMenu",0] call spectate_events; ["ToggleHelp",0] call spectate_events; ["ToggleMap",1] call spectate_events; // IDC's from rsc _cCamera = 55002; _cTarget = 55003; _cName = 55004; _cLBCameras = 55005; _cLBTargets = 55006; _cCamerasBG = 55007; _cTargetsBG = 55008; _cMap = 55013; _cMapFull = 55014; _cDebug = 55100; _nearest = objNull; // Create cameras _pos = [(getpos player select 0)-1+random 2, (getpos player select 1)-1+random 2, 2]; KEGscam_static = "camera" camCreate _pos; KEGscam_target = "camera" camCreate _pos; // "Dummy" target camera for smooth transitions KEGscam_free = "camera" camCreate _pos; KEGscam_flyby = "camera" camCreate _pos; KEGscam_topdown = "camera" camCreate _pos; KEGscam_1stperson = "camera" camCreate _pos; // Dummy camera KEGscam_missile = "camera" camCreate _pos; // Missile camera KEGscam_fullmap = "camera" camCreate _pos; // Full map view camera _cameras = [KEGscam_free, KEGscam_static, KEGscam_flyby, KEGscam_topdown, KEGscam_1stperson]; _cameraNames = ["Free", "Chase", "Flyby", "Top-down", "1st person"]; _dummy = "helihempty" createVehicleLocal [0,0,0]; // Dummy object for distance command KEGscameras = _cameras; // Hack to allow access from events.sqf // Add cameras to listbox lbClear _cLBCameras; {lbAdd[_cLBCameras, _x]} foreach _cameraNames; // Add separator & toggles _cLbSeparator = lbAdd[_cLBCameras, "---"]; lbSetColor[_cLBCameras, _cLbSeparator, [0.5, 0.5, 0.5, 0.5]]; _cLbMissileCam = lbAdd[_cLBCameras, "Missile camera"]; _cLbToggleNVG = lbAdd[_cLBCameras, "Night vision"]; _cLbToggleTags = lbAdd[_cLBCameras, "Unit tags"]; _cLbToggleAiFilter = lbAdd[_cLBCameras, "Filter AI"]; KEGs_tgtIdx = 0; KEGs_cameraIdx = 0; showcinemaborder false; lbClear _cLBTargets; onMapSingleClick "[""MapClick"",_pos] call spectate_events"; ["EventLogAdd",["Initialize",[1,1,1,1]]] call spectate_events; // Check for client side addon _foo = "KEGsAddon10" createVehicleLocal[-1000,-1000,0]; //_foo = "KEGspect_bar_yellow" createVehicleLocal[-1000,-1000,0]; if(!isNull _foo) then { deletevehicle _foo; KEGsClientAddonPresent = true; }; // Spawn thread to display help reminder after a few seconds [] spawn {sleep(3);if(dialog) then {cutText["\n\n\n\n\nPress F1 for help","PLAIN DOWN", 0.75]}}; _camSelLast = 0; _tgtSelLast = 0; _mouseLastX = 0.5; _mouseLastY = 0.5; _nNoDialog = 0; _lastCheckNewUnits = -100; _lastUpdateMarkers = -100; _lastUpdateMarkerTypes = -100; _lastUpdateTags = -100; _lastAutoUpdateLB = time; KEGsCamPos = [0,0,0]; _cxpos = 0; _cypos = 0; _czpos = 0; _cspeedx = 0; _cspeedy = 0; _tbase = 0.1; _h = 2; // Main loop - Ugly double loop to avoid exit after 10000 iterations while{dialog} do { while{dialog} do { call { // Check for listbox selections if(_camSelLast != lbCurSel _cLBCameras) then { _cs = lbCurSel _cLBCameras; if(_cs == _cLbSeparator) then {_cs = _camSelLast}; // Special for toggling missile camera if(_cs == _cLbMissileCam) then { KEGsUseMissileCam = !KEGsUseMissileCam; _cs = _camSelLast; }; // Special for toggling NVG if(_cs == _cLbToggleNVG) then { KEGsUseNVG = !KEGsUseNVG; _cs = _camSelLast; }; // Special for toggling tags if(_cs == _cLbToggleTags) then { KEGsTags = !KEGsTags; ["ToggleTags", [KEGsTags, (_cameras select KEGs_cameraIdx)]] call spectate_events; _cs = _camSelLast; }; // Special for toggling AI filter if(_cs == _cLbToggleAiFilter) then { KEGsAIfilter = !KEGsAIfilter; _cs = _camSelLast; KEGsNeedUpdateLB = true; // Request listbox update }; if(_cs != _camSelLast) then { // Selected another camera - disable dropped cam KEGsDroppedCamera = false; }; KEGs_cameraIdx = _cs; }; if(lbCurSel _cLBTargets > lbSize _cLBTargets) then { lbSetCurSel[_cLBTargets, lbSize _cLBTargets]; // Selection outside listbox size }; // Update selected target from listbox if(KEGsSelect != 0) then { lbSetCurSel[_cLBTargets, ((lbCurSel _cLBTargets)+KEGsSelect)]; KEGsSelect = 0; }; if(_tgtSelLast != lbCurSel _cLBTargets) then { KEGsDroppedCamera = false; KEGs_tgtIdx = lbValue[_cLBTargets, (lbCurSel _cLBTargets)]; }; // Process mouse movement _mouseDeltaX = _mouseLastX - (KEGsMouseCoord select 0); _mouseDeltaY = _mouseLastY - (KEGsMouseCoord select 1); if(!(KEGsMouseButtons select 0) and (KEGsMouseButtons select 1)) then { // Right mouse button - Adjust position _fangle = _fangle - (_mouseDeltaX*360); _fangleY=_fangleY + (_mouseDeltaY*180); if(_fangleY > 89) then {_fangleY = 89}; if(_fangleY < -89) then {_fangleY = -89}; }; if((KEGsMouseButtons select 0) and !(KEGsMouseButtons select 1)) then { // Left mouse button - Adjust distance _sdistance = _sdistance - (_mouseDeltaY*10); if(_sdistance > _maxDistance) then {_sdistance = _maxDistance}; if(_sdistance < -_maxDistance) then {_sdistance = -_maxDistance}; }; if(KEGsMouseScroll != 0) then { // Mouse scroll wheel - Adjust distance _sdistance = _sdistance - (KEGsMouseScroll*0.11); KEGsMouseScroll = KEGsMouseScroll * 0.75; if(_sdistance > _maxDistance) then {_sdistance = _maxDistance}; if(_sdistance < -_maxDistance) then {_sdistance = -_maxDistance}; }; if((KEGsMouseButtons select 0) and (KEGsMouseButtons select 1)) then { // Both mousebuttons - Adjust zoom _szoom = _szoom - (_mouseDeltaY*3); if(_szoom > _minZoom) then {_szoom = _minZoom}; if(_szoom < _maxZoom) then {_szoom = _maxZoom}; }; // Check for new units every 2 seconds if(time - _lastCheckNewUnits > 2) then { _lastCheckNewUnits = time; _allUnits = []; _allVehicles = []; // Avoid game logics _foo = []; {if(side _x != sideLogic) then {_foo = _foo + [_x]}} foreach KEGsAllUnits; {_allUnits = _allUnits + (crew _x);_allVehicles = _allVehicles + [_x]} foreach _foo; _newUnits = _allUnits - deathCam; _newVehicles = _allVehicles - _ehVehicles; if(count _newVehicles > 0) then { // Add event handlers to new vehicles _ehVehicles = _ehVehicles + _newVehicles; { // Add fired eventhandler for map indication _fh = _x addeventhandler["fired", {["UnitFired",_this] call spectate_events}]; //_kh = _x addeventhandler["killed", {["UnitKilled",_this] call spectate_events}]; _x setVariable["KEGsEHfired", _fh]; //_x setVariable["KEGsEHkilled", _kh]; } foreach _newVehicles; }; if(count _newUnits > 0) then { // Add new units to end of list deathCam = deathCam + _newUnits; // Request listbox update KEGsNeedUpdateLB = true; // Create markers { // Crete marker _m = createMarkerLocal[format["KEGsMarker%1", count _markers], getpos player]; _m setMarkerTypeLocal "Dot"; _m setMarkerSizeLocal[0.4, 0.4]; _markers = _markers + [_m]; // Set marker color if(side _x == west) then {_m setMarkerColorLocal "ColorBlue";}; if(side _x == east) then {_m setMarkerColorLocal "ColorRed";}; if(side _x == resistance) then {_m setMarkerColorLocal "ColorGreen";}; if(side _x == civilian) then {_m setMarkerColorLocal "ColorWhite";}; // Create particle source _s = "#particlesource" createvehiclelocal (getpos _x); KEGsTagSources = KEGsTagSources + [[_x, _s]]; // If tags are on, turn them off and back again to include new units if(KEGsTags) then { ["ToggleTags",[false, (_cameras select KEGs_cameraIdx)]] call spectate_events; ["ToggleTags",[true, (_cameras select KEGs_cameraIdx)]] call spectate_events; }; } foreach _newUnits; }; }; // Request listbox update every 4 seconds to update dead units or jip player names if(time - _lastAutoUpdateLB > 4) then { _lastAutoUpdateLB = time; KEGsNeedUpdateLB = true; }; if(KEGsNeedUpdateLB) then { // Clear and re-fill targets listbox lbClear _cLBTargets; for "_idx" from 0 to ((count deathCam)-1) do { _x = deathCam select _idx; _name = ""; if(alive _x) then { // Unit is alive, use name command _name = name _x; _nameCache set[_idx, _name]; } else { // Dead unit, use cached name _name = _nameCache select _idx; }; if((!KEGsAIfilter or isPlayer _x) and ((side _x) in KEGsShownSides)) then { _i = lbAdd[_cLBTargets, _name]; lbSetValue[_cLBTargets, _i, _idx]; // Value used to id unit if(side _x == west) then {lbSetColor[_cLBTargets, _i, [0.8,0.8,1,1]]}; if(side _x == east) then {lbSetColor[_cLBTargets, _i, [1,0.8,0.8,1]]}; if(side _x == resistance) then {lbSetColor[_cLBTargets, _i, [0.8,1,0.8,1]]}; if(side _x == civilian) then {lbSetColor[_cLBTargets, _i, [1,1,1,1]]}; if(not alive _x) then { // Whoops, unit is dead, change color lbSetColor[_cLBTargets, _i, [0.5,0.5,0.5,1]]; }; //if(_x == KEGs_target) then { // Select target // Not a good idea //lbSetCurSel[_cLBTargets, _i]; //}; }; }; KEGsNeedUpdateLB = false; }; // Check limits if(KEGs_tgtIdx >= count deathCam) then {KEGs_tgtIdx = (count deathCam)-1;}; if(KEGs_tgtIdx < 0) then {KEGs_tgtIdx = 0}; if(KEGs_cameraIdx < 0) then {KEGs_cameraIdx = 0}; if(KEGs_cameraIdx >= count _cameras) then {KEGs_cameraIdx = (count _cameras)-1;}; // Select camera, get target if(!KEGsMissileCamActive) then { (_cameras select KEGs_cameraIdx) cameraEffect["internal", "BACK"]; KEGs_target = deathCam select KEGs_tgtIdx; }; lbSetCurSel[_cLBCameras, KEGs_cameraIdx]; if(lbValue[_cLBTargets, (lbCurSel _cLBTargets)] != KEGs_tgtIdx) then { // Find listbox element with matching value for "_idx" from 0 to (lbSize _cLBTargets) do { if(lbValue[_cLBTargets, (lbCurSel _cLBTargets)] == KEGs_tgtIdx) then { lbSetCurSel[_cLBTargets, _idx]; _found = true; }; }; }; //if(lbCurSel _cLBTargets != KEGs_tgtIdx) then { // lbSetCurSel[_cLBTargets, KEGs_tgtIdx]; // }; camUseNVG KEGsUseNVG; if(ctrlVisible _cMapFull) then { KEGscam_fullmap cameraEffect["internal", "BACK"]; }; //ctrlSetText[_cDebug, format["%1", count _markers]]; // Update tag particlesources if(time - _lastUpdateTags > (1/5)) then { _lastUpdateTags = time; if(KEGsTags) then { ["ToggleTags", [true, (_cameras select KEGs_cameraIdx)]] call spectate_events; }; }; // Update markers 10fps _rate = 15; if(count _markers > 100) then {_rate = 7.5}; // Update large number of markers less often if(time - _lastUpdateMarkers > (1/_rate)) then { _lastUpdateMarkers = time; // setMarkerTypeLocal is very slow, call it only once per second _doMarkerTypes = false; if(time - _lastUpdateMarkerTypes > 1) then { _lastUpdateMarkerTypes = time; _doMarkerTypes = true; // Allow update marker types }; if(ctrlVisible _cMapFull) then { // Position camera in the middle of full map, for sound and // smoother marker motion (distant objects appear less smooth) _mapFull = _disp displayctrl _cMapFull; _mappos = _mapFull posScreenToWorld[0.5, 0.5]; KEGscam_fullmap camsettarget _mappos; KEGscam_fullmap camsetrelpos [0, -1, 150]; KEGscam_fullmap camcommit 0; }; _markedVehicles = []; // Keep track of vehicles with markers to avoid multiple markers for one vehicle for "_i" from 0 to ((count _markers)-1) do { _m = _markers select _i; _u = (deathCam select _i); _m setMarkerPosLocal (getpos vehicle _u); if(!((side _u) in KEGsShownSides)) then { // We arent' supposed to show this side unit - hide marker if(_doMarkerTypes) then {_m setMarkerTypeLocal "empty"}; } else { if(KEGsMarkerNames or KEGsMinimapZoom < 0.15) then { // Set full screen map marker types - Also zoomed minimap if(ctrlVisible _cMapFull) then { switch(KEGsMarkerType) do { case 0: { // No text _m setMarkerTextLocal ""; }; case 1: { // Names if(alive (vehicle _u)) then { if(name (vehicle _u) != "Error: no unit") then {_m setMarkerTextLocal name ( _u)}; }; }; case 2: { // Types _m setMarkerTextLocal getText (configFile >> "CfgVehicles" >> format["%1", typeOf (vehicle _u)] >> "DisplayName"); }; }; } else { // Minimap with detailed icons but no text _m setMarkerTextLocal ""; }; if(KEGsClientAddonPresent) then { // With client side addon use better icons _type = getText(configFile >> "CfgVehicles" >> format["%1", typeOf (vehicle _u)] >> "simulation"); _icon = "Arrow"; switch(_type) do { case "tank": {_icon = "KEGsTank"}; case "car": {_icon = "KEGsCar"}; case "soldier": {_icon = "KEGsMan"}; case "ship": {_icon = "KEGsShip"}; case "airplane": {_icon = "KEGsPlane"}; case "helicopter": {_icon = "KEGsHelicopter"}; case "motorcycle": {_icon = "KEGsMotorcycle"}; case "parachute": {_icon = "KEGsParachute"}; }; if(_doMarkerTypes) then {_m setMarkerTypeLocal _icon}; _m setMarkerSizeLocal[0.42*KEGsMarkerSize, 0.42*KEGsMarkerSize]; } else { // No client side addon - basic markers if(_doMarkerTypes) then {_m setMarkerTypeLocal "Arrow"}; if(_u == vehicle _u) then { _m setMarkerSizeLocal[0.33*KEGsMarkerSize, 0.27*KEGsMarkerSize]; } else { _m setMarkerSizeLocal[0.42*KEGsMarkerSize, 0.42*KEGsMarkerSize]; }; }; _m setMarkerDirLocal (getdir (vehicle _u)); } else { _m setMarkerTextLocal ""; if(_doMarkerTypes) then {_m setMarkerTypeLocal "Dot"}; _m setMarkerSizeLocal[0.4,0.4]; }; }; if(not alive _u) then { if(KEGsClientAddonPresent) then { // Switch to darker color, cant use side since the unit is already dead if(getMarkerColor _m == "ColorBlue") then {_m setMarkerColorLocal "KEGsDarkBlue"}; if(getMarkerColor _m == "ColorRed") then {_m setMarkerColorLocal "KEGsDarkRed"}; if(getMarkerColor _m == "ColorGreen") then {_m setMarkerColorLocal "KEGsDarkGreen"}; if(getMarkerColor _m == "ColorWhite") then {_m setMarkerColorLocal "KEGsGrey"}; } else { _m setMarkerColorLocal "ColorBlack" }; }; if(vehicle _u in _markedVehicles) then { // This vehicle was already marked, hide marker _m setMarkerTypeLocal "Empty"; } else { _markedVehicles = _markedVehicles + [vehicle _u]; }; }; // Follow target with small map _map = _disp displayctrl _cMap; ctrlMapAnimClear _map; if(KEGsDroppedCamera) then { // Center on dropped camera position _map ctrlMapAnimAdd[0.3, KEGsMinimapZoom, [_cxpos, _cypos,0]]; } else { // Center on target _map ctrlMapAnimAdd[0.3, KEGsMinimapZoom, getpos KEGs_target]; }; ctrlMapAnimCommit _map; }; // Check if target changed and center main map if(KEGs_tgtIdx != _lastTgt) then { _map = _disp displayctrl _cMapFull; ctrlMapAnimClear _map; _map ctrlMapAnimAdd [0.2, 1.0, getpos (deathcam select KEGs_tgtIdx)]; ctrlMapAnimCommit _map; }; if((_cameras select KEGs_cameraIdx) == KEGscam_1stperson) then { // 1st person view if(KEGs1stGunner) then { (vehicle KEGs_target) switchCamera "GUNNER"; } else { (vehicle KEGs_target) switchCamera "INTERNAL"; }; (vehicle KEGs_target) cameraEffect ["terminate","FRONT"]; }; // Get target properties _dir = getdir vehicle KEGs_target; _bb = boundingBox vehicle KEGs_target; //_h = ((_bb select 1) select 2) - ((_bb select 0) select 2); // Height _foo = ((_bb select 1) select 2) - ((_bb select 0) select 2); // Height _l = ((_bb select 1) select 1) - ((_bb select 0) select 1); // Length _w = ((_bb select 1) select 0) - ((_bb select 0) select 0); // Width _hstr = 0.15; _h = (_foo*_hstr)+(_h*(1-_hstr)); // Set UI texts _role = ""; if(vehicle KEGs_target != KEGs_target) then { if(KEGs_target == driver vehicle KEGs_target) then {_role = "(Driver)"}; if(KEGs_target == gunner vehicle KEGs_target) then {_role = "(Gunner)"}; if(KEGs_target == commander vehicle KEGs_target) then {_role = "(Commander)"}; }; _name = "Unknown"; if(alive KEGs_target) then { _name = name KEGs_target; if(_name == "Error: no unit") then {_name = "Unknown"}; }; if(KEGsDroppedCamera and isNull _nearest) then { // Dropped camera mode - no target _name = ""; _role = ""; }; ctrlSetText[_cName, format["%1 %2", _name, _role]]; ctrlSetText[_cCamera, format["Camera: %1", _cameraNames select KEGs_cameraIdx]]; // Set name color to gray if dropped cam _ccName = _disp displayctrl _cName; if(KEGsDroppedCamera) then { _ccName ctrlSetTextColor[0.6, 0.6, 0.6, 1]; } else { _ccName ctrlSetTextColor[1, 1, 1, 1]; }; // Set toggle text color for camera menu if(KEGsUseMissileCam) then {lbSetColor[_cLBCameras, _cLbMissileCam, [1, 0.5, 0, 1]]} else {lbSetColor[_cLBCameras, _cLbMissileCam, [1,1,1,0.33]]}; if(KEGsUseNVG) then {lbSetColor[_cLBCameras, _cLbToggleNVG, [1, 0.5, 0, 1]]} else {lbSetColor[_cLBCameras, _cLbToggleNVG, [1,1,1,0.33]]}; if(KEGsTags) then {lbSetColor[_cLBCameras, _cLbToggleTags, [1, 0.5, 0, 1]]} else {lbSetColor[_cLBCameras, _cLbToggleTags, [1,1,1,0.33]]}; if(KEGsAIfilter) then {lbSetColor[_cLBCameras, _cLbToggleAiFilter, [1, 0.5, 0, 1]]} else {lbSetColor[_cLBCameras, _cLbToggleAiFilter, [1,1,1,0.33]]}; if(KEGsDroppedCamera) then { // Dropped free camera, moved with WSAD keys if(KEGs_cameraIdx != 0) then { // User changed camera KEGsDroppedCamera = false; }; // Adjust speed from buttons held down _spd = (_sdistance max 1)*20; if(KEGsCamForward) then { _cspeedx = _cspeedx + ((_spd*_tbase)*sin _fangle); _cspeedy = _cspeedy + ((_spd*_tbase)*cos _fangle); }; if(KEGsCamBack) then { _cspeedx = _cspeedx + ((-_spd*_tbase)*sin _fangle); _cspeedy = _cspeedy + ((-_spd*_tbase)*cos _fangle); }; if(KEGsCamLeft) then { _cspeedx = _cspeedx + ((_spd*_tbase)*sin (_fangle-90)); _cspeedy = _cspeedy + ((_spd*_tbase)*cos (_fangle-90)); }; if(KEGsCamRight) then { _cspeedx = _cspeedx + ((-_spd*_tbase)*sin (_fangle-90)); _cspeedy = _cspeedy + ((-_spd*_tbase)*cos (_fangle-90)); }; // Move camera _cxpos = _cxpos + (_cspeedx*_tbase); _cypos = _cypos + (_cspeedy*_tbase); _czpos = 0; _h = 2; // Static camera height _l = 2.2; // Slow down _bstr = 5; _cspeedx = _cspeedx * ((1.0-(_tbase*_bstr)) max 0); _cspeedy = _cspeedy * ((1.0-(_tbase*_bstr)) max 0); // Check for nearby targets _dummy setpos[_cxpos, _cypos, 1.5]; _objs = [_cxpos, _cypos, 1.5] nearObjects 5; _nearest = objNull; _dist = 10; { { _d = _dummy distance _x; if(_d < _dist and _x in deathCam and alive _x) then {_nearest = _x;_dist = _d;}; } foreach crew _x; } foreach _objs; if(!isNull _nearest) then {KEGs_tgtIdx = deathCam find _nearest}; } else { // Set targets for all cameras _cxpos = getpos vehicle KEGs_target select 0; _cypos = getpos vehicle KEGs_target select 1; _czpos = getpos vehicle KEGs_target select 2; }; KEGscam_target camSetPos[_cxpos, _cypos, _czpos+(_h*0.7)]; KEGscam_static camSetTarget KEGscam_target; KEGscam_free camSetTarget[_cxpos, _cypos, _czpos+(_h*0.6)]; KEGscam_flyby camSetTarget KEGscam_target; KEGscam_topdown camSetTarget[_cxpos, _cypos, _czpos+(_h*0.6)]; {_x camSetFov _szoom} foreach _cameras; // Static camera, follows unit from behind KEGscam_static camSetRelPos[sin(_dir)*(-(_l*_sdistance)), cos(_dir)*(-(_l*_sdistance)), 0.6*abs _sdistance]; // Free camera, user rotates camera around target _d = (-(_l*(0.3 max _sdistance))); _z = sin(_fangleY)*(_l*(0.3 max _sdistance)); KEGscam_free camSetRelPos[(sin(_fangle)*_d)*cos(_fangleY), (cos(_fangle)*_d)*cos(_fangleY), _z]; KEGscam_free camCommit 0; // Flyby camera, no user control except zoom if(KEGs_target distance KEGscam_flyby > (_flybydst*1.1)) then { _flybydst = 20+(speed vehicle KEGs_target); KEGscam_flyby camSetRelPos[sin(_dir)*_flybydst, cos(_dir)*_flybydst, 1+((random _h)*1.5)]; KEGscam_flyby camCommit 0; KEGscam_target camCommit 0; }; // Top-down camera KEGscam_topdown camSetRelPos[0.0, -0.01, 2+((0 max _sdistance)*15)]; KEGscam_topdown camCommit 0; // Commit static and flyby cameras _comSpeed = 1.0 - ((speed vehicle KEGs_target)/70); if(_comSpeed < 0.0) then {_comSpeed = 0.0;}; if((vehicle KEGs_target) distance KEGscam_static > 650) then {_comSpeed = 0}; // Jump immediately to distant target KEGscam_static camCommit _comSpeed/2; KEGscam_target camCommit _comSpeed/3; KEGscam_flyby camCommit _comSpeed; _mouseLastX = KEGsMouseCoord select 0; _mouseLastY = KEGsMouseCoord select 1; _camSelLast = lbCurSel _cLBCameras; _tgtSelLast = lbCurSel _cLBTargets; _lastTgt = KEGs_tgtIdx; }; // Wait a moment. 150fps ought to be enough for everyone :-) _tt = time; sleep(1/150); _tbase = time-_tt; }}; // Dialog closed with esc key titleText["","BLACK IN", 0.5]; // Destroy cameras, markers, particlesources, etc. {camDestroy _x} foreach _cameras; deletevehicle KEGscam_target; deletevehicle KEGscam_missile; deletevehicle KEGscam_fullmap; {deletemarkerlocal _x} foreach _markers; deletevehicle _t; camUseNVG false; KEGsTags = false; onMapSingleClick ""; {deletevehicle (_x select 1)} foreach KEGsTagSources; KEGsTagSources = []; // Remove eventhandlers TODO: does this work properly? { _fh = _x getVariable "KEGsEHfired"; //_kh = _x getVariable "KEGsEHkilled"; if(typeName _fh == "SCALAR") then {_x removeEventHandler["fired", _fh]}; //if(typeName _kh == "SCALAR") then {_x removeEventHandler["killed", _kh]}; } foreach _ehVehicles; // Create a butterfly for player to fly with _bpos = [(getpos (vehicle KEGs_target) select 0)-5+random 10, (getpos (vehicle KEGs_target) select 1)-5+random 10, 1]; _bird = "ButterFly" createVehicle _bpos; _bird setvelocity[0,0,5]; _bird setpos _bpos; _bird switchCamera "INTERNAL"; _bird cameraEffect["terminate","FRONT"]; _bird camCommand "manual on"; KEGsBird = _bird; onMapSingleClick "KEGsBird setpos [_pos select 0, _pos select 1, 2];KEGsBird setvelocity[0,0,5];"; cutText["\n\n\n\n\nLand on ground to return to spectating\nClick at map to jump to location","PLAIN DOWN", 0.75]; // Wait until landed, delete bird & restart script waitUntil{getpos _bird select 2 < 0.05 and speed _bird < 1}; onMapSingleClick ""; sleep(0.5); titleText["","BLACK OUT", 0.5]; sleep(1); _player switchCamera "INTERNAL"; _player cameraEffect["terminate","FRONT"]; deletevehicle _bird; [_player, _killer, "noWait"] execVM "spect\specta.sqf";comment "for Spectating Script"; comment "Handles events such as keyboard keypresses"; comment "by Kegetys "; _type = _this select 0; _param = _this select 1; _cCamera = 55002; _cTarget = 55003; _cName = 55004; _cLBCameras = 55005; _cLBTargets = 55006; _cCamerasBG = 55007; _cTargetsBG = 55008; _cBG1 = 55009; _cBG2 = 55010; _cTitle = 55011; _cHelp = 55012; _cMap = 55013; _cMapFull = 55014; _cMapFullBG = 55015; _cEventLog = 50016; _cDebug = 55100; _UI = [_cCamera, _cTarget, _cName, _cLBCameras, _cLBTargets, _cCamerasBG, _cTargetsBG, _cBG1, _cBG2, _cTitle, _cHelp]; switch (_type) do { comment "User clicked map, find nearest unit"; case "MapClick": { _dummy = "helihempty" createVehicleLocal _param; _closest = 250; _id = -1; for "_i" from 0 to ((count deathCam)-1) do { if((side (deathCam select _i)) in KEGsShownSides) then { _d = _dummy distance (deathCam select _i); if(_d < _closest) then {_id = _i;_closest = _d}; }; }; if(_id != -1) then { KEGs_tgtIdx = _id; KEGsDroppedCamera = false; if(ctrlVisible _cMapFull) then { comment "Full map -> Small map"; [] spawn {sleep(0.25);["ToggleMap",0] call spectate_events;["ToggleMap",0] call spectate_events;}; } }; deletevehicle _dummy; }; case "KeyDown": { _key = _param select 1; comment "WSAD keys: camera movement in dropped mode"; switch(_key) do { case 32: { KEGsCamRight = true; }; case 30: { KEGsCamLeft = true; }; case 17: { KEGsCamForward = true; }; case 31: { KEGsCamBack = true; }; }; }; comment "Key up - process keypress"; case "KeyUp": { _key = _param select 1; switch(_key) do { case 32: { comment "D = Next target"; if(!KEGsDroppedCamera) then {KEGsSelect = 1}; KEGsCamRight = false; }; case 30: { comment "A = Previous target"; if(!KEGsDroppedCamera) then {KEGsSelect = -1}; KEGsCamLeft = false; }; case 17: { comment "W = Previous camera"; if(!KEGsDroppedCamera) then {KEGs_cameraIdx = KEGs_cameraIdx - 1}; KEGsCamForward = false; }; case 31: { comment "S = Next camera"; if(!KEGsDroppedCamera) then {KEGs_cameraIdx = KEGs_cameraIdx + 1}; KEGsCamBack = false; }; case 20: { comment "T = Toggle tags"; KEGsTags = !KEGsTags; if(!KEGsTags) then { ["ToggleTags", [false, objNull]] call spectate_events; }; }; case 33: { comment "F = Toggle filter"; KEGsAIfilter = !KEGsAIfilter; KEGsNeedUpdateLB = true; }; case 57: { comment "Space - drop camera or toggle 1stperson/gunner"; if(KEGscameras select KEGs_cameraIdx == KEGscam_1stperson) then { KEGs1stGunner = !KEGs1stGunner; } else { KEGsDroppedCamera = !KEGsDroppedCamera; if(KEGsDroppedCamera) then { KEGs_cameraIdx = 0; }; }; }; comment "Direct camera change with number keys"; case 2: {KEGs_cameraIdx = 0}; case 3: {KEGs_cameraIdx = 1}; case 4: {KEGs_cameraIdx = 2}; case 5: {KEGs_cameraIdx = 3}; case 6: {KEGs_cameraIdx = 4}; comment "Toggle NVG or map text type"; case 49: { if(ctrlVisible _cMapFull) then { KEGsMarkerType = KEGsMarkerType + 1; if(KEGsMarkerType > 2) then {KEGsMarkerType=0;}; } else { KEGsUseNVG = !KEGsUseNVG; }; }; case 50: {["ToggleMap",0] call spectate_events;}; case 15: {["ToggleUI",0] call spectate_events;}; case 59: {["ToggleHelp",0] call spectate_events;}; comment "Numpad + / -"; case 78: {if(KEGsMarkerSize < 1.7) then {KEGsMarkerSize = KEGsMarkerSize * 1.15}}; case 74: {if(KEGsMarkerSize > 0.7) then {KEGsMarkerSize = KEGsMarkerSize * (1/1.15)}}; } }; comment "Mouse events"; case "MouseMoving": { _x = _param select 1; _y = _param select 2; KEGsMouseCoord = [_x, _y]; }; case "MouseButtonDown": { _x = _param select 2; _y = _param select 3; _button = _param select 1; KEGsMouseButtons set[_button, true]; }; case "MouseButtonUp": { _x = _param select 2; _y = _param select 3; _button = _param select 1; KEGsMouseButtons set[_button, false]; }; case "MouseZChanged": { KEGsMouseScroll = KEGsMouseScroll + (_param select 1); }; case "MouseZChangedminimap": { KEGsMinimapZoom = KEGsMinimapZoom + ((_param select 1)*0.066); if(KEGsMinimapZoom > 0.5) then {KEGsMinimapZoom=0.5}; if(KEGsMinimapZoom < 0.05) then {KEGsMinimapZoom=0.05}; }; case "ToggleCameraMenu": { comment "Hide/unhide camera menu"; if(ctrlVisible _cLBCameras) then { ctrlShow[_cLBCameras, false]; ctrlShow[_cCamerasBG, false]; } else { ctrlShow[_cLBCameras, true]; ctrlShow[_cCamerasBG, true]; }; }; case "ToggleTargetMenu": { comment "Hide/unhide targets menu"; if(ctrlVisible _cLBTargets) then { ctrlShow[_cLBTargets, false]; ctrlShow[_cTargetsBG, false]; } else { ctrlShow[_cLBTargets, true]; ctrlShow[_cTargetsBG, true]; }; }; case "ToggleUI": { comment "Hide/unhide UI"; if(ctrlVisible _cName) then { {ctrlShow[_x, false]} foreach _UI; } else { {ctrlShow[_x, true]} foreach _UI; ctrlShow[_cHelp, false]; ctrlShow[_cLBTargets, false]; ctrlShow[_cTargetsBG, false]; ctrlShow[_cLBCameras, false]; ctrlShow[_cCamerasBG, false]; }; }; case "ToggleHelp": { comment "Hide/unhide Help text"; if(ctrlVisible _cHelp) then { ctrlShow[_cHelp, false]; } else { ctrlShow[_cHelp, true]; }; }; case "ToggleMap": { comment "Hide/unhide Map"; if(ctrlVisible _cMap and ctrlVisible _cMapFull) then { comment "Beginning, hide both"; ctrlShow[_cMap, false]; ctrlShow[_cMapFull, false]; ctrlShow[_cMapFullBG, false]; }; if(ctrlVisible _cMap) then { ctrlShow[_cMap, false]; ctrlShow[_cMapFull, true]; ctrlShow[_cMapFullBG, true]; KEGsMarkerNames = true;