|
|
|
|
@ -23,13 +23,16 @@ AIRBASEPOLICE_BASE = {
|
|
|
|
|
AirbaseNames = nil,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
--- @type AIRBASEPOLICE_BASE.AirbaseNames
|
|
|
|
|
-- @list <#string>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--- Creates a new AIRBASEPOLICE_BASE object.
|
|
|
|
|
-- @param #AIRBASEPOLICE_BASE self
|
|
|
|
|
-- @param SetClient A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.
|
|
|
|
|
-- @param Airbases A table of Airbase Names.
|
|
|
|
|
-- @return #AIRBASEPOLICE_BASE self
|
|
|
|
|
function AIRBASEPOLICE_BASE:New( SetClient, Airbases )
|
|
|
|
|
function AIRBASEPOLICE_BASE:New( SetClient, Airbases, AirbaseList )
|
|
|
|
|
|
|
|
|
|
-- Inherits from BASE
|
|
|
|
|
local self = BASE:Inherit( self, BASE:New() )
|
|
|
|
|
@ -37,12 +40,21 @@ function AIRBASEPOLICE_BASE:New( SetClient, Airbases )
|
|
|
|
|
|
|
|
|
|
self.SetClient = SetClient
|
|
|
|
|
self.Airbases = Airbases
|
|
|
|
|
|
|
|
|
|
self.AirbaseList = AirbaseList
|
|
|
|
|
|
|
|
|
|
for AirbaseID, Airbase in pairs( self.Airbases ) do
|
|
|
|
|
Airbase.ZoneBoundary = ZONE_POLYGON_BASE:New( "Boundary", Airbase.PointsBoundary ):SmokeZone(SMOKECOLOR.White):Flush()
|
|
|
|
|
Airbase.ZoneBoundary = _DATABASE:FindAirbase( AirbaseID ):GetZone()
|
|
|
|
|
Airbase.ZoneRunways = {}
|
|
|
|
|
for PointsRunwayID, PointsRunway in pairs( Airbase.PointsRunways ) do
|
|
|
|
|
Airbase.ZoneRunways[PointsRunwayID] = ZONE_POLYGON_BASE:New( "Runway " .. PointsRunwayID, PointsRunway ):SmokeZone(SMOKECOLOR.Red):Flush()
|
|
|
|
|
end
|
|
|
|
|
Airbase.ZoneRunways[PointsRunwayID] = ZONE_POLYGON_BASE:New( "Runway " .. PointsRunwayID, PointsRunway )
|
|
|
|
|
end
|
|
|
|
|
Airbase.Monitor = self.AirbaseList and false or true -- When AirbaseList is not given, monitor every Airbase, otherwise don't monitor any (yet).
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Now activate the monitoring for the airbases that need to be monitored.
|
|
|
|
|
for AirbaseID, AirbaseName in pairs( self.AirbaseList or {} ) do
|
|
|
|
|
self.Airbases[AirbaseName].Monitor = true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- -- Template
|
|
|
|
|
@ -70,34 +82,31 @@ function AIRBASEPOLICE_BASE:New( SetClient, Airbases )
|
|
|
|
|
return self
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--- @type AIRBASEPOLICE_BASE.AirbaseNames
|
|
|
|
|
-- @list <#string>
|
|
|
|
|
|
|
|
|
|
--- Monitor a table of airbase names.
|
|
|
|
|
--- Smoke the airbases runways.
|
|
|
|
|
-- @param #AIRBASEPOLICE_BASE self
|
|
|
|
|
-- @param #AIRBASEPOLICE_BASE.AirbaseNames AirbaseNames A list of AirbaseNames to monitor. If this parameters is nil, then all airbases will be monitored.
|
|
|
|
|
-- @param Utilities.Utils#SMOKECOLOR SmokeColor The color of the smoke around the runways.
|
|
|
|
|
-- @return #AIRBASEPOLICE_BASE self
|
|
|
|
|
function AIRBASEPOLICE_BASE:Monitor( AirbaseNames )
|
|
|
|
|
function AIRBASEPOLICE_BASE:SmokeRunways( SmokeColor )
|
|
|
|
|
|
|
|
|
|
if AirbaseNames then
|
|
|
|
|
if type( AirbaseNames ) == "table" then
|
|
|
|
|
self.AirbaseNames = AirbaseNames
|
|
|
|
|
else
|
|
|
|
|
self.AirbaseNames = { AirbaseNames }
|
|
|
|
|
end
|
|
|
|
|
for AirbaseID, Airbase in pairs( self.Airbases ) do
|
|
|
|
|
for PointsRunwayID, PointsRunway in pairs( Airbase.PointsRunways ) do
|
|
|
|
|
Airbase.ZoneRunways[PointsRunwayID]:SmokeZone( SmokeColor )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--- @param #AIRBASEPOLICE_BASE self
|
|
|
|
|
function AIRBASEPOLICE_BASE:_AirbaseMonitor()
|
|
|
|
|
|
|
|
|
|
for AirbaseID, Airbase in pairs( self.Airbases ) do
|
|
|
|
|
for AirbaseID, AirbaseMeta in pairs( self.Airbases ) do
|
|
|
|
|
|
|
|
|
|
if not self.AirbaseNames or self.AirbaseNames[AirbaseID] then
|
|
|
|
|
if AirbaseMeta.Monitor == true then
|
|
|
|
|
|
|
|
|
|
self:E( AirbaseID )
|
|
|
|
|
|
|
|
|
|
self.SetClient:ForEachClientInZone( Airbase.ZoneBoundary,
|
|
|
|
|
self.SetClient:ForEachClientInZone( AirbaseMeta.ZoneBoundary,
|
|
|
|
|
|
|
|
|
|
--- @param Wrapper.Client#CLIENT Client
|
|
|
|
|
function( Client )
|
|
|
|
|
@ -105,7 +114,7 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor()
|
|
|
|
|
self:E( Client.UnitName )
|
|
|
|
|
if Client:IsAlive() then
|
|
|
|
|
local NotInRunwayZone = true
|
|
|
|
|
for ZoneRunwayID, ZoneRunway in pairs( Airbase.ZoneRunways ) do
|
|
|
|
|
for ZoneRunwayID, ZoneRunway in pairs( AirbaseMeta.ZoneRunways ) do
|
|
|
|
|
NotInRunwayZone = ( Client:IsNotInZone( ZoneRunway ) == true ) and NotInRunwayZone or false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@ -113,7 +122,7 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor()
|
|
|
|
|
local Taxi = self:GetState( self, "Taxi" )
|
|
|
|
|
self:E( Taxi )
|
|
|
|
|
if Taxi == false then
|
|
|
|
|
Client:Message( "Welcome at " .. AirbaseID .. ". The maximum taxiing speed is " .. Airbase.MaximumSpeed " km/h.", 20, "ATC" )
|
|
|
|
|
Client:Message( "Welcome at " .. AirbaseID .. ". The maximum taxiing speed is " .. AirbaseMeta.MaximumSpeed " km/h.", 20, "ATC" )
|
|
|
|
|
self:SetState( self, "Taxi", true )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@ -128,7 +137,7 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor()
|
|
|
|
|
|
|
|
|
|
if IsAboveRunway and IsOnGround then
|
|
|
|
|
|
|
|
|
|
if Velocity > Airbase.MaximumSpeed then
|
|
|
|
|
if Velocity > AirbaseMeta.MaximumSpeed then
|
|
|
|
|
local IsSpeeding = Client:GetState( self, "Speeding" )
|
|
|
|
|
|
|
|
|
|
if IsSpeeding == true then
|
|
|
|
|
@ -136,10 +145,11 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor()
|
|
|
|
|
self:T( SpeedingWarnings )
|
|
|
|
|
|
|
|
|
|
if SpeedingWarnings <= 3 then
|
|
|
|
|
Client:Message( "You are speeding on the taxiway! Slow down or you will be removed from this airbase! Your current velocity is " .. string.format( "%2.0f km/h", Velocity ), 5, "Warning " .. SpeedingWarnings .. " / 3" )
|
|
|
|
|
Client:Message( "Warning " .. SpeedingWarnings .. "/3! Airbase traffic rule violation! Slow down now! Your speed is " ..
|
|
|
|
|
string.format( "%2.0f km/h", Velocity ), 5, "ATC" )
|
|
|
|
|
Client:SetState( self, "Warnings", SpeedingWarnings + 1 )
|
|
|
|
|
else
|
|
|
|
|
MESSAGE:New( "Player " .. Client:GetPlayerName() .. " is being kicked from the airbase, due to a speeding violation ...", 10, "Airbase Police" ):ToAll()
|
|
|
|
|
MESSAGE:New( "Penalty! Player " .. Client:GetPlayerName() .. " is kicked, due to a severe airbase traffic rule violation ...", 10, "ATC" ):ToAll()
|
|
|
|
|
--- @param Wrapper.Client#CLIENT Client
|
|
|
|
|
Client:Destroy()
|
|
|
|
|
Client:SetState( self, "Speeding", false )
|
|
|
|
|
@ -147,7 +157,7 @@ function AIRBASEPOLICE_BASE:_AirbaseMonitor()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
Client:Message( "You are speeding on the taxiway, slow down now! Your current velocity is " .. string.format( "%2.0f km/h", Velocity ), 5, "Attention! " )
|
|
|
|
|
Client:Message( "Attention! You are speeding on the taxiway, slow down! Your speed is " .. string.format( "%2.0f km/h", Velocity ), 5, "ATC" )
|
|
|
|
|
Client:SetState( self, "Speeding", true )
|
|
|
|
|
Client:SetState( self, "Warnings", 1 )
|
|
|
|
|
end
|
|
|
|
|
@ -257,16 +267,7 @@ end
|
|
|
|
|
AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
ClassName = "AIRBASEPOLICE_CAUCASUS",
|
|
|
|
|
Airbases = {
|
|
|
|
|
AnapaVityazevo = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=242234.85714287,["x"]=-6616.5714285726,},
|
|
|
|
|
[2]={["y"]=241060.57142858,["x"]=-5585.142857144,},
|
|
|
|
|
[3]={["y"]=243806.2857143,["x"]=-3962.2857142868,},
|
|
|
|
|
[4]={["y"]=245240.57142858,["x"]=-4816.5714285726,},
|
|
|
|
|
[5]={["y"]=244783.42857144,["x"]=-5630.8571428583,},
|
|
|
|
|
[6]={["y"]=243800.57142858,["x"]=-5065.142857144,},
|
|
|
|
|
[7]={["y"]=242232.00000001,["x"]=-6622.2857142868,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Anapa_Vityazevo] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=242140.57142858,["x"]=-6478.8571428583,},
|
|
|
|
|
@ -276,19 +277,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=242140.57142858,["x"]=-6480.0000000011,}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Batumi = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=617567.14285714,["x"]=-355313.14285715,},
|
|
|
|
|
[2]={["y"]=616181.42857142,["x"]=-354800.28571429,},
|
|
|
|
|
[3]={["y"]=616007.14285714,["x"]=-355128.85714286,},
|
|
|
|
|
[4]={["y"]=618230,["x"]=-356914.57142858,},
|
|
|
|
|
[5]={["y"]=618727.14285714,["x"]=-356166,},
|
|
|
|
|
[6]={["y"]=617572.85714285,["x"]=-355308.85714286,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Batumi] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=616442.28571429,["x"]=-355090.28571429,},
|
|
|
|
|
@ -307,20 +298,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[14]={["y"]=616441.42857142,["x"]=-355092.57142858,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Beslan = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=842082.57142857,["x"]=-148445.14285715,},
|
|
|
|
|
[2]={["y"]=845237.71428572,["x"]=-148639.71428572,},
|
|
|
|
|
[3]={["y"]=845232,["x"]=-148765.42857143,},
|
|
|
|
|
[4]={["y"]=844220.57142857,["x"]=-149168.28571429,},
|
|
|
|
|
[5]={["y"]=843274.85714286,["x"]=-149125.42857143,},
|
|
|
|
|
[6]={["y"]=842077.71428572,["x"]=-148554,},
|
|
|
|
|
[7]={["y"]=842083.42857143,["x"]=-148445.42857143,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Beslan] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=842104.57142857,["x"]=-148460.57142857,},
|
|
|
|
|
@ -330,20 +310,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=842104,["x"]=-148460.28571429,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Gelendzhik = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=297856.00000001,["x"]=-51151.428571429,},
|
|
|
|
|
[2]={["y"]=299044.57142858,["x"]=-49720.000000001,},
|
|
|
|
|
[3]={["y"]=298861.71428572,["x"]=-49580.000000001,},
|
|
|
|
|
[4]={["y"]=298198.85714286,["x"]=-49842.857142858,},
|
|
|
|
|
[5]={["y"]=297990.28571429,["x"]=-50151.428571429,},
|
|
|
|
|
[6]={["y"]=297696.00000001,["x"]=-51054.285714286,},
|
|
|
|
|
[7]={["y"]=297850.28571429,["x"]=-51160.000000001,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Gelendzhik] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=297834.00000001,["x"]=-51107.428571429,},
|
|
|
|
|
@ -353,20 +322,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=297835.14285715,["x"]=-51107.714285715,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Gudauta = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=517246.57142857,["x"]=-197850.28571429,},
|
|
|
|
|
[2]={["y"]=516749.42857142,["x"]=-198070.28571429,},
|
|
|
|
|
[3]={["y"]=515755.14285714,["x"]=-197598.85714286,},
|
|
|
|
|
[4]={["y"]=515369.42857142,["x"]=-196538.85714286,},
|
|
|
|
|
[5]={["y"]=515623.71428571,["x"]=-195618.85714286,},
|
|
|
|
|
[6]={["y"]=515946.57142857,["x"]=-195510.28571429,},
|
|
|
|
|
[7]={["y"]=517243.71428571,["x"]=-197858.85714286,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Gudauta] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=517096.57142857,["x"]=-197804.57142857,},
|
|
|
|
|
@ -376,20 +334,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=517097.99999999,["x"]=-197807.42857143,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Kobuleti = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=634427.71428571,["x"]=-318290.28571429,},
|
|
|
|
|
[2]={["y"]=635033.42857143,["x"]=-317550.2857143,},
|
|
|
|
|
[3]={["y"]=635864.85714286,["x"]=-317333.14285715,},
|
|
|
|
|
[4]={["y"]=636967.71428571,["x"]=-317261.71428572,},
|
|
|
|
|
[5]={["y"]=637144.85714286,["x"]=-317913.14285715,},
|
|
|
|
|
[6]={["y"]=634630.57142857,["x"]=-318687.42857144,},
|
|
|
|
|
[7]={["y"]=634424.85714286,["x"]=-318290.2857143,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Kobuleti] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=634509.71428571,["x"]=-318339.42857144,},
|
|
|
|
|
@ -399,20 +346,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=634510.28571429,["x"]=-318339.71428572,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
KrasnodarCenter = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=366680.28571429,["x"]=11699.142857142,},
|
|
|
|
|
[2]={["y"]=366654.28571429,["x"]=11225.142857142,},
|
|
|
|
|
[3]={["y"]=367497.14285715,["x"]=11082.285714285,},
|
|
|
|
|
[4]={["y"]=368025.71428572,["x"]=10396.57142857,},
|
|
|
|
|
[5]={["y"]=369854.28571429,["x"]=11367.999999999,},
|
|
|
|
|
[6]={["y"]=369840.00000001,["x"]=11910.857142856,},
|
|
|
|
|
[7]={["y"]=366682.57142858,["x"]=11697.999999999,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Krasnodar_Center] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=369205.42857144,["x"]=11789.142857142,},
|
|
|
|
|
@ -422,24 +358,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=369208.85714286,["x"]=11788.57142857,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
KrasnodarPashkovsky = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=386754,["x"]=6476.5714285703,},
|
|
|
|
|
[2]={["y"]=389182.57142858,["x"]=8722.2857142846,},
|
|
|
|
|
[3]={["y"]=388832.57142858,["x"]=9086.5714285703,},
|
|
|
|
|
[4]={["y"]=386961.14285715,["x"]=7707.9999999989,},
|
|
|
|
|
[5]={["y"]=385404,["x"]=9179.4285714274,},
|
|
|
|
|
[6]={["y"]=383239.71428572,["x"]=7386.5714285703,},
|
|
|
|
|
[7]={["y"]=383954,["x"]=6486.5714285703,},
|
|
|
|
|
[8]={["y"]=385775.42857143,["x"]=8097.9999999989,},
|
|
|
|
|
[9]={["y"]=386804,["x"]=7319.4285714274,},
|
|
|
|
|
[10]={["y"]=386375.42857143,["x"]=6797.9999999989,},
|
|
|
|
|
[11]={["y"]=386746.85714286,["x"]=6472.2857142846,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Krasnodar_Pashkovsky] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=385891.14285715,["x"]=8416.5714285703,},
|
|
|
|
|
@ -456,18 +377,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=386714.57142858,["x"]=6674.5714285703,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Krymsk = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=293338.00000001,["x"]=-7575.4285714297,},
|
|
|
|
|
[2]={["y"]=295199.42857144,["x"]=-5434.0000000011,},
|
|
|
|
|
[3]={["y"]=295595.14285715,["x"]=-6239.7142857154,},
|
|
|
|
|
[4]={["y"]=294152.2857143,["x"]=-8325.4285714297,},
|
|
|
|
|
[5]={["y"]=293345.14285715,["x"]=-7596.8571428582,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Krymsk] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=293522.00000001,["x"]=-7567.4285714297,},
|
|
|
|
|
@ -477,18 +389,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=293523.14285715,["x"]=-7568.2857142868,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Kutaisi = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=682087.42857143,["x"]=-284512.85714286,},
|
|
|
|
|
[2]={["y"]=685387.42857143,["x"]=-283662.85714286,},
|
|
|
|
|
[3]={["y"]=685294.57142857,["x"]=-284977.14285715,},
|
|
|
|
|
[4]={["y"]=682744.57142857,["x"]=-286505.71428572,},
|
|
|
|
|
[5]={["y"]=682094.57142857,["x"]=-284527.14285715,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Kutaisi] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=682638,["x"]=-285202.28571429,},
|
|
|
|
|
@ -498,19 +401,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=682638.28571429,["x"]=-285202.85714286,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
MaykopKhanskaya = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=456876.28571429,["x"]=-27665.42857143,},
|
|
|
|
|
[2]={["y"]=457800,["x"]=-28392.857142858,},
|
|
|
|
|
[3]={["y"]=459368.57142857,["x"]=-26378.571428573,},
|
|
|
|
|
[4]={["y"]=459425.71428572,["x"]=-25242.857142858,},
|
|
|
|
|
[5]={["y"]=458961.42857143,["x"]=-24964.285714287,},
|
|
|
|
|
[6]={["y"]=456878.57142857,["x"]=-27667.714285715,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Maykop_Khanskaya] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=457005.42857143,["x"]=-27668.000000001,},
|
|
|
|
|
@ -520,22 +413,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=457004.57142857,["x"]=-27669.714285715,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
MineralnyeVody = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=703857.14285714,["x"]=-50226.000000002,},
|
|
|
|
|
[2]={["y"]=707385.71428571,["x"]=-51911.714285716,},
|
|
|
|
|
[3]={["y"]=707595.71428571,["x"]=-51434.857142859,},
|
|
|
|
|
[4]={["y"]=707900,["x"]=-51568.857142859,},
|
|
|
|
|
[5]={["y"]=707542.85714286,["x"]=-52326.000000002,},
|
|
|
|
|
[6]={["y"]=706628.57142857,["x"]=-52568.857142859,},
|
|
|
|
|
[7]={["y"]=705142.85714286,["x"]=-51790.285714288,},
|
|
|
|
|
[8]={["y"]=703678.57142857,["x"]=-50611.714285716,},
|
|
|
|
|
[9]={["y"]=703857.42857143,["x"]=-50226.857142859,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Mineralnye_Vody] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=703904,["x"]=-50352.571428573,},
|
|
|
|
|
@ -545,20 +425,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=703902,["x"]=-50352.000000002,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Mozdok = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=832123.42857143,["x"]=-83608.571428573,},
|
|
|
|
|
[2]={["y"]=835916.28571429,["x"]=-83144.285714288,},
|
|
|
|
|
[3]={["y"]=835474.28571429,["x"]=-84170.571428573,},
|
|
|
|
|
[4]={["y"]=832911.42857143,["x"]=-84470.571428573,},
|
|
|
|
|
[5]={["y"]=832487.71428572,["x"]=-85565.714285716,},
|
|
|
|
|
[6]={["y"]=831573.42857143,["x"]=-85351.42857143,},
|
|
|
|
|
[7]={["y"]=832123.71428572,["x"]=-83610.285714288,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Mozdok] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=832201.14285715,["x"]=-83699.428571431,},
|
|
|
|
|
@ -568,20 +437,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=832200.57142857,["x"]=-83700.000000002,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Nalchik = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=759370,["x"]=-125502.85714286,},
|
|
|
|
|
[2]={["y"]=761384.28571429,["x"]=-124177.14285714,},
|
|
|
|
|
[3]={["y"]=761472.85714286,["x"]=-124325.71428572,},
|
|
|
|
|
[4]={["y"]=761092.85714286,["x"]=-125048.57142857,},
|
|
|
|
|
[5]={["y"]=760295.71428572,["x"]=-125685.71428572,},
|
|
|
|
|
[6]={["y"]=759444.28571429,["x"]=-125734.28571429,},
|
|
|
|
|
[7]={["y"]=759375.71428572,["x"]=-125511.42857143,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Nalchik] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=759454.28571429,["x"]=-125551.42857143,},
|
|
|
|
|
@ -591,19 +449,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=759456,["x"]=-125552.57142857,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Novorossiysk = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=278677.71428573,["x"]=-41656.571428572,},
|
|
|
|
|
[2]={["y"]=278446.2857143,["x"]=-41453.714285715,},
|
|
|
|
|
[3]={["y"]=278989.14285716,["x"]=-40188.000000001,},
|
|
|
|
|
[4]={["y"]=279717.71428573,["x"]=-39968.000000001,},
|
|
|
|
|
[5]={["y"]=280020.57142859,["x"]=-40208.000000001,},
|
|
|
|
|
[6]={["y"]=278674.85714287,["x"]=-41660.857142858,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Novorossiysk] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=278673.14285716,["x"]=-41615.142857144,},
|
|
|
|
|
@ -613,20 +461,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=278672.00000001,["x"]=-41614.857142858,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
SenakiKolkhi = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=646036.57142857,["x"]=-281778.85714286,},
|
|
|
|
|
[2]={["y"]=646045.14285714,["x"]=-281191.71428571,},
|
|
|
|
|
[3]={["y"]=647032.28571429,["x"]=-280598.85714285,},
|
|
|
|
|
[4]={["y"]=647669.42857143,["x"]=-281273.14285714,},
|
|
|
|
|
[5]={["y"]=648323.71428571,["x"]=-281370.28571428,},
|
|
|
|
|
[6]={["y"]=648520.85714286,["x"]=-281978.85714285,},
|
|
|
|
|
[7]={["y"]=646039.42857143,["x"]=-281783.14285714,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Senaki_Kolkhi] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=646060.85714285,["x"]=-281736,},
|
|
|
|
|
@ -636,20 +473,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=646063.71428571,["x"]=-281738.85714286,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
SochiAdler = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=460642.28571428,["x"]=-164861.71428571,},
|
|
|
|
|
[2]={["y"]=462820.85714285,["x"]=-163368.85714286,},
|
|
|
|
|
[3]={["y"]=463649.42857142,["x"]=-163340.28571429,},
|
|
|
|
|
[4]={["y"]=463835.14285714,["x"]=-164040.28571429,},
|
|
|
|
|
[5]={["y"]=462535.14285714,["x"]=-165654.57142857,},
|
|
|
|
|
[6]={["y"]=460678,["x"]=-165247.42857143,},
|
|
|
|
|
[7]={["y"]=460635.14285714,["x"]=-164876,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Sochi_Adler] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=460831.42857143,["x"]=-165180,},
|
|
|
|
|
@ -666,18 +492,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=460831.42857143,["x"]=-165177.14285714,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Soganlug = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=894530.85714286,["x"]=-316928.28571428,},
|
|
|
|
|
[2]={["y"]=896422.28571428,["x"]=-318622.57142857,},
|
|
|
|
|
[3]={["y"]=896090.85714286,["x"]=-318934,},
|
|
|
|
|
[4]={["y"]=894019.42857143,["x"]=-317119.71428571,},
|
|
|
|
|
[5]={["y"]=894533.71428571,["x"]=-316925.42857143,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Soganlug] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=894525.71428571,["x"]=-316964,},
|
|
|
|
|
@ -687,19 +504,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=894524.57142857,["x"]=-316963.71428571,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
SukhumiBabushara = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=562541.14285714,["x"]=-219852.28571429,},
|
|
|
|
|
[2]={["y"]=562691.14285714,["x"]=-219395.14285714,},
|
|
|
|
|
[3]={["y"]=564326.85714286,["x"]=-219523.71428571,},
|
|
|
|
|
[4]={["y"]=566262.57142857,["x"]=-221166.57142857,},
|
|
|
|
|
[5]={["y"]=566069.71428571,["x"]=-221580.85714286,},
|
|
|
|
|
[6]={["y"]=562534,["x"]=-219873.71428571,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Sukhumi_Babushara] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=562684,["x"]=-219779.71428571,},
|
|
|
|
|
@ -709,20 +516,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=562684.57142857,["x"]=-219782.57142857,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
TbilisiLochini = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=895172.85714286,["x"]=-314667.42857143,},
|
|
|
|
|
[2]={["y"]=895337.42857143,["x"]=-314143.14285714,},
|
|
|
|
|
[3]={["y"]=895990.28571429,["x"]=-314036,},
|
|
|
|
|
[4]={["y"]=897730.28571429,["x"]=-315284.57142857,},
|
|
|
|
|
[5]={["y"]=897901.71428571,["x"]=-316284.57142857,},
|
|
|
|
|
[6]={["y"]=897684.57142857,["x"]=-316618.85714286,},
|
|
|
|
|
[7]={["y"]=895173.14285714,["x"]=-314667.42857143,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Tbilisi_Lochini] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=895261.14285715,["x"]=-314652.28571428,},
|
|
|
|
|
@ -739,21 +535,9 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=895606,["x"]=-314724.85714286,}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Vaziani = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=902122,["x"]=-318163.71428572,},
|
|
|
|
|
[2]={["y"]=902678.57142857,["x"]=-317594,},
|
|
|
|
|
[3]={["y"]=903275.71428571,["x"]=-317405.42857143,},
|
|
|
|
|
[4]={["y"]=903418.57142857,["x"]=-317891.14285714,},
|
|
|
|
|
[5]={["y"]=904292.85714286,["x"]=-318748.28571429,},
|
|
|
|
|
[6]={["y"]=904542,["x"]=-319740.85714286,},
|
|
|
|
|
[7]={["y"]=904042,["x"]=-320166.57142857,},
|
|
|
|
|
[8]={["y"]=902121.42857143,["x"]=-318164.85714286,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Caucasus.Vaziani] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=902239.14285714,["x"]=-318190.85714286,},
|
|
|
|
|
@ -763,8 +547,6 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
[5]={["y"]=902247.71428571,["x"]=-318190.85714286,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
@ -773,11 +555,14 @@ AIRBASEPOLICE_CAUCASUS = {
|
|
|
|
|
--- Creates a new AIRBASEPOLICE_CAUCASUS object.
|
|
|
|
|
-- @param #AIRBASEPOLICE_CAUCASUS self
|
|
|
|
|
-- @param SetClient A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.
|
|
|
|
|
-- @param AirbaseNames A list {} of airbase names (Use AIRBASE.Caucasus enumerator).
|
|
|
|
|
-- @return #AIRBASEPOLICE_CAUCASUS self
|
|
|
|
|
function AIRBASEPOLICE_CAUCASUS:New( SetClient )
|
|
|
|
|
function AIRBASEPOLICE_CAUCASUS:New( SetClient, AirbaseNames )
|
|
|
|
|
|
|
|
|
|
-- Inherits from BASE
|
|
|
|
|
local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( SetClient, self.Airbases ) )
|
|
|
|
|
local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( SetClient, self.Airbases, AirbaseNames ) )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- -- AnapaVityazevo
|
|
|
|
|
-- local AnapaVityazevoBoundary = GROUP:FindByName( "AnapaVityazevo Boundary" )
|
|
|
|
|
@ -1053,27 +838,7 @@ end
|
|
|
|
|
AIRBASEPOLICE_NEVADA = {
|
|
|
|
|
ClassName = "AIRBASEPOLICE_NEVADA",
|
|
|
|
|
Airbases = {
|
|
|
|
|
Nellis = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=-17814.714285714,["x"]=-399823.14285714,},
|
|
|
|
|
[2]={["y"]=-16875.857142857,["x"]=-398763.14285714,},
|
|
|
|
|
[3]={["y"]=-16251.571428571,["x"]=-398988.85714286,},
|
|
|
|
|
[4]={["y"]=-16163,["x"]=-398693.14285714,},
|
|
|
|
|
[5]={["y"]=-16328.714285714,["x"]=-398034.57142857,},
|
|
|
|
|
[6]={["y"]=-15943,["x"]=-397571.71428571,},
|
|
|
|
|
[7]={["y"]=-15711.571428571,["x"]=-397551.71428571,},
|
|
|
|
|
[8]={["y"]=-15748.714285714,["x"]=-396806,},
|
|
|
|
|
[9]={["y"]=-16288.714285714,["x"]=-396517.42857143,},
|
|
|
|
|
[10]={["y"]=-16751.571428571,["x"]=-396308.85714286,},
|
|
|
|
|
[11]={["y"]=-17263,["x"]=-396234.57142857,},
|
|
|
|
|
[12]={["y"]=-17577.285714286,["x"]=-396640.28571429,},
|
|
|
|
|
[13]={["y"]=-17614.428571429,["x"]=-397400.28571429,},
|
|
|
|
|
[14]={["y"]=-19405.857142857,["x"]=-399428.85714286,},
|
|
|
|
|
[15]={["y"]=-19234.428571429,["x"]=-399683.14285714,},
|
|
|
|
|
[16]={["y"]=-18708.714285714,["x"]=-399408.85714286,},
|
|
|
|
|
[17]={["y"]=-18397.285714286,["x"]=-399657.42857143,},
|
|
|
|
|
[18]={["y"]=-17814.428571429,["x"]=-399823.42857143,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Nevada.Nellis_AFB] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=-18687,["x"]=-399380.28571429,},
|
|
|
|
|
@ -1090,28 +855,9 @@ AIRBASEPOLICE_NEVADA = {
|
|
|
|
|
[5]={["y"]=-18451.571428572,["x"]=-399580.85714285,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
McCarran = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=-29455.285714286,["x"]=-416277.42857142,},
|
|
|
|
|
[2]={["y"]=-28860.142857143,["x"]=-416492,},
|
|
|
|
|
[3]={["y"]=-25044.428571429,["x"]=-416344.85714285,},
|
|
|
|
|
[4]={["y"]=-24580.142857143,["x"]=-415959.14285714,},
|
|
|
|
|
[5]={["y"]=-25073,["x"]=-415630.57142857,},
|
|
|
|
|
[6]={["y"]=-25087.285714286,["x"]=-415130.57142857,},
|
|
|
|
|
[7]={["y"]=-25830.142857143,["x"]=-414866.28571428,},
|
|
|
|
|
[8]={["y"]=-26658.714285715,["x"]=-414880.57142857,},
|
|
|
|
|
[9]={["y"]=-26973,["x"]=-415273.42857142,},
|
|
|
|
|
[10]={["y"]=-27380.142857143,["x"]=-415187.71428571,},
|
|
|
|
|
[11]={["y"]=-27715.857142857,["x"]=-414144.85714285,},
|
|
|
|
|
[12]={["y"]=-27551.571428572,["x"]=-413473.42857142,},
|
|
|
|
|
[13]={["y"]=-28630.142857143,["x"]=-413201.99999999,},
|
|
|
|
|
[14]={["y"]=-29494.428571429,["x"]=-415437.71428571,},
|
|
|
|
|
[15]={["y"]=-29455.571428572,["x"]=-416277.71428571,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Nevada.McCarran_International_Airport] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=-29408.428571429,["x"]=-416016.28571428,},
|
|
|
|
|
@ -1142,28 +888,9 @@ AIRBASEPOLICE_NEVADA = {
|
|
|
|
|
[5]={["y"]=-29073.000000001,["x"]=-416386.85714284,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
Creech = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=-74522.714285715,["x"]=-360887.99999998,},
|
|
|
|
|
[2]={["y"]=-74197,["x"]=-360556.57142855,},
|
|
|
|
|
[3]={["y"]=-74402.714285715,["x"]=-359639.42857141,},
|
|
|
|
|
[4]={["y"]=-74637,["x"]=-359279.42857141,},
|
|
|
|
|
[5]={["y"]=-75759.857142857,["x"]=-359005.14285712,},
|
|
|
|
|
[6]={["y"]=-75834.142857143,["x"]=-359045.14285712,},
|
|
|
|
|
[7]={["y"]=-75902.714285714,["x"]=-359782.28571427,},
|
|
|
|
|
[8]={["y"]=-76099.857142857,["x"]=-360399.42857141,},
|
|
|
|
|
[9]={["y"]=-77314.142857143,["x"]=-360219.42857141,},
|
|
|
|
|
[10]={["y"]=-77728.428571429,["x"]=-360445.14285713,},
|
|
|
|
|
[11]={["y"]=-77585.571428571,["x"]=-360585.14285713,},
|
|
|
|
|
[12]={["y"]=-76471.285714286,["x"]=-360819.42857141,},
|
|
|
|
|
[13]={["y"]=-76325.571428571,["x"]=-360942.28571427,},
|
|
|
|
|
[14]={["y"]=-74671.857142857,["x"]=-360927.7142857,},
|
|
|
|
|
[15]={["y"]=-74522.714285714,["x"]=-360888.85714284,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Nevada.Creech_AFB] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=-74237.571428571,["x"]=-360591.7142857,},
|
|
|
|
|
@ -1180,24 +907,9 @@ AIRBASEPOLICE_NEVADA = {
|
|
|
|
|
[5]={["y"]=-75807.285714287,["x"]=-359073.42857142,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
GroomLake = {
|
|
|
|
|
PointsBoundary = {
|
|
|
|
|
[1]={["y"]=-88916.714285714,["x"]=-289102.28571425,},
|
|
|
|
|
[2]={["y"]=-87023.571428572,["x"]=-290388.57142857,},
|
|
|
|
|
[3]={["y"]=-85916.428571429,["x"]=-290674.28571428,},
|
|
|
|
|
[4]={["y"]=-87645.000000001,["x"]=-286567.14285714,},
|
|
|
|
|
[5]={["y"]=-88380.714285715,["x"]=-286388.57142857,},
|
|
|
|
|
[6]={["y"]=-89670.714285715,["x"]=-283524.28571428,},
|
|
|
|
|
[7]={["y"]=-89797.857142858,["x"]=-283567.14285714,},
|
|
|
|
|
[8]={["y"]=-88635.000000001,["x"]=-286749.99999999,},
|
|
|
|
|
[9]={["y"]=-89177.857142858,["x"]=-287207.14285714,},
|
|
|
|
|
[10]={["y"]=-89092.142857144,["x"]=-288892.85714285,},
|
|
|
|
|
[11]={["y"]=-88917.000000001,["x"]=-289102.85714285,},
|
|
|
|
|
},
|
|
|
|
|
[AIRBASE.Nevada.Groom_Lake_AFB] = {
|
|
|
|
|
PointsRunways = {
|
|
|
|
|
[1] = {
|
|
|
|
|
[1]={["y"]=-86039.000000001,["x"]=-290606.28571428,},
|
|
|
|
|
@ -1214,8 +926,6 @@ AIRBASEPOLICE_NEVADA = {
|
|
|
|
|
[5]={["y"]=-86808.142857143,["x"]=-290375.7142857,},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
ZoneBoundary = {},
|
|
|
|
|
ZoneRunways = {},
|
|
|
|
|
MaximumSpeed = 50,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
@ -1224,11 +934,12 @@ AIRBASEPOLICE_NEVADA = {
|
|
|
|
|
--- Creates a new AIRBASEPOLICE_NEVADA object.
|
|
|
|
|
-- @param #AIRBASEPOLICE_NEVADA self
|
|
|
|
|
-- @param SetClient A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase.
|
|
|
|
|
-- @param AirbaseNames A list {} of airbase names (Use AIRBASE.Nevada enumerator).
|
|
|
|
|
-- @return #AIRBASEPOLICE_NEVADA self
|
|
|
|
|
function AIRBASEPOLICE_NEVADA:New( SetClient )
|
|
|
|
|
function AIRBASEPOLICE_NEVADA:New( SetClient, AirbaseNames )
|
|
|
|
|
|
|
|
|
|
-- Inherits from BASE
|
|
|
|
|
local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( SetClient, self.Airbases ) )
|
|
|
|
|
local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( SetClient, self.Airbases, AirbaseNames ) )
|
|
|
|
|
|
|
|
|
|
-- -- Nellis
|
|
|
|
|
-- local NellisBoundary = GROUP:FindByName( "Nellis Boundary" )
|
|
|
|
|
|