Jump to content

MOOSE - Mission Object Oriented Scripting Framework


Recommended Posts

Hey FlightControl,

 

Thanks for the continuing great work here.

 

Is there a way to spawn a unit as either undetectable or invulnerable? I basically want my FAC aircraft not to get shot down.

 

In the FAC template in the mission editor, add 2 commands at the first route point: Invisible, Invulnerable. The commands are taken and executed when the plane SPAWNs.

 

Fc

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Thank you, that worked perfectly!

 

I thought it had to be on reconnaissance but it appears the designate class still works regardless of the template role.

 

Yup. Good you found that.

 

DESIGNATE does work. But there may be a few things you would wanna see improved or different. So feel free to write feedback or additional ideas. Note that if you want to change the coordinate formats from BR to LLDMS or LLDDM or MGRS, you need to use the A2G settings menu. The default settings can be managed at the HQ unit using CA module (jump into the hq unit). 3 persons have been providing a lot of feedback already on DESIGNATE, as the issue logs on GitHub show.

 

If you later implement A2G tasking, you will see additional stuff...

Use TASK_A2G_DISPATCHER, for that....

I like to let helicopters performing FAC, patrolling in a zone detecting targets.

Especially the AH-64D or the MI-28N are good units to perform that role as they have ground radars... Let them fly low and slow., and do pop ups once and a while....

Sven


Edited by FlightControl

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

One thing I'd like to do is be able to control the feature set for clients in DESIGNATE.

 

By being able to redact things from the menu that I don't want available in a particular mission.

 

I've been fixing A2G units via a SETTINGS call in the script. Successfully.

 

For instance, I have drones lasing ground targets and that's all they get according to the mission story.

 

Maybe there's already a way?

 

I REALLY like the designate class. At night with NV, it's SO MUCH FUN. My favorite so far with SPAWN a close second.

 

My first mission with the Black Sharks will be using that.

 

Banner EDForum2020.jpg

Have fun. Don't suck. Kill bad guys. 👍

https://discord.gg/blacksharkden/

Link to comment
Share on other sites

Just released a patch towards version 2.2.1.

 

This patch brings a change how the Defender AI controlled by AI_A2A_DISPATCHER (namely in the A2A tasks) are defending themselves when being fired upon. Changed the Rule of Threat from Passive Defense to Evade Fire for the airborne AI. This upon a request by the Mudspike squadron.

 

Download the latest version from the Release:

 

https://github.com/FlightControl-Master/MOOSE/releases

  • Like 1

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Is there something special to using IsAlive() with late activated units that I'm missing as I'm confused as it's not working. Tested using GRP-100 mission.

 

 

Ha YES!

 

Late activated units are live, but actually they aren't!

 

So, what i do is, i let IsAlive() return 3 possible values:

 

Return values

 

 

  1. #boolean: true if the Group is alive and active.
  2. #boolean: false if the Group is alive but inactive.
  3. #nil: if the group does not exist anymore.

 

 

So, it will return false if the Group is Alive, but inactive...

 

 

It will return nil if the group does not exist anymore.

 

 

See the documentation here:

http://flightcontrol-master.github.io/MOOSE/Documentation/Group.html##(GROUP).IsAlive

 

Is this what you are looking at?

 

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

I late activated an SA-8 set it as red then just spawned a group of Su-25T's (not late activated) as blue. The GRP-100 Returned the value of Blue = true & red = false. Hence my question.

But thanks for fast reply and I've got the Documentation bookmarked and has been my 2nd home for the past week along with the great videos.

I do have a suggestion on the videos when you do more could you add a link to the documentation page in the description of the section the video covers.



I7 8700K @ 5Ghz | 32Gb DDR4 | Strix 1080ti | Warthog Throttle + Stick on Virpil T50 Base | Omen 32"

Link to comment
Share on other sites

Is there something special to using IsAlive() with late activated units that I'm missing as I'm confused as it's not working. Tested using GRP-100 mission.

 

 

Now I understand your confusion... I am sorry, I should have thought about this ...

 

So the return values are confusing, and result the debug to react strange.

So variables which have the value "nil" aren't traced anymore in the dcs.log.

 

So once the Red group is destroyed, the method GROUP:IsAlive() will return nil, which means that it won't be traced anymore.

 

...

 

I will update the demonstration mission to make this more clear.

I had to implement it this way, because late activated units aren't alive but they do exist. So GROUP:IsAlive returns false when the group is alive, but late activated. It returns nil if not existing anymore.

 

The three return values come in very handy though ... You can test the "extra" bit ...

 

1. Test if the Group is alive:

 

if Group:IsAlive() then
 ...
end

2. Test if the Group is alive, but inactive...

 

if Group:IsAlive() == false then
 ...
end

3. Explicitly test if the Group is destroyed:

 

if Group:IsAlive() == nil then
 ... 
end

And there is a 4th test that is actually very handy now:

 

4. Test if the Group is destroyed or late activated... (not alive):

 

if not Group:IsAlive() then
 ...
end

So, the not operator will interprete nil as "not true" and false as "not true".

A nice property of lua, but you need to be careful and know this. As this may provide some strange results...

This is the kind of stuff that i really love to help with :-)

(Hope this helped!)

 

Sveni

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

I late activated an SA-8 set it as red then just spawned a group of Su-25T's (not late activated) as blue. The GRP-100 Returned the value of Blue = true & red = false. Hence my question.

But thanks for fast reply and I've got the Documentation bookmarked and has been my 2nd home for the past week along with the great videos.

I do have a suggestion on the videos when you do more could you add a link to the documentation page in the description of the section the video covers.

 

 

Excellent Idea! I'll make work of that!

 

1. A link to the documentation pages that are relevant!

2. A link to the test missions that are relevant!

 

You see gents, I know the framework is used. But this thread is always a bit silent.

 

I don't have a real visibility who is using this framework :-) So great!

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Sorry for another question, it's to do with late activating units.

 

KryRed = SET_GROUP:New():FilterCoalitions("red"):FilterPrefixes("DAR","SAM"):FilterStart()

KryRed = SET_GROUP:New():FilterCoalitions("red"):FilterPrefixes("DAR"):FilterStart()

 

both returns nil, not using both at the same time, but

 

KryRed = GROUP:FindByName("DAR") or KryRed = GROUP:FindByName("SAM")

 

works, just wanted to check I'm not missing something. Only spawning two groups to test with at the moment, trying to respawn the groups after they've both been destroyed.

 

Again I can't thank you enough for the help and the framework.

 

EDIT:- just to clarify

 

not GROUP:IsAlive() can't tell me if it's late activated & destroyed only that it's either late activated or destroyed? any other way to determine if it's been late activated and destroyed?


Edited by Quadrafarian
added another question.



I7 8700K @ 5Ghz | 32Gb DDR4 | Strix 1080ti | Warthog Throttle + Stick on Virpil T50 Base | Omen 32"

Link to comment
Share on other sites

Sorry for another question, it's to do with late activating units.

 

KryRed = SET_GROUP:New():FilterCoalitions("red"):FilterPrefixes("DAR","SAM"):FilterStart()

KryRed = SET_GROUP:New():FilterCoalitions("red"):FilterPrefixes("DAR"):FilterStart()

 

both returns nil, not using both at the same time, but

 

KryRed = GROUP:FindByName("DAR") or KryRed = GROUP:FindByName("SAM")

 

works, just wanted to check I'm not missing something. Only spawning two groups to test with at the moment, trying to respawn the groups after they've both been destroyed.

 

 

KryRed = SET_GROUP:New():FilterCoalitions("red"):FilterPrefixes( [color=Red]{ "DAR", "SAM" }[/color] ):FilterStart()

Mind the {} !!!

 

not GROUP:IsAlive() can't tell me if it's late activated & destroyed only that it's either late activated or destroyed? any other way to determine if it's been late activated and destroyed?

 

I am having a bit a difficulty to understand why you are asking this or your question overall.

 

Why is it important to know if a unit has been late activated and Destroyed?

Can you bring some light on the context for this requirement?

 

Hope this helps,

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Ah I missed the Table {}

 

Sure it's for an ongoing training mission.

The units are spawned in a zone using 8 templates with random positions.

Then destroyed by clients and when the last unit in the area is killed the area spawns again using the 8 templates & random positions.

 

That was the reasoning behind my questions.



I7 8700K @ 5Ghz | 32Gb DDR4 | Strix 1080ti | Warthog Throttle + Stick on Virpil T50 Base | Omen 32"

Link to comment
Share on other sites

Release 2.2 - Patch 2

 

Release 2.2 - Patch 2 (LATEST VERSION)

 

13690775?v=4&s=40 FlightControl-Master released this a minute ago

This patch brings a change on the SCORING class:

 

  • Disabled the logic of Fratricide until a DCS bug gets fixed by ED. There is no workaround possible. Units containing a player cannot be destroyed using Unit:destroy() API in multi player when the player is seated in a Unit from a Client connected PC to the Server.
  • By default, hit messages are disabled. They can be enabled by using SCORING:SetMessagesHit().

All the available MOOSE classes come delivered in one Moose.lua file. There are two versions of this file that are functional (work), but with different file sizes:

 

  • Moose.lua (with comments, 2.1MB) ... For mission designers, who are developing missions and want to check upon errors appearing in the dcs.log or have a detailed code reference etc.
  • Moose_.lua (without comments, 0.8MB) ... For runtime environments, to facilitate quicker downloads of mission files and performance.

To use, include the Moose.lua in your .miz file using a DO SCRIPT Trigger. Mission Designers need to read here for a detailed usage description. Consult the MOOSE documentation for further details on the framework.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Release 2.2 - Patch 3

 

Release 2.2 - Patch 3 (LATEST VERSION)

 

13690775?v=4&s=40 FlightControl-Master released this just now

This patch brings a change on the SCORING class:

 

  • Fixed error in AI_A2A_PATROL due to a stupid error that sneaked into the logic due to a variable rename. Fixed now! (sorry). This problem stopped AI_A2A_DISPATCHER patrolling.

All the available MOOSE classes come delivered in one Moose.lua file. There are two versions of this file that are functional (work), but with different file sizes:

 

  • Moose.lua (with comments, 2.1MB) ... For mission designers, who are developing missions and want to check upon errors appearing in the dcs.log or have a detailed code reference etc.
  • Moose_.lua (without comments, 0.8MB) ... For runtime environments, to facilitate quicker downloads of mission files and performance.

To use, include the Moose.lua in your .miz file using a DO SCRIPT Trigger. Mission Designers need to read here for a detailed usage description. Consult the MOOSE documentation for further details on the framework.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Release 2.3 - Alpha for Early Adopters

 

MOOSE Release 2.3 alpha - (EARLY ADOPTERS VERSION)

 

13690775?v=4&s=40 FlightControl-Master released this 2 days ago · 21 commits to Release-2.3-alpha since this release

For those who want to use the latest of the latest, use the following Moose.lua files...

Note that this version of MOOSE contain prototype methods, and are bound to change.

However, when methods are changed, I will communicate that, so you can adapt your missions.

I will try to keep the changes to the minimum.

All the available MOOSE classes come delivered in one Moose.lua file. There are two versions of this file that are functional (work), but with different file sizes:

 

  • Moose.lua (with comments, 2.1MB) ... For mission designers, who are developing missions and want to check upon errors appearing in the dcs.log or have a detailed code reference etc.
  • Moose_.lua (without comments, 0.8MB) ... For runtime environments, to facilitate quicker downloads of mission files and performance.

To use, include the Moose.lua in your .miz file using a DO SCRIPT Trigger. Mission Designers need to read here for a detailed usage description. Consult the MOOSE documentation for further details on the framework.

List of changes:

 

  • Added GOAL, ZONE_GOAL, ZONE_GOAL_COALITION, ZONE_CAPTURE_COALITION classes to model capturing of Zones by a Coalition.
  • Added on the ZONE class an improved search method to search for SCENERY in a ZONE. Added also methods ZONE:GetScannedScenery() and ZONE:GetScannedSceneryType() methods to inspect which Scenery has been found after a Zone:Scan()...
  • Added USERFLAG class to manage user flags
  • Added USERSOUND class to manage sounds
  • Added SET_BASE:GetSetNames() to return an array of the object names of a Set. (Created dynamic lists based on mission editor groups defined).
  • Added SET_BASE:GetSetObjects()
  • Revised the message naming.
  • Optimized the code for GetScannedCoalition
  • Markings text optimized for ZONE_CAPTURE_COALITION. Now the owning coalition is also shown.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

How to get coordinates of a building in DCS and its application examples

 

MOOSE Version : 2.3.0 Alpha (Early Adopters)

Download : https://github.com/FlightControl-Master/MOOSE/tree/release-2.3.0

 

※ I am not good english user, so I use the Google Translator for this thread.

 

This method is to get the coordinates of the building in DCS 1.5. You can use this method to know the type and coordinates of the building and to enter the kind of building you know so you can get the coordinates of the specific building you want. I can use this method to build various virtual battlefield environments. You can configure the environment below. (Thanks to FC)

 

1. Build a low-altitude air defense network in a specific city.

2. Build a mission to bomb specific buildings.

3. Infantry or cargo transport to a specific building.

4. Other creative environments are possible.

 

As you know, the intervention of the air force in the contemporary low-intensity dispute is the responsibility of precisely striking certain goals in the city. I think MOOSE 2.3's new features will make it easier to implement battlefields in the city. As you know, the satellite view in the 1.5 Mission Editor was not very accurate, which made the mission a big challenge. Also, even if the satellite view is accurate, placing the unit manually in a particular building is a very time consuming process. Consider the following example code.

 

Zone = ZONE:New( "Identfy" )
Zone:Scan( Object.Category.SCENERY )

for SceneryTypeName, SceneryData in pairs( Zone:GetScannedScenery() ) do
 for SceneryName, SceneryObject in pairs( SceneryData ) do
   local SceneryObject = SceneryObject -- Wrapper.Scenery#SCENERY
   MESSAGE:NewType( "Scenery: " .. SceneryObject:GetTypeName() .. ", Coord: " .. SceneryObject:GetCoordinate():ToStringLLDMS(), MESSAGE.Type.Information ):ToAll()
 end
end

 

1. I created a 25 meter radius in the Mission Editor named "Identfy". This is to know the name of a specific building.

 

2. The following for statement prints the name of the particular building. This code is provided by FC as an example. I am not a professional programmer, so I can not understand the exact mechanism. Sorry!

 

  for SceneryName, SceneryObject in pairs( Zone:GetScannedSceneryType( "HOME16_TWIN" ) ) do
   local SceneryObject = SceneryObject -- Wrapper.Scenery#SCENERY
   local Vec2 = SceneryObject:GetVec2()
   ZU23:SpawnFromVec2( Vec2 )
   MESSAGE:NewType( "Scenery: " .. SceneryObject:GetTypeName() .. ", Coord LL DMS: " .. SceneryObject:GetCoordinate():ToStringLLDMS(), MESSAGE.Type.Information ):ToAll()
 end

 

I scanned the type of building with the above script and found the name of the building called HOME16_TWIN. And the coordinates of the HOME16_TWIN buildings in the Zone with a specific radius. Then, ZU-23, which we prepared in advance, is created in the corresponding coordinates.

 

In my opinion, I think that these functions can be applied indefinitely using the DESIGNATION class and the MENU and TASKING classes. Take note of the MOOSE, which once again gives thanks to FC and is opening a new chapter in the world of mission editing.

Screen_171012_155100.thumb.jpg.b9fda0d264cdc0cfb3801dc966cc58c0.jpg

Link to comment
Share on other sites

I have a question.

 

I have a radio menu item that calls a function that returns (message) the current coordinates.

 

When I hardcode my group name in, this works fine but I want it to be dynamic.

 

So the question is: How could I access the name of the specific client who selects that radio item?

 

If possible, the client would be passed to the function, which would retrieve that particular clients coords, and message only that particular client via... :ToClient(client)

 

Thanks!

 

/Fargo


Edited by fargo007

 

Banner EDForum2020.jpg

Have fun. Don't suck. Kill bad guys. 👍

https://discord.gg/blacksharkden/

Link to comment
Share on other sites

I have a question.

 

I have a radio menu item that calls a function that returns (message) the current coordinates.

 

When I hardcode my group name in, this works fine but I want it to be dynamic.

 

So the question is: How could I access the name of the specific client who selects that radio item?

 

If possible, the client would be passed to the function, which would retrieve that particular clients coords, and message only that particular client via... :ToClient(client)

 

Thanks!

 

/Fargo

 

Hi,

 

Within DCS, the design of the API to control the radio menus in the sim could have been better. However, what you want to achieve is possible.

When DCS sets a radio menu for all players or for a coalition, then all players or all players of the coalition will see the menu command. However, once a player selects a menu command, the system does not provide the unit that pressed the menu command, which is a severe flaw in the design of the menu system.

 

Fortunately, there is a way, but it does not cover what you wanna achieve.

 

The first point is that within the DCS scripting engine and DCS design, all menu handling and all communication (like messages, sounds) can be done for all players, all players in a coalition or to specific groups. It is the latter that is the most interesting, however, again, communication is to groups, so not to individual units in a group. This may seem like a limitation, but in fact it is not. There are two aspects to know:

 

1. There is an open error still within the DCS system, that prevents DCS to handle groups within the scripting engine that can have 2 or more players in it (so 2 or more clients). As a result, most groups within the current missions will only have 1 player (client). The method Unit:getGroup() will return nil if there are 2 clients or more in the system.

 

2. There is an open bug in the sim to handle the event S_EVENT_PLAYER_ENTER_UNIT, which is important to detect which players are entering which units. Right now, in multi player, this event is only fired for planes and helicopters on the server, not for ground units and maybe later ships.

 

With these two points in our mind, there is a way to handle menus to specific groups, and make groups receive the selected menu items.

MOOSE uses this all the time, it allows to define which groups can have which menu item, and to know which group (player in group) has selected which menu item. It is the only way that I know of that works.

 

The class to set specific menu commands to specific groups in MOOSE is:

 

MENU_GROUP_COMMAND:New( PlayerGroup, MenuText, MenuPath, MenuFunction, ... )

There is also a core API within DCS that does the same, but the MOOSE class using this API has made the following improvements:

 

 

  1. It prevents menus to be set twice or more times (upon sequent calls). In other words, menus set with the same menu text, will be updated or changed, and not added every time in the menu system. In this way it is possible to update the MenuFunction and parameters of a menu item.
  2. Notice the ... , which allows for a variable amount of parameters to be given. In the core API of DCS, one parameter is only possible, which results in having to use tables etc, but I feel this is too much low level for that is needed. MOOSE hides this complexity for you.
  3. The class has methods that allow to "refresh" menus based on a batch of updates. I won't get into details here, but basically the methods allow to set a timestamp and tags on each menu item. A logic can update the relevant menu items using the new timestamp and relevant tags. And later in one command any menu item that has not received the new timestamp with the related tag, will be removed... So this allows for efficient refreshing of menus.

 

A concrete example of how a menu for a specific group can be set is as follows:

 

PlayerGroup = GROUP:FindByName( "PlayerGroup" )

MENU_GROUP_COMMAND:New( PlayerGroup, "Call in air support MI-28", MenuRoot, CallInAirSupport, PlayerGroup, "MI-28" )

MENU_GROUP_COMMAND:New( PlayerGroup, "Call in air support KA-50", MenuRoot, CallInAirSupport, PlayerGroup, "KA-50" )

....

function CallInAirSupport( PlayerGroup, HelicopterType )
 MESSAGE:NewType( "Calling in Air Support " .. HelicopterType, MESSAGE.Type.Information ):ToGroup( PlayerGroup )
 if HelicopterType == "MI-28" then
   ...
 elseif HelicopterType == "KA-50" then
   ...
 end
end

 

The example outlines that when a player in the PlayerGroup selects one of the two menu items, the function CallInAirSupport shall be called. A message is sent to the player, and specific actions are executed depending on the HelicopterType... When setting the group menu, notice in the New method the two variable parameters PlayerGroup, "MI-28" or "KA-50" to be set, which are received by the function.

 

So, to answer your question, it is possible, but this method also has important drawbacks:

 

  1. The mission designer needs to set for each group that can have specific menu commands for the group, a group menu command. If this is not carefully managed, this may result quickly in a performance drop.
  2. Updating and maintaining different menu items for each group is complex. Especially in case for different contexts (like different missions, tasks etc).

 

That is why the S_EVENT_PLAYER_ENTER_UNIT is so important, as this will prevent the mission designer to execute excessive loops within the system setting for each possible group a menu command... Instead, if this event would be fired consistently, it would be possible to catch the event, and set the menu command for the group of the unit for which the event was fired and done.

 

The DCS simulator could really be enriched with two addons that would really ease the simulation experience:

 

 

  1. Add a 4th type of API that allows to set menus for a series of Group objects.
  2. Provide a means to pass the group object that has selected the menu command, in case of menus for all players and/or all coalitions.

This would ease the complexity of menu management a lot for specific groups, and would provide a more user friendly interface for mission designers.

 

I hope this helps,

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Hello again. I've been trying to use the A2G Tasking and a few seconds after the units are detected, DCS crashes. A2A works quite nicely. I updated to the latest version of moose today.

 

Mission is attached. Interesting bits of log below. Can attach full log if needed. :book:

 

 

 

00354.649 INFO SCRIPTING: 132( 854)/E: DETECTION_MANAGER00612.New({["Detection"]={["_FlareDetectedUnits"]=false,["_SmokeDetectedZones"]=false,["_SmokeDetectedUnits"]=false,["DetectionZoneRange"]=30000,["ClassName"]="DETECTION_AREAS",["_FlareDetectedZones"]=false,["_BoundDetectedZones"]=false,},})

00354.650 INFO SCRIPTING: 609( 3555)/E: SET_GROUP00614.Flush({[1]="Objects in Set:",[2]="SQ CCCP #007, SQ CCCP #005, SQ CCCP #006, SQ CCCP #003, SQ CCCP #004, SQ CCCP #002, SQ CCCP #008, SQ CCCP #001, ",})

00354.651 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00612.SetSquadron({["Squadron"]={[1]="Tonopah Test Range Airfield",[2]="Tonopah Test Range Airfield",[3]={[1]="SQ CCCP #005",[2]="SQ CCCP #006",},},})

00354.652 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00612.SetSquadron({["Squadron"]={[1]="Lincoln County",[2]="Lincoln County",[3]={[1]="SQ CCCP #007",[2]="SQ CCCP #008",},},})

00354.652 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00612.SetSquadron({["Squadron"]={[1]="Groom Lake AFB",[2]="Groom Lake AFB",[3]={[1]="SQ CCCP #003",[2]="SQ CCCP #004",},},})

00354.654 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00612.SetSquadron({["Squadron"]={[1]="Beatty Airport",[2]="Beatty Airport",[3]={[1]="SQ CCCP #002",[2]="SQ CCCP #001",},},})

00354.655 INFO SCRIPTING: 1557( 3604)/E: AI_A2A_GCICAP00612.SetSquadronCap({["CAP"]={[1]="Groom Lake AFB",[2]={["ClassName"]="ZONE_POLYGON",},[3]=6000,[4]=10000,[5]=500,[6]=800,[7]=800,[8]=1200,[9]="RADIO",},})

00354.655 INFO SCRIPTING: 306( 910)/E: SET_GROUP00608._FilterStart({[1]="Adding Object:",[2]="RU EWR",})

00354.655 INFO SCRIPTING: 306( 910)/E: SET_GROUP00608._FilterStart({[1]="Adding Object:",[2]="RU EWR #001",})

00354.655 INFO SCRIPTING: 306( 910)/E: SET_GROUP00608._FilterStart({[1]="Adding Object:",[2]="SQ CCCP #004",})

00354.655 INFO SCRIPTING: 306( 910)/E: SET_GROUP00608._FilterStart({[1]="Adding Object:",[2]="RU EWR #003",})

00354.655 INFO SCRIPTING: 306( 910)/E: SET_GROUP00608._FilterStart({[1]="Adding Object:",[2]="SQ CCCP #003",})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00608._FilterStart({[1]="Adding Object:",[2]="RU EWR #002",})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00608._FilterStart({[1]="Adding Object:",[2]="RU EWR AWACS",})

00354.656 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00612.SetSquadronGci({["GCI"]={[1]="Tonopah Test Range Airfield",[2]=800,[3]=1200,},})

00354.656 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00612.SetSquadronGci({["GCI"]={[1]="Lincoln County",[2]=800,[3]=1200,},})

00354.656 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00612.SetSquadronGci({["GCI"]={[1]="Groom Lake AFB",[2]=800,[3]=1200,},})

00354.656 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00612.SetSquadronGci({["GCI"]={[1]="Beatty Airport",[2]=800,[3]=1200,},})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #005",})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #003",})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #004",})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR AWACS",})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR",})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #001",})

00354.656 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #002",})

00354.657 INFO SCRIPTING: 132( 854)/E: DETECTION_MANAGER00692.New({["Detection"]={["_FlareDetectedUnits"]=false,["_SmokeDetectedZones"]=false,["_SmokeDetectedUnits"]=false,["DetectionZoneRange"]=30000,["ClassName"]="DETECTION_AREAS",["_FlareDetectedZones"]=false,["_BoundDetectedZones"]=false,},})

00354.657 INFO SCRIPTING: 609( 3555)/E: SET_GROUP00694.Flush({[1]="Objects in Set:",[2]="SQ USA #004, SQ USA #005, SQ USA #001, SQ USA #003, SQ USA #002, ",})

00354.658 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00692.SetSquadron({["Squadron"]={[1]="Jean Airport",[2]="Jean Airport",[3]={[1]="SQ USA #004",},},})

00354.658 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00692.SetSquadron({["Squadron"]={[1]="Henderson Executive Airport",[2]="Henderson Executive Airport",[3]={[1]="SQ USA #003",},},})

00354.659 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00692.SetSquadron({["Squadron"]={[1]="Mesquite",[2]="Mesquite",[3]={[1]="SQ USA #001",},},})

00354.660 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00692.SetSquadron({["Squadron"]={[1]="Boulder City Airport",[2]="Boulder City Airport",[3]={[1]="SQ USA #002",},},})

00354.661 INFO SCRIPTING: 1491( 3573)/E: AI_A2A_GCICAP00692.SetSquadron({["Squadron"]={[1]="Laughlin Airport",[2]="Laughlin Airport",[3]={[1]="SQ USA #005",},},})

00354.662 INFO SCRIPTING: 1557( 3604)/E: AI_A2A_GCICAP00692.SetSquadronCap({["CAP"]={[1]="Henderson Executive Airport",[2]={["ClassName"]="ZONE_POLYGON",},[3]=6000,[4]=10000,[5]=500,[6]=800,[7]=800,[8]=1200,[9]="RADIO",},})

00354.662 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #005",})

00354.662 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #003",})

00354.662 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #004",})

00354.662 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR AWACS",})

00354.662 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="SQ USA #003",})

00354.662 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR",})

00354.662 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #001",})

00354.662 INFO SCRIPTING: 306( 910)/E: SET_GROUP00688._FilterStart({[1]="Adding Object:",[2]="US EWR #002",})

00354.662 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00692.SetSquadronGci({["GCI"]={[1]="Jean Airport",[2]=800,[3]=1200,},})

00354.662 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00692.SetSquadronGci({["GCI"]={[1]="Henderson Executive Airport",[2]=800,[3]=1200,},})

00354.662 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00692.SetSquadronGci({["GCI"]={[1]="Mesquite",[2]=800,[3]=1200,},})

00354.662 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00692.SetSquadronGci({["GCI"]={[1]="Boulder City Airport",[2]=800,[3]=1200,},})

00354.662 INFO SCRIPTING: 1719( 3616)/E: AI_A2A_GCICAP00692.SetSquadronGci({["GCI"]={[1]="Laughlin Airport",[2]=800,[3]=1200,},})

00354.663 INFO SCRIPTING: 306( 910)/E: SET_GROUP00760._FilterStart({[1]="Adding Object:",[2]="US EWR #005",})

00354.663 INFO SCRIPTING: 306( 910)/E: SET_GROUP00760._FilterStart({[1]="Adding Object:",[2]="US EWR #003",})

00354.663 INFO SCRIPTING: 306( 910)/E: SET_GROUP00760._FilterStart({[1]="Adding Object:",[2]="US EWR #004",})

00354.663 INFO SCRIPTING: 306( 910)/E: SET_GROUP00760._FilterStart({[1]="Adding Object:",[2]="US EWR AWACS",})

00354.663 INFO SCRIPTING: 306( 910)/E: SET_GROUP00760._FilterStart({[1]="Adding Object:",[2]="US EWR",})

00354.663 INFO SCRIPTING: 306( 910)/E: SET_GROUP00760._FilterStart({[1]="Adding Object:",[2]="US EWR #001",})

00354.663 INFO SCRIPTING: 306( 910)/E: SET_GROUP00760._FilterStart({[1]="Adding Object:",[2]="US EWR #002",})

00354.664 INFO SCRIPTING: 132( 191)/E: DETECTION_MANAGER00766.New({["Detection"]={["_FlareDetectedUnits"]=false,["_SmokeDetectedUnits"]=false,["ClassName"]="DETECTION_UNITS",["_SmokeDetectedZones"]=false,["_FlareDetectedZones"]=false,["_BoundDetectedZones"]=false,},})

00354.665 INFO SCRIPTING: 306( 910)/E: SET_GROUP00770._FilterStart({[1]="Adding Object:",[2]="RU EWR",})

00354.665 INFO SCRIPTING: 306( 910)/E: SET_GROUP00770._FilterStart({[1]="Adding Object:",[2]="RU EWR #001",})

00354.665 INFO SCRIPTING: 306( 910)/E: SET_GROUP00770._FilterStart({[1]="Adding Object:",[2]="RU EWR #003",})

00354.665 INFO SCRIPTING: 306( 910)/E: SET_GROUP00770._FilterStart({[1]="Adding Object:",[2]="RU EWR #002",})

00354.666 INFO SCRIPTING: 306( 910)/E: SET_GROUP00770._FilterStart({[1]="Adding Object:",[2]="RU EWR AWACS",})

00354.667 INFO SCRIPTING: 132( 191)/E: DETECTION_MANAGER00776.New({["Detection"]={["_FlareDetectedUnits"]=false,["_SmokeDetectedUnits"]=false,["ClassName"]="DETECTION_UNITS",["_SmokeDetectedZones"]=false,["_FlareDetectedZones"]=false,["_BoundDetectedZones"]=false,},})

00354.668 INFO SCRIPTING: 306( 910)/E: SET_GROUP00780._FilterStart({[1]="Adding Object:",[2]="US FAC",})

00354.669 INFO SCRIPTING: 306( 910)/E: SET_GROUP00784._FilterStart({[1]="Adding Object:",[2]="U.S. CAS #017",})

00354.669 INFO SCRIPTING: 132( 56)/E: DETECTION_MANAGER00786.New({["Detection"]={["_FlareDetectedUnits"]=false,["_SmokeDetectedZones"]=false,["_SmokeDetectedUnits"]=false,["DetectionZoneRange"]=1000,["ClassName"]="DETECTION_AREAS",["_FlareDetectedZones"]=false,["_BoundDetectedZones"]=true,},})

00354.714 INFO SCRIPTING: 489( 381)/E: DATABASE00003._RegisterGroupTemplate({[1]="Group",[2]="US EWR AWACS#001",[3]="Coalition",[4]=2,[5]="Category",[6]=0,[7]="Country",[8]=2,[9]="Units",[10]="US EWR AWACS#001-01",})

00354.715 INFO SCRIPTING: 328( 392)/E: DATABASE00003.AddGroup({[1]="Add GROUP:",[2]="US EWR AWACS#001",})

00354.715 INFO SCRIPTING: 489( 381)/E: DATABASE00003._RegisterGroupTemplate({[1]="Group",[2]="RU EWR AWACS#001",[3]="Coalition",[4]=1,[5]="Category",[6]=0,[7]="Country",[8]=0,[9]="Units",[10]="RU EWR AWACS#001-01",})

00354.716 INFO SCRIPTING: 328( 392)/E: DATABASE00003.AddGroup({[1]="Add GROUP:",[2]="RU EWR AWACS#001",})

00354.751 INFO SCRIPTING: 865( 13)/E: EVENT00000.onEvent({[1]="S_EVENT_BIRTH",[2]={["IniUnit"]={["ClassName"]="UNIT",["UnitName"]="US EWR AWACS#001-01",},["IniCoalition"]=2,["initiator"]={["id_"]=16791296,},["id"]=15,["IniTypeName"]="E-3A",["IniObjectCategory"]=1,["IniUnitName"]="US EWR AWACS#001-01",["IniCategory"]=0,["IniGroupName"]="US EWR AWACS#001",["time"]=0,["IniDCSGroup"]={["id_"]=1000000,},["IniGroup"]={["GroupName"]="US EWR AWACS#001",["Takeoff"]={["Air"]=1,["Hot"]=3,["Runway"]=2,["Cold"]=4,},["ClassName"]="GROUP",},["IniDCSUnitName"]="US EWR AWACS#001-01",["IniDCSUnit"]=,["IniDCSGroupName"]="US EWR AWACS#001",},[3]="US EWR AWACS#001-01",[5]=1,})

00354.808 INFO SCRIPTING: 865( 13)/E: EVENT00000.onEvent({[1]="S_EVENT_BIRTH",[2]={["IniUnit"]={["ClassName"]="UNIT",["UnitName"]="RU EWR AWACS#001-01",},["IniCoalition"]=1,["initiator"]={["id_"]=16791552,},["id"]=15,["IniTypeName"]="A-50",["IniObjectCategory"]=1,["IniUnitName"]="RU EWR AWACS#001-01",["IniCategory"]=0,["IniGroupName"]="RU EWR AWACS#001",["time"]=0,["IniDCSGroup"]={["id_"]=1000002,},["IniGroup"]={["GroupName"]="RU EWR AWACS#001",["Takeoff"]={["Air"]=1,["Hot"]=3,["Runway"]=2,["Cold"]=4,},["ClassName"]="GROUP",},["IniDCSUnitName"]="RU EWR AWACS#001-01",["IniDCSUnit"]=,["IniDCSGroupName"]="RU EWR AWACS#001",},[3]="RU EWR AWACS#001-01",[5]=1,})

00355.432 INFO SCRIPTING: 340( 143)/E: DATABASE00003.AddPlayer({[1]="Add player for unit:",[2]="U.S. CAS #017",[3]="New callsign",})

00355.432 INFO SCRIPTING: 220( 220)/E: SETTINGS00507.IsA2A_BRAA({["BRA"]=true,})

00355.432 INFO SCRIPTING: 220( 482)/E: SETTINGS00803.IsA2A_BRAA({["BRA"]=true,})

00355.432 INFO SCRIPTING: 220( 221)/E: SETTINGS00507.IsA2A_BRAA({["BRA"]=true,})

00358.395 INFO DCS: AWACSDBG: added id - 16785152, whois - SA342Mistral US FAC

00358.537 INFO SCRIPTING: 518( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="Detect",[3]="Detecting",})

00358.537 INFO SCRIPTING: 518( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="Detect",[3]="Detecting",})

00358.537 INFO SCRIPTING: 518( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="Detect",[3]="Detecting",})

00358.538 INFO SCRIPTING: 518( -1)/E: DETECTION_UNITS00772.function({[1]="Detecting",[2]="Detect",[3]="Detecting",})

00358.538 INFO SCRIPTING: 518( -1)/E: DETECTION_AREAS00782.function({[1]="Detecting",[2]="Detect",[3]="Detecting",})

00358.730 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00358.730 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00358.730 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00358.730 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00772.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00358.730 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00782.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00358.731 INFO SCRIPTING: 1112( 2746)/E: DETECTION_AREAS00782.AddChangeItem({[1]="Change on Detection Item:",[2]=1,[3]="AA",[4]="Unknown",})

00359.432 INFO SCRIPTING: 144( -1)/E: AI_A2A_GCICAP00612.function(onafterReport)

00359.432 INFO SCRIPTING: 144( -1)/E: AI_A2A_GCICAP00692.function(onafterReport)

00359.432 INFO SCRIPTING: 144( -1)/E: TASK_A2A_DISPATCHER00766.function(onafterReport)

00359.432 INFO SCRIPTING: 494( 148)/E: TASK_A2A_DISPATCHER00766.ProcessDetected(nil)

00359.433 INFO SCRIPTING: 144( -1)/E: TASK_A2A_DISPATCHER00776.function(onafterReport)

00359.433 INFO SCRIPTING: 494( 148)/E: TASK_A2A_DISPATCHER00776.ProcessDetected(nil)

00359.433 INFO SCRIPTING: 144( -1)/E: TASK_A2G_DISPATCHER00786.function(onafterReport)

00359.433 INFO SCRIPTING: 202( 148)/E: TASK_A2G_DISPATCHER00786.ProcessDetected(nil)

00359.433 INFO SCRIPTING: 244( 148)/E: TASK_A2G_DISPATCHER00786.ProcessDetected({["DetectedItemID"]=1,["TaskIndex"]=1,["DetectedItemChanged"]=true,})

00359.433 INFO SCRIPTING: 215( 58)/E: TASK00881.New(New TASK BAI.001)

00359.433 INFO SCRIPTING: 1220( 229)/E: TASK00881.SetBriefing(nil)

00359.435 INFO SCRIPTING: 1220( 504)/E: TASK_A2G_BAI00881.SetBriefing(Execute a Battlefield Air Interdiction of a group of enemy targets.)

00359.435 INFO SCRIPTING: 1410( 366)/E: TASK_A2G_BAI00881.SetDetection({[1]=1,[2]={["current"]="Detecting",["_FlareDetectedUnits"]=false,["FriendliesCategory"]=2,["DetectionRun"]=1,["CountryID"]=0,["DetectedItemMax"]=1,["DetectedObjectsIdentified"]={},["DetectedItemCount"]=1,["DetectionCount"]=1,["_SmokeDetectedZones"]=false,["_SmokeDetectedUnits"]=false,["DetectionZoneRange"]=1000,["ClassName"]="DETECTION_AREAS",["_FlareDetectedZones"]=false,["_BoundDetectedZones"]=true,},})

00359.435 INFO SCRIPTING: 514( 375)/E: TASK_A2G_BAI00881.UpdateTaskInfo({[1]={["current"]="Detecting",["_FlareDetectedUnits"]=false,["FriendliesCategory"]=2,["DetectionRun"]=1,["CountryID"]=0,["DetectedItemMax"]=1,["DetectedObjectsIdentified"]={},["DetectedItemCount"]=1,["DetectionCount"]=1,["_SmokeDetectedZones"]=false,["_SmokeDetectedUnits"]=false,["DetectionZoneRange"]=1000,["ClassName"]="DETECTION_AREAS",["_FlareDetectedZones"]=false,["_BoundDetectedZones"]=true,},[2]=1,})

00359.729 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00359.729 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00359.730 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00359.730 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00772.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00360.737 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00360.737 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00360.737 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00360.738 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00772.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00361.734 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00361.734 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00361.734 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00361.734 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00772.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00362.268 INFO DCS: AWACSDBG: added id - 16791552, whois - A-50 RU EWR AWACS#001-01

00362.734 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00362.734 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00362.734 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00362.734 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00772.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00363.739 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00363.740 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00363.740 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00363.740 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00772.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00364.734 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00364.734 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00364.734 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00365.732 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00610.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00365.732 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00365.732 INFO SCRIPTING: 541( -1)/E: DETECTION_UNITS00762.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00366.732 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00690.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00375.436 INFO SCRIPTING: 1661( 2605)/E: AI_A2A_GCICAP00612.CanCAP({["CapCount"]=0,})

00375.436 INFO SCRIPTING: 1105( 2618)/E: SPAWN00650.SpawnAtAirbase({[1]="SQ CCCP #003",[2]={["Normandy"]={["Sainte_Croix_sur_Mer"]="Sainte-Croix-sur-Mer",["Lantheuil"]="Lantheuil",["Meautis"]="Meautis",["Evreux"]="Evreux",["Rucqueville"]="Rucqueville",["Needs_Oar_Point"]="Needs Oar Point",["Deux_Jumeaux"]="Deux Jumeaux",["Chippelle"]="Chippelle",["Biniville"]="Biniville",["Tangmere"]="Tangmere",["Sainte_Laurent_sur_Mer"]="Sainte-Laurent-sur-Mer",["Le_Molay"]="Le Molay",["Azeville"]="Azeville",["Lessay"]="Lessay",["Cricqueville_en_Bessin"]="Cricqueville-en-Bessin",["Funtington"]="Funtington",["Chailey"]="Chailey",["Carpiquet"]="Carpiquet",["Cardonville"]="Cardonville",["Picauville"]="Picauville",["Longues_sur_Mer"]="Longues-sur-Mer",["Cretteville"]="Cretteville",["Saint_Pierre_du_Mont"]="Saint Pierre du Mont",["Beuzeville"]="Beuzeville",["Maupertus"]="Maupertus",["Sommervieu"]="Sommervieu",["Brucheville"]="Brucheville",["Bazenville"]="Bazenville",["Lignerolles"]="Lignerolles",["Ford"]="Ford",["Beny_sur_Mer"]="Beny-sur-Mer",},["AirbaseName"]="Groom Lake AFB",["AirbaseZone"]={["Vec2"]={["y"]=-86227.296875,["x"]=-290154.40625,},["Radius"]=8000,["ClassName"]="ZONE_RADIUS",},["Caucasus"]={["Gudauta"]="Gudauta",["Mineralnye_Vody"]="Mineralnye Vody",["Sukhumi_Babushara"]="Sukhumi-Babushara",["Maykop_Khanskaya"]="Maykop-Khanskaya",["Anapa_Vityazevo"]="Anapa-Vityazevo",["Vaziani"]="Vaziani",["Mozdok"]="Mozdok",["Gelendzhik"]="Gelendzhik",["Senaki_Kolkhi"]="Senaki-Kolkhi",["Tbilisi_Lochini"]="Tbilisi-Lochini",["Batumi"]="Batumi",["Krasnodar_Center"]="Krasnodar-Center",["Sochi_Adler"]="Sochi-Adler",["Kobuleti"]="Kobuleti",["Kutaisi"]="Kutaisi",["Krasnodar_Pashkovsky"]="Krasnodar-Pashkovsky",["Novorossiysk"]="Novorossiysk",["Krymsk"]="Krymsk",["Beslan"]="Beslan",["Soganlug"]="Soganlug",["Nalchik"]="Nalchik",},["Nevada"]={["Boulder_City_Airport"]="Boulder City Airport",["Lincoln_County"]="Lincoln County",["Mellan_Airstrip"]="Mellan Airstrip",["Tonopah_Test_Range_Airfield"]="Tonopah Test Range Airfield",["Pahute_Mesa_Airstrip"]="Pahute Mesa Airstrip",["Nellis_AFB"]="Nellis AFB",["Mesquite"]="Mesquite",["Groom_Lake_AFB"]="Groom Lake AFB",["North_Las_Vegas"]="North Las Vegas",["McCarran_International_Airport"]="McCarran International Airport",["Mina_Airport_3Q0"]="Mina Airport 3Q0",["Echo_Bay"]="Echo Bay",["Beatty_Airport"]="Beatty Airport",["Tonopah_Airport"]="Tonopah Airport",["Creech_AFB"]="Creech AFB",["Henderson_Executive_Airport"]="Henderson Executive Airport",["Laughlin_Airport"]="Laughlin Airport",["Jean_Airport"]="Jean Airport",},["ClassName"]="AIRBASE",["CategoryName"]={[1]="Helipad",[2]="Ship",[0]="Airdrome",},},[3]=4,[4]=500,})

00375.437 INFO SCRIPTING: 489( 381)/E: DATABASE00003._RegisterGroupTemplate({[1]="Group",[2]="SQ CCCP #003#001",[3]="Coalition",[4]=1,[5]="Category",[6]=0,[7]="Country",[8]=0,[9]="Units",[10]="SQ CCCP #003#001-01",})

00375.440 INFO SCRIPTING: 328( 392)/E: DATABASE00003.AddGroup({[1]="Add GROUP:",[2]="SQ CCCP #003#001",})

00375.440 INFO SCRIPTING: 2446( 2619)/E: AI_A2A_GCICAP00612.AddDefenderToSquadron({["DefenderName"]="SQ CCCP #003#001",})

00375.441 INFO SCRIPTING: 565( 1177)/E: EVENT00000.OnEventForGroup(SQ CCCP #003#001)

00375.445 INFO SCRIPTING: 865( 13)/E: EVENT00000.onEvent({[1]="S_EVENT_BIRTH",[2]={["IniUnit"]={["ClassName"]="UNIT",["UnitName"]="SQ CCCP #003#001-01",},["place"]={["id_"]=5000005,},["IniUnitName"]="SQ CCCP #003#001-01",["time"]=0,["IniGroup"]={["GroupName"]="SQ CCCP #003#001",["Takeoff"]={["Air"]=1,["Hot"]=3,["Runway"]=2,["Cold"]=4,},["ClassName"]="GROUP",},["IniDCSGroupName"]="SQ CCCP #003#001",["IniCoalition"]=1,["id"]=15,["IniObjectCategory"]=1,["IniTypeName"]="MiG-21Bis",["subPlace"]=5,["IniCategory"]=0,["IniGroupName"]="SQ CCCP #003#001",["initiator"]={["id_"]=16791808,},["IniDCSUnitName"]="SQ CCCP #003#001-01",["IniDCSUnit"]=,["IniDCSGroup"]={["id_"]=1000004,},},[3]="SQ CCCP #003#001-01",[5]=1,})

00379.722 INFO DCS: AWACSDBG: added id - 16791808, whois - MiG-21Bis SQ CCCP #003#001-01

00388.830 INFO SCRIPTING: 518( -1)/E: DETECTION_AREAS00782.function({[1]="Detecting",[2]="Detect",[3]="Detecting",})

00389.040 INFO SCRIPTING: 541( -1)/E: DETECTION_AREAS00782.function({[1]="Detecting",[2]="DetectionGroup",[3]="Detecting",})

00389.532 INFO SCRIPTING: 144( -1)/E: AI_A2A_GCICAP00612.function(onafterReport)

00389.533 INFO SCRIPTING: 144( -1)/E: AI_A2A_GCICAP00692.function(onafterReport)

00389.533 INFO SCRIPTING: 144( -1)/E: TASK_A2A_DISPATCHER00766.function(onafterReport)

00389.533 INFO SCRIPTING: 494( 148)/E: TASK_A2A_DISPATCHER00766.ProcessDetected(nil)

00389.533 INFO SCRIPTING: 144( -1)/E: TASK_A2A_DISPATCHER00776.function(onafterReport)

00389.533 INFO SCRIPTING: 494( 148)/E: TASK_A2A_DISPATCHER00776.ProcessDetected(nil)

00389.533 INFO SCRIPTING: 144( -1)/E: TASK_A2G_DISPATCHER00786.function(onafterReport)

00389.533 INFO SCRIPTING: 202( 148)/E: TASK_A2G_DISPATCHER00786.ProcessDetected(nil)

00389.533 INFO SCRIPTING: 244( 148)/E: TASK_A2G_DISPATCHER00786.ProcessDetected({["DetectedItemID"]=1,["TaskIndex"]=1,["DetectedItemChanged"]=false,})

00390.148 INFO EDCORE: try to write dump information

00390.171 INFO EDCORE: # -------------- 20171014-020124 --------------

00390.172 INFO EDCORE: Z:\DCS\DCS World 2 OpenAlpha\bin\edObjects.dll

00390.173 INFO EDCORE: # C0000005 ACCESS_VIOLATION at D3163434 00:00000000

00390.175 INFO EDCORE: 00000000 00000000 0000:00000000

00390.188 INFO EDCORE: D3163434 007CE740 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\edObjects.dll ?getObjectType@SceneObject@@UEBAPEAVIModel@model@@XZ()+4

00390.189 INFO EDCORE: C674535C 007CE7A0 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\WorldGeneral.dll ?getObjectType@woLandPoint@@UEBAPEAVIModel@model@@XZ()+2C

00390.189 INFO EDCORE: C6723B96 007CE7D0 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\WorldGeneral.dll ?getDetectionPoint@MovingObject@@UEAA?AVVec3d@osg@@XZ()+26

00390.190 INFO EDCORE: C6781E49 007CEA50 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\WorldGeneral.dll ?buildTargetDetectionInfo@wDetector@@IEBAXPEAVMovingObject@@AEBVwTargetDetectionStatus@@AEAUwTargetDetectionInfo@@I@Z()+1F9

00390.190 INFO EDCORE: C678046E 007CEC60 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\WorldGeneral.dll ?checkTarget@wDetector@@UEAAIPEAVMovingObject@@AEAVwTargetDetectionStatus@@_N@Z()+12E

00390.190 INFO EDCORE: 4AC22291 007CEC90 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.190 INFO EDCORE: 4AC21FE0 007CEE90 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.191 INFO EDCORE: 4AC21DAB 007CEF30 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.191 INFO EDCORE: 4AC19DD1 007CF000 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.191 INFO EDCORE: 4AC19060 007CF060 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.191 INFO EDCORE: 4ABF4F41 007CF0A0 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.191 INFO EDCORE: 4ABF75D3 007CF110 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.192 INFO EDCORE: C67157CC 007CF150 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\WorldGeneral.dll ?NextEvent@wWakeupTime@@UEAAXXZ()+2C

00390.192 INFO EDCORE: D1376E63 007CF1D0 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\World.dll

00390.192 INFO EDCORE: D1377346 007CF220 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\World.dll

00390.192 INFO EDCORE: 4AC4DF36 007CF290 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.193 INFO EDCORE: 4AC587FE 007CF2F0 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.193 INFO EDCORE: 4A9030DB 007CF320 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.193 INFO EDCORE: 4A904959 007CF9D0 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.194 INFO EDCORE: 4AD9781F 007CFA10 0000:00000000 Z:\DCS\DCS World 2 OpenAlpha\bin\DCS.exe

00390.196 INFO EDCORE: F1DD2774 007CFA40 0000:00000000 C:\WINDOWS\System32\KERNEL32.DLL BaseThreadInitThunk()+14

00390.196 INFO EDCORE: F2180D51 007CFA90 0000:00000000 C:\WINDOWS\SYSTEM32\ntdll.dll RtlUserThreadStart()+21

00390.298 INFO EDCORE: Minidump created.

00390.300 INFO EDCORE: try to write track file

 

 

F99TH-CAPTURE OF PAHRUM2.miz

Link to comment
Share on other sites

Dont know if you know this already or if we discussed it before. Reporting anyway.

Moose 2.2.3

 

Issue:

GCICAP:SetSquadronTakeoffFromParkingCold

 

CAP is set to:

RED_A2A_GCICAP:SetSquadron( "ru132", "Sochi-Adler", { "ru132_template" }, [b]6[/b] )
RED_A2A_GCICAP:SetSquadronCapInterval( "ru132", [b]1[/b], 30, 60, 1 )

 

CAP is set to 1. Still it launches all available aircrafts in the squadron.

[sIGPIC][/sIGPIC]

 

We are looking for Swedish members!

http://www.masterarms.se

Link to comment
Share on other sites

Hi, I have a problem with using MOOSE.

 

AI unit is no longer spawns in multiplayer if AI pilot is ejected from plane.

 

Below is my code.

 

local SpawnCleanUpInterval = 60

local SpawnMaxUnitsAlive = 1

local SpawnMaxGroups = 0

local SpawnTemplate = { "AI AJS-37", "AI F-5E-3", "AI M-2000C", "AI MiG-21Bis" }

local SpawnTime = 60

local SpawnTimeVariation = 0

local SpawnZoneTable = { ZONE:New( "Battle Zone" ) }

 

local SpawnAI = SPAWN:New( "AI AIRCRAFT" )

:InitCleanUp( SpawnCleanUpInterval )

:InitLimit( SpawnMaxUnitsAlive, SpawnMaxGroups )

:InitRandomizeTemplate( SpawnTemplate )

:InitRandomizeZones( SpawnZoneTable )

:SpawnScheduled( SpawnTime, SpawnTimeVariation )

 

 

Thanks.


Edited by grbongsoo
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...