This commit is contained in:
FlightControl
2018-09-22 21:24:15 +02:00
commit 5bc154c53d
1539 changed files with 238150 additions and 0 deletions

81
.AppVeyor/appveyor.yml Normal file
View File

@@ -0,0 +1,81 @@
version: 0.0.1.{build}
shallow_clone: false # default is "false"
#clone_depth: 1 # clone entire repository history if not definedskip_branch_with_pr: false
skip_commits:
message: /!nobuild/
skip_tags: false
environment:
access_token_documentation:
secure: JVBVVL8uJUcLXN+48eRdELEeCGOGCCaMzCqutsUqNuaZ/KblG5ZTt7+LV4UKv/0f
platform:
- x64
init:
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
throw "There are newer queued builds for this pull request, failing early." }
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
install:
# Outcomment if lua environment invalidates and needs to be reinstalled, otherwise all will run from the cache.
- call choco install 7zip.commandline
cache:
- C:\ProgramData\chocolatey\lib
- C:\ProgramData\chocolatey\bin
build_script:
- ps: |
git checkout "$env:appveyor_repo_branch" 2>&1
git clone -q --depth=1 -b "$env:appveyor_repo_branch" https://github.com/FlightControl-Master/MOOSE_INCLUDE.git c:\Projects\Moose_Include
git clone -q --depth=1 -b "$env:appveyor_repo_branch" https://github.com/FlightControl-Master/MOOSE_MISSIONS_UNPACKED.git c:\Projects\Moose_Missions_Unpacked
dir c:\Projects
$Exclude=@("LICENSE","README.md","\.*")
Get-ChildItem . -directory -exclude "$Exclude" | git rm -r $_.FullName
dir
foreach( $file in Get-ChildItem "c:\Projects\Moose_Missions_Unpacked" -Filter Moose.lua -Recurse | % { $_.FullName } )
{
Write-Host "file : $file"
Copy-Item -Path c:\Projects\Moose_Include\Moose_Include_Static\Moose.lua -Destination $file
}
foreach( $dir_packed in Get-ChildItem "c:\Projects\Moose_Missions_Unpacked" -Filter _unpacked -Recurse -Directory | % { $_.FullName } )
{
Write-Host "dir_packed : $dir_packed"
$dir = $dir_packed.ToString().Replace( "\_unpacked","" )
$miz = $dir_packed.ToString().Replace( "\_unpacked","" )
$miz = $miz + "\" + ( Split-Path -Path "$miz" -Leaf )
$miz = $miz + ".miz"
Write-Host "miz : $miz"
$to_dir = $dir.Replace("C:\Projects\Moose_Missions_Unpacked\","")
Write-Host "to_dir : $to_dir"
7z a -r -y -tzip -bb0 "$miz" "$dir_packed/*" >$null 2>&1
Remove-Item -Path "$dir_packed" -Force -Recurse
Remove-Item -Path "$dir\*.bat" -Force -Recurse
#dir "$dir"
mkdir -Path "$to_dir" -Force
Copy-Item "$dir\*" -Destination "$to_dir" -Recurse -Force
}
echo "Commit to GITHUB"
git config --global credential.helper store
Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:access_token_documentation):x-oauth-basic@github.com`n"
git config --global user.email "sven.van.de.velde@telenet.be"
git config --global user.name "FlightControl-User"
git add . 2>&1
git commit -m "MOOSE demonstration missions [skip ci]" 2>&1
git push origin "$env:appveyor_repo_branch" 2>&1
dir
artifacts:
on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

11
.project Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>MOOSE_MISSIONS</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View File

@@ -0,0 +1,3 @@
local PlanesClientSet = SET_CLIENT:New():FilterCategories( "plane" ):FilterStart()
local AirbasePolice = AIRBASEPOLICE_CAUCASUS:New( PlanesClientSet )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,3 @@
local PlanesClientSet = SET_CLIENT:New():FilterCategories( "plane" ):FilterStart()
local AirbasePolice = AIRBASEPOLICE_NEVADA:New( PlanesClientSet )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,28 @@
---
-- Name: AIB-001 - Spawned AI
-- Author: FlightControl
-- Date Created: 07 Dec 2016
--
-- # Situation:
--
-- For the red coalition, 2 client slots are foreseen.
-- We test the AI spawning frequency, validating the number of spawned AI,
-- matching the amount of players that not have joined the mission.
-- When players join, AI should fly to the nearest home base.
--
-- # Test cases:
--
-- 1. If no player is logging into the red slots, 2 red AI planes should be alive.
-- 2. If a player joins one red slot, one red AI plane should return to the nearest home base.
-- 3. If two players join the red slots, no AI plane should be spawned, and all airborne AI planes should return to the nearest home base.
-- Define the SET of CLIENTs from the red coalition. This SET is filled during startup.
RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" )
-- Define the SPAWN object for the red AI plane template.
-- We use InitCleanUp to check every 20 seconds, if there are no planes blocked at the airbase, waithing for take-off.
-- If a blocked plane exists, this red plane will be ReSpawned.
RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
-- Start the AI_BALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter.
RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,43 @@
-- Name: AIB-002 - Patrol AI.lua
-- Author: FlightControl
-- Date Created: 7 December 2016
--
-- # Situation:
--
-- For the red coalition, 2 client slots are foreseen.
-- For those players that have not joined the mission, red AI is spawned.
-- The red AI should start patrolling an area until fuel is empty and return to the home base.
--
-- # Test cases:
--
-- 1. If no player is logging into the red slots, 2 red AI planes should be alive.
-- 2. If a player joins one red slot, one red AI plane should return to the nearest home base.
-- 3. If two players join the red slots, no AI plane should be spawned, and all airborne AI planes should return to the nearest home base.
-- 4. Spawned AI should take-off from the airbase, and start patrolling the area around Anapa.
-- 5. When the AI is out-of-fuel, it should report it is returning to the home base, and land at Anapa.
-- Define the SET of CLIENTs from the red coalition. This SET is filled during startup.
RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" )
-- Define the SPAWN object for the red AI plane template.
-- We use InitCleanUp to check every 20 seconds, if there are no planes blocked at the airbase, waithing for take-off.
-- If a blocked plane exists, this red plane will be ReSpawned.
RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
-- Start the AI_BALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter.
RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
local PatrolZones = {}
function RU_AI_Balancer:OnAfterSpawned( SetGroup, From, Event, To, AIGroup )
local PatrolZoneGroup = GROUP:FindByName( "PatrolZone" )
local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
PatrolZones[AIGroup] = AI_PATROL_ZONE:New( PatrolZone, 3000, 6000, 400, 600 )
PatrolZones[AIGroup]:ManageFuel( 0.2, 60 )
PatrolZones[AIGroup]:SetControllable( AIGroup )
PatrolZones[AIGroup]:__Start( 5 )
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,24 @@
RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" )
RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
RU_AirbasesSet = SET_AIRBASE:New():FilterCoalitions("red"):FilterStart()
RU_AirbasesSet:Flush()
RU_AI_Balancer:ReturnToNearestAirbases( 10000, RU_AirbasesSet )
US_PlanesClientSet = SET_CLIENT:New():FilterCountries( "USA" ):FilterCategories( "plane" )
US_PlanesSpawn = SPAWN:New( "AI US" ):InitCleanUp( 20 )
US_AI_Balancer = AI_BALANCER:New( US_PlanesClientSet, US_PlanesSpawn )
--RU_AI_Balancer:ReturnToHomeAirbase( 10000 )
--local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone Blue" )
--local PatrolZoneBlue = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
--local PatrolZoneB = AI_PATROL_ZONE:New( PatrolZoneBlue, 3000, 6000, 900, 1100 ):ManageFuel( 0.2, 180 )
--US_AI_Balancer:SetPatrolZone( PatrolZoneB )
--
--local PatrolZoneGroup = GROUP:FindByName( "Patrol Zone Red" )
--local PatrolZoneRed = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
--local PatrolZoneR = AI_PATROL_ZONE:New( PatrolZoneRed, 3000, 6000, 900, 1100 ):ManageFuel( 0.2, 180 )
--RU_AI_Balancer:SetPatrolZone( PatrolZoneR )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,47 @@
-- Name: AIB-004 - Respawn Test when Destroyed.lua
-- Author: FlightControl
-- Date Created: 7 January 2017
--
-- # Situation:
--
-- For the red coalition, 2 client slots are foreseen.
-- For those players that have not joined the mission, red AI is spawned.
-- The red AI should start patrolling an area.
--
-- The blue side has SAMs nearby.
-- Once the red AI takes off, the red AI is attacked by the blue SAMs.
-- Red AI should be killed and once that happens, a Respawn of the group should happen!
-- The Respawn happens through the InitCleanUp() API of SPAWN.
--
-- # Test cases:
--
-- 1. If no player is logging into the red slots, 2 red AI planes should be alive.
-- 2. If a player joins one red slot, one red AI plane should return to the nearest home base.
-- 3. If two players join the red slots, no AI plane should be spawned, and all airborne AI planes should return to the nearest home base.
-- 4. Monitor that once a red AI is destroyed, that it ReSpawns...
-- Define the SET of CLIENTs from the red coalition. This SET is filled during startup.
RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" )
-- Define the SPAWN object for the red AI plane template.
-- We use InitCleanUp to check every 20 seconds, if there are no planes blocked at the airbase, waithing for take-off.
-- If a blocked plane exists, this red plane will be ReSpawned.
RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
-- Start the AI_BALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter.
RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
function RU_AI_Balancer:OnAfterSpawned( SetGroup, From, Event, To, AIGroup )
local PatrolZoneGroup = GROUP:FindByName( "PatrolZone" )
local PatrolZone = ZONE_POLYGON:New( "PatrolZone", PatrolZoneGroup )
local Patrol = AI_PATROL_ZONE:New( PatrolZone, 3000, 6000, 400, 600 )
Patrol:ManageFuel( 0.2, 60 )
Patrol:SetControllable( AIGroup )
Patrol:__Start( 5 )
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,51 @@
-- Name: AIB-005 - Patrol AI and Randomize Zones
-- Author: FlightControl
-- Date Created: 10 Jan 2016
--
-- # Situation:
--
-- For the red coalition, 2 client slots are foreseen.
-- For those players that have not joined the mission, red AI is spawned.
-- The red AI should start patrolling an area until fuel is empty and return to the home base.
-- For each AI being spawned, ensure that they fly to a random zone defined within the mission editor.
-- Right now there are two patrol zones defined, so the AI should start patrolliing in one of these zones.
--
-- # Test cases:
--
-- 1. If no player is logging into the red slots, 2 red AI planes should be alive.
-- 2. If a player joins one red slot, one red AI plane should return to the nearest home base.
-- 3. If two players join the red slots, no AI plane should be spawned, and all airborne AI planes should return to the nearest home base.
-- 4. Spawned AI should take-off from the airbase, and start patrolling the area around Anapa.
-- 5. When the AI is out-of-fuel, it should report it is returning to the home base, and land at Anapa.
-- 6. Ensure that you see the AI patrol in one of the two zones ...
-- Define the SET of CLIENTs from the red coalition. This SET is filled during startup.
RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" )
-- Define the SPAWN object for the red AI plane template.
-- We use InitCleanUp to check every 20 seconds, if there are no planes blocked at the airbase, waithing for take-off.
-- If a blocked plane exists, this red plane will be ReSpawned.
RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
-- Start the AI_BALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter.
RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
-- Create the first polygon zone ...
PatrolZoneGroup1 = GROUP:FindByName( "PatrolZone1" )
PatrolZone1 = ZONE_POLYGON:New( "PatrolZone1", PatrolZoneGroup1 )
-- Create the second polygon zone ...
PatrolZoneGroup2 = GROUP:FindByName( "PatrolZone2" )
PatrolZone2 = ZONE_POLYGON:New( "PatrolZone2", PatrolZoneGroup2 )
-- Now, create an array of these zones ...
PatrolZoneArray = { PatrolZone1, PatrolZone2 }
function RU_AI_Balancer:OnAfterSpawned( SetGroup, From, Event, To, AIGroup )
local Patrol = AI_PATROL_ZONE:New( PatrolZoneArray[math.random( 1, 2 )], 3000, 6000, 400, 600 )
Patrol:ManageFuel( 0.2, 60 )
Patrol:SetControllable( AIGroup )
Patrol:Start()
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,43 @@
-- Name: AIB-005 - Patrol AI and Randomize Zones
-- Author: FlightControl
-- Date Created: 10 Jan 2016
--
-- # Situation:
--
-- For the red coalition, 2 client slots are foreseen.
-- For those players that have not joined the mission, red AI is spawned.
-- You'll notice a lot of AI is being spawned, as there are a lot of slots...
-- If the SPAWN API :InitCleanUp( secs ) is NOT used, you'll notice that the planes block each other on the runway.
-- After a short period of time, nothing will move anymore...
-- The :InitCleanUp( seconds ) API of the SPAWN class ensure that any AI that is parked longer than the
-- specified amount of seconds, is respawned back at the parking position.
-- This frees up the other planes departing, and the airbase is in this way decluttered...
--
-- # Test cases:
--
-- 1. Observe the de-cluttering of planes at Krymsk.
-- 2. Play with the InitCleanUp API of the SPAWN class, extende the amount of seconds to find the optimal setting.
-- Define the SET of CLIENTs from the red coalition. This SET is filled during startup.
RU_PlanesClientSet = SET_CLIENT:New():FilterCountries( "RUSSIA" ):FilterCategories( "plane" )
-- Define the SPAWN object for the red AI plane template.
-- We use InitCleanUp to check every 20 seconds, if there are no planes blocked at the airbase, waithing for take-off.
-- If a blocked plane exists, this red plane will be ReSpawned.
RU_PlanesSpawn = SPAWN:New( "AI RU" ):InitCleanUp( 20 )
-- Start the AI_BALANCER, using the SET of red CLIENTs, and the SPAWN object as a parameter.
RU_AI_Balancer = AI_BALANCER:New( RU_PlanesClientSet, RU_PlanesSpawn )
-- Create the first polygon zone ...
PatrolZoneGroup1 = GROUP:FindByName( "PatrolZone1" )
PatrolZone1 = ZONE_POLYGON:New( "PatrolZone1", PatrolZoneGroup1 )
function RU_AI_Balancer:OnAfterSpawned( SetGroup, From, Event, To, AIGroup )
local Patrol = AI_PATROL_ZONE:New( PatrolZone1, 3000, 6000, 400, 600 )
Patrol:ManageFuel( 0.2, 60 )
Patrol:SetControllable( AIGroup )
Patrol:__Start( 5 )
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,163 @@
-- Name: AIB-007 - AI Balancers For all airports and both coalitions
-- Author: Delta99
-- Date Created: 11 Feb 2017
--
-- Originally created to solve issues jg7xman (from Moose Slack group) was having in creating
-- AI_BALANCER across multiple airbases.
-- # Situation:
--
-- AI_BALANCERS created per airbase for both coalitions. Mutiple patrol zones are created
-- for each side. Each flight that is created by AI_BALANCER will pick a random patrol zone
-- to patrol.
-- # Test Cases
--
-- 1. Observe at least 1 flight spawning and taking off from each airbase.
-- 2. Each flight patrols randomly in one of its sides zones.
-- 3. AI will respawn after killed.
-- 4. Additional client slots are available at Sochi. If players don't take a slot there
-- will be more than one AI taking off from Sochi.
-- 5. Batumi contains a flight of 3 units rather than just 1 like most of the rest of the airbases.
-- 6. Watch the coalition AI clash and kill each other.
-- Create the Red Patrol Zone Array
-- This zone array will be used in the AI_BALANCER to randomize the patrol
-- zone that each spawned group will patrol
RedPatrolZone = {}
RedPatrolZone[1] = ZONE:New( "RedPatrolZone1" )
RedPatrolZone[2] = ZONE:New( "RedPatrolZone2" )
RedPatrolZone[3] = ZONE:New( "RedPatrolZone3" )
RedPatrolZone[4] = ZONE:New( "RedPatrolZone4" )
RedPatrolZone[5] = ZONE:New( "RedPatrolZone5" )
RedPatrolZone[6] = ZONE:New( "RedPatrolZone6" )
-- Russian CAP Aircraft
-- These are the aircraft created in the mission editor that the AI will spawn
-- with replacing any CLIENT created aircraft in the mission that a human
-- player does not take.
RU_PlanesSpawn = {}
RU_PlanesSpawn[1] = SPAWN:New( "RU CAP Anapa AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[2] = SPAWN:New( "RU CAP Beslan AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[3] = SPAWN:New( "RU CAP Gelendzhik AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[4] = SPAWN:New( "RU CAP Krasnodar Center AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[5] = SPAWN:New( "RU CAP Krasnodar Pashkovsky AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[6] = SPAWN:New( "RU CAP Krymsk AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[7] = SPAWN:New( "RU CAP Maykop AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[8] = SPAWN:New( "RU CAP Mineralnye Vody AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[9] = SPAWN:New( "RU CAP Mozdok AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[10] = SPAWN:New( "RU CAP Nalchik AB" ):InitCleanUp( 45 )
RU_PlanesSpawn[11] = SPAWN:New( "RU CAP Novorossiysk AB" ):InitCleanUp( 45 )
-- Russian Client Aircraft (via AI_BALANCER, AI will replace these if no human players are in the slot)
-- If you want more client slots per airbase that you want AI to be able to take control of then
-- name them with the prefixes below and they will be picked up automatically by FilterPrevixes.
--
-- For example, if you want another Client slot available at Anapa name it "RU CLIENT Anapa AB 2".
-- The code here does not need to be changed. Only an addition in the mission editor. An example
-- of this can be found on the USA side at Sochi AB.
RU_PlanesClientSet = {}
RU_PlanesClientSet[1] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Anapa AB")
RU_PlanesClientSet[2] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Beslan AB")
RU_PlanesClientSet[3] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Gelendzhik AB")
RU_PlanesClientSet[4] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Krasnodar Center AB")
RU_PlanesClientSet[5] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Krasnodar Pashkovsky AB")
RU_PlanesClientSet[6] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Krymsk AB")
RU_PlanesClientSet[7] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Maykop AB")
RU_PlanesClientSet[8] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Mineralnye Vody AB")
RU_PlanesClientSet[9] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Mozdok AB")
RU_PlanesClientSet[10] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Nalchik AB")
RU_PlanesClientSet[11] = SET_CLIENT:New():FilterPrefixes("RU CLIENT Novorossiysk AB")
-- We setup an array to store all the AI_BALANCERS that are going to be created. Basically one
-- per airbase. We loop through and create an AI_BALANCER as well as a separate OnAfterSpawned
-- function for each. The Patrol Zone is randomized in the first parameter to AI_PATROL_ZONE:New()
-- call. This is done for each of the AI_BALANCERS. To add more patrol zones, just define them in
-- the mission editor and add into the array above. Code here does not need to be changed. The
-- table.getn(RedPatrolZone) gets the number of elements in the RedPatrolZone array so that all
-- of them are included to pick randomly.
RU_AI_Balancer = {}
for i=1, 11 do
RU_AI_Balancer[i] = AI_BALANCER:New(RU_PlanesClientSet[i], RU_PlanesSpawn[i])
-- We set a local variable within the for loop to the AI_BALANCER that was just created.
-- I couldn't get RU_AI_BALANCER[i]:OnAfterSpawn to be recognized so this is just pointing
-- curAIBalancer to the relevant RU_AI_BALANCER array item for each loop.
-- So in this case there are essentially 11 OnAfterSpawned functions defined and handled.
local curAIBalancer = RU_AI_Balancer[i]
function curAIBalancer:OnAfterSpawned( SetGroup, From, Event, To, AIGroup )
local Patrol = AI_PATROL_ZONE:New( RedPatrolZone[math.random( 1, table.getn(RedPatrolZone))], 1500, 5500, 700, 1400 )
Patrol:ManageFuel( 0.2, 60 )
Patrol:SetControllable( AIGroup )
Patrol:Start()
end
end
-- US / Blue side is setup pretty much identically to the RU side above. Same detailed comments
-- above apply here. The main difference here is 10 airbases instead of 11.
-- Another difference is additional client slots at Sochi and a group defined at Batumi with
-- more than 1 unit per group (flight of 3 units). This is just to show that you can have more
-- client slots per airbase and more units in a single group that the AI will control. I think
-- this will also allow you to fly lead with AI on your wing or you can fly wing with an AI
-- leader.
-- Create the Blue Patrol Zone Array
BluePatrolZone = {}
BluePatrolZone[1] = ZONE:New( "BluePatrolZone1")
BluePatrolZone[2] = ZONE:New( "BluePatrolZone2")
BluePatrolZone[3] = ZONE:New( "BluePatrolZone3")
BluePatrolZone[4] = ZONE:New( "BluePatrolZone4")
BluePatrolZone[5] = ZONE:New( "BluePatrolZone5")
BluePatrolZone[6] = ZONE:New( "BluePatrolZone6")
--United States CAP Aircraft (these are used as templates for AI)
US_PlanesSpawn = {}
US_PlanesSpawn[1] = SPAWN:New( "US CAP Batumi AB" ):InitCleanUp( 45 )
US_PlanesSpawn[2] = SPAWN:New( "US CAP Gudauta AB" ):InitCleanUp( 45 )
US_PlanesSpawn[3] = SPAWN:New( "US CAP Kobuleti AB" ):InitCleanUp( 45 )
US_PlanesSpawn[4] = SPAWN:New( "US CAP Kutaisi AB" ):InitCleanUp( 45 )
US_PlanesSpawn[5] = SPAWN:New( "US CAP Senaki AB" ):InitCleanUp( 45 )
US_PlanesSpawn[6] = SPAWN:New( "US CAP Sochi AB" ):InitCleanUp( 45 )
US_PlanesSpawn[7] = SPAWN:New( "US CAP Soganlug AB" ):InitCleanUp( 45 )
US_PlanesSpawn[8] = SPAWN:New( "US CAP Sukhumi AB" ):InitCleanUp( 45 )
US_PlanesSpawn[9] = SPAWN:New( "US CAP Vaziani AB" ):InitCleanUp( 45 )
US_PlanesSpawn[10] = SPAWN:New( "US CAP Tbilisi AB" ):InitCleanUp( 45 )
--United States Client Aircraft (via AI_BALANCER, AI will replace these if no human players are in the slot)
US_PlanesClientSet = {}
US_PlanesClientSet[1] = SET_CLIENT:New():FilterPrefixes("US CLIENT Batumi AB")
US_PlanesClientSet[2] = SET_CLIENT:New():FilterPrefixes("US CLIENT Gudauta AB")
US_PlanesClientSet[3] = SET_CLIENT:New():FilterPrefixes("US CLIENT Kobuleti AB")
US_PlanesClientSet[4] = SET_CLIENT:New():FilterPrefixes("US CLIENT Kutaisi AB")
US_PlanesClientSet[5] = SET_CLIENT:New():FilterPrefixes("US CLIENT Senaki AB")
US_PlanesClientSet[6] = SET_CLIENT:New():FilterPrefixes("US CLIENT Sochi AB")
US_PlanesClientSet[7] = SET_CLIENT:New():FilterPrefixes("US CLIENT Soganlug AB")
US_PlanesClientSet[8] = SET_CLIENT:New():FilterPrefixes("US CLIENT Sukhumi AB")
US_PlanesClientSet[9] = SET_CLIENT:New():FilterPrefixes("US CLIENT Vaziani AB")
US_PlanesClientSet[10] = SET_CLIENT:New():FilterPrefixes("US CLIENT Tbilisi AB")
US_AI_Balancer = {}
for i=1, 10 do
US_AI_Balancer[i] = AI_BALANCER:New( US_PlanesClientSet[i], US_PlanesSpawn[i] )
local curAIBalancer = US_AI_Balancer[i]
function curAIBalancer:OnAfterSpawned( SetGroup, From, Event, To, AIGroup )
local Patrol = AI_PATROL_ZONE:New( BluePatrolZone[math.random( 1, table.getn(BluePatrolZone))], 1500, 5500, 700, 1400 )
Patrol:ManageFuel( 0.2, 60 )
Patrol:SetControllable( AIGroup )
Patrol:Start()
end
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,18 @@
---
-- Name: AIC-APC-000 - APC
-- Author: FlightControl
-- Date Created: 26 Mar 2018
--
-- A demonstration of the AI_CARGO_APC class.
-- This simple example transports Infantry.
-- The CARGO_GROUP objects are declared within the mission script.
local Infantry1 = CARGO_GROUP:New( GROUP:FindByName( "Infantry1" ), "Infantry", "Infantry1", 500, 25 )
local Infantry2 = CARGO_GROUP:New( GROUP:FindByName( "Infantry2" ), "Infantry", "Infantry2", 500, 25 )
local Infantry3 = CARGO_GROUP:New( GROUP:FindByName( "Infantry3" ), "Infantry", "Infantry3", 500, 25 )
local InfantryCargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
local APC = GROUP:FindByName( "APC" )
AICargoAPC = AI_CARGO_APC:New( APC, InfantryCargoSet, 500 )
AICargoAPC:__Pickup( 5 )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,16 @@
---
-- Name: AIC-APC-001 - APC with Cargo declared in ME
-- Author: FlightControl
-- Date Created: 26 Mar 2018
--
-- A demonstration of the AI_CARGO_APC class.
-- This simple example transports Infantry.
-- The cargo is declared with the ~CARGO tag in the mission editor.
-- So, within the mission, the infantry groups have the name:
--
local InfantryCargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
local APC = GROUP:FindByName( "APC" )
AICargoAPC = AI_CARGO_APC:New( APC, InfantryCargoSet, 500 )
AICargoAPC:__Pickup( 5 )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,24 @@
---
-- Name: AIC-APC-001 - Troops Relocate APC
-- Author: FlightControl
-- Date Created: 07 Apr 2018
--
-- Demonstration of troops relocation when carrier is destroyed...
-- Carrier will relocate to the rescue carrier.
local InfantryCargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
local CargoCarrier = GROUP:FindByName( "Carrier" )
CargoTroops = AI_CARGO_APC:New( CargoCarrier, InfantryCargoSet, 500 )
function CargoTroops:OnAfterDestroyed( CargoCarrier )
CargoTroops:F( { Destroyed = CargoCarrier } )
-- The coordinate is passed where the carrier is destroyed.
local NewCarrierGroup = self:FindCarrier( CargoCarrier:GetCoordinate(), 1000 ) -- which returns one Carrier GROUP object or nil.
if NewCarrierGroup then
self:SetCarrier( NewCarrierGroup )
end
end

View File

@@ -0,0 +1,12 @@
---
-- Name: AIC-APC-002 - APC Move by Game Master
-- Author: FlightControl
-- Date Created: 26 Mar 2018
--
local InfantryCargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
local CargoCarrier = GROUP:FindByName( "Carrier" )
CargoTroops = AI_CARGO_APC:New( CargoCarrier, InfantryCargoSet, 500 )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,14 @@
---
-- Name: AIC-APC-003 - APC Troops and Equipment
-- Author: FlightControl
-- Date Created: 07 Apr 2018
--
local InfantryCargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
local CargoCarrier = GROUP:FindByName( "Carrier" )
CargoTroops = AI_CARGO_APC:New( CargoCarrier, InfantryCargoSet, 350 )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,26 @@
---
-- Name: AIC-APC-004 - APC Pickup
-- Author: FlightControl
-- Date Created: 23 Apr 2018
--
local InfantryCargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
local APC = GROUP:FindByName( "APC" )
Cargo_APC = AI_CARGO_APC:New( APC, InfantryCargoSet, 350 )
Cargo_APC:__Pickup( 1, ZONE:New( "Pickup" ):GetCoordinate() )
--- Loaded Handler OnAfter for Cargo_APC
-- @function [parent=#Cargo_APC] OnAfterLoaded
-- @param #Cargo_APC self
-- @param Wrapper.Group#GROUP APC
-- @param #string From
-- @param #string Event
-- @param #string To
function Cargo_APC:OnAfterLoaded( APC, From, Event, To )
Cargo_APC:Deploy( ZONE:New( "Deploy" ):GetCoordinate() )
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,24 @@
---
-- Name: AIC-APC-001 - Troops Relocate APC
-- Author: FlightControl
-- Date Created: 07 Apr 2018
--
-- Demonstration of troops relocation when carrier is destroyed...
-- Carrier will relocate to the rescue carrier.
local InfantryCargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
local CargoCarrier = GROUP:FindByName( "Carrier" )
CargoTroops = AI_CARGO_APC:New( CargoCarrier, InfantryCargoSet, 500 )
function CargoTroops:OnAfterDestroyed( CargoCarrier )
CargoTroops:F( { Destroyed = CargoCarrier } )
-- The coordinate is passed where the carrier is destroyed.
local NewCarrierGroup = self:FindCarrier( CargoCarrier:GetCoordinate(), 1000 ) -- which returns one Carrier GROUP object or nil.
if NewCarrierGroup then
self:SetCarrier( NewCarrierGroup )
end
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,13 @@
---
-- Name: AIC-APC-010 - Multiple APC
-- Author: FlightControl
-- Date Created: 24 Apr 2018
--
local InfantrySet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
local APC = GROUP:FindByName( "APC" )
Cargo_APC = AI_CARGO_APC:New( APC, InfantrySet, 150 )
Cargo_APC:__Pickup( 2 )

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,42 @@
---
-- Name: AIC-APC-004 - APC Pickup
-- Author: FlightControl
-- Date Created: 23 Apr 2018
--
local InfantryCargoSet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
Cargo_APC = {}
for i = 1, 4 do
Cargo_APC[i] = AI_CARGO_APC:New( GROUP:FindByName( "APC"..i ), InfantryCargoSet, 350 )
--- Loaded Handler OnAfter for Cargo_APC
-- @function [parent=#Cargo_APC] OnAfterLoaded
-- @param #Cargo_APC self
-- @param Wrapper.Group#GROUP APC
-- @param #string From
-- @param #string Event
-- @param #string To
Cargo_APC[i].OnAfterLoaded = function( self, APC, From, Event, To )
self:Deploy( ZONE:New( "Deploy" ):GetRandomCoordinate( 300, 500 ), 70, "Line abreast" )
end
--- Unloaded Handler OnAfter for Cargo_APC
-- @function [parent=#Cargo_APC] OnAfterUnloaded
-- @param #Cargo_APC self
-- @param Wrapper.Group#GROUP APC
-- @param #string From
-- @param #string Event
-- @param #string To
Cargo_APC[i].OnAfterUnloaded = function( self, APC, From, Event, To )
self:Pickup( ZONE:New( "Pickup" ):GetRandomCoordinate( 50, 70 ), 70, "Line abreast" )
end
Cargo_APC[i]:__Pickup( i * 120, ZONE:New( "Pickup" ):GetRandomCoordinate( 50, 70 ), 70, "Line abreast" )
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,34 @@
---
-- Name: AIC-HEL-000 - Helicopter
-- Author: FlightControl
-- Date Created: 13 Apr 2018
--
WorkerCargoSet = SET_CARGO:New():FilterTypes( "Workers" ):FilterStart()
for i = 1, 10 do
local WorkerGroup = GROUP:FindByName( string.format( "Infantry#%03d", i ) )
local WorkersCargo = CARGO_GROUP:New( WorkerGroup, "Workers", string.format( "Infantry %d", i ), 1000, 35 )
end
local Helicopter = GROUP:FindByName( "Helicopter" )
CargoHelicopter = AI_CARGO_HELICOPTER:New( Helicopter, WorkerCargoSet )
PickupZone = ZONE:New( "PickupZone" )
DeployZones = { ZONE:New( "DeployZone Alpha" ), ZONE:New( "DeployZone Beta" ), ZONE:New( "DeployZone Gamma" ) }
CargoHelicopter:Pickup( PickupZone:GetRandomCoordinate( 500, 200 ) )
function CargoHelicopter:onafterLoaded( Helicopter, From, Event, To, Cargo )
CargoHelicopter:Deploy( DeployZones[math.random( 1, #DeployZones ) ]:GetRandomCoordinate( 500, 100 ), math.random( 50, 250 ) )
end
function CargoHelicopter:onafterUnloaded( Helicopter, From, Event, To, Cargo )
CargoHelicopter:Pickup( PickupZone:GetRandomCoordinate( 500, 200 ), math.random( 50, 250 ) )
end

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,35 @@
---
-- Name: AIC-PLN-000 - Airplane
-- Author: FlightControl
-- Date Created: 14 Apr 2018
--
VehicleCargoSet = SET_CARGO:New():FilterTypes( "Vehicles" ):FilterStart()
for i = 1, 10 do
local WorkerGroup = GROUP:FindByName( string.format( "Vehicle #%03d", i ) )
local WorkersCargo = CARGO_GROUP:New( WorkerGroup, "Vehicles", string.format( "Vehicle %d", i ), 5000, 35 )
end
local Airplane = GROUP:FindByName( "Airplane" )
CargoAirplane = AI_CARGO_AIRPLANE:New( Airplane, VehicleCargoSet )
PickupAirbase = AIRBASE:FindByName( AIRBASE.Caucasus.Kobuleti )
DeployAirbases = { AIRBASE:FindByName( AIRBASE.Caucasus.Batumi ), AIRBASE:FindByName( AIRBASE.Caucasus.Gudauta ) }
CargoAirplane:Pickup( PickupAirbase )
function CargoAirplane:onafterLoaded( Airplane, From, Event, To, Cargo )
CargoAirplane:Deploy( DeployAirbases[math.random( 1, #DeployAirbases ) ], math.random( 50, 250 ) )
end
function CargoAirplane:onafterUnloaded( Airplane, From, Event, To, Cargo )
CargoAirplane:Pickup( PickupAirbase, math.random( 50, 250 ) )
end

View File

@@ -0,0 +1,210 @@
-- View scripts
-- Copyright (C) 2004, Eagle Dynamics.
DisableCombatViews = false -- F5 & Ctrl-F5
ExternalObjectsLockDistance = 10000.0
ShowTargetInfo = false
CameraTerrainRestriction = true
hAngleRearDefault = 180
vAngleRearDefault = -8.0
vAngleRearMin = -90 -- -8.0
vAngleRearMax = 90.0
dbg_shell = "weapons.shells.PKT_7_62_T" -- 23mm shell
dbg_shell = "weapons.nurs.WGr21"
-- dbg_shell = "weapons.shells.2A64_152" -- 152mm shell
dbg_shell_v0 = -1 -- Muzzle speed m/s (-1 - speed from shall database)
dbg_shell_fire_rate = 60
--reformatted per-unit data to be mod system friendly
--this file is no longer should be edited for adding new flyable aircraft , DCS automatically check core database (i.e. where you define your aircraft in aircraft table just define ViewSettings and SnapViews tables)
function default_fighter_player(t)
local res = {
CameraViewAngleLimits = {20.000000,140.000000},
CameraAngleRestriction = {false ,90.000000,0.500000},
EyePoint = {0.05 ,0.000000 ,0.000000},
limits_6DOF = {x = {-0.050000,0.4500000},y ={-0.300000,0.100000},z = {-0.220000,0.220000},roll = 90.000000},
Allow360rotation = false,
CameraAngleLimits = {200,-80.000000,110.000000},
ShoulderSize = 0.2, -- move body when azimuth value more then 90 degrees
}
if t then
for i,o in pairs(t) do
res[i] = o
end
end
return res
end
function fulcrum()
return {
Cockpit = {
default_fighter_player({CockpitLocalPoint = {4.71,1.28,0.000000}})
},
Chase = {
LocalPoint = {1.220000,3.750000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {-15.080000,6.350000,0.000000},
AnglesDefault = {0.000000,-8.000000},
}, -- Arcade
}
end
ViewSettings = {}
ViewSettings["A-10A"] = {
Cockpit = {
[1] = default_fighter_player({CockpitLocalPoint = {4.300000,1.282000,0.000000},
EyePoint = {0.000000,0.000000,0.000000},
limits_6DOF = {x = {-0.050000,0.600000},
y = {-0.300000,0.100000},
z = {-0.250000,0.250000},
roll = 90.000000}}),
}, -- Cockpit
Chase = {
LocalPoint = {0.600000,3.682000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {-27.000000,12.000000,0.000000},
AnglesDefault = {0.000000,-12.000000},
}, -- Arcade
}
ViewSettings["A-10C"] = {
Cockpit = {
[1] = default_fighter_player({CockpitLocalPoint = {4.300000,1.282000,0.000000},
EyePoint = {0.000000,0.000000,0.000000},
limits_6DOF = {x = {-0.050000,0.600000},
y = {-0.300000,0.100000},
z = {-0.250000,0.250000},
roll = 90.000000}}),
}, -- Cockpit
Chase = {
LocalPoint = {0.600000,3.682000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {-27.000000,12.000000,0.000000},
AnglesDefault = {0.000000,-12.000000},
}, -- Arcade
}
ViewSettings["F-15C"] = {
Cockpit = {
[1] = default_fighter_player({CockpitLocalPoint = {6.210000,1.204000,0.000000}})-- player slot 1
}, -- Cockpit
Chase = {
LocalPoint = {2.510000,3.604000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {-13.790000,6.204000,0.000000},
AnglesDefault = {0.000000,-8.000000},
}, -- Arcade
}
ViewSettings["Ka-50"] = {
Cockpit = {
[1] = {-- player slot 1
CockpitLocalPoint = {3.188000,0.390000,0.000000},
CameraViewAngleLimits = {20.000000,120.000000},
CameraAngleRestriction = {false,60.000000,0.400000},
CameraAngleLimits = {140.000000,-65.000000,90.000000},
EyePoint = {0.090000,0.000000,0.000000},
limits_6DOF = {x = {-0.020000,0.350000},y ={-0.150000,0.165000},z = {-0.170000,0.170000},roll = 90.000000},
},
}, -- Cockpit
Chase = {
LocalPoint = {-0.512000,2.790000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {-16.812000,5.390000,0.000000},
AnglesDefault = {0.000000,-8.000000},
}, -- Arcade
}
ViewSettings["MiG-29A"] = fulcrum()
ViewSettings["MiG-29G"] = fulcrum()
ViewSettings["MiG-29S"] = fulcrum()
ViewSettings["P-51D"] = {
Cockpit = {
[1] = {-- player slot 1
CockpitLocalPoint = {-1.500000,0.618000,0.000000},
CameraViewAngleLimits = {20.000000,120.000000},
CameraAngleRestriction = {false,90.000000,0.500000},
CameraAngleLimits = {200,-80.000000,90.000000},
EyePoint = {0.025000,0.100000,0.000000},
ShoulderSize = 0.15,
Allow360rotation = false,
limits_6DOF = {x = {-0.050000,0.450000},y ={-0.200000,0.200000},z = {-0.220000,0.220000},roll = 90.000000},
},
}, -- Cockpit
Chase = {
LocalPoint = {0.200000,-0.652000,-0.650000},
AnglesDefault = {0.000000,0.000000},
}, -- Chase
Arcade = {
LocalPoint = {-21.500000,5.618000,0.000000},
AnglesDefault = {0.000000,-8.000000},
}, -- Arcade
}
ViewSettings["Su-25"] = {
Cockpit = {
[1] = default_fighter_player({CockpitLocalPoint = {3.352000,0.506000,0.000000}}),-- player slot 1
}, -- Cockpit
Chase = {
LocalPoint = {-0.348000,2.906000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {-16.648001,5.506000,0.000000},
AnglesDefault = {0.000000,-8.000000},
}, -- Arcade
}
ViewSettings["Su-25T"] = {
Cockpit = {
[1] = default_fighter_player({CockpitLocalPoint = {3.406000,0.466000,0.000000}}),-- player slot 1
}, -- Cockpit
Chase = {
LocalPoint = {-0.294000,2.866000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {-16.594000,5.466000,0.000000},
AnglesDefault = {0.000000,-8.000000},
}, -- Arcade
}
ViewSettings["Su-25TM"] = {
Cockpit = {
[1] = {-- player slot 1
CockpitLocalPoint = {4.000000,1.000000,0.000000},
CameraViewAngleLimits = {20.000000,140.000000},
CameraAngleRestriction = {true,90.000000,0.400000},
CameraAngleLimits = {160.000000,-70.000000,90.000000},
EyePoint = {0.000000,0.000000,0.000000},
limits_6DOF = {x = {-0.200000,0.200000},y ={-0.200000,0.200000},z = {-0.200000,0.200000},roll = 60.000000},
},
}, -- Cockpit
Chase = {
LocalPoint = {4.000000,2.000000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {4.000000,2.000000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Arcade
}
ViewSettings["Su-27"] = {
Cockpit = {
[1] = default_fighter_player({CockpitLocalPoint = {7.959000,1.419000,0.000000}})-- player slot 1
}, -- Cockpit
Chase = {
LocalPoint = {4.259000,3.819000,0.000000},
AnglesDefault = {180.000000,-8.000000},
}, -- Chase
Arcade = {
LocalPoint = {-12.041000,6.419000,0.000000},
AnglesDefault = {0.000000,-8.000000},
}, -- Arcade
}
ViewSettings["Su-33"] = ViewSettings["Su-27"]

View File

@@ -0,0 +1,128 @@
-- View scripts
-- Copyright (C) 2004, Eagle Dynamics.
CockpitMouse = true --false
CockpitMouseSpeedSlow = 1.0
CockpitMouseSpeedNormal = 10.0
CockpitMouseSpeedFast = 20.0
CockpitKeyboardAccelerationSlow = 5.0
CockpitKeyboardAccelerationNormal = 30.0
CockpitKeyboardAccelerationFast = 80.0
CockpitKeyboardZoomAcceleration = 300.0
DisableSnapViewsSaving = false
UseDefaultSnapViews = true
CockpitPanStepHor = 45.0
CockpitPanStepVert = 30.0
CockpitNyMove = true
CockpitHAngleAccelerateTimeMax = 0.15
CockpitVAngleAccelerateTimeMax = 0.15
CockpitZoomAccelerateTimeMax = 0.2
function NaturalHeadMoving(tang, roll, omz)
local r = roll
if r > 90.0 then
r = 180.0 - r
elseif roll < -90.0 then
r = -180.0 - r
end
local hAngle = -0.25 * r
local vAngle = math.min(math.max(0.0, 0.4 * tang + 45.0 * omz), 90.0)
return hAngle, vAngle
end
ExternalMouse = true
ExternalMouseSpeedSlow = 1.0
ExternalMouseSpeedNormal = 5.0
ExternalMouseSpeedFast = 20.0
ExternalViewAngleMin = 3.0
ExternalViewAngleMax = 170.0
ExternalViewAngleDefault = 60.0
ExternalKeyboardZoomAcceleration = 30.0
ExternalKeyboardZoomAccelerateTimeMax = 1.0
ExplosionExpoTime = 4.0
ExternalKeyboardAccelerationSlow = 1.0
ExternalKeyboardAccelerationNormal = 10.0
ExternalKeyboardAccelerationFast = 30.0
ExternalHAngleAccelerateTimeMax = 3.0
ExternalVAngleAccelerateTimeMax = 3.0
ExternalDistAccelerateTimeMax = 3.0
ExternalHAngleLocalAccelerateTimeMax = 3.0
ExternalVAngleLocalAccelerateTimeMax = 3.0
ExternalAngleNormalDiscreteStep = 15.0/ExternalKeyboardAccelerationNormal -- When 'S' is pressed only
ChaseCameraNyMove = true
FreeCameraAngleIncrement = 3.0
FreeCameraDistanceIncrement = 200.0
FreeCameraLeftRightIncrement = 2.0
FreeCameraAltitudeIncrement = 2.0
FreeCameraScalarSpeedAcceleration = 0.1
xMinMap = -300000
xMaxMap = 500000
yMinMap = -400000
yMaxMap = 200000
dxMap = 150000
dyMap = 100000
head_roll_shaking = true
head_roll_shaking_max = 30.0
head_roll_shaking_compensation_gain = 0.3
-- CameraJiggle() and CameraFloat() functions make camera position
-- dependent on FPS so be careful in using the Shift-J command with tracks, please.
-- uncomment to use custom jiggle functions
--[[
function CameraJiggle(t,rnd1,rnd2,rnd3)
local rotX, rotY, rotZ
rotX = 0.05 * rnd1 * math.sin(37.0 * (t - 0.0))
rotY = 0.05 * rnd2 * math.sin(41.0 * (t - 1.0))
rotZ = 0.05 * rnd3 * math.sin(53.0 * (t - 2.0))
return rotX, rotY, rotZ
end
function CameraFloat(t)
local dX, dY, dZ
dX = 0.61 * math.sin(0.7 * t) + 0.047 * math.sin(1.6 * t);
dY = 0.43 * math.sin(0.6 * t) + 0.067 * math.sin(1.7 * t);
dZ = 0.53 * math.sin(1.0 * t) + 0.083 * math.sin(1.9 * t);
return dX, dY, dZ
end
--]]
--Debug keys
DEBUG_TEXT = 1
DEBUG_GEOMETRY = 2
debug_keys = {
[DEBUG_TEXT] = 1,
[DEBUG_GEOMETRY] = 1
}
function onDebugCommand(command)
if command == 10000 then
if debug_keys[DEBUG_TEXT] ~= 0 or debug_keys[DEBUG_GEOMETRY] ~= 0 then
debug_keys[DEBUG_GEOMETRY] = 0
debug_keys[DEBUG_TEXT] = 0
else
debug_keys[DEBUG_GEOMETRY] = 1
debug_keys[DEBUG_TEXT] = 1
end
elseif command == 10001 then
if debug_keys[DEBUG_TEXT] ~= 0 then
debug_keys[DEBUG_TEXT] = 0
else
debug_keys[DEBUG_TEXT] = 1
end
elseif command == 10002 then
if debug_keys[DEBUG_GEOMETRY] ~= 0 then
debug_keys[DEBUG_GEOMETRY] = 0
else
debug_keys[DEBUG_GEOMETRY] = 1
end
end
end
-- gain values for TrackIR , to unify responce on diffrent types of aircraft
TrackIR_gain_x = -0.6
TrackIR_gain_y = 0.3
TrackIR_gain_z = -0.25
TrackIR_gain_roll = -90

View File

@@ -0,0 +1,880 @@
SAT_SYS_GLONASS = 0
SAT_SYS_GPS = 1
almanac = {}
--GPS
almanac[0] = {}
almanac[0]["System"] = SAT_SYS_GPS
almanac[0]["Number"] = 1
almanac[0]["Orbital"] = "F"
almanac[0]["Eccentricity"] = 6.294000e-003
almanac[0]["Time_of_Applicability"] = 5.898240e+005
almanac[0]["Orbital_Inclination"] = 9.885676e-001
almanac[0]["Rate_of_Right_Ascen"] = -7.862702e-009
almanac[0]["SQRT_A"] = 5.153700e+003
almanac[0]["Right_Ascen_at_Week"] = 8.096750e-001
almanac[0]["Argument_of_Perigee"] = -1.777773e+000
almanac[0]["Mean_Anom"] = -5.315745e-001
almanac[0]["week"] = 1390
almanac[1] = {}
almanac[1]["System"] = SAT_SYS_GPS
almanac[1]["Number"] = 2
almanac[1]["Orbital"] = "C"
almanac[1]["Eccentricity"] = 8.794000e-003
almanac[1]["Time_of_Applicability"] = 5.898240e+005
almanac[1]["Orbital_Inclination"] = 9.487811e-001
almanac[1]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[1]["SQRT_A"] = 5.153700e+003
almanac[1]["Right_Ascen_at_Week"] = -1.329172e+000
almanac[1]["Argument_of_Perigee"] = 2.138637e+000
almanac[1]["Mean_Anom"] = 7.311702e-001
almanac[1]["week"] = 1390
almanac[2] = {}
almanac[2]["System"] = SAT_SYS_GPS
almanac[2]["Number"] = 3
almanac[2]["Orbital"] = "F"
almanac[2]["Eccentricity"] = 8.424000e-003
almanac[2]["Time_of_Applicability"] = 5.898240e+005
almanac[2]["Orbital_Inclination"] = 9.262804e-001
almanac[2]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[2]["SQRT_A"] = 5.153600e+003
almanac[2]["Right_Ascen_at_Week"] = -2.341514e+000
almanac[2]["Argument_of_Perigee"] = 6.749357e-001
almanac[2]["Mean_Anom"] = -2.296153e-001
almanac[2]["week"] = 1389
almanac[3] = {}
almanac[3]["System"] = SAT_SYS_GPS
almanac[3]["Number"] = 4
almanac[3]["Orbital"] = "D"
almanac[3]["Eccentricity"] = 7.413000e-003
almanac[3]["Time_of_Applicability"] = 5.898240e+005
almanac[3]["Orbital_Inclination"] = 9.482889e-001
almanac[3]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[3]["SQRT_A"] = 5.153600e+003
almanac[3]["Right_Ascen_at_Week"] = -1.309589e+000
almanac[3]["Argument_of_Perigee"] = 1.623504e-001
almanac[3]["Mean_Anom"] = -3.022943e+000
almanac[3]["week"] = 1390
almanac[4] = {}
almanac[4]["System"] = SAT_SYS_GPS
almanac[4]["Number"] = 5
almanac[4]["Orbital"] = "B"
almanac[4]["Eccentricity"] = 7.432000e-003
almanac[4]["Time_of_Applicability"] = 5.898240e+005
almanac[4]["Orbital_Inclination"] = 9.387437e-001
almanac[4]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[4]["SQRT_A"] = 5.153700e+003
almanac[4]["Right_Ascen_at_Week"] = 2.779487e+000
almanac[4]["Argument_of_Perigee"] = 1.099033e+000
almanac[4]["Mean_Anom"] = 2.970984e+000
almanac[4]["week"] = 1390
almanac[5] = {}
almanac[5]["System"] = SAT_SYS_GPS
almanac[5]["Number"] = 6
almanac[5]["Orbital"] = "C"
almanac[5]["Eccentricity"] = 6.020000e-003
almanac[5]["Time_of_Applicability"] = 5.898240e+005
almanac[5]["Orbital_Inclination"] = 9.337591e-001
almanac[5]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[5]["SQRT_A"] = 5.153600e+003
almanac[5]["Right_Ascen_at_Week"] = -2.407627e+000
almanac[5]["Argument_of_Perigee"] = -1.788263e+000
almanac[5]["Mean_Anom"] = -2.149877e+000
almanac[5]["week"] = 1390
almanac[6] = {}
almanac[6]["System"] = SAT_SYS_GPS
almanac[6]["Number"] = 7
almanac[6]["Orbital"] = "C"
almanac[6]["Eccentricity"] = 1.052400e-002
almanac[6]["Time_of_Applicability"] = 5.898240e+005
almanac[6]["Orbital_Inclination"] = 9.353229e-001
almanac[6]["Rate_of_Right_Ascen"] = -8.080868e-009
almanac[6]["SQRT_A"] = 5.153700e+003
almanac[6]["Right_Ascen_at_Week"] = -2.433580e+000
almanac[6]["Argument_of_Perigee"] = -1.767301e+000
almanac[6]["Mean_Anom"] = -3.141503e+000
almanac[6]["week"] = 1390
almanac[7] = {}
almanac[7]["System"] = SAT_SYS_GPS
almanac[7]["Number"] = 8
almanac[7]["Orbital"] = "A"
almanac[7]["Eccentricity"] = 9.822000e-003
almanac[7]["Time_of_Applicability"] = 5.898240e+005
almanac[7]["Orbital_Inclination"] = 9.741390e-001
almanac[7]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[7]["SQRT_A"] = 5.153600e+003
almanac[7]["Right_Ascen_at_Week"] = 1.857849e+000
almanac[7]["Argument_of_Perigee"] = 2.674034e+000
almanac[7]["Mean_Anom"] = -2.009745e+000
almanac[7]["week"] = 1390
almanac[8] = {}
almanac[8]["System"] = SAT_SYS_GPS
almanac[8]["Number"] = 9
almanac[8]["Orbital"] = "A"
almanac[8]["Eccentricity"] = 1.839300e-002
almanac[8]["Time_of_Applicability"] = 5.898240e+005
almanac[8]["Orbital_Inclination"] = 9.617541e-001
almanac[8]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[8]["SQRT_A"] = 5.153600e+003
almanac[8]["Right_Ascen_at_Week"] = 1.777005e+000
almanac[8]["Argument_of_Perigee"] = 1.274962e+000
almanac[8]["Mean_Anom"] = -2.349578e+000
almanac[8]["week"] = 1390
almanac[9] = {}
almanac[9]["System"] = SAT_SYS_GPS
almanac[9]["Number"] = 10
almanac[9]["Orbital"] = "E"
almanac[9]["Eccentricity"] = 7.061000e-003
almanac[9]["Time_of_Applicability"] = 5.898240e+005
almanac[9]["Orbital_Inclination"] = 9.728876e-001
almanac[9]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[9]["SQRT_A"] = 5.153600e+003
almanac[9]["Right_Ascen_at_Week"] = -2.563014e-001
almanac[9]["Argument_of_Perigee"] = 4.377980e-001
almanac[9]["Mean_Anom"] = 1.210716e+000
almanac[9]["week"] = 1390
almanac[10] = {}
almanac[10]["System"] = SAT_SYS_GPS
almanac[10]["Number"] = 11
almanac[10]["Orbital"] = "D"
almanac[10]["Eccentricity"] = 5.744000e-003
almanac[10]["Time_of_Applicability"] = 5.898240e+005
almanac[10]["Orbital_Inclination"] = 8.959309e-001
almanac[10]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[10]["SQRT_A"] = 5.153600e+003
almanac[10]["Right_Ascen_at_Week"] = -1.478816e+000
almanac[10]["Argument_of_Perigee"] = 3.750011e-001
almanac[10]["Mean_Anom"] = -1.522048e+000
almanac[10]["week"] = 1390
almanac[11] = {}
almanac[11]["System"] = SAT_SYS_GPS
almanac[11]["Number"] = 13
almanac[11]["Orbital"] = "F"
almanac[11]["Eccentricity"] = 3.088000e-003
almanac[11]["Time_of_Applicability"] = 5.898240e+005
almanac[11]["Orbital_Inclination"] = 9.927564e-001
almanac[11]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[11]["SQRT_A"] = 5.153700e+003
almanac[11]["Right_Ascen_at_Week"] = 7.956600e-001
almanac[11]["Argument_of_Perigee"] = 1.279395e+000
almanac[11]["Mean_Anom"] = 1.004349e+000
almanac[11]["week"] = 1390
almanac[12] = {}
almanac[12]["System"] = SAT_SYS_GPS
almanac[12]["Number"] = 14
almanac[12]["Orbital"] = "F"
almanac[12]["Eccentricity"] = 2.591000e-003
almanac[12]["Time_of_Applicability"] = 5.898240e+005
almanac[12]["Orbital_Inclination"] = 9.868729e-001
almanac[12]["Rate_of_Right_Ascen"] = -7.885391e-009
almanac[12]["SQRT_A"] = 5.153600e+003
almanac[12]["Right_Ascen_at_Week"] = 7.819592e-001
almanac[12]["Argument_of_Perigee"] = -2.158621e+000
almanac[12]["Mean_Anom"] = 5.412611e-001
almanac[12]["week"] = 1390
almanac[13] = {}
almanac[13]["System"] = SAT_SYS_GPS
almanac[13]["Number"] = 15
almanac[13]["Orbital"] = "D"
almanac[13]["Eccentricity"] = 9.828000e-003
almanac[13]["Time_of_Applicability"] = 3.194880e+005
almanac[13]["Orbital_Inclination"] = 9.554204e-001
almanac[13]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[13]["SQRT_A"] = 5.153600e+003
almanac[13]["Right_Ascen_at_Week"] = -1.123869e+000
almanac[13]["Argument_of_Perigee"] = 2.690266e+000
almanac[13]["Mean_Anom"] = 2.220476e+000
almanac[13]["week"] = 1389
almanac[14] = {}
almanac[14]["System"] = SAT_SYS_GPS
almanac[14]["Number"] = 16
almanac[14]["Orbital"] = "B"
almanac[14]["Eccentricity"] = 3.494000e-003
almanac[14]["Time_of_Applicability"] = 5.898240e+005
almanac[14]["Orbital_Inclination"] = 9.629340e-001
almanac[14]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[14]["SQRT_A"] = 5.153700e+003
almanac[14]["Right_Ascen_at_Week"] = 2.873124e+000
almanac[14]["Argument_of_Perigee"] = -7.819243e-001
almanac[14]["Mean_Anom"] = 2.623629e+000
almanac[14]["week"] = 1390
almanac[15] = {}
almanac[15]["System"] = SAT_SYS_GPS
almanac[15]["Number"] = 17
almanac[15]["Orbital"] = "C"
almanac[15]["Eccentricity"] = 2.141000e-003
almanac[15]["Time_of_Applicability"] = 5.898240e+005
almanac[15]["Orbital_Inclination"] = 9.601170e-001
almanac[15]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[15]["SQRT_A"] = 5.153700e+003
almanac[15]["Right_Ascen_at_Week"] = -2.371499e+000
almanac[15]["Argument_of_Perigee"] = 3.087694e+000
almanac[15]["Mean_Anom"] = 1.611217e+000
almanac[15]["week"] = 1390
almanac[16] = {}
almanac[16]["System"] = SAT_SYS_GPS
almanac[16]["Number"] = 18
almanac[16]["Orbital"] = "E"
almanac[16]["Eccentricity"] = 7.636000e-003
almanac[16]["Time_of_Applicability"] = 5.898240e+005
almanac[16]["Orbital_Inclination"] = 9.569597e-001
almanac[16]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[16]["SQRT_A"] = 5.153700e+003
almanac[16]["Right_Ascen_at_Week"] = -2.359858e-001
almanac[16]["Argument_of_Perigee"] = -2.649216e+000
almanac[16]["Mean_Anom"] = 2.675029e+000
almanac[16]["week"] = 1390
almanac[17] = {}
almanac[17]["System"] = SAT_SYS_GPS
almanac[17]["Number"] = 19
almanac[17]["Orbital"] = "C"
almanac[17]["Eccentricity"] = 3.602000e-003
almanac[17]["Time_of_Applicability"] = 5.898240e+005
almanac[17]["Orbital_Inclination"] = 9.580209e-001
almanac[17]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[17]["SQRT_A"] = 5.153600e+003
almanac[17]["Right_Ascen_at_Week"] = -2.312385e+000
almanac[17]["Argument_of_Perigee"] = -1.161079e+000
almanac[17]["Mean_Anom"] = 1.310619e+000
almanac[17]["week"] = 1390
almanac[18] = {}
almanac[18]["System"] = SAT_SYS_GPS
almanac[18]["Number"] = 20
almanac[18]["Orbital"] = "E"
almanac[18]["Eccentricity"] = 2.796000e-003
almanac[18]["Time_of_Applicability"] = 5.898240e+005
almanac[18]["Orbital_Inclination"] = 9.564693e-001
almanac[18]["Rate_of_Right_Ascen"] = -7.908080e-009
almanac[18]["SQRT_A"] = 5.153600e+003
almanac[18]["Right_Ascen_at_Week"] = -2.889565e-001
almanac[18]["Argument_of_Perigee"] = 1.379612e+000
almanac[18]["Mean_Anom"] = 2.461750e+000
almanac[18]["week"] = 1390
almanac[19] = {}
almanac[19]["System"] = SAT_SYS_GPS
almanac[19]["Number"] = 21
almanac[19]["Orbital"] = "D"
almanac[19]["Eccentricity"] = 1.162900e-002
almanac[19]["Time_of_Applicability"] = 5.898240e+005
almanac[19]["Orbital_Inclination"] = 9.418592e-001
almanac[19]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[19]["SQRT_A"] = 5.153600e+003
almanac[19]["Right_Ascen_at_Week"] = -1.289972e+000
almanac[19]["Argument_of_Perigee"] = -2.923686e+000
almanac[19]["Mean_Anom"] = -2.349194e+000
almanac[19]["week"] = 1390
almanac[20] = {}
almanac[20]["System"] = SAT_SYS_GPS
almanac[20]["Number"] = 22
almanac[20]["Orbital"] = "E"
almanac[20]["Eccentricity"] = 4.893000e-003
almanac[20]["Time_of_Applicability"] = 5.898240e+005
almanac[20]["Orbital_Inclination"] = 9.545093e-001
almanac[20]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[20]["SQRT_A"] = 5.153600e+003
almanac[20]["Right_Ascen_at_Week"] = -2.280969e-001
almanac[20]["Argument_of_Perigee"] = -1.674502e+000
almanac[20]["Mean_Anom"] = 1.106852e+000
almanac[20]["week"] = 1390
almanac[21] = {}
almanac[21]["System"] = SAT_SYS_GPS
almanac[21]["Number"] = 23
almanac[21]["Orbital"] = "F"
almanac[21]["Eccentricity"] = 4.822000e-003
almanac[21]["Time_of_Applicability"] = 5.898240e+005
almanac[21]["Orbital_Inclination"] = 9.691247e-001
almanac[21]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[21]["SQRT_A"] = 5.153700e+003
almanac[21]["Right_Ascen_at_Week"] = 7.667399e-001
almanac[21]["Argument_of_Perigee"] = 2.497634e+000
almanac[21]["Mean_Anom"] = 3.184700e-001
almanac[21]["week"] = 1390
almanac[22] = {}
almanac[22]["System"] = SAT_SYS_GPS
almanac[22]["Number"] = 24
almanac[22]["Orbital"] = "D"
almanac[22]["Eccentricity"] = 9.277000e-003
almanac[22]["Time_of_Applicability"] = 5.898240e+005
almanac[22]["Orbital_Inclination"] = 9.585183e-001
almanac[22]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[22]["SQRT_A"] = 5.153900e+003
almanac[22]["Right_Ascen_at_Week"] = -1.274840e+000
almanac[22]["Argument_of_Perigee"] = -8.815651e-001
almanac[22]["Mean_Anom"] = -1.695551e+000
almanac[22]["week"] = 1390
almanac[23] = {}
almanac[23]["System"] = SAT_SYS_GPS
almanac[23]["Number"] = 25
almanac[23]["Orbital"] = "A"
almanac[23]["Eccentricity"] = 1.257400e-002
almanac[23]["Time_of_Applicability"] = 5.898240e+005
almanac[23]["Orbital_Inclination"] = 9.551027e-001
almanac[23]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[23]["SQRT_A"] = 5.153600e+003
almanac[23]["Right_Ascen_at_Week"] = 1.721853e+000
almanac[23]["Argument_of_Perigee"] = -1.329870e+000
almanac[23]["Mean_Anom"] = -1.769623e+000
almanac[23]["week"] = 1390
almanac[24] = {}
almanac[24]["System"] = SAT_SYS_GPS
almanac[24]["Number"] = 26
almanac[24]["Orbital"] = "F"
almanac[24]["Eccentricity"] = 1.745700e-002
almanac[24]["Time_of_Applicability"] = 5.898240e+005
almanac[24]["Orbital_Inclination"] = 9.908749e-001
almanac[24]["Rate_of_Right_Ascen"] = -7.840012e-009
almanac[24]["SQRT_A"] = 5.153700e+003
almanac[24]["Right_Ascen_at_Week"] = 7.961836e-001
almanac[24]["Argument_of_Perigee"] = 8.161502e-001
almanac[24]["Mean_Anom"] = -5.841961e-001
almanac[24]["week"] = 1390
almanac[25] = {}
almanac[25]["System"] = SAT_SYS_GPS
almanac[25]["Number"] = 27
almanac[25]["Orbital"] = "A"
almanac[25]["Eccentricity"] = 1.991000e-002
almanac[25]["Time_of_Applicability"] = 5.898240e+005
almanac[25]["Orbital_Inclination"] = 9.596563e-001
almanac[25]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[25]["SQRT_A"] = 5.153600e+003
almanac[25]["Right_Ascen_at_Week"] = 1.754124e+000
almanac[25]["Argument_of_Perigee"] = -1.900854e+000
almanac[25]["Mean_Anom"] = 3.046487e+000
almanac[25]["week"] = 1390
almanac[26] = {}
almanac[26]["System"] = SAT_SYS_GPS
almanac[26]["Number"] = 28
almanac[26]["Orbital"] = "B"
almanac[26]["Eccentricity"] = 1.162800e-002
almanac[26]["Time_of_Applicability"] = 5.898240e+005
almanac[26]["Orbital_Inclination"] = 9.610106e-001
almanac[26]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[26]["SQRT_A"] = 5.153600e+003
almanac[26]["Right_Ascen_at_Week"] = 2.882583e+000
almanac[26]["Argument_of_Perigee"] = -2.242868e+000
almanac[26]["Mean_Anom"] = 1.860642e+000
almanac[26]["week"] = 1390
almanac[27] = {}
almanac[27]["System"] = SAT_SYS_GPS
almanac[27]["Number"] = 29
almanac[27]["Orbital"] = "F"
almanac[27]["Eccentricity"] = 9.462000e-003
almanac[27]["Time_of_Applicability"] = 1.474560e+005
almanac[27]["Orbital_Inclination"] = 9.874838e-001
almanac[27]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[27]["SQRT_A"] = 5.153700e+003
almanac[27]["Right_Ascen_at_Week"] = 7.647503e-001
almanac[27]["Argument_of_Perigee"] = -8.614589e-001
almanac[27]["Mean_Anom"] = -4.488983e-001
almanac[27]["week"] = 1390
almanac[28] = {}
almanac[28]["System"] = SAT_SYS_GPS
almanac[28]["Number"] = 30
almanac[28]["Orbital"] = "B"
almanac[28]["Eccentricity"] = 9.296000e-003
almanac[28]["Time_of_Applicability"] = 5.898240e+005
almanac[28]["Orbital_Inclination"] = 9.452992e-001
almanac[28]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[28]["SQRT_A"] = 5.153600e+003
almanac[28]["Right_Ascen_at_Week"] = 2.826698e+000
almanac[28]["Argument_of_Perigee"] = 1.306413e+000
almanac[28]["Mean_Anom"] = 2.148725e+000
almanac[28]["week"] = 1390
--GLONASS
--1 îðáèòàëüíàÿ ïëîñêîñòü, íîìåðà 1-8
almanac[29] = {}
almanac[29]["System"] = SAT_SYS_GLONASS
almanac[29]["Number"] = 1
almanac[29]["Orbital"] = 1
almanac[29]["GLONASS_Data"] = {}
almanac[29]["GLONASS_Data"]["NKU_Number"] = 796
almanac[29]["GLONASS_Data"]["Cosmos_Number"] = 2411
almanac[29]["Eccentricity"] = 1.184000e-003
almanac[29]["Time_of_Applicability"] = 0.000000e+000
almanac[29]["Orbital_Inclination"] = 1.126443e+000
almanac[29]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[29]["SQRT_A"] = 5.050500e+003
almanac[29]["Right_Ascen_at_Week"] = 5.979807e+000
almanac[29]["Argument_of_Perigee"] = 2.622634e+000
almanac[29]["Mean_Anom"] = -5.519651e+000
almanac[29]["week"] = 1390
almanac[29]["Commit_date"] = "06.02.2005"
almanac[29]["Life_dates"] = {}
almanac[30] = {}
almanac[30]["System"] = SAT_SYS_GLONASS
almanac[30]["Number"] = 2
almanac[30]["Orbital"] = 1
almanac[30]["GLONASS_Data"] = {}
almanac[30]["GLONASS_Data"]["NKU_Number"] = 794
almanac[30]["GLONASS_Data"]["Cosmos_Number"] = 2401
almanac[30]["Eccentricity"] = 4.486000e-003
almanac[30]["Time_of_Applicability"] = 0.000000e+000
almanac[30]["Orbital_Inclination"] = 1.128459e+000
almanac[30]["Rate_of_Right_Ascen"] = -6.759654e-009
almanac[30]["SQRT_A"] = 5.050500e+003
almanac[30]["Right_Ascen_at_Week"] = 5.997871e+000
almanac[30]["Argument_of_Perigee"] = 1.709531e+000
almanac[30]["Mean_Anom"] = -5.367633e+000
almanac[30]["week"] = 1390
almanac[30]["Commit_date"] = "02.02.2004"
almanac[30]["Life_dates"] = {}
almanac[31] = {}
almanac[31]["System"] = SAT_SYS_GLONASS
almanac[31]["Number"] = 3
almanac[31]["Orbital"] = 1
almanac[31]["GLONASS_Data"] = {}
almanac[31]["GLONASS_Data"]["NKU_Number"] = 789
almanac[31]["GLONASS_Data"]["Cosmos_Number"] = 2381
almanac[31]["Eccentricity"] = 2.459000e-003
almanac[31]["Time_of_Applicability"] = 0.000000e+000
almanac[31]["Orbital_Inclination"] = 1.122958e+000
almanac[31]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[31]["SQRT_A"] = 5.050500e+003
almanac[31]["Right_Ascen_at_Week"] = 5.960713e+000
almanac[31]["Argument_of_Perigee"] = -2.683407e+000
almanac[31]["Mean_Anom"] = -1.791788e+000
almanac[31]["week"] = 1390
almanac[31]["Commit_date"] = "04.01.2002"
almanac[31]["Life_dates"] = {}
almanac[32] = {}
almanac[32]["System"] = SAT_SYS_GLONASS
almanac[32]["Number"] = 4
almanac[32]["Orbital"] = 1
almanac[32]["GLONASS_Data"] = {}
almanac[32]["GLONASS_Data"]["NKU_Number"] = 795
almanac[29]["GLONASS_Data"]["Cosmos_Number"] = 2403
almanac[32]["Eccentricity"] = 4.054000e-003
almanac[32]["Time_of_Applicability"] = 0.000000e+000
almanac[32]["Orbital_Inclination"] = 1.128543e+000
almanac[32]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[32]["SQRT_A"] = 5.050500e+003
almanac[32]["Right_Ascen_at_Week"] = 5.998081e+000
almanac[32]["Argument_of_Perigee"] = 1.497160e+000
almanac[32]["Mean_Anom"] = -4.293681e-001
almanac[32]["week"] = 1390
almanac[32]["Commit_date"] = "29.01.2004"
almanac[32]["Life_dates"] = {}
almanac[33] = {}
almanac[33]["System"] = SAT_SYS_GLONASS
almanac[33]["Number"] = 5
almanac[33]["Orbital"] = 1
almanac[33]["GLONASS_Data"] = {}
almanac[33]["GLONASS_Data"]["NKU_Number"] = 711
almanac[33]["GLONASS_Data"]["Cosmos_Number"] = 2382
almanac[33]["Eccentricity"] = 7.040000e-004
almanac[33]["Time_of_Applicability"] = 0.000000e+000
almanac[33]["Orbital_Inclination"] = 1.122886e+000
almanac[33]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[33]["SQRT_A"] = 5.050600e+003
almanac[33]["Right_Ascen_at_Week"] = 5.960713e+000
almanac[33]["Argument_of_Perigee"] = 2.740933e+000
almanac[33]["Mean_Anom"] = -2.523604e+000
almanac[33]["week"] = 1390
almanac[33]["Commit_date"] = "13.02.2003"
almanac[33]["Life_dates"] = {}
almanac[34] = {}
almanac[34]["System"] = SAT_SYS_GLONASS
almanac[34]["Number"] = 6
almanac[34]["Orbital"] = 1
almanac[34]["GLONASS_Data"] = {}
almanac[34]["GLONASS_Data"]["NKU_Number"] = 701
almanac[34]["GLONASS_Data"]["Cosmos_Number"] = 2404
almanac[34]["Eccentricity"] = 4.766000e-003
almanac[34]["Time_of_Applicability"] = 0.000000e+000
almanac[34]["Orbital_Inclination"] = 1.128276e+000
almanac[34]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[34]["SQRT_A"] = 5.050500e+003
almanac[34]["Right_Ascen_at_Week"] = 5.997906e+000
almanac[34]["Argument_of_Perigee"] = 1.802417e+000
almanac[34]["Mean_Anom"] = -2.426512e+000
almanac[34]["week"] = 1390
almanac[34]["Commit_date"] = "08.12.2004"
almanac[34]["Life_dates"] = {}
almanac[35] = {}
almanac[35]["System"] = SAT_SYS_GLONASS
almanac[35]["Number"] = 7
almanac[35]["Orbital"] = 1
almanac[35]["GLONASS_Data"] = {}
almanac[35]["GLONASS_Data"]["NKU_Number"] = 712
almanac[35]["GLONASS_Data"]["Cosmos_Number"] = 2413
almanac[35]["Eccentricity"] = 7.570000e-004
almanac[35]["Time_of_Applicability"] = 0.000000e+000
almanac[35]["Orbital_Inclination"] = 1.126344e+000
almanac[35]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[35]["SQRT_A"] = 5.050500e+003
almanac[35]["Right_Ascen_at_Week"] = 5.979388e+000
almanac[35]["Argument_of_Perigee"] = 2.566068e+000
almanac[35]["Mean_Anom"] = -3.921228e+000
almanac[35]["week"] = 1390
almanac[35]["Commit_date"] = "07.10.2005"
almanac[35]["Life_dates"] = {}
almanac[36] = {}
almanac[36]["System"] = SAT_SYS_GLONASS
almanac[36]["GLONASS_Data"] = {}
almanac[36]["Number"] = 8
almanac[36]["Orbital"] = 1
almanac[36]["GLONASS_Data"] = {}
almanac[36]["GLONASS_Data"]["NKU_Number"] = 797
almanac[36]["GLONASS_Data"]["Cosmos_Number"] = 2412
almanac[36]["Eccentricity"] = 4.060000e-004
almanac[36]["Time_of_Applicability"] = 0.000000e+000
almanac[36]["Orbital_Inclination"] = 1.126564e+000
almanac[36]["Rate_of_Right_Ascen"] = -6.785834e-009
almanac[36]["SQRT_A"] = 5.050600e+003
almanac[36]["Right_Ascen_at_Week"] = 5.980069e+000
almanac[36]["Argument_of_Perigee"] = 2.673633e+000
almanac[36]["Mean_Anom"] = -4.812026e+000
almanac[36]["week"] = 1390
almanac[36]["Commit_date"] = "06.02.2005"
almanac[36]["Life_dates"] = {}
--3 îðáèòàëüíàÿ ïëîñêîñòü, íîìåðà 17-24
almanac[37] = {}
almanac[37]["System"] = SAT_SYS_GLONASS
almanac[37]["Number"] = 17
almanac[37]["Orbital"] = 3
almanac[37]["GLONASS_Data"] = {}
almanac[37]["GLONASS_Data"]["NKU_Number"] = 787
almanac[37]["GLONASS_Data"]["Cosmos_Number"] = 2375
almanac[37]["Eccentricity"] = 5.670000e-004
almanac[37]["Time_of_Applicability"] = 0.000000e+000
almanac[37]["Orbital_Inclination"] = 1.126524e+000
almanac[37]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[37]["SQRT_A"] = 5.050500e+003
almanac[37]["Right_Ascen_at_Week"] = 3.895554e+000
almanac[37]["Argument_of_Perigee"] = 6.085085e-001
almanac[37]["Mean_Anom"] = -2.977407e+000
almanac[37]["week"] = 1390
almanac[37]["Commit_date"] = "04.11.2000"
almanac[37]["Life_dates"] = {}
almanac[38] = {}
almanac[38]["System"] = SAT_SYS_GLONASS
almanac[38]["Number"] = 18
almanac[38]["Orbital"] = 3
almanac[38]["GLONASS_Data"] = {}
almanac[38]["GLONASS_Data"]["NKU_Number"] = 783
almanac[38]["GLONASS_Data"]["Cosmos_Number"] = 2374
almanac[38]["Eccentricity"] = 4.520000e-003
almanac[38]["Time_of_Applicability"] = 0.000000e+000
almanac[38]["Orbital_Inclination"] = 1.126239e+000
almanac[38]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[38]["SQRT_A"] = 5.050600e+003
almanac[38]["Right_Ascen_at_Week"] = 3.894071e+000
almanac[38]["Argument_of_Perigee"] = -2.509589e+000
almanac[38]["Mean_Anom"] = -1.020057e+000
almanac[38]["week"] = 1390
almanac[38]["Commit_date"] = "05.01.2001"
almanac[38]["Life_dates"] = {}
almanac[39] = {}
almanac[39]["System"] = SAT_SYS_GLONASS
almanac[39]["Number"] = 19
almanac[39]["Orbital"] = 3
almanac[39]["GLONASS_Data"] = {}
almanac[39]["GLONASS_Data"]["NKU_Number"] = 798
almanac[39]["GLONASS_Data"]["Cosmos_Number"] = 2417
almanac[39]["Eccentricity"] = 2.023000e-003
almanac[39]["Time_of_Applicability"] = 0.000000e+000
almanac[39]["Orbital_Inclination"] = 1.132205e+000
almanac[39]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[39]["SQRT_A"] = 5.050500e+003
almanac[39]["Right_Ascen_at_Week"] = 3.884018e+000
almanac[39]["Argument_of_Perigee"] = 2.718313e+000
almanac[39]["Mean_Anom"] = -3.933620e-001
almanac[39]["week"] = 1390
almanac[39]["Commit_date"] = "22.01.2006"
almanac[39]["Life_dates"] = {}
almanac[40] = {}
almanac[40]["System"] = SAT_SYS_GLONASS
almanac[40]["Number"] = 20
almanac[40]["Orbital"] = 3
almanac[40]["GLONASS_Data"] = {}
almanac[40]["GLONASS_Data"]["NKU_Number"] = 793
almanac[40]["GLONASS_Data"]["Cosmos_Number"] = 2396
almanac[40]["Eccentricity"] = 1.822000e-003
almanac[40]["Time_of_Applicability"] = 0.000000e+000
almanac[40]["Orbital_Inclination"] = 1.129789e+000
almanac[40]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[40]["SQRT_A"] = 5.050500e+003
almanac[40]["Right_Ascen_at_Week"] = 3.896863e+000
almanac[40]["Argument_of_Perigee"] = 2.723776e+000
almanac[40]["Mean_Anom"] = -1.193647e+000
almanac[40]["week"] = 1390
almanac[40]["Commit_date"] = "31.01.2003"
almanac[40]["Life_dates"] = {}
almanac[41] = {}
almanac[41]["System"] = SAT_SYS_GLONASS
almanac[41]["Number"] = 21
almanac[41]["Orbital"] = 3
almanac[41]["GLONASS_Data"] = {}
almanac[41]["GLONASS_Data"]["NKU_Number"] = 792
almanac[41]["GLONASS_Data"]["Cosmos_Number"] = 2395
almanac[41]["Eccentricity"] = 5.290000e-004
almanac[41]["Time_of_Applicability"] = 0.000000e+000
almanac[41]["Orbital_Inclination"] = 1.129957e+000
almanac[41]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[41]["SQRT_A"] = 5.050500e+003
almanac[41]["Right_Ascen_at_Week"] = 3.897806e+000
almanac[41]["Argument_of_Perigee"] = -9.519367e-001
almanac[41]["Mean_Anom"] = -4.578920e+000
almanac[41]["week"] = 1390
almanac[41]["Commit_date"] = "31.01.2003"
almanac[41]["Life_dates"] = {}
almanac[42] = {}
almanac[42]["System"] = SAT_SYS_GLONASS
almanac[42]["Number"] = 22
almanac[42]["Orbital"] = 3
almanac[42]["GLONASS_Data"] = {}
almanac[42]["GLONASS_Data"]["NKU_Number"] = 791
almanac[42]["GLONASS_Data"]["Cosmos_Number"] = 2394
almanac[42]["Eccentricity"] = 9.200000e-005
almanac[42]["Time_of_Applicability"] = 0.000000e+000
almanac[42]["Orbital_Inclination"] = 1.129742e+000
almanac[42]["Rate_of_Right_Ascen"] = -6.740456e-009
almanac[42]["SQRT_A"] = 5.050500e+003
almanac[42]["Right_Ascen_at_Week"] = 3.897404e+000
almanac[42]["Argument_of_Perigee"] = 2.518211e+000
almanac[42]["Mean_Anom"] = -2.530167e+000
almanac[42]["week"] = 1390
almanac[42]["Commit_date"] = "21.01.2003"
almanac[42]["Life_dates"] = {}
almanac[43] = {}
almanac[43]["System"] = SAT_SYS_GLONASS
almanac[43]["Number"] = 23
almanac[43]["Orbital"] = 3
almanac[43]["GLONASS_Data"] = {}
almanac[43]["GLONASS_Data"]["NKU_Number"] = 714
almanac[43]["GLONASS_Data"]["Cosmos_Number"] = 2419
almanac[43]["Eccentricity"] = 8.730000e-004
almanac[43]["Time_of_Applicability"] = 0.000000e+000
almanac[43]["Orbital_Inclination"] = 1.132105e+000
almanac[43]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[43]["SQRT_A"] = 5.050500e+003
almanac[43]["Right_Ascen_at_Week"] = 3.883808e+000
almanac[43]["Argument_of_Perigee"] = -3.039139e-001
almanac[43]["Mean_Anom"] = -5.228304e-001
almanac[43]["week"] = 1390
almanac[43]["Commit_date"] = "31.08.2006"
almanac[43]["Life_dates"] = {}
almanac[44] = {}
almanac[44]["System"] = SAT_SYS_GLONASS
almanac[44]["Number"] = 24
almanac[44]["Orbital"] = 3
almanac[44]["GLONASS_Data"] = {}
almanac[44]["GLONASS_Data"]["NKU_Number"] = 713
almanac[44]["GLONASS_Data"]["Cosmos_Number"] = 2418
almanac[44]["Eccentricity"] = 2.044000e-003
almanac[44]["Time_of_Applicability"] = 0.000000e+000
almanac[44]["Orbital_Inclination"] = 1.132430e+000
almanac[44]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[44]["SQRT_A"] = 5.050500e+003
almanac[44]["Right_Ascen_at_Week"] = 3.883983e+000
almanac[44]["Argument_of_Perigee"] = -3.722784e-001
almanac[44]["Mean_Anom"] = -1.240457e+000
almanac[44]["week"] = 1390
almanac[44]["Commit_date"] = "31.08.2006"
almanac[44]["Life_dates"] = {}
--2 îðáèòàëüíàÿ ïëîñêîñòü, íîìåðà 9-16
almanac[45] = {}
almanac[45]["System"] = SAT_SYS_GLONASS
almanac[45]["Number"] = 9
almanac[45]["Orbital"] = 2
almanac[45]["GLONASS_Data"] = {}
almanac[45]["GLONASS_Data"]["NKU_Number"] = "N/A"
almanac[45]["GLONASS_Data"]["Cosmos_Number"] = "N/A"
almanac[45]["Eccentricity"] = 1.184000e-003
almanac[45]["Time_of_Applicability"] = 0.000000e+000
almanac[45]["Orbital_Inclination"] = 1.126443e+000
almanac[45]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[45]["SQRT_A"] = 5.050500e+003
almanac[45]["Right_Ascen_at_Week"] = 1.79067e+000
almanac[45]["Argument_of_Perigee"] = 2.88430067
almanac[45]["Mean_Anom"] = -5.519651e+000
almanac[45]["week"] = 1390
almanac[45]["Commit_date"] = "N/A"
almanac[45]["Life_dates"] = {}
almanac[46] = {}
almanac[46]["System"] = SAT_SYS_GLONASS
almanac[46]["Number"] = 10
almanac[46]["Orbital"] = 2
almanac[46]["GLONASS_Data"] = {}
almanac[46]["GLONASS_Data"]["NKU_Number"] = "N/A"
almanac[46]["GLONASS_Data"]["Cosmos_Number"] = "N/A"
almanac[46]["Eccentricity"] = 1.184000e-003
almanac[46]["Time_of_Applicability"] = 0.000000e+000
almanac[46]["Orbital_Inclination"] = 1.126443e+000
almanac[46]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[46]["SQRT_A"] = 5.050500e+003
almanac[46]["Right_Ascen_at_Week"] = 1.79067e+000
almanac[46]["Argument_of_Perigee"] = 3.66930067
almanac[46]["Mean_Anom"] = -5.519651e+000
almanac[46]["week"] = 1390
almanac[46]["Commit_date"] = "N/A"
almanac[46]["Life_dates"] = {}
almanac[47] = {}
almanac[47]["System"] = SAT_SYS_GLONASS
almanac[47]["Number"] = 11
almanac[47]["Orbital"] = 2
almanac[47]["GLONASS_Data"] = {}
almanac[47]["GLONASS_Data"]["NKU_Number"] = "N/A"
almanac[47]["GLONASS_Data"]["Cosmos_Number"] = "N/A"
almanac[47]["Eccentricity"] = 1.184000e-003
almanac[47]["Time_of_Applicability"] = 0.000000e+000
almanac[47]["Orbital_Inclination"] = 1.126443e+000
almanac[47]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[47]["SQRT_A"] = 5.050500e+003
almanac[47]["Right_Ascen_at_Week"] = 1.79067e+000
almanac[47]["Argument_of_Perigee"] = 4.45430067
almanac[47]["Mean_Anom"] = -5.519651e+000
almanac[47]["week"] = 1390
almanac[47]["Commit_date"] = "N/A"
almanac[47]["Life_dates"] = {}
almanac[48] = {}
almanac[48]["System"] = SAT_SYS_GLONASS
almanac[48]["Number"] = 12
almanac[48]["Orbital"] = 2
almanac[48]["GLONASS_Data"] = {}
almanac[48]["GLONASS_Data"]["NKU_Number"] = "N/A"
almanac[48]["GLONASS_Data"]["Cosmos_Number"] = "N/A"
almanac[48]["Eccentricity"] = 1.184000e-003
almanac[48]["Time_of_Applicability"] = 0.000000e+000
almanac[48]["Orbital_Inclination"] = 1.126443e+000
almanac[48]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[48]["SQRT_A"] = 5.050500e+003
almanac[48]["Right_Ascen_at_Week"] = 1.79067e+000
almanac[48]["Argument_of_Perigee"] = 5.23930067
almanac[48]["Mean_Anom"] = -5.519651e+000
almanac[48]["week"] = 1390
almanac[48]["Commit_date"] = "N/A"
almanac[48]["Life_dates"] = {}
almanac[49] = {}
almanac[49]["System"] = SAT_SYS_GLONASS
almanac[49]["Number"] = 13
almanac[49]["Orbital"] = 2
almanac[49]["GLONASS_Data"] = {}
almanac[49]["GLONASS_Data"]["NKU_Number"] = "N/A"
almanac[49]["GLONASS_Data"]["Cosmos_Number"] = "N/A"
almanac[49]["Eccentricity"] = 1.184000e-003
almanac[49]["Time_of_Applicability"] = 0.000000e+000
almanac[49]["Orbital_Inclination"] = 1.126443e+000
almanac[49]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[49]["SQRT_A"] = 5.050500e+003
almanac[49]["Right_Ascen_at_Week"] = 1.79067e+000
almanac[49]["Argument_of_Perigee"] = 6.02430067
almanac[49]["Mean_Anom"] = -5.519651e+000
almanac[49]["week"] = 1390
almanac[49]["Commit_date"] = "N/A"
almanac[49]["Life_dates"] = {}
almanac[50] = {}
almanac[50]["System"] = SAT_SYS_GLONASS
almanac[50]["Number"] = 14
almanac[50]["Orbital"] = 2
almanac[50]["GLONASS_Data"] = {}
almanac[50]["GLONASS_Data"]["NKU_Number"] = "N/A"
almanac[50]["GLONASS_Data"]["Cosmos_Number"] = "N/A"
almanac[50]["Eccentricity"] = 1.184000e-003
almanac[50]["Time_of_Applicability"] = 0.000000e+000
almanac[50]["Orbital_Inclination"] = 1.126443e+000
almanac[50]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[50]["SQRT_A"] = 5.050500e+003
almanac[50]["Right_Ascen_at_Week"] = 1.79067e+000
almanac[50]["Argument_of_Perigee"] = 0.52930067
almanac[50]["Mean_Anom"] = -5.519651e+000
almanac[50]["week"] = 1390
almanac[50]["Commit_date"] = "N/A"
almanac[50]["Life_dates"] = {}
almanac[51] = {}
almanac[51]["System"] = SAT_SYS_GLONASS
almanac[51]["Number"] = 15
almanac[51]["Orbital"] = 2
almanac[51]["GLONASS_Data"] = {}
almanac[51]["GLONASS_Data"]["NKU_Number"] = "N/A"
almanac[51]["GLONASS_Data"]["Cosmos_Number"] = "N/A"
almanac[51]["Eccentricity"] = 1.184000e-003
almanac[51]["Time_of_Applicability"] = 0.000000e+000
almanac[51]["Orbital_Inclination"] = 1.126443e+000
almanac[51]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[51]["SQRT_A"] = 5.050500e+003
almanac[51]["Right_Ascen_at_Week"] = 1.79067e+000
almanac[51]["Argument_of_Perigee"] = 1.31430067
almanac[51]["Mean_Anom"] = -5.519651e+000
almanac[51]["week"] = 1390
almanac[51]["Commit_date"] = "N/A"
almanac[51]["Life_dates"] = {}
almanac[52] = {}
almanac[52]["System"] = SAT_SYS_GLONASS
almanac[52]["Number"] = 16
almanac[52]["Orbital"] = 2
almanac[52]["GLONASS_Data"] = {}
almanac[52]["GLONASS_Data"]["NKU_Number"] = "N/A"
almanac[52]["GLONASS_Data"]["Cosmos_Number"] = "N/A"
almanac[52]["Eccentricity"] = 1.184000e-003
almanac[52]["Time_of_Applicability"] = 0.000000e+000
almanac[52]["Orbital_Inclination"] = 1.126443e+000
almanac[52]["Rate_of_Right_Ascen"] = 0.000000e+000
almanac[52]["SQRT_A"] = 5.050500e+003
almanac[52]["Right_Ascen_at_Week"] = 1.79067e+000
almanac[52]["Argument_of_Perigee"] = 2.09930067
almanac[52]["Mean_Anom"] = -5.519651e+000
almanac[52]["week"] = 1390
almanac[52]["Commit_date"] = "N/A"
almanac[52]["Life_dates"] = {}
SA_mode = false
AS_mode = false

View File

@@ -0,0 +1,35 @@
---
-- Name: AIC-PLN-000 - Airplane
-- Author: FlightControl
-- Date Created: 14 Apr 2018
--
VehicleCargoSet = SET_CARGO:New():FilterTypes( "Vehicles" ):FilterStart()
for i = 1, 10 do
local WorkerGroup = GROUP:FindByName( string.format( "Vehicle #%03d", i ) )
local WorkersCargo = CARGO_GROUP:New( WorkerGroup, "Vehicles", string.format( "Vehicle %d", i ), 5000, 35 )
end
local Airplane = GROUP:FindByName( "Airplane" )
CargoAirplane = AI_CARGO_AIRPLANE:New( Airplane, VehicleCargoSet )
PickupAirbase = AIRBASE:FindByName( AIRBASE.Caucasus.Kobuleti )
DeployAirbases = { AIRBASE:FindByName( AIRBASE.Caucasus.Batumi ), AIRBASE:FindByName( AIRBASE.Caucasus.Gudauta ) }
CargoAirplane:Pickup( PickupAirbase )
function CargoAirplane:onafterLoaded( Airplane, From, Event, To, Cargo )
CargoAirplane:Deploy( DeployAirbases[math.random( 1, #DeployAirbases ) ], math.random( 50, 250 ) )
end
function CargoAirplane:onafterUnloaded( Airplane, From, Event, To, Cargo )
CargoAirplane:Pickup( PickupAirbase, math.random( 50, 250 ) )
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -0,0 +1,263 @@
dictionary =
{
["DictKey_GroupName_63"] = "Enemy #003",
["DictKey_UnitName_89"] = "Infantry #006",
["DictKey_WptName_11"] = "",
["DictKey_UnitName_67"] = "Unit #004",
["DictKey_WptName_86"] = "",
["DictKey_GroupName_150"] = "Infantry#005",
["DictKey_WptName_113"] = "",
["DictKey_UnitName_233"] = "Vehicle #007",
["DictKey_WptName_194"] = "",
["DictKey_UnitName_193"] = "Vehicle #001",
["DictKey_descriptionBlueTask_3"] = "",
["DictKey_WptName_198"] = "",
["DictKey_UnitName_153"] = "Unit #014",
["DictKey_WptName_31"] = "",
["DictKey_GroupName_222"] = "Vehicle #005",
["DictKey_GroupName_32"] = "Carrier #002",
["DictKey_GroupName_185"] = "Airplane",
["DictKey_WptName_114"] = "",
["DictKey_GroupName_73"] = "Enemy #002",
["DictKey_UnitName_229"] = "Unit #011",
["DictKey_GroupName_180"] = "Infantry#008",
["DictKey_UnitName_43"] = "Unit #006",
["DictKey_GroupName_175"] = "Infantry#001",
["DictKey_UnitName_121"] = "Unit #1",
["DictKey_WptName_241"] = "",
["DictKey_UnitName_218"] = "Vehicle #004",
["DictKey_GroupName_212"] = "Vehicle #003",
["DictKey_UnitName_102"] = "Unit #002",
["DictKey_GroupName_247"] = "Vehicle #010",
["DictKey_UnitName_206"] = "Unit #002",
["DictKey_WptName_30"] = "",
["DictKey_GroupName_237"] = "Vehicle #008",
["DictKey_UnitName_96"] = "Unit #014",
["DictKey_UnitName_90"] = "Infantry #007",
["DictKey_WptName_144"] = "",
["DictKey_GroupName_44"] = "Enemy",
["DictKey_UnitName_104"] = "Unit #002",
["DictKey_UnitName_76"] = "Unit #007",
["DictKey_UnitName_238"] = "Vehicle #008",
["DictKey_UnitName_49"] = "Unit #007",
["DictKey_UnitName_136"] = "Unit #003",
["DictKey_UnitName_36"] = "Unit #002",
["DictKey_WptName_211"] = "",
["DictKey_UnitName_163"] = "Unit #020",
["DictKey_UnitName_157"] = "Unit #016",
["DictKey_GroupName_129"] = "Infantry#001",
["DictKey_UnitName_190"] = "Pilot #001",
["DictKey_GroupName_242"] = "Vehicle #009",
["DictKey_UnitName_168"] = "Unit #023",
["DictKey_UnitName_10"] = "Infantry #001",
["DictKey_WptName_204"] = "",
["DictKey_WptName_125"] = "",
["DictKey_GroupName_189"] = "New Airplane Group",
["DictKey_WptName_37"] = "",
["DictKey_UnitName_130"] = "Unit #1",
["DictKey_WptName_169"] = "",
["DictKey_GroupName_155"] = "Infantry#010",
["DictKey_UnitName_61"] = "Unit #002",
["DictKey_UnitName_182"] = "Unit #028",
["DictKey_WptName_187"] = "",
["DictKey_WptName_39"] = "",
["DictKey_WptName_85"] = "",
["DictKey_UnitName_249"] = "Unit #019",
["DictKey_WptName_53"] = "",
["DictKey_UnitName_171"] = "Unit #024",
["DictKey_UnitName_223"] = "Vehicle #005",
["DictKey_UnitName_172"] = "Unit #025",
["DictKey_UnitName_138"] = "Unit #005",
["DictKey_WptName_8"] = "",
["DictKey_GroupName_227"] = "Vehicle #006",
["DictKey_UnitName_158"] = "Unit #017",
["DictKey_UnitName_99"] = "Unit #017",
["DictKey_WptName_7"] = "",
["DictKey_WptName_164"] = "",
["DictKey_UnitName_183"] = "Unit #029",
["DictKey_GroupName_5"] = "Carrier",
["DictKey_UnitName_162"] = "Unit #019",
["DictKey_GroupName_35"] = "Carrier #003",
["DictKey_UnitName_20"] = "Engineer4",
["DictKey_UnitName_230"] = "Unit #012",
["DictKey_UnitName_105"] = "Unit #003",
["DictKey_UnitName_199"] = "",
["DictKey_UnitName_137"] = "Unit #004",
["DictKey_GroupName_108"] = "Enemy #004",
["DictKey_UnitName_103"] = "Unit #003",
["DictKey_GroupName_120"] = "Enemy #004",
["DictKey_ActionText_15"] = "BASE:TraceAll(true)",
["DictKey_WptName_216"] = "",
["DictKey_UnitName_201"] = "",
["DictKey_UnitName_240"] = "Unit #016",
["DictKey_UnitName_107"] = "Unit #014",
["DictKey_UnitName_152"] = "Unit #013",
["DictKey_GroupName_165"] = "Infantry#007",
["DictKey_UnitName_23"] = "Infantry #003",
["DictKey_WptName_179"] = "",
["DictKey_UnitName_176"] = "Unit #1",
["DictKey_WptName_174"] = "",
["DictKey_UnitName_133"] = "Unit #001",
["DictKey_GroupName_170"] = "Infantry#009",
["DictKey_UnitName_18"] = "",
["DictKey_WptName_236"] = "",
["DictKey_UnitName_117"] = "Unit #016",
["DictKey_UnitName_186"] = "Airplane",
["DictKey_UnitName_40"] = "Unit #003",
["DictKey_UnitName_81"] = "Unit #009",
["DictKey_UnitName_95"] = "Unit #013",
["DictKey_UnitName_127"] = "Helicopter",
["DictKey_UnitName_24"] = "Infantry #004",
["DictKey_UnitName_16"] = "Infantry #002",
["DictKey_GroupName_66"] = "Enemy #001",
["DictKey_WptName_131"] = "",
["DictKey_UnitName_52"] = "Unit #008",
["DictKey_WptName_116"] = "",
["DictKey_UnitName_181"] = "Unit #027",
["DictKey_UnitName_26"] = "Infantry #006",
["DictKey_WptName_221"] = "",
["DictKey_UnitName_84"] = "Unit #012",
["DictKey_WptName_132"] = "",
["DictKey_UnitName_239"] = "Unit #015",
["DictKey_WptName_154"] = "",
["DictKey_UnitName_59"] = "Infantry #004",
["DictKey_GroupName_80"] = "Enemy #003",
["DictKey_WptName_122"] = "",
["DictKey_WptName_62"] = "",
["DictKey_UnitName_208"] = "Vehicle #002",
["DictKey_GroupName_135"] = "Infantry#002",
["DictKey_UnitName_19"] = "Engineer3",
["DictKey_sortie_4"] = "",
["DictKey_WptName_65"] = "",
["DictKey_GroupName_92"] = "Infantry #001",
["DictKey_UnitName_156"] = "Unit #015",
["DictKey_UnitName_87"] = "Infantry #003",
["DictKey_UnitName_173"] = "Unit #026",
["DictKey_WptName_94"] = "",
["DictKey_WptName_110"] = "",
["DictKey_UnitName_147"] = "Unit #010",
["DictKey_UnitName_203"] = "Vehicle #001",
["DictKey_GroupName_54"] = "Infantry",
["DictKey_GroupName_111"] = "Enemy #005",
["DictKey_UnitName_161"] = "Unit #018",
["DictKey_GroupName_192"] = "Vehicle #001",
["DictKey_UnitName_225"] = "Unit #010",
["DictKey_UnitName_167"] = "Unit #022",
["DictKey_UnitName_141"] = "Unit #006",
["DictKey_UnitName_45"] = "Unit #002",
["DictKey_UnitName_148"] = "Unit #011",
["DictKey_WptName_251"] = "",
["DictKey_GroupName_60"] = "Enemy #001",
["DictKey_UnitName_210"] = "Unit #004",
["DictKey_UnitName_42"] = "Unit #005",
["DictKey_GroupName_48"] = "Enemy #001",
["DictKey_GroupName_202"] = "Vehicle #001",
["DictKey_WptName_78"] = "",
["DictKey_GroupName_196"] = "Vehicle #001",
["DictKey_WptName_115"] = "",
["DictKey_WptName_226"] = "",
["DictKey_UnitName_97"] = "Unit #015",
["DictKey_UnitName_214"] = "Unit #005",
["DictKey_UnitName_58"] = "Infantry #002",
["DictKey_UnitName_248"] = "Vehicle #010",
["DictKey_WptName_128"] = "",
["DictKey_UnitName_213"] = "Vehicle #003",
["DictKey_UnitName_28"] = "Unit #1",
["DictKey_WptName_50"] = "",
["DictKey_WptName_246"] = "",
["DictKey_UnitName_83"] = "Unit #011",
["DictKey_WptName_68"] = "",
["DictKey_UnitName_75"] = "Unit #006",
["DictKey_WptName_79"] = "",
["DictKey_UnitName_109"] = "Unit #1",
["DictKey_WptName_191"] = "",
["DictKey_descriptionText_1"] = " Name: CGO-101 - Group Boarding\
Author: FlightControl\
Date Created: 13 Apr 2017\
\
# Situation:\
\
A cargo group called Infantry with Engineers is boarding the Carrier \"Carrier\".\
\
# Test cases: \
\
1. Observe that the cargo is boarding.\
\
",
["DictKey_UnitName_55"] = "Infantry #001",
["DictKey_UnitName_234"] = "Unit #013",
["DictKey_UnitName_178"] = "Unit #002",
["DictKey_UnitName_71"] = "Unit #003",
["DictKey_UnitName_64"] = "Unit #003",
["DictKey_UnitName_6"] = "Carrier",
["DictKey_WptName_149"] = "",
["DictKey_UnitName_166"] = "Unit #021",
["DictKey_UnitName_100"] = "Unit #018",
["DictKey_UnitName_205"] = "Unit #001",
["DictKey_UnitName_250"] = "Unit #020",
["DictKey_UnitName_244"] = "Unit #017",
["DictKey_UnitName_124"] = "Carrier Rescue",
["DictKey_UnitName_101"] = "Unit #019",
["DictKey_UnitName_33"] = "Unit #001",
["DictKey_GroupName_126"] = "Helicopter",
["DictKey_UnitName_134"] = "Unit #002",
["DictKey_UnitName_220"] = "Unit #008",
["DictKey_UnitName_88"] = "Infantry #005",
["DictKey_UnitName_215"] = "Unit #006",
["DictKey_UnitName_243"] = "Vehicle #009",
["DictKey_WptName_57"] = "",
["DictKey_GroupName_145"] = "Infantry#004",
["DictKey_UnitName_224"] = "Unit #009",
["DictKey_UnitName_112"] = "Unit #015",
["DictKey_GroupName_160"] = "Infantry#006",
["DictKey_UnitName_106"] = "Unit #013",
["DictKey_WptName_72"] = "",
["DictKey_GroupName_232"] = "Vehicle #007",
["DictKey_UnitName_219"] = "Unit #007",
["DictKey_GroupName_9"] = "Infantry",
["DictKey_GroupName_207"] = "Vehicle #002",
["DictKey_UnitName_200"] = "",
["DictKey_UnitName_82"] = "Unit #010",
["DictKey_WptName_46"] = "",
["DictKey_GroupName_140"] = "Infantry#003",
["DictKey_WptName_159"] = "",
["DictKey_WptName_12"] = "",
["DictKey_UnitName_228"] = "Vehicle #006",
["DictKey_UnitName_119"] = "Unit #016",
["DictKey_GroupName_123"] = "Carrier Rescue",
["DictKey_WptName_195"] = "",
["DictKey_UnitName_142"] = "Unit #007",
["DictKey_UnitName_146"] = "Unit #009",
["DictKey_UnitName_91"] = "Infantry #008",
["DictKey_WptName_184"] = "",
["DictKey_UnitName_209"] = "Unit #003",
["DictKey_GroupName_27"] = "Carrier #001",
["DictKey_UnitName_70"] = "Unit #002",
["DictKey_UnitName_41"] = "Unit #004",
["DictKey_UnitName_98"] = "Unit #016",
["DictKey_UnitName_25"] = "Infantry #005",
["DictKey_UnitName_197"] = "Vehicle #001",
["DictKey_GroupName_51"] = "Enemy #002",
["DictKey_WptName_29"] = "",
["DictKey_UnitName_143"] = "Unit #008",
["DictKey_UnitName_74"] = "Unit #005",
["DictKey_UnitName_69"] = "Unit #001",
["DictKey_UnitName_177"] = "Unit #001",
["DictKey_UnitName_235"] = "Unit #014",
["DictKey_UnitName_17"] = "",
["DictKey_WptName_231"] = "",
["DictKey_UnitName_77"] = "Unit #008",
["DictKey_descriptionRedTask_2"] = "",
["DictKey_WptName_139"] = "",
["DictKey_WptName_38"] = "",
["DictKey_UnitName_245"] = "Unit #018",
["DictKey_UnitName_93"] = "Unit #1",
["DictKey_WptName_188"] = "",
["DictKey_GroupName_217"] = "Vehicle #004",
["DictKey_UnitName_151"] = "Unit #012",
["DictKey_WptName_252"] = "",
["DictKey_WptName_56"] = "",
["DictKey_WptName_47"] = "",
["DictKey_WptName_34"] = "",
["DictKey_UnitName_118"] = "Unit #002",
} -- end of dictionary

View File

@@ -0,0 +1,7 @@
mapResource =
{
["ResKey_Action_14"] = "AIC-PLN-000 - Airplane.lua",
["ResKey_Action_13"] = "Moose.lua",
["ResKey_ImageBriefing_22"] = "MOOSE_Avatar01.png",
["ResKey_ImageBriefing_21"] = "MOOSE_Avatar03.png",
} -- end of mapResource

View File

@@ -0,0 +1,173 @@
options =
{
["playerName"] = "Moker",
["miscellaneous"] =
{
["headmove"] = false,
["TrackIR_external_views"] = true,
["f5_nearest_ac"] = true,
["f11_free_camera"] = true,
["F2_view_effects"] = 1,
["f10_awacs"] = true,
["Coordinate_Display"] = "Lat Long",
["accidental_failures"] = false,
["autologin"] = true,
["force_feedback_enabled"] = true,
["collect_stat"] = true,
["chat_window_at_start"] = true,
["synchronize_controls"] = false,
["show_pilot_body"] = false,
}, -- end of ["miscellaneous"]
["difficulty"] =
{
["padlock"] = true,
["easyRadar"] = false,
["geffect"] = "realistic",
["miniHUD"] = false,
["setGlobal"] = true,
["birds"] = 0,
["optionsView"] = "optview_all",
["permitCrash"] = true,
["immortal"] = true,
["cockpitStatusBarAllowed"] = false,
["cockpitVisualRM"] = false,
["fuel"] = false,
["reports"] = true,
["hideStick"] = false,
["radio"] = true,
["map"] = true,
["spectatorExternalViews"] = true,
["avionicsLanguage"] = "english",
["userSnapView"] = true,
["tips"] = true,
["userMarks"] = true,
["units"] = "metric",
["externalViews"] = true,
["iconsTheme"] = "nato",
["easyFlight"] = false,
["weapons"] = true,
["easyCommunication"] = false,
["labels"] = true,
}, -- end of ["difficulty"]
["VR"] =
{
["use_mouse"] = true,
["hand_controllers"] = true,
["custom_IPD"] = 63.5,
["custom_IPD_enable"] = false,
["enable"] = true,
["box_mouse_cursor"] = true,
["pixel_density"] = 1,
}, -- end of ["VR"]
["graphics"] =
{
["preloadRadius"] = 10000,
["heatBlr"] = 1,
["anisotropy"] = 3,
["water"] = 2,
["scaleGui"] = false,
["visibRange"] = "High",
["treesVisibility"] = 10000,
["aspect"] = 1.7777777777778,
["lights"] = 2,
["HDR"] = 0,
["MSAA"] = 1,
["civTraffic"] = "high",
["forestDistanceFactor"] = 1,
["cockpitGI"] = 1,
["terrainTextures"] = "max",
["multiMonitorSetup"] = "1camera",
["shadowTree"] = true,
["chimneySmokeDensity"] = 5,
["fullScreen"] = false,
["disableAero"] = false,
["DOF"] = 0,
["clouds"] = 2,
["useDeferredShading"] = 1,
["width"] = 1600,
["textures"] = 2,
["outputGamma"] = 2.2,
["effects"] = 3,
["SSAO"] = 0,
["LensEffects"] = 3,
["sync"] = true,
["clutterMaxDistance"] = 1000,
["motionBlur"] = 0,
["shadows"] = 4,
["flatTerrainShadows"] = 1,
["height"] = 900,
}, -- end of ["graphics"]
["plugins"] =
{
["CA"] =
{
["kompass_options"] = 1,
["ground_target_info"] = true,
["ground_aim_helper"] = true,
["ground_platform_shake"] = false,
["ground_automatic"] = true,
}, -- end of ["CA"]
["TF-51D"] =
{
["assistance"] = 100,
["CPLocalList"] = "default",
["autoRudder"] = false,
}, -- end of ["TF-51D"]
["Ka-50"] =
{
["Ka50TrimmingMethod"] = 0,
["CPLocalList"] = "english",
["Ka50RudderTrimmer"] = false,
["helmetCircleDisplacement"] = 11,
}, -- end of ["Ka-50"]
["Mi-8MTV2"] =
{
["Mi8TrimmingMethod"] = 0,
["Mi8RudderTrimmer"] = false,
["Mi8AutopilotAdjustment"] = false,
["gunCamera"] = 0,
["Mi8CockpitShake"] = 50,
["controlHelperMi8"] = true,
["CPLocalList"] = "default",
["Mi8FOV"] = 120,
}, -- end of ["Mi-8MTV2"]
["Su-25T"] =
{
["CPLocalList"] = "default",
}, -- end of ["Su-25T"]
["FC3"] =
{
["CPLocalList_F-15C"] = "default",
["CPLocalList_MiG-29S"] = "default",
["CPLocalList_MiG-29A"] = "default",
["CPLocalList_Su-25"] = "default",
["CPLocalList_A-10A"] = "default",
["CPLocalList_Su-27"] = "chinese",
["CPLocalList_MiG-29G"] = "default",
["CPLocalList_Su-33"] = "default",
}, -- end of ["FC3"]
}, -- end of ["plugins"]
["format"] = 1,
["sound"] =
{
["hear_in_helmet"] = false,
["headphones"] = 100,
["cockpit"] = 100,
["radioSpeech"] = true,
["world"] = 100,
["volume"] = 100,
["GBreathEffect"] = true,
["music"] = 100,
["subtitles"] = true,
["gui"] = 100,
}, -- end of ["sound"]
["views"] =
{
["cockpit"] =
{
["mirrors"] = false,
["reflections"] = false,
["avionics"] = 3,
}, -- end of ["cockpit"]
}, -- end of ["views"]
} -- end of options

View File

@@ -0,0 +1,807 @@
warehouses =
{
["airports"] =
{
[12] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [12]
[13] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [13]
[14] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [14]
[15] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [15]
[16] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [16]
[17] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [17]
[18] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [18]
[19] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [19]
[20] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [20]
[21] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [21]
[22] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [22]
[23] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [23]
[24] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "BLUE",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [24]
[25] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [25]
[26] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [26]
[27] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [27]
[28] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [28]
[29] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [29]
[30] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [30]
[31] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [31]
[32] =
{
["gasoline"] =
{
["InitFuel"] = 100,
}, -- end of ["gasoline"]
["unlimitedMunitions"] = true,
["methanol_mixture"] =
{
["InitFuel"] = 100,
}, -- end of ["methanol_mixture"]
["OperatingLevel_Air"] = 10,
["diesel"] =
{
["InitFuel"] = 100,
}, -- end of ["diesel"]
["speed"] = 16.666666,
["size"] = 100,
["periodicity"] = 30,
["suppliers"] =
{
}, -- end of ["suppliers"]
["coalition"] = "NEUTRAL",
["jet_fuel"] =
{
["InitFuel"] = 100,
}, -- end of ["jet_fuel"]
["OperatingLevel_Eqp"] = 10,
["unlimitedFuel"] = true,
["aircrafts"] =
{
}, -- end of ["aircrafts"]
["weapons"] =
{
}, -- end of ["weapons"]
["OperatingLevel_Fuel"] = 10,
["unlimitedAircrafts"] = true,
}, -- end of [32]
}, -- end of ["airports"]
["warehouses"] =
{
}, -- end of ["warehouses"]
} -- end of warehouses

View File

@@ -0,0 +1,10 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
$dir
$file
cd "_unpacked"
. 7z a -r -y -tzip "..\$file.miz" *
cd ..

View File

@@ -0,0 +1,7 @@
$dir = split-path -parent $MyInvocation.MyCommand.Definition
cd $dir
$file = Split-Path $dir -leaf
Remove-Item .\_unpacked -Force -Recurse
md "_unpacked"
cd "_unpacked"
. 7z x -r -y "..\$file.miz" *

View File

@@ -0,0 +1,24 @@
---
-- Name: AIC-TRP-000 - Troops
-- Author: FlightControl
-- Date Created: 26 Mar 2018
--
local InfantryGroup = GROUP:FindByName( "Infantry" )
local InfantryCargo = CARGO_GROUP:New( InfantryGroup, "Engineers", "Infantry Engineers", 2000 )
local CargoCarrier = UNIT:FindByName( "Carrier" )
CargoTroops = AI_CARGO_TROOPS:New( CargoCarrier, InfantryCargo, 500 )
function CargoTroops:OnAfterDestroyed( CargoCarrier )
CargoTroops:F( { Destroyed = CargoCarrier } )
-- The coordinate is passed where the carrier is destroyed.
local NewCarrier = self:FindCarrier( CargoCarrier:GetCoordinate(), 1000 ) -- which returns one Carrier GROUP object or nil.
if NewCarrier then
self:SetCarrier( NewCarrier )
end
end

View File

@@ -0,0 +1,26 @@
---
-- Name: AIC-TRP-001 - Troops Relocate Carrier
-- Author: FlightControl
-- Date Created: 07 Apr 2018
--
-- Demonstration of troops relocation when carrier is destroyed...
-- Carrier will relocate to the rescue carrier.
local InfantryGroup = GROUP:FindByName( "Infantry" )
local InfantryCargo = CARGO_GROUP:New( InfantryGroup, "Engineers", "Infantry Engineers", 2000 )
local CargoCarrier = UNIT:FindByName( "Carrier" )
CargoTroops = AI_CARGO_TROOPS:New( CargoCarrier, InfantryCargo, 500 )
function CargoTroops:OnAfterDestroyed( CargoCarrier )
CargoTroops:F( { Destroyed = CargoCarrier } )
-- The coordinate is passed where the carrier is destroyed.
local NewCarrier = self:FindCarrier( CargoCarrier:GetCoordinate(), 1000 ) -- which returns one Carrier GROUP object or nil.
if NewCarrier then
self:SetCarrier( NewCarrier )
end
end

View File

@@ -0,0 +1,24 @@
---
-- Name: AIC-TRP-002 - Troops Move by Game Master
-- Author: FlightControl
-- Date Created: 26 Mar 2018
--
local InfantryGroup = GROUP:FindByName( "Infantry" )
local InfantryCargo = CARGO_GROUP:New( InfantryGroup, "Engineers", "Infantry Engineers", 2000 )
local CargoCarrier = UNIT:FindByName( "Carrier" )
CargoTroops = AI_CARGO_TROOPS:New( CargoCarrier, InfantryCargo, 500 )
function CargoTroops:OnAfterDestroyed( CargoCarrier )
CargoTroops:F( { Destroyed = CargoCarrier } )
-- The coordinate is passed where the carrier is destroyed.
local NewCarrier = self:FindCarrier( CargoCarrier:GetCoordinate(), 1000 ) -- which returns one Carrier GROUP object or nil.
if NewCarrier then
self:SetCarrier( NewCarrier )
end
end

View File

@@ -0,0 +1,28 @@
---
-- Name: AIC-TRP-003 - Troops and Equipment
-- Author: FlightControl
-- Date Created: 07 Apr 2018
--
local InfantryGroup = GROUP:FindByName( "Infantry" )
for UnitID, InfantryUnit in pairs( InfantryGroup:GetUnits() ) do
BASE:F( { Desc=InfantryUnit:GetDesc() } )
end
local InfantryCargo = CARGO_GROUP:New( InfantryGroup, "Engineers", "Infantry Engineers" )
local CargoCarrier = UNIT:FindByName( "Carrier" )
CargoTroops = AI_CARGO_TROOPS:New( CargoCarrier, InfantryCargo, 250 )
function CargoTroops:OnAfterDestroyed( CargoCarrier )
CargoTroops:F( { Destroyed = CargoCarrier } )
-- The coordinate is passed where the carrier is destroyed.
local NewCarrier = self:FindCarrier( CargoCarrier:GetCoordinate(), 1000 ) -- which returns one Carrier GROUP object or nil.
if NewCarrier then
self:SetCarrier( NewCarrier )
end
end

Some files were not shown because too many files have changed in this diff Show More