mirror of
https://github.com/mrSkortch/MissionScriptingTools.git
synced 2026-07-21 00:35:32 +00:00
4.3 Release Files
Re-export of DBs and updated files needed for release.
This commit is contained in:
+1459
-1440
File diff suppressed because it is too large
Load Diff
+1459
-1440
File diff suppressed because it is too large
Load Diff
+1567
-1548
File diff suppressed because it is too large
Load Diff
+1124
-1086
File diff suppressed because it is too large
Load Diff
+1109
-1071
File diff suppressed because it is too large
Load Diff
+1109
-1071
File diff suppressed because it is too large
Load Diff
+1109
-1071
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,3 @@
|
|||||||
|
activeHumans =
|
||||||
|
{
|
||||||
|
} -- end of activeHumans
|
||||||
+1938
-1868
File diff suppressed because it is too large
Load Diff
+167
-76
@@ -1,79 +1,170 @@
|
|||||||
const =
|
const =
|
||||||
{
|
{
|
||||||
["callsigns"] =
|
["shapeNames"] =
|
||||||
{
|
{
|
||||||
["NATO"] =
|
["Landmine"] = "landmine",
|
||||||
{
|
["FARP CP Blindage"] = "kp_ug",
|
||||||
["AWACS"] =
|
["Subsidiary structure C"] = "saray-c",
|
||||||
{
|
["Barracks 2"] = "kazarma2",
|
||||||
["Darkstar"] = 5,
|
["Small house 2C"] = "dom2c",
|
||||||
["Focus"] = 4,
|
["Military staff"] = "aviashtab",
|
||||||
["Wizard"] = 3,
|
["Tech hangar A"] = "ceh_ang_a",
|
||||||
["Magic"] = 2,
|
["Oil derrick"] = "neftevyshka",
|
||||||
["Overlord"] = 1,
|
["Tech combine"] = "kombinat",
|
||||||
}, -- end of ["AWACS"]
|
["Garage B"] = "garage_b",
|
||||||
["rules"] =
|
["Airshow_Crowd"] = "Crowd1",
|
||||||
{
|
["Hangar A"] = "angar_a",
|
||||||
["groupLimit"] = 9,
|
["Repair workshop"] = "tech",
|
||||||
}, -- end of ["rules"]
|
["Subsidiary structure D"] = "saray-d",
|
||||||
["aircraft"] =
|
["FARP Ammo Dump Coating"] = "SetkaKP",
|
||||||
{
|
["Small house 1C area"] = "dom2c-all",
|
||||||
["Uzi"] = 3,
|
["Tank 2"] = "airbase_tbilisi_tank_01",
|
||||||
["Pontiac"] = 8,
|
["Boiler-house A"] = "kotelnaya_a",
|
||||||
["Chevy"] = 7,
|
["Workshop A"] = "tec_a",
|
||||||
["Dodge"] = 5,
|
["Small werehouse 1"] = "s1",
|
||||||
["Ford"] = 6,
|
["Garage small B"] = "garagh-small-b",
|
||||||
["Enfield"] = 1,
|
["Small werehouse 4"] = "s4",
|
||||||
["Colt"] = 4,
|
["Shop"] = "magazin",
|
||||||
["Springfield"] = 2,
|
["Subsidiary structure B"] = "saray-b",
|
||||||
}, -- end of ["aircraft"]
|
["FARP Fuel Depot"] = "GSM Rus",
|
||||||
["unique"] =
|
["Coach cargo"] = "wagon-gruz",
|
||||||
{
|
["Electric power box"] = "tr_budka",
|
||||||
["A10"] =
|
["Tank 3"] = "airbase_tbilisi_tank_02",
|
||||||
{
|
["Red_Flag"] = "H-flag_R",
|
||||||
["Boar"] = 10,
|
["Container red 3"] = "konteiner_red3",
|
||||||
["Pig"] = 11,
|
["Garage A"] = "garage_a",
|
||||||
["rules"] =
|
["Hangar B"] = "angar_b",
|
||||||
{
|
["Black_Tyre"] = "H-tyre_B",
|
||||||
["canUseAircraft"] = true,
|
["Cafe"] = "stolovaya",
|
||||||
["appliesTo"] =
|
["Restaurant 1"] = "restoran1",
|
||||||
{
|
["Subsidiary structure A"] = "saray-a",
|
||||||
[1] = "A-10C",
|
["Container white"] = "konteiner_white",
|
||||||
[2] = "A-10A",
|
["Warehouse"] = "sklad",
|
||||||
}, -- end of ["appliesTo"]
|
["Tank"] = "bak",
|
||||||
}, -- end of ["rules"]
|
["Railway crossing B"] = "pereezd_small",
|
||||||
["Tusk"] = 12,
|
["Subsidiary structure F"] = "saray-f",
|
||||||
["Hawg"] = 9,
|
["Farm A"] = "ferma_a",
|
||||||
}, -- end of ["A10"]
|
["Small werehouse 3"] = "s3",
|
||||||
}, -- end of ["unique"]
|
["Water tower A"] = "wodokachka_a",
|
||||||
["JTAC"] =
|
["Railway station"] = "r_vok_sd",
|
||||||
{
|
["Coach a tank blue"] = "wagon-cisterna_blue",
|
||||||
["Ferret"] = 10,
|
["Supermarket A"] = "uniwersam_a",
|
||||||
["Finger"] = 8,
|
["Coach a platform"] = "wagon-platforma",
|
||||||
["Deathstar"] = 15,
|
["Garage small A"] = "garagh-small-a",
|
||||||
["Pointer"] = 4,
|
["TV tower"] = "tele_bash",
|
||||||
["Anvil"] = 16,
|
["Airshow_Cone"] = "Comp_cone",
|
||||||
["Darknight"] = 2,
|
["Farm B"] = "ferma_b",
|
||||||
["Whiplash"] = 7,
|
["GeneratorF"] = "GeneratorF",
|
||||||
["Warrior"] = 3,
|
["White_Flag"] = "H-Flag_W",
|
||||||
["Eyeball"] = 5,
|
["Container red 2"] = "konteiner_red2",
|
||||||
["Mantis"] = 18,
|
["Coach a passenger"] = "wagon-pass",
|
||||||
["Playboy"] = 12,
|
["WC"] = "WC",
|
||||||
["Axeman"] = 1,
|
["Black_Tyre_WF"] = "H-tyre_B_WF",
|
||||||
["Moonbeam"] = 6,
|
["Electric locomotive"] = "elektrowoz",
|
||||||
["Hammer"] = 13,
|
["Railway crossing A"] = "pereezd_big",
|
||||||
["Shaba"] = 11,
|
["Coach a tank yellow"] = "wagon-cisterna_yellow",
|
||||||
["Badger"] = 19,
|
["Subsidiary structure 2"] = "hozdomik2",
|
||||||
["Jaguar"] = 14,
|
[".Ammunition depot"] = "SkladC",
|
||||||
["Firefly"] = 17,
|
["Small werehouse 2"] = "s2",
|
||||||
["Pinpoint"] = 9,
|
["Windsock"] = "H-Windsock_RW",
|
||||||
}, -- end of ["JTAC"]
|
["Small house 1B"] = "domik1b",
|
||||||
["TANKER"] =
|
["Container brown"] = "konteiner_brown",
|
||||||
{
|
["Locomotive"] = "teplowoz",
|
||||||
["Texaco"] = 1,
|
["Subsidiary structure 1"] = "hozdomik1",
|
||||||
["Arco"] = 2,
|
["Pump station"] = "nasos",
|
||||||
["Shell"] = 3,
|
["Small house 1B area"] = "domik1b-all",
|
||||||
}, -- end of ["TANKER"]
|
["Coach cargo open"] = "wagon-gruz-otkr",
|
||||||
}, -- end of ["NATO"]
|
["Container red 1"] = "konteiner_red1",
|
||||||
}, -- end of ["callsigns"]
|
["Subsidiary structure G"] = "saray-g",
|
||||||
|
["White_Tyre"] = "H-tyre_W",
|
||||||
|
["FARP Tent"] = "PalatkaB",
|
||||||
|
["Subsidiary structure 3"] = "hozdomik3",
|
||||||
|
["Black_Tyre_RF"] = "H-tyre_B_RF",
|
||||||
|
["Comms tower M"] = "tele_bash_m",
|
||||||
|
[".Command Center"] = "ComCenter",
|
||||||
|
["Fuel tank"] = "toplivo-bak",
|
||||||
|
["Cargo1"] = "ab-212_cargo",
|
||||||
|
["Shelter B"] = "ukrytie_b",
|
||||||
|
["Chemical tank A"] = "him_bak_a",
|
||||||
|
["Shelter"] = "ukrytie",
|
||||||
|
["Small house 1A area"] = "domik1a-all",
|
||||||
|
["Subsidiary structure E"] = "saray-e",
|
||||||
|
["Small house 1A"] = "domik1a",
|
||||||
|
}, -- end of ["shapeNames"]
|
||||||
|
["callsigns"] =
|
||||||
|
{
|
||||||
|
["NATO"] =
|
||||||
|
{
|
||||||
|
["AWACS"] =
|
||||||
|
{
|
||||||
|
["Darkstar"] = 5,
|
||||||
|
["Focus"] = 4,
|
||||||
|
["Wizard"] = 3,
|
||||||
|
["Magic"] = 2,
|
||||||
|
["Overlord"] = 1,
|
||||||
|
}, -- end of ["AWACS"]
|
||||||
|
["rules"] =
|
||||||
|
{
|
||||||
|
["groupLimit"] = 9,
|
||||||
|
}, -- end of ["rules"]
|
||||||
|
["aircraft"] =
|
||||||
|
{
|
||||||
|
["Uzi"] = 3,
|
||||||
|
["Pontiac"] = 8,
|
||||||
|
["Chevy"] = 7,
|
||||||
|
["Dodge"] = 5,
|
||||||
|
["Ford"] = 6,
|
||||||
|
["Enfield"] = 1,
|
||||||
|
["Colt"] = 4,
|
||||||
|
["Springfield"] = 2,
|
||||||
|
}, -- end of ["aircraft"]
|
||||||
|
["unique"] =
|
||||||
|
{
|
||||||
|
["A10"] =
|
||||||
|
{
|
||||||
|
["Boar"] = 10,
|
||||||
|
["Pig"] = 11,
|
||||||
|
["rules"] =
|
||||||
|
{
|
||||||
|
["canUseAircraft"] = true,
|
||||||
|
["appliesTo"] =
|
||||||
|
{
|
||||||
|
[1] = "A-10C",
|
||||||
|
[2] = "A-10A",
|
||||||
|
}, -- end of ["appliesTo"]
|
||||||
|
}, -- end of ["rules"]
|
||||||
|
["Tusk"] = 12,
|
||||||
|
["Hawg"] = 9,
|
||||||
|
}, -- end of ["A10"]
|
||||||
|
}, -- end of ["unique"]
|
||||||
|
["JTAC"] =
|
||||||
|
{
|
||||||
|
["Ferret"] = 10,
|
||||||
|
["Finger"] = 8,
|
||||||
|
["Deathstar"] = 15,
|
||||||
|
["Pointer"] = 4,
|
||||||
|
["Anvil"] = 16,
|
||||||
|
["Darknight"] = 2,
|
||||||
|
["Whiplash"] = 7,
|
||||||
|
["Warrior"] = 3,
|
||||||
|
["Eyeball"] = 5,
|
||||||
|
["Mantis"] = 18,
|
||||||
|
["Playboy"] = 12,
|
||||||
|
["Axeman"] = 1,
|
||||||
|
["Moonbeam"] = 6,
|
||||||
|
["Hammer"] = 13,
|
||||||
|
["Shaba"] = 11,
|
||||||
|
["Badger"] = 19,
|
||||||
|
["Jaguar"] = 14,
|
||||||
|
["Firefly"] = 17,
|
||||||
|
["Pinpoint"] = 9,
|
||||||
|
}, -- end of ["JTAC"]
|
||||||
|
["TANKER"] =
|
||||||
|
{
|
||||||
|
["Texaco"] = 1,
|
||||||
|
["Arco"] = 2,
|
||||||
|
["Shell"] = 3,
|
||||||
|
}, -- end of ["TANKER"]
|
||||||
|
}, -- end of ["NATO"]
|
||||||
|
}, -- end of ["callsigns"]
|
||||||
} -- end of const
|
} -- end of const
|
||||||
|
|||||||
@@ -1,187 +1,95 @@
|
|||||||
deadObjects =
|
deadObjects =
|
||||||
{
|
{
|
||||||
[16781056] =
|
[16780800] =
|
||||||
{
|
{
|
||||||
["objectPos"] =
|
["objectPos"] =
|
||||||
{
|
{
|
||||||
["y"] = 22.249711990356,
|
["y"] = 22.192852020264,
|
||||||
["x"] = -292852.15625,
|
["x"] = -292849.34375,
|
||||||
["z"] = 654502.0625,
|
["z"] = 654519.625,
|
||||||
}, -- end of ["objectPos"]
|
}, -- end of ["objectPos"]
|
||||||
["objectType"] = "vehicle",
|
["objectType"] = "vehicle",
|
||||||
["objectData"] =
|
["objectData"] =
|
||||||
{
|
{
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 654625.71428571,
|
["y"] = 654585.71428571,
|
||||||
["x"] = -292922.85714286,
|
["x"] = -292882.85714286,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["skill"] = "Average",
|
["skill"] = "Average",
|
||||||
["unit"] =
|
["unit"] =
|
||||||
{
|
{
|
||||||
["id_"] = 16781056,
|
["id_"] = 16780800,
|
||||||
}, -- end of ["unit"]
|
}, -- end of ["unit"]
|
||||||
["category"] = "vehicle",
|
["category"] = "vehicle",
|
||||||
["unitName"] = "RuBTRs3",
|
["unitName"] = "RuBTRs2",
|
||||||
["type"] = "BTR-80",
|
["type"] = "BTR-80",
|
||||||
["groupId"] = 13,
|
["groupId"] = 13,
|
||||||
["groupName"] = "RuBTRs",
|
["groupName"] = "RuBTRs",
|
||||||
["countryId"] = 0,
|
["countryId"] = 0,
|
||||||
["coalition"] = "red",
|
["coalition"] = "red",
|
||||||
["x"] = -292922.85714286,
|
["x"] = -292882.85714286,
|
||||||
["y"] = 654625.71428571,
|
["y"] = 654585.71428571,
|
||||||
["heading"] = -1.7994767003775,
|
["heading"] = -1.7994767003775,
|
||||||
["unitId"] = 29,
|
["unitId"] = 28,
|
||||||
["playerCanDrive"] = true,
|
["playerCanDrive"] = true,
|
||||||
["country"] = "russia",
|
["country"] = "russia",
|
||||||
["pos"] =
|
["pos"] =
|
||||||
{
|
{
|
||||||
["y"] = 22.240369796753,
|
["y"] = 22.182994842529,
|
||||||
["x"] = -292851.09375,
|
["x"] = -292848.875,
|
||||||
["z"] = 654504.5,
|
["z"] = 654522.0625,
|
||||||
}, -- end of ["pos"]
|
}, -- end of ["pos"]
|
||||||
}, -- end of ["objectData"]
|
}, -- end of ["objectData"]
|
||||||
["object"] =
|
["object"] =
|
||||||
{
|
{
|
||||||
["id_"] = 16781056,
|
["id_"] = 16780800,
|
||||||
}, -- end of ["object"]
|
}, -- end of ["object"]
|
||||||
}, -- end of [16781056]
|
}, -- end of [16780800]
|
||||||
[16780544] =
|
[16780544] =
|
||||||
{
|
{
|
||||||
["objectPos"] =
|
["objectPos"] =
|
||||||
{
|
{
|
||||||
["y"] = 22.431118011475,
|
["y"] = 22.386783599854,
|
||||||
["x"] = -292867.15625,
|
["x"] = -292863.46875,
|
||||||
["z"] = 654441.25,
|
["z"] = 654457.125,
|
||||||
}, -- end of ["objectPos"]
|
}, -- end of ["objectPos"]
|
||||||
["objectType"] = "vehicle",
|
["objectType"] = "vehicle",
|
||||||
["objectData"] =
|
["objectData"] =
|
||||||
{
|
{
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 654545.71428571,
|
["y"] = 654545.71428571,
|
||||||
["x"] = -292842.85714286,
|
["x"] = -292842.85714286,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["skill"] = "Average",
|
["skill"] = "Average",
|
||||||
["unit"] =
|
["unit"] =
|
||||||
{
|
{
|
||||||
["id_"] = 16780544,
|
["id_"] = 16780544,
|
||||||
}, -- end of ["unit"]
|
}, -- end of ["unit"]
|
||||||
["category"] = "vehicle",
|
["category"] = "vehicle",
|
||||||
["unitName"] = "RuBTRs1",
|
["unitName"] = "RuBTRs1",
|
||||||
["type"] = "BTR-80",
|
["type"] = "BTR-80",
|
||||||
["groupId"] = 13,
|
["groupId"] = 13,
|
||||||
["groupName"] = "RuBTRs",
|
["groupName"] = "RuBTRs",
|
||||||
["countryId"] = 0,
|
["countryId"] = 0,
|
||||||
["coalition"] = "red",
|
["coalition"] = "red",
|
||||||
["x"] = -292842.85714286,
|
["x"] = -292842.85714286,
|
||||||
["y"] = 654545.71428571,
|
["y"] = 654545.71428571,
|
||||||
["heading"] = -1.7994767003775,
|
["heading"] = -1.7994767003775,
|
||||||
["unitId"] = 27,
|
["unitId"] = 27,
|
||||||
["playerCanDrive"] = true,
|
["playerCanDrive"] = true,
|
||||||
["country"] = "russia",
|
["country"] = "russia",
|
||||||
["pos"] =
|
["pos"] =
|
||||||
{
|
{
|
||||||
["y"] = 22.417558670044,
|
["y"] = 22.385175704956,
|
||||||
["x"] = -292866.03125,
|
["x"] = -292863.3125,
|
||||||
["z"] = 654446.125,
|
["z"] = 654457.6875,
|
||||||
}, -- end of ["pos"]
|
}, -- end of ["pos"]
|
||||||
}, -- end of ["objectData"]
|
}, -- end of ["objectData"]
|
||||||
["object"] =
|
["object"] =
|
||||||
{
|
{
|
||||||
["id_"] = 16780544,
|
["id_"] = 16780544,
|
||||||
}, -- end of ["object"]
|
}, -- end of ["object"]
|
||||||
}, -- end of [16780544]
|
}, -- end of [16780544]
|
||||||
[16780800] =
|
|
||||||
{
|
|
||||||
["objectPos"] =
|
|
||||||
{
|
|
||||||
["y"] = 22.133636474609,
|
|
||||||
["x"] = -292848,
|
|
||||||
["z"] = 654535.5,
|
|
||||||
}, -- end of ["objectPos"]
|
|
||||||
["objectType"] = "vehicle",
|
|
||||||
["objectData"] =
|
|
||||||
{
|
|
||||||
["point"] =
|
|
||||||
{
|
|
||||||
["y"] = 654585.71428571,
|
|
||||||
["x"] = -292882.85714286,
|
|
||||||
}, -- end of ["point"]
|
|
||||||
["skill"] = "Average",
|
|
||||||
["unit"] =
|
|
||||||
{
|
|
||||||
["id_"] = 16780800,
|
|
||||||
}, -- end of ["unit"]
|
|
||||||
["category"] = "vehicle",
|
|
||||||
["unitName"] = "RuBTRs2",
|
|
||||||
["type"] = "BTR-80",
|
|
||||||
["groupId"] = 13,
|
|
||||||
["groupName"] = "RuBTRs",
|
|
||||||
["countryId"] = 0,
|
|
||||||
["coalition"] = "red",
|
|
||||||
["x"] = -292882.85714286,
|
|
||||||
["y"] = 654585.71428571,
|
|
||||||
["heading"] = -1.7994767003775,
|
|
||||||
["unitId"] = 28,
|
|
||||||
["playerCanDrive"] = true,
|
|
||||||
["country"] = "russia",
|
|
||||||
["pos"] =
|
|
||||||
{
|
|
||||||
["y"] = 22.13184928894,
|
|
||||||
["x"] = -292848.1875,
|
|
||||||
["z"] = 654536.1875,
|
|
||||||
}, -- end of ["pos"]
|
|
||||||
}, -- end of ["objectData"]
|
|
||||||
["object"] =
|
|
||||||
{
|
|
||||||
["id_"] = 16780800,
|
|
||||||
}, -- end of ["object"]
|
|
||||||
}, -- end of [16780800]
|
|
||||||
[16781568] =
|
|
||||||
{
|
|
||||||
["objectPos"] =
|
|
||||||
{
|
|
||||||
["y"] = 22.361310958862,
|
|
||||||
["x"] = -292856.28125,
|
|
||||||
["z"] = 654460.375,
|
|
||||||
}, -- end of ["objectPos"]
|
|
||||||
["objectType"] = "vehicle",
|
|
||||||
["objectData"] =
|
|
||||||
{
|
|
||||||
["point"] =
|
|
||||||
{
|
|
||||||
["y"] = 654705.71428571,
|
|
||||||
["x"] = -293002.85714286,
|
|
||||||
}, -- end of ["point"]
|
|
||||||
["skill"] = "Average",
|
|
||||||
["unit"] =
|
|
||||||
{
|
|
||||||
["id_"] = 16781568,
|
|
||||||
}, -- end of ["unit"]
|
|
||||||
["category"] = "vehicle",
|
|
||||||
["unitName"] = "RuBTRs5",
|
|
||||||
["type"] = "BTR-80",
|
|
||||||
["groupId"] = 13,
|
|
||||||
["groupName"] = "RuBTRs",
|
|
||||||
["countryId"] = 0,
|
|
||||||
["coalition"] = "red",
|
|
||||||
["x"] = -293002.85714286,
|
|
||||||
["y"] = 654705.71428571,
|
|
||||||
["heading"] = -1.7994767003775,
|
|
||||||
["unitId"] = 31,
|
|
||||||
["playerCanDrive"] = true,
|
|
||||||
["country"] = "russia",
|
|
||||||
["pos"] =
|
|
||||||
{
|
|
||||||
["y"] = 22.360494613647,
|
|
||||||
["x"] = -292856.3125,
|
|
||||||
["z"] = 654460.8125,
|
|
||||||
}, -- end of ["pos"]
|
|
||||||
}, -- end of ["objectData"]
|
|
||||||
["object"] =
|
|
||||||
{
|
|
||||||
["id_"] = 16781568,
|
|
||||||
}, -- end of ["object"]
|
|
||||||
}, -- end of [16781568]
|
|
||||||
} -- end of deadObjects
|
} -- end of deadObjects
|
||||||
|
|||||||
+1393
-2989
File diff suppressed because it is too large
Load Diff
+2852
-2805
File diff suppressed because it is too large
Load Diff
+2852
-2805
File diff suppressed because it is too large
Load Diff
+220
-192
@@ -1,195 +1,223 @@
|
|||||||
humansById =
|
humansById =
|
||||||
{
|
{
|
||||||
[11] =
|
[11] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 636428.57142857,
|
["y"] = 636428.57142857,
|
||||||
["x"] = -318142.85714286,
|
["x"] = -318142.85714286,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "104th FS Maryland ANG, Baltimore (MD)",
|
["livery_id"] = "104th FS Maryland ANG, Baltimore (MD)",
|
||||||
["onboard_num"] = "52",
|
["onboard_num"] = "52",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "A-10C",
|
["type"] = "A-10C",
|
||||||
["country"] = "usa",
|
["country"] = "usa",
|
||||||
["psi"] = 0.67060113146646,
|
["psi"] = 0.67060113146646,
|
||||||
["unitName"] = "A-10C Client #1",
|
["unitName"] = "A-10C Client #1_unit",
|
||||||
["groupName"] = "A-10C Client #1",
|
["groupName"] = "A-10C Client #1",
|
||||||
["coalition"] = "blue",
|
["coalition"] = "blue",
|
||||||
["countryId"] = 2,
|
["countryId"] = 2,
|
||||||
["x"] = -318142.85714286,
|
["x"] = -318142.85714286,
|
||||||
["y"] = 636428.57142857,
|
["y"] = 636428.57142857,
|
||||||
["unitId"] = 11,
|
["unitId"] = 11,
|
||||||
["heading"] = -0.67060113146646,
|
["heading"] = -0.67060113146646,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] =
|
["callsign"] =
|
||||||
{
|
{
|
||||||
[1] = 3,
|
[1] = 3,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
["name"] = "Uzi11",
|
["name"] = "Uzi11",
|
||||||
}, -- end of ["callsign"]
|
}, -- end of ["callsign"]
|
||||||
["groupId"] = 6,
|
["groupId"] = 6,
|
||||||
}, -- end of [11]
|
}, -- end of [11]
|
||||||
[8] =
|
[8] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 662142.85714286,
|
["y"] = 662142.85714286,
|
||||||
["x"] = -288142.85714286,
|
["x"] = -288142.85714286,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "19th Fighter SQN (AK)",
|
["livery_id"] = "19th Fighter SQN (AK)",
|
||||||
["onboard_num"] = "10",
|
["onboard_num"] = "10",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "F-15C",
|
["type"] = "F-15C",
|
||||||
["country"] = "usa",
|
["country"] = "usa",
|
||||||
["psi"] = 0.57883789069348,
|
["psi"] = 0.57883789069348,
|
||||||
["unitName"] = "F-15C Client #1",
|
["unitName"] = "F-15C Client #1_unit",
|
||||||
["groupName"] = "F-15C Client #1",
|
["groupName"] = "F-15C Client #1",
|
||||||
["coalition"] = "blue",
|
["coalition"] = "blue",
|
||||||
["countryId"] = 2,
|
["countryId"] = 2,
|
||||||
["x"] = -288142.85714286,
|
["x"] = -288142.85714286,
|
||||||
["y"] = 662142.85714286,
|
["y"] = 662142.85714286,
|
||||||
["unitId"] = 8,
|
["unitId"] = 8,
|
||||||
["heading"] = -0.57883789069348,
|
["heading"] = -0.57883789069348,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] =
|
["callsign"] =
|
||||||
{
|
{
|
||||||
[1] = 2,
|
[1] = 2,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
["name"] = "Springfield11",
|
["name"] = "Springfield11",
|
||||||
}, -- end of ["callsign"]
|
}, -- end of ["callsign"]
|
||||||
["groupId"] = 4,
|
["groupId"] = 4,
|
||||||
}, -- end of [8]
|
}, -- end of [8]
|
||||||
[10] =
|
[10] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 668428.57142857,
|
["y"] = 668428.57142857,
|
||||||
["x"] = -287000,
|
["x"] = -287000,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "19th Fighter SQN (AK)",
|
["livery_id"] = "19th Fighter SQN (AK)",
|
||||||
["onboard_num"] = "10",
|
["onboard_num"] = "10",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "F-15C",
|
["type"] = "F-15C",
|
||||||
["country"] = "usa",
|
["country"] = "usa",
|
||||||
["psi"] = 0.57883789069348,
|
["psi"] = 0.57883789069348,
|
||||||
["unitName"] = "F-15C Client #2",
|
["unitName"] = "F-15C Client #2_unit",
|
||||||
["groupName"] = "F-15C Client #2",
|
["groupName"] = "F-15C Client #2",
|
||||||
["coalition"] = "blue",
|
["coalition"] = "blue",
|
||||||
["countryId"] = 2,
|
["countryId"] = 2,
|
||||||
["x"] = -287000,
|
["x"] = -287000,
|
||||||
["y"] = 668428.57142857,
|
["y"] = 668428.57142857,
|
||||||
["unitId"] = 10,
|
["unitId"] = 10,
|
||||||
["heading"] = -0.57883789069348,
|
["heading"] = -0.57883789069348,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] =
|
["callsign"] =
|
||||||
{
|
{
|
||||||
[1] = 2,
|
[1] = 2,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
["name"] = "Springfield11",
|
["name"] = "Springfield11",
|
||||||
}, -- end of ["callsign"]
|
}, -- end of ["callsign"]
|
||||||
["groupId"] = 5,
|
["groupId"] = 5,
|
||||||
}, -- end of [10]
|
}, -- end of [10]
|
||||||
[12] =
|
[12] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 644428.57142857,
|
["y"] = 644428.57142857,
|
||||||
["x"] = -315857.14285714,
|
["x"] = -315857.14285714,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "104th FS Maryland ANG, Baltimore (MD)",
|
["livery_id"] = "104th FS Maryland ANG, Baltimore (MD)",
|
||||||
["onboard_num"] = "52",
|
["onboard_num"] = "52",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "A-10C",
|
["type"] = "A-10C",
|
||||||
["country"] = "usa",
|
["country"] = "usa",
|
||||||
["psi"] = 0.66079849060746,
|
["psi"] = 0.66079849060746,
|
||||||
["unitName"] = "A-10C Client #2",
|
["unitName"] = "A-10C Client #2_unit",
|
||||||
["groupName"] = "A-10C Client #2",
|
["groupName"] = "A-10C Client #2",
|
||||||
["coalition"] = "blue",
|
["coalition"] = "blue",
|
||||||
["countryId"] = 2,
|
["countryId"] = 2,
|
||||||
["x"] = -315857.14285714,
|
["x"] = -315857.14285714,
|
||||||
["y"] = 644428.57142857,
|
["y"] = 644428.57142857,
|
||||||
["unitId"] = 12,
|
["unitId"] = 12,
|
||||||
["heading"] = -0.66079849060746,
|
["heading"] = -0.66079849060746,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] =
|
["callsign"] =
|
||||||
{
|
{
|
||||||
[1] = 3,
|
[1] = 3,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
["name"] = "Uzi11",
|
["name"] = "Uzi11",
|
||||||
}, -- end of ["callsign"]
|
}, -- end of ["callsign"]
|
||||||
["groupId"] = 7,
|
["groupId"] = 7,
|
||||||
}, -- end of [12]
|
}, -- end of [12]
|
||||||
[42] =
|
[48] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 590391.42857142,
|
["y"] = 590471.42857142,
|
||||||
["x"] = -250185.71428571,
|
["x"] = -250265.71428571,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "279th kiap 1st squad navy",
|
["livery_id"] = "279th kiap 1st squad navy",
|
||||||
["onboard_num"] = "53",
|
["onboard_num"] = "054",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "Su-33",
|
["type"] = "Su-33",
|
||||||
["country"] = "russia",
|
["country"] = "russia",
|
||||||
["psi"] = 0,
|
["psi"] = 0,
|
||||||
["unitName"] = "Su-33 Client #1",
|
["unitName"] = "Su-33 Client #3Unit",
|
||||||
["groupName"] = "Su-33 Client #1",
|
["groupName"] = "Su-33 Client #1",
|
||||||
["coalition"] = "red",
|
["coalition"] = "red",
|
||||||
["countryId"] = 0,
|
["countryId"] = 0,
|
||||||
["x"] = -250185.71428571,
|
["x"] = -250265.71428571,
|
||||||
["y"] = 590391.42857142,
|
["y"] = 590471.42857142,
|
||||||
["unitId"] = 42,
|
["unitId"] = 48,
|
||||||
["heading"] = 0,
|
["heading"] = 0,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] = 104,
|
["callsign"] = 106,
|
||||||
["groupId"] = 20,
|
["groupId"] = 20,
|
||||||
}, -- end of [42]
|
}, -- end of [48]
|
||||||
[43] =
|
[42] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 597819.99999999,
|
["y"] = 590391.42857142,
|
||||||
["x"] = -235614.28571428,
|
["x"] = -250185.71428571,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "279th kiap 1st squad navy",
|
["livery_id"] = "279th kiap 1st squad navy",
|
||||||
["onboard_num"] = "53",
|
["onboard_num"] = "53",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "Su-33",
|
["type"] = "Su-33",
|
||||||
["country"] = "russia",
|
["country"] = "russia",
|
||||||
["psi"] = 0,
|
["psi"] = 0,
|
||||||
["unitName"] = "Su-33 Client #2",
|
["unitName"] = "Su-33 Client #1Unit",
|
||||||
["groupName"] = "Su-33 Client #2",
|
["groupName"] = "Su-33 Client #1",
|
||||||
["coalition"] = "red",
|
["coalition"] = "red",
|
||||||
["countryId"] = 0,
|
["countryId"] = 0,
|
||||||
["x"] = -235614.28571428,
|
["x"] = -250185.71428571,
|
||||||
["y"] = 597819.99999999,
|
["y"] = 590391.42857142,
|
||||||
["unitId"] = 43,
|
["unitId"] = 42,
|
||||||
["heading"] = 0,
|
["heading"] = 0,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] = 104,
|
["callsign"] = 104,
|
||||||
["groupId"] = 21,
|
["groupId"] = 20,
|
||||||
}, -- end of [43]
|
}, -- end of [42]
|
||||||
|
[47] =
|
||||||
|
{
|
||||||
|
["alt"] = 2000,
|
||||||
|
["point"] =
|
||||||
|
{
|
||||||
|
["y"] = 590431.42857142,
|
||||||
|
["x"] = -250225.71428571,
|
||||||
|
}, -- end of ["point"]
|
||||||
|
["alt_type"] = "BARO",
|
||||||
|
["livery_id"] = "279th kiap 1st squad navy",
|
||||||
|
["onboard_num"] = "010",
|
||||||
|
["category"] = "plane",
|
||||||
|
["speed"] = 138.88888888889,
|
||||||
|
["type"] = "Su-33",
|
||||||
|
["country"] = "russia",
|
||||||
|
["psi"] = 0,
|
||||||
|
["unitName"] = "Su-33 Client #2Unit",
|
||||||
|
["groupName"] = "Su-33 Client #1",
|
||||||
|
["coalition"] = "red",
|
||||||
|
["countryId"] = 0,
|
||||||
|
["x"] = -250225.71428571,
|
||||||
|
["y"] = 590431.42857142,
|
||||||
|
["unitId"] = 47,
|
||||||
|
["heading"] = 0,
|
||||||
|
["skill"] = "Client",
|
||||||
|
["callsign"] = 105,
|
||||||
|
["groupId"] = 20,
|
||||||
|
}, -- end of [47]
|
||||||
} -- end of humansById
|
} -- end of humansById
|
||||||
|
|||||||
@@ -1,195 +1,223 @@
|
|||||||
humansByName =
|
humansByName =
|
||||||
{
|
{
|
||||||
["A-10C Client #2"] =
|
["F-15C Client #1_unit"] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 644428.57142857,
|
["y"] = 662142.85714286,
|
||||||
["x"] = -315857.14285714,
|
["x"] = -288142.85714286,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "104th FS Maryland ANG, Baltimore (MD)",
|
["livery_id"] = "19th Fighter SQN (AK)",
|
||||||
["onboard_num"] = "52",
|
["onboard_num"] = "10",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "A-10C",
|
["type"] = "F-15C",
|
||||||
["country"] = "usa",
|
["country"] = "usa",
|
||||||
["psi"] = 0.66079849060746,
|
["psi"] = 0.57883789069348,
|
||||||
["unitName"] = "A-10C Client #2",
|
["unitName"] = "F-15C Client #1_unit",
|
||||||
["groupName"] = "A-10C Client #2",
|
["groupName"] = "F-15C Client #1",
|
||||||
["coalition"] = "blue",
|
["coalition"] = "blue",
|
||||||
["countryId"] = 2,
|
["countryId"] = 2,
|
||||||
["x"] = -315857.14285714,
|
["x"] = -288142.85714286,
|
||||||
["y"] = 644428.57142857,
|
["y"] = 662142.85714286,
|
||||||
["unitId"] = 12,
|
["unitId"] = 8,
|
||||||
["heading"] = -0.66079849060746,
|
["heading"] = -0.57883789069348,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] =
|
["callsign"] =
|
||||||
{
|
{
|
||||||
[1] = 3,
|
[1] = 2,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
["name"] = "Uzi11",
|
["name"] = "Springfield11",
|
||||||
}, -- end of ["callsign"]
|
}, -- end of ["callsign"]
|
||||||
["groupId"] = 7,
|
["groupId"] = 4,
|
||||||
}, -- end of ["A-10C Client #2"]
|
}, -- end of ["F-15C Client #1_unit"]
|
||||||
["F-15C Client #1"] =
|
["F-15C Client #2_unit"] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 662142.85714286,
|
["y"] = 668428.57142857,
|
||||||
["x"] = -288142.85714286,
|
["x"] = -287000,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "19th Fighter SQN (AK)",
|
["livery_id"] = "19th Fighter SQN (AK)",
|
||||||
["onboard_num"] = "10",
|
["onboard_num"] = "10",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "F-15C",
|
["type"] = "F-15C",
|
||||||
["country"] = "usa",
|
["country"] = "usa",
|
||||||
["psi"] = 0.57883789069348,
|
["psi"] = 0.57883789069348,
|
||||||
["unitName"] = "F-15C Client #1",
|
["unitName"] = "F-15C Client #2_unit",
|
||||||
["groupName"] = "F-15C Client #1",
|
["groupName"] = "F-15C Client #2",
|
||||||
["coalition"] = "blue",
|
["coalition"] = "blue",
|
||||||
["countryId"] = 2,
|
["countryId"] = 2,
|
||||||
["x"] = -288142.85714286,
|
["x"] = -287000,
|
||||||
["y"] = 662142.85714286,
|
["y"] = 668428.57142857,
|
||||||
["unitId"] = 8,
|
["unitId"] = 10,
|
||||||
["heading"] = -0.57883789069348,
|
["heading"] = -0.57883789069348,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] =
|
["callsign"] =
|
||||||
{
|
{
|
||||||
[1] = 2,
|
[1] = 2,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
["name"] = "Springfield11",
|
["name"] = "Springfield11",
|
||||||
}, -- end of ["callsign"]
|
}, -- end of ["callsign"]
|
||||||
["groupId"] = 4,
|
["groupId"] = 5,
|
||||||
}, -- end of ["F-15C Client #1"]
|
}, -- end of ["F-15C Client #2_unit"]
|
||||||
["Su-33 Client #2"] =
|
["Su-33 Client #3Unit"] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 597819.99999999,
|
["y"] = 590471.42857142,
|
||||||
["x"] = -235614.28571428,
|
["x"] = -250265.71428571,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "279th kiap 1st squad navy",
|
["livery_id"] = "279th kiap 1st squad navy",
|
||||||
["onboard_num"] = "53",
|
["onboard_num"] = "054",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "Su-33",
|
["type"] = "Su-33",
|
||||||
["country"] = "russia",
|
["country"] = "russia",
|
||||||
["psi"] = 0,
|
["psi"] = 0,
|
||||||
["unitName"] = "Su-33 Client #2",
|
["unitName"] = "Su-33 Client #3Unit",
|
||||||
["groupName"] = "Su-33 Client #2",
|
["groupName"] = "Su-33 Client #1",
|
||||||
["coalition"] = "red",
|
["coalition"] = "red",
|
||||||
["countryId"] = 0,
|
["countryId"] = 0,
|
||||||
["x"] = -235614.28571428,
|
["x"] = -250265.71428571,
|
||||||
["y"] = 597819.99999999,
|
["y"] = 590471.42857142,
|
||||||
["unitId"] = 43,
|
["unitId"] = 48,
|
||||||
["heading"] = 0,
|
["heading"] = 0,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] = 104,
|
["callsign"] = 106,
|
||||||
["groupId"] = 21,
|
["groupId"] = 20,
|
||||||
}, -- end of ["Su-33 Client #2"]
|
}, -- end of ["Su-33 Client #3Unit"]
|
||||||
["Su-33 Client #1"] =
|
["A-10C Client #1_unit"] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 590391.42857142,
|
["y"] = 636428.57142857,
|
||||||
["x"] = -250185.71428571,
|
["x"] = -318142.85714286,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "279th kiap 1st squad navy",
|
["livery_id"] = "104th FS Maryland ANG, Baltimore (MD)",
|
||||||
["onboard_num"] = "53",
|
["onboard_num"] = "52",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "Su-33",
|
["type"] = "A-10C",
|
||||||
["country"] = "russia",
|
["country"] = "usa",
|
||||||
["psi"] = 0,
|
["psi"] = 0.67060113146646,
|
||||||
["unitName"] = "Su-33 Client #1",
|
["unitName"] = "A-10C Client #1_unit",
|
||||||
["groupName"] = "Su-33 Client #1",
|
["groupName"] = "A-10C Client #1",
|
||||||
["coalition"] = "red",
|
["coalition"] = "blue",
|
||||||
["countryId"] = 0,
|
["countryId"] = 2,
|
||||||
["x"] = -250185.71428571,
|
["x"] = -318142.85714286,
|
||||||
["y"] = 590391.42857142,
|
["y"] = 636428.57142857,
|
||||||
["unitId"] = 42,
|
["unitId"] = 11,
|
||||||
["heading"] = 0,
|
["heading"] = -0.67060113146646,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] = 104,
|
["callsign"] =
|
||||||
["groupId"] = 20,
|
{
|
||||||
}, -- end of ["Su-33 Client #1"]
|
[1] = 3,
|
||||||
["F-15C Client #2"] =
|
[2] = 1,
|
||||||
{
|
[3] = 1,
|
||||||
["alt"] = 2000,
|
["name"] = "Uzi11",
|
||||||
["point"] =
|
}, -- end of ["callsign"]
|
||||||
{
|
["groupId"] = 6,
|
||||||
["y"] = 668428.57142857,
|
}, -- end of ["A-10C Client #1_unit"]
|
||||||
["x"] = -287000,
|
["Su-33 Client #2Unit"] =
|
||||||
}, -- end of ["point"]
|
{
|
||||||
["alt_type"] = "BARO",
|
["alt"] = 2000,
|
||||||
["livery_id"] = "19th Fighter SQN (AK)",
|
["point"] =
|
||||||
["onboard_num"] = "10",
|
{
|
||||||
["category"] = "plane",
|
["y"] = 590431.42857142,
|
||||||
["speed"] = 138.88888888889,
|
["x"] = -250225.71428571,
|
||||||
["type"] = "F-15C",
|
}, -- end of ["point"]
|
||||||
["country"] = "usa",
|
["alt_type"] = "BARO",
|
||||||
["psi"] = 0.57883789069348,
|
["livery_id"] = "279th kiap 1st squad navy",
|
||||||
["unitName"] = "F-15C Client #2",
|
["onboard_num"] = "010",
|
||||||
["groupName"] = "F-15C Client #2",
|
["category"] = "plane",
|
||||||
["coalition"] = "blue",
|
["speed"] = 138.88888888889,
|
||||||
["countryId"] = 2,
|
["type"] = "Su-33",
|
||||||
["x"] = -287000,
|
["country"] = "russia",
|
||||||
["y"] = 668428.57142857,
|
["psi"] = 0,
|
||||||
["unitId"] = 10,
|
["unitName"] = "Su-33 Client #2Unit",
|
||||||
["heading"] = -0.57883789069348,
|
["groupName"] = "Su-33 Client #1",
|
||||||
["skill"] = "Client",
|
["coalition"] = "red",
|
||||||
["callsign"] =
|
["countryId"] = 0,
|
||||||
{
|
["x"] = -250225.71428571,
|
||||||
[1] = 2,
|
["y"] = 590431.42857142,
|
||||||
[2] = 1,
|
["unitId"] = 47,
|
||||||
[3] = 1,
|
["heading"] = 0,
|
||||||
["name"] = "Springfield11",
|
["skill"] = "Client",
|
||||||
}, -- end of ["callsign"]
|
["callsign"] = 105,
|
||||||
["groupId"] = 5,
|
["groupId"] = 20,
|
||||||
}, -- end of ["F-15C Client #2"]
|
}, -- end of ["Su-33 Client #2Unit"]
|
||||||
["A-10C Client #1"] =
|
["A-10C Client #2_unit"] =
|
||||||
{
|
{
|
||||||
["alt"] = 2000,
|
["alt"] = 2000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 636428.57142857,
|
["y"] = 644428.57142857,
|
||||||
["x"] = -318142.85714286,
|
["x"] = -315857.14285714,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["alt_type"] = "BARO",
|
["alt_type"] = "BARO",
|
||||||
["livery_id"] = "104th FS Maryland ANG, Baltimore (MD)",
|
["livery_id"] = "104th FS Maryland ANG, Baltimore (MD)",
|
||||||
["onboard_num"] = "52",
|
["onboard_num"] = "52",
|
||||||
["category"] = "plane",
|
["category"] = "plane",
|
||||||
["speed"] = 138.88888888889,
|
["speed"] = 138.88888888889,
|
||||||
["type"] = "A-10C",
|
["type"] = "A-10C",
|
||||||
["country"] = "usa",
|
["country"] = "usa",
|
||||||
["psi"] = 0.67060113146646,
|
["psi"] = 0.66079849060746,
|
||||||
["unitName"] = "A-10C Client #1",
|
["unitName"] = "A-10C Client #2_unit",
|
||||||
["groupName"] = "A-10C Client #1",
|
["groupName"] = "A-10C Client #2",
|
||||||
["coalition"] = "blue",
|
["coalition"] = "blue",
|
||||||
["countryId"] = 2,
|
["countryId"] = 2,
|
||||||
["x"] = -318142.85714286,
|
["x"] = -315857.14285714,
|
||||||
["y"] = 636428.57142857,
|
["y"] = 644428.57142857,
|
||||||
["unitId"] = 11,
|
["unitId"] = 12,
|
||||||
["heading"] = -0.67060113146646,
|
["heading"] = -0.66079849060746,
|
||||||
["skill"] = "Client",
|
["skill"] = "Client",
|
||||||
["callsign"] =
|
["callsign"] =
|
||||||
{
|
{
|
||||||
[1] = 3,
|
[1] = 3,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
["name"] = "Uzi11",
|
["name"] = "Uzi11",
|
||||||
}, -- end of ["callsign"]
|
}, -- end of ["callsign"]
|
||||||
["groupId"] = 6,
|
["groupId"] = 7,
|
||||||
}, -- end of ["A-10C Client #1"]
|
}, -- end of ["A-10C Client #2_unit"]
|
||||||
|
["Su-33 Client #1Unit"] =
|
||||||
|
{
|
||||||
|
["alt"] = 2000,
|
||||||
|
["point"] =
|
||||||
|
{
|
||||||
|
["y"] = 590391.42857142,
|
||||||
|
["x"] = -250185.71428571,
|
||||||
|
}, -- end of ["point"]
|
||||||
|
["alt_type"] = "BARO",
|
||||||
|
["livery_id"] = "279th kiap 1st squad navy",
|
||||||
|
["onboard_num"] = "53",
|
||||||
|
["category"] = "plane",
|
||||||
|
["speed"] = 138.88888888889,
|
||||||
|
["type"] = "Su-33",
|
||||||
|
["country"] = "russia",
|
||||||
|
["psi"] = 0,
|
||||||
|
["unitName"] = "Su-33 Client #1Unit",
|
||||||
|
["groupName"] = "Su-33 Client #1",
|
||||||
|
["coalition"] = "red",
|
||||||
|
["countryId"] = 0,
|
||||||
|
["x"] = -250185.71428571,
|
||||||
|
["y"] = 590391.42857142,
|
||||||
|
["unitId"] = 42,
|
||||||
|
["heading"] = 0,
|
||||||
|
["skill"] = "Client",
|
||||||
|
["callsign"] = 104,
|
||||||
|
["groupId"] = 20,
|
||||||
|
}, -- end of ["Su-33 Client #1Unit"]
|
||||||
} -- end of humansByName
|
} -- end of humansByName
|
||||||
|
|||||||
@@ -1,27 +1,22 @@
|
|||||||
missionData =
|
missionData =
|
||||||
{
|
{
|
||||||
["version"] = 7,
|
["version"] = 11,
|
||||||
["files"] =
|
["files"] =
|
||||||
{
|
{
|
||||||
[1] = "Thunder2.wav",
|
}, -- end of ["files"]
|
||||||
[2] = "Briefing-01{225F004F-92E4-4c3e-A5F0-2BA49929055A}.jpg",
|
["startTime"] = 43200,
|
||||||
[3] = "mist.lua",
|
["theatre"] = "Caucasus",
|
||||||
[4] = "ExplodeGround0.ogg",
|
["bullseye"] =
|
||||||
[5] = "Rain.ogg",
|
{
|
||||||
}, -- end of ["files"]
|
["blue"] =
|
||||||
["startTime"] = 43200,
|
{
|
||||||
["theatre"] = "Caucasus",
|
["y"] = 617414,
|
||||||
["bullseye"] =
|
["x"] = -291014,
|
||||||
{
|
}, -- end of ["blue"]
|
||||||
["blue"] =
|
["red"] =
|
||||||
{
|
{
|
||||||
["y"] = 617414,
|
["y"] = 371700,
|
||||||
["x"] = -291014,
|
["x"] = 11557,
|
||||||
}, -- end of ["blue"]
|
}, -- end of ["red"]
|
||||||
["red"] =
|
}, -- end of ["bullseye"]
|
||||||
{
|
|
||||||
["y"] = 371700,
|
|
||||||
["x"] = 11557,
|
|
||||||
}, -- end of ["red"]
|
|
||||||
}, -- end of ["bullseye"]
|
|
||||||
} -- end of missionData
|
} -- end of missionData
|
||||||
|
|||||||
+186
-186
@@ -1,189 +1,189 @@
|
|||||||
navPoints =
|
navPoints =
|
||||||
{
|
{
|
||||||
["blue"] =
|
["blue"] =
|
||||||
{
|
{
|
||||||
[1] =
|
[1] =
|
||||||
{
|
{
|
||||||
["y"] = 670391.42857142,
|
["y"] = 643248.57142856,
|
||||||
["x"] = -260757.14285714,
|
["x"] = -242471.42857143,
|
||||||
["name"] = "DODGE",
|
["name"] = "KB1NW",
|
||||||
["callsignStr"] = "DODGE",
|
["callsignStr"] = "KB1NW",
|
||||||
["point"] =
|
["id"] = 3,
|
||||||
{
|
["properties"] =
|
||||||
["y"] = 0,
|
{
|
||||||
["x"] = -260757.14285714,
|
["vnav"] = 1,
|
||||||
["z"] = 670391.42857142,
|
["scale"] = 0,
|
||||||
}, -- end of ["point"]
|
["angle"] = 0,
|
||||||
["properties"] =
|
["vangle"] = 0,
|
||||||
{
|
["steer"] = 2,
|
||||||
["vnav"] = 1,
|
}, -- end of ["properties"]
|
||||||
["scale"] = 0,
|
["point"] =
|
||||||
["vangle"] = 0,
|
{
|
||||||
["angle"] = 0,
|
["y"] = 0,
|
||||||
["steer"] = 2,
|
["x"] = -242471.42857143,
|
||||||
}, -- end of ["properties"]
|
["z"] = 643248.57142856,
|
||||||
["groupId"] = 22,
|
}, -- end of ["point"]
|
||||||
["callsign"] = 3,
|
}, -- end of [1]
|
||||||
}, -- end of [1]
|
[2] =
|
||||||
[2] =
|
{
|
||||||
{
|
["y"] = 659819.99999999,
|
||||||
["y"] = 659819.99999999,
|
["x"] = -257614.28571428,
|
||||||
["x"] = -257614.28571428,
|
["name"] = "KB1SE",
|
||||||
["name"] = "KB1SE",
|
["callsignStr"] = "KB1SE",
|
||||||
["callsignStr"] = "KB1SE",
|
["id"] = 4,
|
||||||
["properties"] =
|
["properties"] =
|
||||||
{
|
{
|
||||||
["vnav"] = 1,
|
["vnav"] = 1,
|
||||||
["scale"] = 0,
|
["scale"] = 0,
|
||||||
["vangle"] = 0,
|
["angle"] = 0,
|
||||||
["angle"] = 0,
|
["vangle"] = 0,
|
||||||
["steer"] = 2,
|
["steer"] = 2,
|
||||||
}, -- end of ["properties"]
|
}, -- end of ["properties"]
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -257614.28571428,
|
["x"] = -257614.28571428,
|
||||||
["z"] = 659819.99999999,
|
["z"] = 659819.99999999,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["groupId"] = 23,
|
}, -- end of [2]
|
||||||
}, -- end of [2]
|
[3] =
|
||||||
[3] =
|
{
|
||||||
{
|
["y"] = 643534.28571428,
|
||||||
["y"] = 643534.28571428,
|
["x"] = -257900,
|
||||||
["x"] = -257900,
|
["name"] = "KB1SW",
|
||||||
["name"] = "KB1SW",
|
["callsignStr"] = "KB1SW",
|
||||||
["callsignStr"] = "KB1SW",
|
["id"] = 5,
|
||||||
["properties"] =
|
["properties"] =
|
||||||
{
|
{
|
||||||
["vnav"] = 1,
|
["vnav"] = 1,
|
||||||
["scale"] = 0,
|
["scale"] = 0,
|
||||||
["vangle"] = 0,
|
["angle"] = 0,
|
||||||
["angle"] = 0,
|
["vangle"] = 0,
|
||||||
["steer"] = 2,
|
["steer"] = 2,
|
||||||
}, -- end of ["properties"]
|
}, -- end of ["properties"]
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -257900,
|
["x"] = -257900,
|
||||||
["z"] = 643534.28571428,
|
["z"] = 643534.28571428,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["groupId"] = 24,
|
}, -- end of [3]
|
||||||
}, -- end of [3]
|
[4] =
|
||||||
[4] =
|
{
|
||||||
{
|
["y"] = 659248.57142856,
|
||||||
["y"] = 643248.57142856,
|
["x"] = -243614.28571428,
|
||||||
["x"] = -242471.42857143,
|
["name"] = "KB1NE",
|
||||||
["name"] = "KB1NW",
|
["callsignStr"] = "KB1NE",
|
||||||
["callsignStr"] = "KB1NW",
|
["id"] = 6,
|
||||||
["properties"] =
|
["properties"] =
|
||||||
{
|
{
|
||||||
["vnav"] = 1,
|
["vnav"] = 1,
|
||||||
["scale"] = 0,
|
["scale"] = 0,
|
||||||
["vangle"] = 0,
|
["angle"] = 0,
|
||||||
["angle"] = 0,
|
["vangle"] = 0,
|
||||||
["steer"] = 2,
|
["steer"] = 2,
|
||||||
}, -- end of ["properties"]
|
}, -- end of ["properties"]
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -242471.42857143,
|
["x"] = -243614.28571428,
|
||||||
["z"] = 643248.57142856,
|
["z"] = 659248.57142856,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["groupId"] = 25,
|
}, -- end of [4]
|
||||||
}, -- end of [4]
|
[5] =
|
||||||
[5] =
|
{
|
||||||
{
|
["y"] = 625534.28571428,
|
||||||
["y"] = 659248.57142856,
|
["x"] = -309328.57142857,
|
||||||
["x"] = -243614.28571428,
|
["name"] = "MAZDA",
|
||||||
["name"] = "KB1NE",
|
["callsignStr"] = "MAZDA",
|
||||||
["callsignStr"] = "KB1NE",
|
["id"] = 7,
|
||||||
["properties"] =
|
["properties"] =
|
||||||
{
|
{
|
||||||
["vnav"] = 1,
|
["vnav"] = 1,
|
||||||
["scale"] = 0,
|
["scale"] = 0,
|
||||||
["vangle"] = 0,
|
["angle"] = 0,
|
||||||
["angle"] = 0,
|
["vangle"] = 0,
|
||||||
["steer"] = 2,
|
["steer"] = 2,
|
||||||
}, -- end of ["properties"]
|
}, -- end of ["properties"]
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -243614.28571428,
|
["x"] = -309328.57142857,
|
||||||
["z"] = 659248.57142856,
|
["z"] = 625534.28571428,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["groupId"] = 26,
|
["callsign"] = 4,
|
||||||
}, -- end of [5]
|
}, -- end of [5]
|
||||||
[6] =
|
[6] =
|
||||||
{
|
{
|
||||||
["y"] = 625534.28571428,
|
["y"] = 670391.42857142,
|
||||||
["x"] = -309328.57142857,
|
["x"] = -260757.14285714,
|
||||||
["name"] = "MAZDA",
|
["name"] = "DODGE",
|
||||||
["callsignStr"] = "MAZDA",
|
["callsignStr"] = "DODGE",
|
||||||
["point"] =
|
["id"] = 8,
|
||||||
{
|
["properties"] =
|
||||||
["y"] = 0,
|
{
|
||||||
["x"] = -309328.57142857,
|
["vnav"] = 1,
|
||||||
["z"] = 625534.28571428,
|
["scale"] = 0,
|
||||||
}, -- end of ["point"]
|
["angle"] = 0,
|
||||||
["properties"] =
|
["vangle"] = 0,
|
||||||
{
|
["steer"] = 2,
|
||||||
["vnav"] = 1,
|
}, -- end of ["properties"]
|
||||||
["scale"] = 0,
|
["point"] =
|
||||||
["vangle"] = 0,
|
{
|
||||||
["angle"] = 0,
|
["y"] = 0,
|
||||||
["steer"] = 2,
|
["x"] = -260757.14285714,
|
||||||
}, -- end of ["properties"]
|
["z"] = 670391.42857142,
|
||||||
["groupId"] = 27,
|
}, -- end of ["point"]
|
||||||
["callsign"] = 4,
|
["callsign"] = 3,
|
||||||
}, -- end of [6]
|
}, -- end of [6]
|
||||||
}, -- end of ["blue"]
|
}, -- end of ["blue"]
|
||||||
["red"] =
|
["red"] =
|
||||||
{
|
{
|
||||||
[1] =
|
[1] =
|
||||||
{
|
{
|
||||||
["y"] = 587534.28571428,
|
["y"] = 587534.28571428,
|
||||||
["x"] = -295042.85714285,
|
["x"] = -295042.85714285,
|
||||||
["name"] = "ADDER",
|
["name"] = "ADDER",
|
||||||
["callsignStr"] = "ADDER",
|
["callsignStr"] = "ADDER",
|
||||||
["point"] =
|
["id"] = 1,
|
||||||
{
|
["properties"] =
|
||||||
["y"] = 0,
|
{
|
||||||
["x"] = -295042.85714285,
|
["vnav"] = 1,
|
||||||
["z"] = 587534.28571428,
|
["scale"] = 0,
|
||||||
}, -- end of ["point"]
|
["angle"] = 0,
|
||||||
["properties"] =
|
["vangle"] = 0,
|
||||||
{
|
["steer"] = 2,
|
||||||
["vnav"] = 1,
|
}, -- end of ["properties"]
|
||||||
["scale"] = 0,
|
["point"] =
|
||||||
["vangle"] = 0,
|
{
|
||||||
["angle"] = 0,
|
["y"] = 0,
|
||||||
["steer"] = 2,
|
["x"] = -295042.85714285,
|
||||||
}, -- end of ["properties"]
|
["z"] = 587534.28571428,
|
||||||
["groupId"] = 28,
|
}, -- end of ["point"]
|
||||||
["callsign"] = 8,
|
["callsign"] = 8,
|
||||||
}, -- end of [1]
|
}, -- end of [1]
|
||||||
[2] =
|
[2] =
|
||||||
{
|
{
|
||||||
["y"] = 595248.57142856,
|
["y"] = 595248.57142856,
|
||||||
["x"] = -276757.14285714,
|
["x"] = -276757.14285714,
|
||||||
["name"] = "MAZDA",
|
["name"] = "MAZDA",
|
||||||
["callsignStr"] = "MAZDA",
|
["callsignStr"] = "MAZDA",
|
||||||
["point"] =
|
["id"] = 2,
|
||||||
{
|
["properties"] =
|
||||||
["y"] = 0,
|
{
|
||||||
["x"] = -276757.14285714,
|
["vnav"] = 1,
|
||||||
["z"] = 595248.57142856,
|
["scale"] = 0,
|
||||||
}, -- end of ["point"]
|
["angle"] = 0,
|
||||||
["properties"] =
|
["vangle"] = 0,
|
||||||
{
|
["steer"] = 2,
|
||||||
["vnav"] = 1,
|
}, -- end of ["properties"]
|
||||||
["scale"] = 0,
|
["point"] =
|
||||||
["vangle"] = 0,
|
{
|
||||||
["angle"] = 0,
|
["y"] = 0,
|
||||||
["steer"] = 2,
|
["x"] = -276757.14285714,
|
||||||
}, -- end of ["properties"]
|
["z"] = 595248.57142856,
|
||||||
["groupId"] = 29,
|
}, -- end of ["point"]
|
||||||
["callsign"] = 4,
|
["callsign"] = 4,
|
||||||
}, -- end of [2]
|
}, -- end of [2]
|
||||||
}, -- end of ["red"]
|
}, -- end of ["red"]
|
||||||
} -- end of navPoints
|
} -- end of navPoints
|
||||||
|
|||||||
@@ -1,99 +1,67 @@
|
|||||||
removedAliveUnits =
|
removedAliveUnits =
|
||||||
{
|
{
|
||||||
[16781056] =
|
[16780800] =
|
||||||
{
|
{
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 654625.71428571,
|
["y"] = 654585.71428571,
|
||||||
["x"] = -292922.85714286,
|
["x"] = -292882.85714286,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["skill"] = "Average",
|
["skill"] = "Average",
|
||||||
["unit"] =
|
["unit"] =
|
||||||
{
|
{
|
||||||
["id_"] = 16781056,
|
["id_"] = 16780800,
|
||||||
}, -- end of ["unit"]
|
}, -- end of ["unit"]
|
||||||
["category"] = "vehicle",
|
["category"] = "vehicle",
|
||||||
["unitName"] = "RuBTRs3",
|
["unitName"] = "RuBTRs2",
|
||||||
["heading"] = -1.7994767003775,
|
["heading"] = -1.7994767003775,
|
||||||
["unitId"] = 29,
|
["unitId"] = 28,
|
||||||
["groupName"] = "RuBTRs",
|
["groupName"] = "RuBTRs",
|
||||||
["countryId"] = 0,
|
["countryId"] = 0,
|
||||||
["coalition"] = "red",
|
["coalition"] = "red",
|
||||||
["x"] = -292922.85714286,
|
["x"] = -292882.85714286,
|
||||||
["type"] = "BTR-80",
|
["type"] = "BTR-80",
|
||||||
["groupId"] = 13,
|
["groupId"] = 13,
|
||||||
["country"] = "russia",
|
["country"] = "russia",
|
||||||
["playerCanDrive"] = true,
|
["playerCanDrive"] = true,
|
||||||
["y"] = 654625.71428571,
|
["y"] = 654585.71428571,
|
||||||
["pos"] =
|
["pos"] =
|
||||||
{
|
{
|
||||||
["y"] = 22.240369796753,
|
["y"] = 22.182994842529,
|
||||||
["x"] = -292851.09375,
|
["x"] = -292848.875,
|
||||||
["z"] = 654504.5,
|
["z"] = 654522.0625,
|
||||||
}, -- end of ["pos"]
|
}, -- end of ["pos"]
|
||||||
}, -- end of [16781056]
|
}, -- end of [16780800]
|
||||||
[16780544] =
|
[16780544] =
|
||||||
{
|
{
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 654545.71428571,
|
["y"] = 654545.71428571,
|
||||||
["x"] = -292842.85714286,
|
["x"] = -292842.85714286,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["skill"] = "Average",
|
["skill"] = "Average",
|
||||||
["unit"] =
|
["unit"] =
|
||||||
{
|
{
|
||||||
["id_"] = 16780544,
|
["id_"] = 16780544,
|
||||||
}, -- end of ["unit"]
|
}, -- end of ["unit"]
|
||||||
["category"] = "vehicle",
|
["category"] = "vehicle",
|
||||||
["unitName"] = "RuBTRs1",
|
["unitName"] = "RuBTRs1",
|
||||||
["heading"] = -1.7994767003775,
|
["heading"] = -1.7994767003775,
|
||||||
["unitId"] = 27,
|
["unitId"] = 27,
|
||||||
["groupName"] = "RuBTRs",
|
["groupName"] = "RuBTRs",
|
||||||
["countryId"] = 0,
|
["countryId"] = 0,
|
||||||
["coalition"] = "red",
|
["coalition"] = "red",
|
||||||
["x"] = -292842.85714286,
|
["x"] = -292842.85714286,
|
||||||
["type"] = "BTR-80",
|
["type"] = "BTR-80",
|
||||||
["groupId"] = 13,
|
["groupId"] = 13,
|
||||||
["country"] = "russia",
|
["country"] = "russia",
|
||||||
["playerCanDrive"] = true,
|
["playerCanDrive"] = true,
|
||||||
["y"] = 654545.71428571,
|
["y"] = 654545.71428571,
|
||||||
["pos"] =
|
["pos"] =
|
||||||
{
|
{
|
||||||
["y"] = 22.417558670044,
|
["y"] = 22.385175704956,
|
||||||
["x"] = -292866.03125,
|
["x"] = -292863.3125,
|
||||||
["z"] = 654446.125,
|
["z"] = 654457.6875,
|
||||||
}, -- end of ["pos"]
|
}, -- end of ["pos"]
|
||||||
}, -- end of [16780544]
|
}, -- end of [16780544]
|
||||||
[16780800] =
|
|
||||||
{
|
|
||||||
["point"] =
|
|
||||||
{
|
|
||||||
["y"] = 654585.71428571,
|
|
||||||
["x"] = -292882.85714286,
|
|
||||||
}, -- end of ["point"]
|
|
||||||
["skill"] = "Average",
|
|
||||||
["unit"] =
|
|
||||||
{
|
|
||||||
["id_"] = 16780800,
|
|
||||||
}, -- end of ["unit"]
|
|
||||||
["category"] = "vehicle",
|
|
||||||
["unitName"] = "RuBTRs2",
|
|
||||||
["heading"] = -1.7994767003775,
|
|
||||||
["unitId"] = 28,
|
|
||||||
["groupName"] = "RuBTRs",
|
|
||||||
["countryId"] = 0,
|
|
||||||
["coalition"] = "red",
|
|
||||||
["x"] = -292882.85714286,
|
|
||||||
["type"] = "BTR-80",
|
|
||||||
["groupId"] = 13,
|
|
||||||
["country"] = "russia",
|
|
||||||
["playerCanDrive"] = true,
|
|
||||||
["y"] = 654585.71428571,
|
|
||||||
["pos"] =
|
|
||||||
{
|
|
||||||
["y"] = 22.13184928894,
|
|
||||||
["x"] = -292848.1875,
|
|
||||||
["z"] = 654536.1875,
|
|
||||||
}, -- end of ["pos"]
|
|
||||||
}, -- end of [16780800]
|
|
||||||
} -- end of removedAliveUnits
|
} -- end of removedAliveUnits
|
||||||
|
|||||||
+2960
-4537
File diff suppressed because it is too large
Load Diff
+2139
-3445
File diff suppressed because it is too large
Load Diff
+2124
-2058
File diff suppressed because it is too large
Load Diff
+2124
-2058
File diff suppressed because it is too large
Load Diff
+2124
-3430
File diff suppressed because it is too large
Load Diff
@@ -1,69 +1,69 @@
|
|||||||
zonesByName =
|
zonesByName =
|
||||||
{
|
{
|
||||||
["LZ zone"] =
|
["LZ zone"] =
|
||||||
{
|
{
|
||||||
["y"] = 614105.71428571,
|
["y"] = 614105.71428571,
|
||||||
["radius"] = 3000,
|
["radius"] = 3000,
|
||||||
["zoneId"] = 2,
|
["zoneId"] = 2,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -245328.57142857,
|
["x"] = -245328.57142857,
|
||||||
["z"] = 614105.71428571,
|
["z"] = 614105.71428571,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["color"] =
|
["color"] =
|
||||||
{
|
{
|
||||||
[1] = 1,
|
[1] = 1,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
[4] = 0.14901960784314,
|
[4] = 0.14901960784314,
|
||||||
}, -- end of ["color"]
|
}, -- end of ["color"]
|
||||||
["x"] = -245328.57142857,
|
["x"] = -245328.57142857,
|
||||||
["hidden"] = false,
|
["hidden"] = false,
|
||||||
["name"] = "LZ zone",
|
["name"] = "LZ zone",
|
||||||
}, -- end of ["LZ zone"]
|
}, -- end of ["LZ zone"]
|
||||||
["cloneZone"] =
|
["cloneZone"] =
|
||||||
{
|
{
|
||||||
["y"] = 692534.28571428,
|
["y"] = 692534.28571428,
|
||||||
["radius"] = 3000,
|
["radius"] = 3000,
|
||||||
["zoneId"] = 3,
|
["zoneId"] = 3,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -285971.42857143,
|
["x"] = -285971.42857143,
|
||||||
["z"] = 692534.28571428,
|
["z"] = 692534.28571428,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["color"] =
|
["color"] =
|
||||||
{
|
{
|
||||||
[1] = 1,
|
[1] = 1,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
[4] = 0.14901960784314,
|
[4] = 0.14901960784314,
|
||||||
}, -- end of ["color"]
|
}, -- end of ["color"]
|
||||||
["x"] = -285971.42857143,
|
["x"] = -285971.42857143,
|
||||||
["hidden"] = false,
|
["hidden"] = false,
|
||||||
["name"] = "cloneZone",
|
["name"] = "cloneZone",
|
||||||
}, -- end of ["cloneZone"]
|
}, -- end of ["cloneZone"]
|
||||||
["explosion zone"] =
|
["explosion zone"] =
|
||||||
{
|
{
|
||||||
["y"] = 673819.99999999,
|
["y"] = 673819.99999999,
|
||||||
["radius"] = 3000,
|
["radius"] = 3000,
|
||||||
["zoneId"] = 1,
|
["zoneId"] = 1,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -271900,
|
["x"] = -271900,
|
||||||
["z"] = 673819.99999999,
|
["z"] = 673819.99999999,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["color"] =
|
["color"] =
|
||||||
{
|
{
|
||||||
[1] = 1,
|
[1] = 1,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
[4] = 0.14901960784314,
|
[4] = 0.14901960784314,
|
||||||
}, -- end of ["color"]
|
}, -- end of ["color"]
|
||||||
["x"] = -271900,
|
["x"] = -271900,
|
||||||
["hidden"] = false,
|
["hidden"] = false,
|
||||||
["name"] = "explosion zone",
|
["name"] = "explosion zone",
|
||||||
}, -- end of ["explosion zone"]
|
}, -- end of ["explosion zone"]
|
||||||
} -- end of zonesByName
|
} -- end of zonesByName
|
||||||
|
|||||||
@@ -1,69 +1,69 @@
|
|||||||
zonesByNum =
|
zonesByNum =
|
||||||
{
|
{
|
||||||
[1] =
|
[1] =
|
||||||
{
|
{
|
||||||
["y"] = 614105.71428571,
|
["y"] = 614105.71428571,
|
||||||
["radius"] = 3000,
|
["radius"] = 3000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -245328.57142857,
|
["x"] = -245328.57142857,
|
||||||
["z"] = 614105.71428571,
|
["z"] = 614105.71428571,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["name"] = "LZ zone",
|
["name"] = "LZ zone",
|
||||||
["color"] =
|
["color"] =
|
||||||
{
|
{
|
||||||
[1] = 1,
|
[1] = 1,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
[4] = 0.14901960784314,
|
[4] = 0.14901960784314,
|
||||||
}, -- end of ["color"]
|
}, -- end of ["color"]
|
||||||
["x"] = -245328.57142857,
|
["x"] = -245328.57142857,
|
||||||
["hidden"] = false,
|
["hidden"] = false,
|
||||||
["zoneId"] = 2,
|
["zoneId"] = 2,
|
||||||
}, -- end of [1]
|
}, -- end of [1]
|
||||||
[2] =
|
[2] =
|
||||||
{
|
{
|
||||||
["y"] = 692534.28571428,
|
["y"] = 692534.28571428,
|
||||||
["radius"] = 3000,
|
["radius"] = 3000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -285971.42857143,
|
["x"] = -285971.42857143,
|
||||||
["z"] = 692534.28571428,
|
["z"] = 692534.28571428,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["name"] = "cloneZone",
|
["name"] = "cloneZone",
|
||||||
["color"] =
|
["color"] =
|
||||||
{
|
{
|
||||||
[1] = 1,
|
[1] = 1,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
[4] = 0.14901960784314,
|
[4] = 0.14901960784314,
|
||||||
}, -- end of ["color"]
|
}, -- end of ["color"]
|
||||||
["x"] = -285971.42857143,
|
["x"] = -285971.42857143,
|
||||||
["hidden"] = false,
|
["hidden"] = false,
|
||||||
["zoneId"] = 3,
|
["zoneId"] = 3,
|
||||||
}, -- end of [2]
|
}, -- end of [2]
|
||||||
[3] =
|
[3] =
|
||||||
{
|
{
|
||||||
["y"] = 673819.99999999,
|
["y"] = 673819.99999999,
|
||||||
["radius"] = 3000,
|
["radius"] = 3000,
|
||||||
["point"] =
|
["point"] =
|
||||||
{
|
{
|
||||||
["y"] = 0,
|
["y"] = 0,
|
||||||
["x"] = -271900,
|
["x"] = -271900,
|
||||||
["z"] = 673819.99999999,
|
["z"] = 673819.99999999,
|
||||||
}, -- end of ["point"]
|
}, -- end of ["point"]
|
||||||
["name"] = "explosion zone",
|
["name"] = "explosion zone",
|
||||||
["color"] =
|
["color"] =
|
||||||
{
|
{
|
||||||
[1] = 1,
|
[1] = 1,
|
||||||
[2] = 1,
|
[2] = 1,
|
||||||
[3] = 1,
|
[3] = 1,
|
||||||
[4] = 0.14901960784314,
|
[4] = 0.14901960784314,
|
||||||
}, -- end of ["color"]
|
}, -- end of ["color"]
|
||||||
["x"] = -271900,
|
["x"] = -271900,
|
||||||
["hidden"] = false,
|
["hidden"] = false,
|
||||||
["zoneId"] = 1,
|
["zoneId"] = 1,
|
||||||
}, -- end of [3]
|
}, -- end of [3]
|
||||||
} -- end of zonesByNum
|
} -- end of zonesByNum
|
||||||
|
|||||||
Binary file not shown.
@@ -34,7 +34,7 @@ mist = {}
|
|||||||
|
|
||||||
-- don't change these
|
-- don't change these
|
||||||
mist.majorVersion = 4
|
mist.majorVersion = 4
|
||||||
mist.minorVersion = 2
|
mist.minorVersion = 3
|
||||||
mist.build = 71
|
mist.build = 71
|
||||||
|
|
||||||
-- forward declaration of log shorthand
|
-- forward declaration of log shorthand
|
||||||
@@ -1224,7 +1224,7 @@ do -- the main scope
|
|||||||
if newObj.countryId then
|
if newObj.countryId then
|
||||||
cntry = newObj.countryId
|
cntry = newObj.countryId
|
||||||
end
|
end
|
||||||
|
|
||||||
local newCountry = ''
|
local newCountry = ''
|
||||||
|
|
||||||
for countryId, countryName in pairs(country.name) do
|
for countryId, countryName in pairs(country.name) do
|
||||||
@@ -1244,7 +1244,7 @@ do -- the main scope
|
|||||||
log:error("Country not found: $1", cntry)
|
log:error("Country not found: $1", cntry)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
if newObj.clone or not newObj.groupId then
|
if newObj.clone or not newObj.groupId then
|
||||||
mistGpId = mistGpId + 1
|
mistGpId = mistGpId + 1
|
||||||
newObj.groupId = mistGpId
|
newObj.groupId = mistGpId
|
||||||
@@ -1257,7 +1257,7 @@ do -- the main scope
|
|||||||
|
|
||||||
if newObj.clone or not newObj.name then
|
if newObj.clone or not newObj.name then
|
||||||
mistDynAddIndex[' static '] = mistDynAddIndex[' static '] + 1
|
mistDynAddIndex[' static '] = mistDynAddIndex[' static '] + 1
|
||||||
newObj.name = (country.name[cntry] .. ' static ' .. mistDynAddIndex[' static '])
|
newObj.name = (newCountry .. ' static ' .. mistDynAddIndex[' static '])
|
||||||
end
|
end
|
||||||
|
|
||||||
if not newObj.dead then
|
if not newObj.dead then
|
||||||
@@ -1275,7 +1275,12 @@ do -- the main scope
|
|||||||
newObj.category = 'Cargos'
|
newObj.category = 'Cargos'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if newObj.shapeName then
|
||||||
|
newObj.shape_name = newObj.shapeName
|
||||||
|
end
|
||||||
|
|
||||||
if not newObj.shape_name then
|
if not newObj.shape_name then
|
||||||
|
log:info('shape_name not present')
|
||||||
if mist.DBs.const.shapeNames[newObj.type] then
|
if mist.DBs.const.shapeNames[newObj.type] then
|
||||||
newObj.shape_name = mist.DBs.const.shapeNames[newObj.type]
|
newObj.shape_name = mist.DBs.const.shapeNames[newObj.type]
|
||||||
end
|
end
|
||||||
@@ -1369,7 +1374,7 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
|
|
||||||
if newGroup.clone and mist.DBs.groupsByName[newGroup.name] or not newGroup.name then
|
if newGroup.clone and mist.DBs.groupsByName[newGroup.name] or not newGroup.name then
|
||||||
newGroup.name = tostring(tostring(country.name[cntry]) .. tostring(typeName) .. mistDynAddIndex[typeName])
|
newGroup.name = tostring(newCountry .. tostring(typeName) .. mistDynAddIndex[typeName])
|
||||||
end
|
end
|
||||||
|
|
||||||
if not newGroup.hidden then
|
if not newGroup.hidden then
|
||||||
|
|||||||
+354
-189
@@ -34,8 +34,8 @@ mist = {}
|
|||||||
|
|
||||||
-- don't change these
|
-- don't change these
|
||||||
mist.majorVersion = 4
|
mist.majorVersion = 4
|
||||||
mist.minorVersion = 2
|
mist.minorVersion = 3
|
||||||
mist.build = 66
|
mist.build = 71
|
||||||
|
|
||||||
-- forward declaration of log shorthand
|
-- forward declaration of log shorthand
|
||||||
local log
|
local log
|
||||||
@@ -44,18 +44,20 @@ do -- the main scope
|
|||||||
local coroutines = {}
|
local coroutines = {}
|
||||||
|
|
||||||
local tempSpawnedUnits = {} -- birth events added here
|
local tempSpawnedUnits = {} -- birth events added here
|
||||||
|
local tempSpawnedGroups = {}
|
||||||
|
local tempSpawnGroupsCounter = 0
|
||||||
|
|
||||||
local mistAddedObjects = {} -- mist.dynAdd unit data added here
|
local mistAddedObjects = {} -- mist.dynAdd unit data added here
|
||||||
local mistAddedGroups = {} -- mist.dynAdd groupdata added here
|
local mistAddedGroups = {} -- mist.dynAdd groupdata added here
|
||||||
local writeGroups = {}
|
local writeGroups = {}
|
||||||
local lastUpdateTime = 0
|
local lastUpdateTime = 0
|
||||||
|
|
||||||
local updateAliveUnitsCounter = 0
|
local updateAliveUnitsCounter = 0
|
||||||
local writeDbTableCounter = 0
|
local updateTenthSecond = 0
|
||||||
local checkSpawnEventsCounter = 0
|
|
||||||
|
|
||||||
local mistGpId = 7000
|
local mistGpId = 7000
|
||||||
local mistUnitId = 7000
|
local mistUnitId = 7000
|
||||||
local mistDynAddIndex = 1
|
local mistDynAddIndex = {[' air '] = 0, [' hel '] = 0, [' gnd '] = 0, [' bld '] = 0, [' static '] = 0, [' shp '] = 0}
|
||||||
|
|
||||||
local scheduledTasks = {}
|
local scheduledTasks = {}
|
||||||
local taskId = 0
|
local taskId = 0
|
||||||
@@ -64,6 +66,8 @@ do -- the main scope
|
|||||||
mist.nextGroupId = 1
|
mist.nextGroupId = 1
|
||||||
mist.nextUnitId = 1
|
mist.nextUnitId = 1
|
||||||
|
|
||||||
|
local dbLog
|
||||||
|
|
||||||
local function initDBs() -- mist.DBs scope
|
local function initDBs() -- mist.DBs scope
|
||||||
mist.DBs = {}
|
mist.DBs = {}
|
||||||
|
|
||||||
@@ -339,6 +343,98 @@ do -- the main scope
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
mist.DBs.const.shapeNames = {
|
||||||
|
["Landmine"] = "landmine",
|
||||||
|
["FARP CP Blindage"] = "kp_ug",
|
||||||
|
["Subsidiary structure C"] = "saray-c",
|
||||||
|
["Barracks 2"] = "kazarma2",
|
||||||
|
["Small house 2C"] = "dom2c",
|
||||||
|
["Military staff"] = "aviashtab",
|
||||||
|
["Tech hangar A"] = "ceh_ang_a",
|
||||||
|
["Oil derrick"] = "neftevyshka",
|
||||||
|
["Tech combine"] = "kombinat",
|
||||||
|
["Garage B"] = "garage_b",
|
||||||
|
["Airshow_Crowd"] = "Crowd1",
|
||||||
|
["Hangar A"] = "angar_a",
|
||||||
|
["Repair workshop"] = "tech",
|
||||||
|
["Subsidiary structure D"] = "saray-d",
|
||||||
|
["FARP Ammo Dump Coating"] = "SetkaKP",
|
||||||
|
["Small house 1C area"] = "dom2c-all",
|
||||||
|
["Tank 2"] = "airbase_tbilisi_tank_01",
|
||||||
|
["Boiler-house A"] = "kotelnaya_a",
|
||||||
|
["Workshop A"] = "tec_a",
|
||||||
|
["Small werehouse 1"] = "s1",
|
||||||
|
["Garage small B"] = "garagh-small-b",
|
||||||
|
["Small werehouse 4"] = "s4",
|
||||||
|
["Shop"] = "magazin",
|
||||||
|
["Subsidiary structure B"] = "saray-b",
|
||||||
|
["FARP Fuel Depot"] = "GSM Rus",
|
||||||
|
["Coach cargo"] = "wagon-gruz",
|
||||||
|
["Electric power box"] = "tr_budka",
|
||||||
|
["Tank 3"] = "airbase_tbilisi_tank_02",
|
||||||
|
["Red_Flag"] = "H-flag_R",
|
||||||
|
["Container red 3"] = "konteiner_red3",
|
||||||
|
["Garage A"] = "garage_a",
|
||||||
|
["Hangar B"] = "angar_b",
|
||||||
|
["Black_Tyre"] = "H-tyre_B",
|
||||||
|
["Cafe"] = "stolovaya",
|
||||||
|
["Restaurant 1"] = "restoran1",
|
||||||
|
["Subsidiary structure A"] = "saray-a",
|
||||||
|
["Container white"] = "konteiner_white",
|
||||||
|
["Warehouse"] = "sklad",
|
||||||
|
["Tank"] = "bak",
|
||||||
|
["Railway crossing B"] = "pereezd_small",
|
||||||
|
["Subsidiary structure F"] = "saray-f",
|
||||||
|
["Farm A"] = "ferma_a",
|
||||||
|
["Small werehouse 3"] = "s3",
|
||||||
|
["Water tower A"] = "wodokachka_a",
|
||||||
|
["Railway station"] = "r_vok_sd",
|
||||||
|
["Coach a tank blue"] = "wagon-cisterna_blue",
|
||||||
|
["Supermarket A"] = "uniwersam_a",
|
||||||
|
["Coach a platform"] = "wagon-platforma",
|
||||||
|
["Garage small A"] = "garagh-small-a",
|
||||||
|
["TV tower"] = "tele_bash",
|
||||||
|
["Comms tower M"] = "tele_bash_m",
|
||||||
|
["Small house 1A"] = "domik1a",
|
||||||
|
["Farm B"] = "ferma_b",
|
||||||
|
["GeneratorF"] = "GeneratorF",
|
||||||
|
["Cargo1"] = "ab-212_cargo",
|
||||||
|
["Container red 2"] = "konteiner_red2",
|
||||||
|
["Subsidiary structure E"] = "saray-e",
|
||||||
|
["Coach a passenger"] = "wagon-pass",
|
||||||
|
["Black_Tyre_WF"] = "H-tyre_B_WF",
|
||||||
|
["Electric locomotive"] = "elektrowoz",
|
||||||
|
["Shelter"] = "ukrytie",
|
||||||
|
["Coach a tank yellow"] = "wagon-cisterna_yellow",
|
||||||
|
["Railway crossing A"] = "pereezd_big",
|
||||||
|
[".Ammunition depot"] = "SkladC",
|
||||||
|
["Small werehouse 2"] = "s2",
|
||||||
|
["Windsock"] = "H-Windsock_RW",
|
||||||
|
["Shelter B"] = "ukrytie_b",
|
||||||
|
["Fuel tank"] = "toplivo-bak",
|
||||||
|
["Locomotive"] = "teplowoz",
|
||||||
|
[".Command Center"] = "ComCenter",
|
||||||
|
["Pump station"] = "nasos",
|
||||||
|
["Black_Tyre_RF"] = "H-tyre_B_RF",
|
||||||
|
["Coach cargo open"] = "wagon-gruz-otkr",
|
||||||
|
["Subsidiary structure 3"] = "hozdomik3",
|
||||||
|
["FARP Tent"] = "PalatkaB",
|
||||||
|
["White_Tyre"] = "H-tyre_W",
|
||||||
|
["Subsidiary structure G"] = "saray-g",
|
||||||
|
["Container red 1"] = "konteiner_red1",
|
||||||
|
["Small house 1B area"] = "domik1b-all",
|
||||||
|
["Subsidiary structure 1"] = "hozdomik1",
|
||||||
|
["Container brown"] = "konteiner_brown",
|
||||||
|
["Small house 1B"] = "domik1b",
|
||||||
|
["Subsidiary structure 2"] = "hozdomik2",
|
||||||
|
["Chemical tank A"] = "him_bak_a",
|
||||||
|
["WC"] = "WC",
|
||||||
|
["Small house 1A area"] = "domik1a-all",
|
||||||
|
["White_Flag"] = "H-Flag_W",
|
||||||
|
["Airshow_Cone"] = "Comp_cone",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
-- create mist.DBs.oldAliveUnits
|
-- create mist.DBs.oldAliveUnits
|
||||||
-- do
|
-- do
|
||||||
-- local intermediate_alive_units = {} -- between 0 and 0.5 secs old
|
-- local intermediate_alive_units = {} -- between 0 and 0.5 secs old
|
||||||
@@ -368,7 +464,7 @@ do -- the main scope
|
|||||||
|
|
||||||
mist.DBs.unitsByCat[unit_data.category] = mist.DBs.unitsByCat[unit_data.category] or {} -- future-proofing against new categories...
|
mist.DBs.unitsByCat[unit_data.category] = mist.DBs.unitsByCat[unit_data.category] or {} -- future-proofing against new categories...
|
||||||
table.insert(mist.DBs.unitsByCat[unit_data.category], mist.utils.deepCopy(unit_data))
|
table.insert(mist.DBs.unitsByCat[unit_data.category], mist.utils.deepCopy(unit_data))
|
||||||
--log:info('inserting $1', unit_data.unitName)
|
dbLog:info('inserting $1', unit_data.unitName)
|
||||||
table.insert(mist.DBs.unitsByNum, mist.utils.deepCopy(unit_data))
|
table.insert(mist.DBs.unitsByNum, mist.utils.deepCopy(unit_data))
|
||||||
|
|
||||||
if unit_data.skill and (unit_data.skill == "Client" or unit_data.skill == "Player") then
|
if unit_data.skill and (unit_data.skill == "Client" or unit_data.skill == "Player") then
|
||||||
@@ -405,13 +501,13 @@ do -- the main scope
|
|||||||
local original_key = key --only for duplicate runtime IDs.
|
local original_key = key --only for duplicate runtime IDs.
|
||||||
local key_ind = 1
|
local key_ind = 1
|
||||||
while mist.DBs.deadObjects[key] do
|
while mist.DBs.deadObjects[key] do
|
||||||
--log:warn('duplicate runtime id of previously dead object key: $1', key)
|
dbLog:warn('duplicate runtime id of previously dead object key: $1', key)
|
||||||
key = tostring(original_key) .. ' #' .. tostring(key_ind)
|
key = tostring(original_key) .. ' #' .. tostring(key_ind)
|
||||||
key_ind = key_ind + 1
|
key_ind = key_ind + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
if mist.DBs.aliveUnits and mist.DBs.aliveUnits[val.object.id_] then
|
if mist.DBs.aliveUnits and mist.DBs.aliveUnits[val.object.id_] then
|
||||||
--log:info('object found in alive_units')
|
--dbLog:info('object found in alive_units')
|
||||||
val.objectData = mist.utils.deepCopy(mist.DBs.aliveUnits[val.object.id_])
|
val.objectData = mist.utils.deepCopy(mist.DBs.aliveUnits[val.object.id_])
|
||||||
local pos = Object.getPosition(val.object)
|
local pos = Object.getPosition(val.object)
|
||||||
if pos then
|
if pos then
|
||||||
@@ -420,7 +516,7 @@ do -- the main scope
|
|||||||
val.objectType = mist.DBs.aliveUnits[val.object.id_].category
|
val.objectType = mist.DBs.aliveUnits[val.object.id_].category
|
||||||
|
|
||||||
elseif mist.DBs.removedAliveUnits and mist.DBs.removedAliveUnits[val.object.id_] then -- it didn't exist in alive_units, check old_alive_units
|
elseif mist.DBs.removedAliveUnits and mist.DBs.removedAliveUnits[val.object.id_] then -- it didn't exist in alive_units, check old_alive_units
|
||||||
--log:info('object found in old_alive_units')
|
--dbLog:info('object found in old_alive_units')
|
||||||
val.objectData = mist.utils.deepCopy(mist.DBs.removedAliveUnits[val.object.id_])
|
val.objectData = mist.utils.deepCopy(mist.DBs.removedAliveUnits[val.object.id_])
|
||||||
local pos = Object.getPosition(val.object)
|
local pos = Object.getPosition(val.object)
|
||||||
if pos then
|
if pos then
|
||||||
@@ -429,13 +525,13 @@ do -- the main scope
|
|||||||
val.objectType = mist.DBs.removedAliveUnits[val.object.id_].category
|
val.objectType = mist.DBs.removedAliveUnits[val.object.id_].category
|
||||||
|
|
||||||
else --attempt to determine if static object...
|
else --attempt to determine if static object...
|
||||||
--log:info('object not found in alive units or old alive units')
|
--dbLog:info('object not found in alive units or old alive units')
|
||||||
local pos = Object.getPosition(val.object)
|
local pos = Object.getPosition(val.object)
|
||||||
if pos then
|
if pos then
|
||||||
local static_found = false
|
local static_found = false
|
||||||
for ind, static in pairs(mist.DBs.unitsByCat.static) do
|
for ind, static in pairs(mist.DBs.unitsByCat.static) do
|
||||||
if ((pos.p.x - static.point.x)^2 + (pos.p.z - static.point.y)^2)^0.5 < 0.1 then --really, it should be zero...
|
if ((pos.p.x - static.point.x)^2 + (pos.p.z - static.point.y)^2)^0.5 < 0.1 then --really, it should be zero...
|
||||||
--log:info('correlated dead static object to position')
|
dbLog:info('correlated dead static object to position')
|
||||||
val.objectData = static
|
val.objectData = static
|
||||||
val.objectPos = pos.p
|
val.objectPos = pos.p
|
||||||
val.objectType = 'static'
|
val.objectType = 'static'
|
||||||
@@ -489,7 +585,7 @@ do -- the main scope
|
|||||||
if lunits[i].category ~= 'static' then -- can't get statics with Unit.getByName :(
|
if lunits[i].category ~= 'static' then -- can't get statics with Unit.getByName :(
|
||||||
local unit = lUnit.getByName(lunits[i].unitName)
|
local unit = lUnit.getByName(lunits[i].unitName)
|
||||||
if unit then
|
if unit then
|
||||||
--log:info("unit named $1 alive!", lunits[i].unitName) -- spammy
|
--dbLog:info("unit named $1 alive!", lunits[i].unitName) -- spammy
|
||||||
local pos = unit:getPosition()
|
local pos = unit:getPosition()
|
||||||
local newtbl = ldeepcopy(lunits[i])
|
local newtbl = ldeepcopy(lunits[i])
|
||||||
if pos then
|
if pos then
|
||||||
@@ -515,22 +611,19 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function dbUpdate(event)
|
local function dbUpdate(event, objType)
|
||||||
|
dbLog:info('dbUpdate')
|
||||||
local newTable = {}
|
local newTable = {}
|
||||||
|
|
||||||
newTable.startTime = 0
|
newTable.startTime = 0
|
||||||
|
|
||||||
if type(event) == 'string' then -- if name of an object.
|
if type(event) == 'string' then -- if name of an object.
|
||||||
local newObject
|
local newObject
|
||||||
local newType = 'group'
|
|
||||||
if Group.getByName(event) then
|
if Group.getByName(event) then
|
||||||
newObject = Group.getByName(event)
|
newObject = Group.getByName(event)
|
||||||
elseif StaticObject.getByName(event) then
|
elseif StaticObject.getByName(event) then
|
||||||
newObject = StaticObject.getByName(event)
|
newObject = StaticObject.getByName(event)
|
||||||
newType = 'static'
|
|
||||||
-- log:info('its static')
|
-- log:info('its static')
|
||||||
else
|
else
|
||||||
log:info('WTF')
|
log:warn('$1 is not a Unit or Static Object. This should not be possible', event)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -538,7 +631,7 @@ do -- the main scope
|
|||||||
newTable.groupId = tonumber(newObject:getID())
|
newTable.groupId = tonumber(newObject:getID())
|
||||||
newTable.groupName = newObject:getName()
|
newTable.groupName = newObject:getName()
|
||||||
local unitOneRef
|
local unitOneRef
|
||||||
if newType == 'static' then
|
if objType == 'static' then
|
||||||
unitOneRef = newObject
|
unitOneRef = newObject
|
||||||
newTable.countryId = tonumber(newObject:getCountry())
|
newTable.countryId = tonumber(newObject:getCountry())
|
||||||
newTable.coalitionId = tonumber(newObject:getCoalition())
|
newTable.coalitionId = tonumber(newObject:getCoalition())
|
||||||
@@ -561,11 +654,11 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
for catData, catId in pairs(Unit.Category) do
|
for catData, catId in pairs(Unit.Category) do
|
||||||
if newType == 'group' and Group.getByName(newTable.groupName):isExist() then
|
if objType == 'group' and Group.getByName(newTable.groupName):isExist() then
|
||||||
if catId == Group.getByName(newTable.groupName):getCategory() then
|
if catId == Group.getByName(newTable.groupName):getCategory() then
|
||||||
newTable.category = string.lower(catData)
|
newTable.category = string.lower(catData)
|
||||||
end
|
end
|
||||||
elseif newType == 'static' and StaticObject.getByName(newTable.groupName):isExist() then
|
elseif objType == 'static' and StaticObject.getByName(newTable.groupName):isExist() then
|
||||||
if catId == StaticObject.getByName(newTable.groupName):getCategory() then
|
if catId == StaticObject.getByName(newTable.groupName):getCategory() then
|
||||||
newTable.category = string.lower(catData)
|
newTable.category = string.lower(catData)
|
||||||
end
|
end
|
||||||
@@ -592,7 +685,7 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
|
|
||||||
newTable.units = {}
|
newTable.units = {}
|
||||||
if newType == 'group' then
|
if objType == 'group' then
|
||||||
for unitId, unitData in pairs(unitOneRef) do
|
for unitId, unitData in pairs(unitOneRef) do
|
||||||
newTable.units[unitId] = {}
|
newTable.units[unitId] = {}
|
||||||
newTable.units[unitId].unitName = unitData:getName()
|
newTable.units[unitId].unitName = unitData:getName()
|
||||||
@@ -684,91 +777,92 @@ do -- the main scope
|
|||||||
newTable.timeAdded = timer.getAbsTime() -- only on the dynGroupsAdded table. For other reference, see start time
|
newTable.timeAdded = timer.getAbsTime() -- only on the dynGroupsAdded table. For other reference, see start time
|
||||||
--mist.debug.dumpDBs()
|
--mist.debug.dumpDBs()
|
||||||
--end
|
--end
|
||||||
|
dbLog:info('endDbUpdate')
|
||||||
return newTable
|
return newTable
|
||||||
end
|
end
|
||||||
|
|
||||||
local function checkSpawnedEvents()
|
--[[DB update code... FRACK. I need to refactor some of it.
|
||||||
if #tempSpawnedUnits > 0 then
|
|
||||||
local groupsToAdd = {}
|
The problem is that the DBs need to account better for shared object names. Needs to write over some data and outright remove other.
|
||||||
local added = false
|
|
||||||
local ltemp = tempSpawnedUnits
|
If groupName is used then entire group needs to be rewritten
|
||||||
local ltable = table
|
what to do with old groups units DB entries?. Names cant be assumed to be the same.
|
||||||
|
|
||||||
local updatesPerRun = math.ceil(#tempSpawnedUnits/20)
|
|
||||||
|
-- new spawn event check.
|
||||||
|
-- event handler filters everything into groups: tempSpawnedGroups
|
||||||
|
-- this function then checks DBs to see if data has changed
|
||||||
|
]]
|
||||||
|
local function checkSpawnedEventsNew()
|
||||||
|
if tempSpawnGroupsCounter > 0 then
|
||||||
|
--[[local updatesPerRun = math.ceil(#tempSpawnedGroupsCounter/20)
|
||||||
if updatesPerRun < 5 then
|
if updatesPerRun < 5 then
|
||||||
updatesPerRun = 5
|
updatesPerRun = 5
|
||||||
end
|
end]]
|
||||||
for x = 1, #tempSpawnedUnits do
|
|
||||||
local spawnedObj = ltemp[x]
|
dbLog:info('iterate')
|
||||||
if spawnedObj and spawnedObj:isExist() then
|
for name, gType in pairs(tempSpawnedGroups) do
|
||||||
local found = false
|
dbLog:info(name)
|
||||||
for name, val in pairs(groupsToAdd) do
|
local updated = false
|
||||||
if spawnedObj:getCategory() == 1 then -- normal groups
|
|
||||||
if mist.stringMatch(spawnedObj:getGroup():getName(), name) == true then
|
if mist.DBs.groupsByName[name] then
|
||||||
found = true
|
-- first check group level properties, groupId, countryId, coalition
|
||||||
break
|
dbLog:info('Found in DBs, check if updated')
|
||||||
end
|
local dbTable = mist.DBs.groupsByName[name]
|
||||||
elseif spawnedObj:getCategory() == 3 or spawnedObj:getCategory() == 6 then -- static objects
|
local _u
|
||||||
if mist.stringMatch(spawnedObj:getName(), name) == true then
|
if gType ~= 'static' then
|
||||||
found = true
|
local _g = Group.getByName(name)
|
||||||
|
_u = _g:getUnit(1)
|
||||||
|
if dbTable.groupId ~= _g:getID() or _u:getCountry() ~= dbTable.countryId or _u:getCoalition() ~= coalition.side[string.upper(dbTable.coaltionId)] then
|
||||||
|
dbLog:info('Group Data mismatch')
|
||||||
|
updated = true
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if updated == false and gType ~= 'static' then -- time to check units
|
||||||
|
dbLog:info('No Group Mismatch, Check Units')
|
||||||
|
for index, uObject in pairs(Group.getByName(name):getUnits()) do
|
||||||
|
dbLog:info(index)
|
||||||
|
if mist.DBs.unitsByName[uObject:getName()] then
|
||||||
|
dbLog:info('UnitByName table exists')
|
||||||
|
local uTable = mist.DBs.unitsByName[uObject:getName()]
|
||||||
|
if uObject:getID() ~= uTable.unitId or uObject:getTypeName() ~= uTable.type then
|
||||||
|
dbLog:info('Unit Data mismatch')
|
||||||
|
updated = true
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- for some reason cargo objects are returning as category == 6.
|
|
||||||
if found == false then
|
|
||||||
added = true
|
|
||||||
if spawnedObj:getCategory() == 1 then -- normal groups
|
|
||||||
groupsToAdd[spawnedObj:getGroup():getName()] = true
|
|
||||||
elseif spawnedObj:getCategory() == 3 or spawnedObj:getCategory() == 6 then -- static objects
|
|
||||||
groupsToAdd[spawnedObj:getName()] = true
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
table.remove(ltemp, x)
|
if updated == true or not mist.DBs.groupsByName[name] then
|
||||||
if x%updatesPerRun == 0 then
|
dbLog:info('Get Table')
|
||||||
coroutine.yield()
|
writeGroups[#writeGroups+1] = {data = dbUpdate(name, gType), isUpdated = updated}
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
-- Work done, so remove
|
||||||
|
tempSpawnedGroups[name] = nil
|
||||||
if added == true then
|
tempSpawnGroupsCounter = tempSpawnGroupsCounter - 1
|
||||||
for groupName, val in pairs(groupsToAdd) do
|
end
|
||||||
local dataChanged = false
|
end
|
||||||
if mist.DBs.groupsByName[groupName] then
|
|
||||||
for _index, data in pairs(mist.DBs.groupsByName[groupName]) do
|
|
||||||
if data.unitName ~= spawnedObj:getName() and data.unitId ~= spawnedObj:getID() and data.type ~= spawnedObj:getTypeName() then
|
|
||||||
dataChanged = true
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if dataChanged == false then
|
|
||||||
groupsToAdd[groupName] = false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if groupsToAdd[groupName] == true or not mist.DBs.groupsByName[groupName] then
|
|
||||||
writeGroups[#writeGroups + 1] = dbUpdate(groupName)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local function updateDBTables()
|
local function updateDBTables()
|
||||||
local i = 0
|
local i = #writeGroups
|
||||||
for index, newTable in pairs(writeGroups) do
|
|
||||||
i = i + 1
|
|
||||||
end
|
|
||||||
local savesPerRun = math.ceil(i/10)
|
local savesPerRun = math.ceil(i/10)
|
||||||
if savesPerRun < 5 then
|
if savesPerRun < 5 then
|
||||||
savesPerRun = 5
|
savesPerRun = 5
|
||||||
end
|
end
|
||||||
if i > 0 then
|
if i > 0 then
|
||||||
|
dbLog:info('updateDBTables')
|
||||||
local ldeepCopy = mist.utils.deepCopy
|
local ldeepCopy = mist.utils.deepCopy
|
||||||
for x = 1, i do
|
for x = 1, i do
|
||||||
local newTable = writeGroups[x]
|
dbLog:info(writeGroups[x])
|
||||||
|
local newTable = writeGroups[x].data
|
||||||
|
local updated = writeGroups[x].isUpdated
|
||||||
local mistCategory
|
local mistCategory
|
||||||
if type(newTable.category) == 'string' then
|
if type(newTable.category) == 'string' then
|
||||||
mistCategory = string.lower(newTable.category)
|
mistCategory = string.lower(newTable.category)
|
||||||
@@ -787,17 +881,43 @@ do -- the main scope
|
|||||||
mistCategory = 'ship'
|
mistCategory = 'ship'
|
||||||
newTable.category = mistCategory
|
newTable.category = mistCategory
|
||||||
end
|
end
|
||||||
|
dbLog:info('Update unitsBy')
|
||||||
for newId, newUnitData in pairs(newTable.units) do
|
for newId, newUnitData in pairs(newTable.units) do
|
||||||
|
dbLog:info(newId)
|
||||||
newUnitData.category = mistCategory
|
newUnitData.category = mistCategory
|
||||||
if newUnitData.unitId then
|
if newUnitData.unitId then
|
||||||
|
dbLog:info('byId')
|
||||||
mist.DBs.unitsById[tonumber(newUnitData.unitId)] = ldeepCopy(newUnitData)
|
mist.DBs.unitsById[tonumber(newUnitData.unitId)] = ldeepCopy(newUnitData)
|
||||||
end
|
end
|
||||||
|
dbLog:info(updated)
|
||||||
|
if mist.DBs.unitsByName[newUnitData.unitName] and updated == true then--if unit existed before and something was updated, write over the entry for a given unit name just in case.
|
||||||
|
dbLog:info('Updating Unit Tables')
|
||||||
|
for i = 1, #mist.DBs.unitsByCat[mistCategory] do
|
||||||
|
if mist.DBs.unitsByCat[mistCategory][i].unitName == newUnitData.unitName then
|
||||||
|
dbLog:info('Entry Found, Rewriting for unitsByCat')
|
||||||
|
mist.DBs.unitsByCat[mistCategory][i] = ldeepCopy(newUnitData)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for i = 1, #mist.DBs.unitsByNum do
|
||||||
|
if mist.DBs.unitsByNum[i].unitName == newUnitData.unitName then
|
||||||
|
dbLog:info('Entry Found, Rewriting for unitsByNum')
|
||||||
|
mist.DBs.unitsByNum[i] = ldeepCopy(newUnitData)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
dbLog:info('Unitname not in use, add as normal')
|
||||||
|
mist.DBs.unitsByCat[mistCategory][#mist.DBs.unitsByCat[mistCategory] + 1] = ldeepCopy(newUnitData)
|
||||||
|
mist.DBs.unitsByNum[#mist.DBs.unitsByNum + 1] = ldeepCopy(newUnitData)
|
||||||
|
end
|
||||||
mist.DBs.unitsByName[newUnitData.unitName] = ldeepCopy(newUnitData)
|
mist.DBs.unitsByName[newUnitData.unitName] = ldeepCopy(newUnitData)
|
||||||
mist.DBs.unitsByCat[mistCategory][#mist.DBs.unitsByCat[mistCategory] + 1] = ldeepCopy(newUnitData)
|
|
||||||
mist.DBs.unitsByNum[#mist.DBs.unitsByNum + 1] = ldeepCopy(newUnitData)
|
|
||||||
end
|
end
|
||||||
-- this is a really annoying DB to populate. Gotta create new tables in case its missing
|
-- this is a really annoying DB to populate. Gotta create new tables in case its missing
|
||||||
|
dbLog:info('write mist.DBs.units')
|
||||||
if not mist.DBs.units[newTable.coalition] then
|
if not mist.DBs.units[newTable.coalition] then
|
||||||
mist.DBs.units[newTable.coalition] = {}
|
mist.DBs.units[newTable.coalition] = {}
|
||||||
end
|
end
|
||||||
@@ -809,7 +929,20 @@ do -- the main scope
|
|||||||
if not mist.DBs.units[newTable.coalition][newTable.country][mistCategory] then
|
if not mist.DBs.units[newTable.coalition][newTable.country][mistCategory] then
|
||||||
mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory] = {}
|
mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory] = {}
|
||||||
end
|
end
|
||||||
mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory][#mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory] + 1] = ldeepCopy(newTable)
|
|
||||||
|
if updated == true then
|
||||||
|
dbLog:info('Updating DBsUnits')
|
||||||
|
for i = 1, #mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory] do
|
||||||
|
if mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory][i].groupName == newTable.groupName then
|
||||||
|
dbLog:info('Entry Found, Rewriting')
|
||||||
|
mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory][i] = ldeepCopy(newTable)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory][#mist.DBs.units[newTable.coalition][(newTable.country)][mistCategory] + 1] = ldeepCopy(newTable)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
if newTable.groupId then
|
if newTable.groupId then
|
||||||
mist.DBs.groupsById[newTable.groupId] = ldeepCopy(newTable)
|
mist.DBs.groupsById[newTable.groupId] = ldeepCopy(newTable)
|
||||||
@@ -826,13 +959,34 @@ do -- the main scope
|
|||||||
if timer.getTime() > lastUpdateTime then
|
if timer.getTime() > lastUpdateTime then
|
||||||
lastUpdateTime = timer.getTime()
|
lastUpdateTime = timer.getTime()
|
||||||
end
|
end
|
||||||
|
dbLog:info('endUpdateTables')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function groupSpawned(event)
|
local function groupSpawned(event)
|
||||||
-- dont need to add units spawned in at the start of the mission if mist is loaded in init line
|
-- dont need to add units spawned in at the start of the mission if mist is loaded in init line
|
||||||
if event.id == world.event.S_EVENT_BIRTH and timer.getTime0() < timer.getAbsTime() then
|
if event.id == world.event.S_EVENT_BIRTH and timer.getTime0() < timer.getAbsTime() then
|
||||||
table.insert(tempSpawnedUnits,(event.initiator))
|
dbLog:info('unitSpawnEvent')
|
||||||
|
|
||||||
|
--table.insert(tempSpawnedUnits,(event.initiator))
|
||||||
|
-------
|
||||||
|
-- New functionality below.
|
||||||
|
-------
|
||||||
|
if Object.getCategory(event.initiator) == 1 and not Unit.getPlayerName(event.initiator) then -- simple player check, will need to later check to see if unit was spawned with a player in a flight
|
||||||
|
dbLog:info('Object is a Unit')
|
||||||
|
dbLog:info(Unit.getGroup(event.initiator):getName())
|
||||||
|
if not tempSpawnedGroups[Unit.getGroup(event.initiator):getName()] then
|
||||||
|
dbLog:info('added')
|
||||||
|
tempSpawnedGroups[Unit.getGroup(event.initiator):getName()] = 'group'
|
||||||
|
tempSpawnGroupsCounter = tempSpawnGroupsCounter + 1
|
||||||
|
end
|
||||||
|
elseif Object.getCategory(event.initiator) == 3 or Object.getCategory(event.initiator) == 6 then
|
||||||
|
dbLog:info('Object is Static')
|
||||||
|
tempSpawnedGroups[StaticObject.getName(event.initiator)] = 'static'
|
||||||
|
tempSpawnGroupsCounter = tempSpawnGroupsCounter + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -938,7 +1092,7 @@ do -- the main scope
|
|||||||
--[[
|
--[[
|
||||||
local function addClientsToActive(event)
|
local function addClientsToActive(event)
|
||||||
if event.id == world.event.S_EVENT_PLAYER_ENTER_UNIT or event.id == world.event.S_EVENT_BIRTH then
|
if event.id == world.event.S_EVENT_PLAYER_ENTER_UNIT or event.id == world.event.S_EVENT_BIRTH then
|
||||||
log:info(mist.utils.tableShow(event))
|
log:info(event)
|
||||||
if Unit.getPlayerName(event.initiator) then
|
if Unit.getPlayerName(event.initiator) then
|
||||||
log:info(Unit.getPlayerName(event.initiator))
|
log:info(Unit.getPlayerName(event.initiator))
|
||||||
local newU = mist.utils.deepCopy(mist.DBs.unitsByName[Unit.getName(event.initiator)])
|
local newU = mist.utils.deepCopy(mist.DBs.unitsByName[Unit.getName(event.initiator)])
|
||||||
@@ -964,6 +1118,8 @@ do -- the main scope
|
|||||||
function mist.init()
|
function mist.init()
|
||||||
-- create logger
|
-- create logger
|
||||||
mist.log = mist.Logger:new("MIST")
|
mist.log = mist.Logger:new("MIST")
|
||||||
|
dbLog = mist.Logger:new('MISTDB', 'warning')
|
||||||
|
|
||||||
log = mist.log -- log shorthand
|
log = mist.log -- log shorthand
|
||||||
-- set warning log level, showing only
|
-- set warning log level, showing only
|
||||||
-- warnings and errors
|
-- warnings and errors
|
||||||
@@ -988,10 +1144,12 @@ do -- the main scope
|
|||||||
function mist.main()
|
function mist.main()
|
||||||
timer.scheduleFunction(mist.main, {}, timer.getTime() + 0.01) --reschedule first in case of Lua error
|
timer.scheduleFunction(mist.main, {}, timer.getTime() + 0.01) --reschedule first in case of Lua error
|
||||||
|
|
||||||
writeDbTableCounter = writeDbTableCounter + 1
|
updateTenthSecond = updateTenthSecond + 1
|
||||||
if writeDbTableCounter == 10 then
|
if updateTenthSecond == 10 then
|
||||||
writeDbTableCounter = 0
|
updateTenthSecond = 0
|
||||||
|
|
||||||
|
checkSpawnedEventsNew()
|
||||||
|
|
||||||
if not coroutines.updateDBTables then
|
if not coroutines.updateDBTables then
|
||||||
coroutines.updateDBTables = coroutine.create(updateDBTables)
|
coroutines.updateDBTables = coroutine.create(updateDBTables)
|
||||||
end
|
end
|
||||||
@@ -1003,21 +1161,6 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
checkSpawnEventsCounter = checkSpawnEventsCounter + 1
|
|
||||||
if checkSpawnEventsCounter == 10 then
|
|
||||||
checkSpawnEventsCounter = 0
|
|
||||||
|
|
||||||
if not coroutines.checkSpawnedEvents then
|
|
||||||
coroutines.checkSpawnedEvents = coroutine.create(checkSpawnedEvents)
|
|
||||||
end
|
|
||||||
|
|
||||||
coroutine.resume(coroutines.checkSpawnedEvents)
|
|
||||||
|
|
||||||
if coroutine.status(coroutines.checkSpawnedEvents) == 'dead' then
|
|
||||||
coroutines.checkSpawnedEvents = nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
--updating alive units
|
--updating alive units
|
||||||
updateAliveUnitsCounter = updateAliveUnitsCounter + 1
|
updateAliveUnitsCounter = updateAliveUnitsCounter + 1
|
||||||
if updateAliveUnitsCounter == 5 then
|
if updateAliveUnitsCounter == 5 then
|
||||||
@@ -1066,62 +1209,42 @@ do -- the main scope
|
|||||||
--- Spawns a static object to the game world.
|
--- Spawns a static object to the game world.
|
||||||
-- @todo write good docs
|
-- @todo write good docs
|
||||||
-- @tparam table staticObj table containing data needed for the object creation
|
-- @tparam table staticObj table containing data needed for the object creation
|
||||||
function mist.dynAddStatic(staticObj)
|
function mist.dynAddStatic(newObj)
|
||||||
local newObj = {}
|
|
||||||
newObj.groupId = staticObj.groupId
|
|
||||||
newObj.category = staticObj.category
|
|
||||||
newObj.type = staticObj.type
|
|
||||||
newObj.unitId = staticObj.unitId
|
|
||||||
newObj.y = staticObj.y
|
|
||||||
newObj.x = staticObj.x
|
|
||||||
newObj.heading = staticObj.heading
|
|
||||||
newObj.name = staticObj.name
|
|
||||||
newObj.dead = staticObj.dead
|
|
||||||
newObj.country = staticObj.country
|
|
||||||
newObj.countryId = staticObj.countryId
|
|
||||||
newObj.clone = staticObj.clone
|
|
||||||
newObj.shape_name = staticObj.shape_name
|
|
||||||
newObj.canCargo = staticObj.canCargo
|
|
||||||
newObj.mass = staticObj.mass
|
|
||||||
newObj.categoryStatic = staticObj.categoryStatic
|
|
||||||
if staticObj.units then -- if its mist format
|
|
||||||
newObj.groupId = staticObj.units[1].groupId
|
|
||||||
newObj.category = staticObj.units[1].category
|
|
||||||
newObj.type = staticObj.units[1].type
|
|
||||||
newObj.unitId = staticObj.units[1].unitId
|
|
||||||
newObj.y = staticObj.units[1].y
|
|
||||||
newObj.x = staticObj.units[1].x
|
|
||||||
newObj.heading = staticObj.units[1].heading
|
|
||||||
newObj.name = staticObj.units[1].name
|
|
||||||
newObj.dead = staticObj.units[1].dead
|
|
||||||
newObj.country = staticObj.units[1].country
|
|
||||||
newObj.countryId = staticObj.units[1].countryId
|
|
||||||
newObj.shape_name = staticObj.units[1].shape_name
|
|
||||||
newObj.canCargo = staticObj.units[1].canCargo
|
|
||||||
newObj.mass = staticObj.units[1].mass
|
|
||||||
newObj.categoryStatic = staticObj.units[1].categoryStatic
|
|
||||||
end
|
|
||||||
|
|
||||||
if not newObj.country then
|
if newObj.units and newObj.units[1] then -- if its mist format
|
||||||
return false
|
for entry, val in pairs(newObj.units[1]) do
|
||||||
|
if newObj[entry] and newObj[entry] ~= val or not newObj[entry] then
|
||||||
|
newObj[entry] = val
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
--log:info(newObj)
|
||||||
local newCountry = newObj.country
|
|
||||||
|
local cntry = newObj.country
|
||||||
if newObj.countryId then
|
if newObj.countryId then
|
||||||
newCountry = newObj.countryId
|
cntry = newObj.countryId
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local newCountry = ''
|
||||||
|
|
||||||
for countryId, countryName in pairs(country.name) do
|
for countryId, countryName in pairs(country.name) do
|
||||||
if type(newObj.country) == 'string' then
|
if type(cntry) == 'string' then
|
||||||
if tostring(countryName) == string.upper(newObj.country) then
|
cntry = cntry:gsub("%s+", "_")
|
||||||
|
if tostring(countryName) == string.upper(cntry) then
|
||||||
newCountry = countryName
|
newCountry = countryName
|
||||||
end
|
end
|
||||||
elseif type(newObj.country) == 'number' then
|
elseif type(cntry) == 'number' then
|
||||||
if countryId == newObj.country then
|
if countryId == cntry then
|
||||||
newCountry = countryName
|
newCountry = countryName
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if newCountry == '' then
|
||||||
|
log:error("Country not found: $1", cntry)
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
if newObj.clone or not newObj.groupId then
|
if newObj.clone or not newObj.groupId then
|
||||||
mistGpId = mistGpId + 1
|
mistGpId = mistGpId + 1
|
||||||
newObj.groupId = mistGpId
|
newObj.groupId = mistGpId
|
||||||
@@ -1133,8 +1256,8 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
|
|
||||||
if newObj.clone or not newObj.name then
|
if newObj.clone or not newObj.name then
|
||||||
mistDynAddIndex = mistDynAddIndex + 1
|
mistDynAddIndex[' static '] = mistDynAddIndex[' static '] + 1
|
||||||
newObj.name = (country.name[newCountry] .. ' static ' .. mistDynAddIndex)
|
newObj.name = (newCountry .. ' static ' .. mistDynAddIndex[' static '])
|
||||||
end
|
end
|
||||||
|
|
||||||
if not newObj.dead then
|
if not newObj.dead then
|
||||||
@@ -1144,19 +1267,33 @@ do -- the main scope
|
|||||||
if not newObj.heading then
|
if not newObj.heading then
|
||||||
newObj.heading = math.random(360)
|
newObj.heading = math.random(360)
|
||||||
end
|
end
|
||||||
|
|
||||||
if newObj.categoryStatic then
|
if newObj.categoryStatic then
|
||||||
newObj.category = newObj.categoryStatic
|
newObj.category = newObj.categoryStatic
|
||||||
end
|
end
|
||||||
if newObj.mass then
|
if newObj.mass then
|
||||||
newObj.category = 'Cargos'
|
newObj.category = 'Cargos'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if newObj.shapeName then
|
||||||
|
newObj.shape_name = newObj.shapeName
|
||||||
|
end
|
||||||
|
|
||||||
|
if not newObj.shape_name then
|
||||||
|
log:info('shape_name not present')
|
||||||
|
if mist.DBs.const.shapeNames[newObj.type] then
|
||||||
|
newObj.shape_name = mist.DBs.const.shapeNames[newObj.type]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
mistAddedObjects[#mistAddedObjects + 1] = mist.utils.deepCopy(newObj)
|
mistAddedObjects[#mistAddedObjects + 1] = mist.utils.deepCopy(newObj)
|
||||||
if newObj.x and newObj.y and newObj.type and type(newObj.x) == 'number' and type(newObj.y) == 'number' and type(newObj.type) == 'string' then
|
if newObj.x and newObj.y and newObj.type and type(newObj.x) == 'number' and type(newObj.y) == 'number' and type(newObj.type) == 'string' then
|
||||||
|
--log:info('addStaticObject')
|
||||||
coalition.addStaticObject(country.id[newCountry], newObj)
|
coalition.addStaticObject(country.id[newCountry], newObj)
|
||||||
|
|
||||||
return newObj
|
return newObj
|
||||||
end
|
end
|
||||||
|
log:error("Failed to add static object due to missing or incorrect value. X: $1, Y: $2, Type: $3", newObj.x, newObj.y, newObj.type)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1189,6 +1326,7 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
|
|
||||||
if newCountry == '' then
|
if newCountry == '' then
|
||||||
|
log:error("Country not found: $1", cntry)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1223,7 +1361,7 @@ do -- the main scope
|
|||||||
typeName = ' bld '
|
typeName = ' bld '
|
||||||
end
|
end
|
||||||
if newGroup.clone or not newGroup.groupId then
|
if newGroup.clone or not newGroup.groupId then
|
||||||
mistDynAddIndex = mistDynAddIndex + 1
|
mistDynAddIndex[typeName] = mistDynAddIndex[typeName] + 1
|
||||||
mistGpId = mistGpId + 1
|
mistGpId = mistGpId + 1
|
||||||
newGroup.groupId = mistGpId
|
newGroup.groupId = mistGpId
|
||||||
end
|
end
|
||||||
@@ -1236,7 +1374,7 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
|
|
||||||
if newGroup.clone and mist.DBs.groupsByName[newGroup.name] or not newGroup.name then
|
if newGroup.clone and mist.DBs.groupsByName[newGroup.name] or not newGroup.name then
|
||||||
newGroup.name = tostring(tostring(country.name[cntry]) .. tostring(typeName) .. mistDynAddIndex)
|
newGroup.name = tostring(newCountry .. tostring(typeName) .. mistDynAddIndex[typeName])
|
||||||
end
|
end
|
||||||
|
|
||||||
if not newGroup.hidden then
|
if not newGroup.hidden then
|
||||||
@@ -1408,7 +1546,10 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Begin common funcs
|
||||||
|
do
|
||||||
--- Returns MGRS coordinates as string.
|
--- Returns MGRS coordinates as string.
|
||||||
-- @tparam string MGRS MGRS coordinates
|
-- @tparam string MGRS MGRS coordinates
|
||||||
-- @tparam number acc the accuracy of each easting/northing.
|
-- @tparam number acc the accuracy of each easting/northing.
|
||||||
@@ -1560,6 +1701,7 @@ do -- the main scope
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
log:error("Unit not found in DB: $1", unitName)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1575,7 +1717,11 @@ do -- the main scope
|
|||||||
-- search by groupId and allow groupId and groupName as inputs
|
-- search by groupId and allow groupId and groupName as inputs
|
||||||
local gpId = groupIdent
|
local gpId = groupIdent
|
||||||
if type(groupIdent) == 'string' and not tonumber(groupIdent) then
|
if type(groupIdent) == 'string' and not tonumber(groupIdent) then
|
||||||
gpId = mist.DBs.MEgroupsByName[groupIdent].groupId
|
if mist.DBs.MEgroupsByName[groupIdent] then
|
||||||
|
gpId = mist.DBs.MEgroupsByName[groupIdent].groupId
|
||||||
|
else
|
||||||
|
log:error("Group not found in mist.DBs.MEgroupsByName: $1", groupIdent)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for coa_name, coa_data in pairs(env.mission.coalition) do
|
for coa_name, coa_data in pairs(env.mission.coalition) do
|
||||||
@@ -2889,7 +3035,7 @@ do -- group functions scope
|
|||||||
newData.units[unitNum].shape_name = unitData.shape_name
|
newData.units[unitNum].shape_name = unitData.shape_name
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
--log:info(newData)
|
||||||
return newData
|
return newData
|
||||||
else
|
else
|
||||||
log:error('$1 not found in MIST database', gpName)
|
log:error('$1 not found in MIST database', gpName)
|
||||||
@@ -2901,7 +3047,11 @@ do -- group functions scope
|
|||||||
-- refactor to search by groupId and allow groupId and groupName as inputs
|
-- refactor to search by groupId and allow groupId and groupName as inputs
|
||||||
local unitId = unitIdent
|
local unitId = unitIdent
|
||||||
if type(unitIdent) == 'string' and not tonumber(unitIdent) then
|
if type(unitIdent) == 'string' and not tonumber(unitIdent) then
|
||||||
unitId = mist.DBs.MEunitsByName[unitIdent].unitId
|
if mist.DBs.MEunitsByName[unitIdent] then
|
||||||
|
unitId = mist.DBs.MEunitsByName[unitIdent].unitId
|
||||||
|
else
|
||||||
|
log:error("Unit not found in mist.DBs.MEunitsByName: $1", unitIdent)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
local gpId = mist.DBs.MEunitsById[unitId].groupId
|
local gpId = mist.DBs.MEunitsById[unitId].groupId
|
||||||
|
|
||||||
@@ -2940,7 +3090,11 @@ do -- group functions scope
|
|||||||
function mist.getGroupPayload(groupIdent)
|
function mist.getGroupPayload(groupIdent)
|
||||||
local gpId = groupIdent
|
local gpId = groupIdent
|
||||||
if type(groupIdent) == 'string' and not tonumber(groupIdent) then
|
if type(groupIdent) == 'string' and not tonumber(groupIdent) then
|
||||||
gpId = mist.DBs.MEgroupsByName[groupIdent].groupId
|
if mist.DBs.MEgroupsByName[groupIdent] then
|
||||||
|
gpId = mist.DBs.MEgroupsByName[groupIdent].groupId
|
||||||
|
else
|
||||||
|
log:error('$1 not found in mist.DBs.MEgroupsByName', groupIdent)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if gpId then
|
if gpId then
|
||||||
@@ -3022,7 +3176,8 @@ do -- group functions scope
|
|||||||
action = 'tele'
|
action = 'tele'
|
||||||
newGroupData = vars.groupData
|
newGroupData = vars.groupData
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--log:info('get Randomized Point')
|
||||||
local diff = {x = 0, y = 0}
|
local diff = {x = 0, y = 0}
|
||||||
local newCoord, origCoord
|
local newCoord, origCoord
|
||||||
if point then
|
if point then
|
||||||
@@ -3047,7 +3202,7 @@ do -- group functions scope
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
if valid == false then
|
if valid == false then
|
||||||
log:error('point supplied in variable table is not a valid coordinate.')
|
log:error('Point supplied in variable table is not a valid coordinate. Valid coords: $1', validTerrain)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -3106,6 +3261,7 @@ do -- group functions scope
|
|||||||
end
|
end
|
||||||
--mist.debug.writeData(mist.utils.serialize,{'teleportToPoint', newGroupData}, 'newGroupData.lua')
|
--mist.debug.writeData(mist.utils.serialize,{'teleportToPoint', newGroupData}, 'newGroupData.lua')
|
||||||
if string.lower(newGroupData.category) == 'static' then
|
if string.lower(newGroupData.category) == 'static' then
|
||||||
|
--log:info(newGroupData)
|
||||||
return mist.dynAddStatic(newGroupData)
|
return mist.dynAddStatic(newGroupData)
|
||||||
end
|
end
|
||||||
return mist.dynAdd(newGroupData)
|
return mist.dynAdd(newGroupData)
|
||||||
@@ -3138,7 +3294,7 @@ do -- group functions scope
|
|||||||
end
|
end
|
||||||
|
|
||||||
function mist.cloneInZone(gpName, zone, disperse, maxDisp)
|
function mist.cloneInZone(gpName, zone, disperse, maxDisp)
|
||||||
|
--log:info('cloneInZone')
|
||||||
if type(gpName) == 'table' then
|
if type(gpName) == 'table' then
|
||||||
gpName = gpName:getName()
|
gpName = gpName:getName()
|
||||||
else
|
else
|
||||||
@@ -3157,6 +3313,7 @@ do -- group functions scope
|
|||||||
vars.radius = zone.radius
|
vars.radius = zone.radius
|
||||||
vars.disperse = disperse
|
vars.disperse = disperse
|
||||||
vars.maxDisp = maxDisp
|
vars.maxDisp = maxDisp
|
||||||
|
--log:info('do teleport')
|
||||||
return mist.teleportToPoint(vars)
|
return mist.teleportToPoint(vars)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -3462,70 +3619,70 @@ do -- mist.util scope
|
|||||||
--- Converts angle in radians to degrees.
|
--- Converts angle in radians to degrees.
|
||||||
-- @param angle angle in radians
|
-- @param angle angle in radians
|
||||||
-- @return angle in degrees
|
-- @return angle in degrees
|
||||||
function mist.utils.toDegree (angle)
|
function mist.utils.toDegree(angle)
|
||||||
return angle*180/math.pi
|
return angle*180/math.pi
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts angle in degrees to radians.
|
--- Converts angle in degrees to radians.
|
||||||
-- @param angle angle in degrees
|
-- @param angle angle in degrees
|
||||||
-- @return angle in degrees
|
-- @return angle in degrees
|
||||||
function mist.utils.toRadian (angle)
|
function mist.utils.toRadian(angle)
|
||||||
return angle*math.pi/180
|
return angle*math.pi/180
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts meters to nautical miles.
|
--- Converts meters to nautical miles.
|
||||||
-- @param meters distance in meters
|
-- @param meters distance in meters
|
||||||
-- @return distance in nautical miles
|
-- @return distance in nautical miles
|
||||||
function mist.utils.metersToNM (meters)
|
function mist.utils.metersToNM(meters)
|
||||||
return meters/1852
|
return meters/1852
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts meters to feet.
|
--- Converts meters to feet.
|
||||||
-- @param meters distance in meters
|
-- @param meters distance in meters
|
||||||
-- @return distance in feet
|
-- @return distance in feet
|
||||||
function mist.utils.metersToFeet (meters)
|
function mist.utils.metersToFeet(meters)
|
||||||
return meters/0.3048
|
return meters/0.3048
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts nautical miles to meters.
|
--- Converts nautical miles to meters.
|
||||||
-- @param nm distance in nautical miles
|
-- @param nm distance in nautical miles
|
||||||
-- @return distance in meters
|
-- @return distance in meters
|
||||||
function mist.utils.NMToMeters (nm)
|
function mist.utils.NMToMeters(nm)
|
||||||
return NM*1852
|
return nm*1852
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts feet to meters.
|
--- Converts feet to meters.
|
||||||
-- @param feet distance in feet
|
-- @param feet distance in feet
|
||||||
-- @return distance in meters
|
-- @return distance in meters
|
||||||
function mist.utils.feetToMeters (feet)
|
function mist.utils.feetToMeters(feet)
|
||||||
return feet*0.3048
|
return feet*0.3048
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts meters per second to knots.
|
--- Converts meters per second to knots.
|
||||||
-- @param mps speed in m/s
|
-- @param mps speed in m/s
|
||||||
-- @return speed in knots
|
-- @return speed in knots
|
||||||
function mist.utils.mpsToKnots (mps)
|
function mist.utils.mpsToKnots(mps)
|
||||||
return mps*3600/1852
|
return mps*3600/1852
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts meters per second to kilometers per hour.
|
--- Converts meters per second to kilometers per hour.
|
||||||
-- @param mps speed in m/s
|
-- @param mps speed in m/s
|
||||||
-- @return speed in km/h
|
-- @return speed in km/h
|
||||||
function mist.utils.mpsToKmph (mps)
|
function mist.utils.mpsToKmph(mps)
|
||||||
return mps*3.6
|
return mps*3.6
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts knots to meters per second.
|
--- Converts knots to meters per second.
|
||||||
-- @param knots speed in knots
|
-- @param knots speed in knots
|
||||||
-- @return speed in m/s
|
-- @return speed in m/s
|
||||||
function mist.utils.knotsToMps (knots)
|
function mist.utils.knotsToMps(knots)
|
||||||
return knots*1852/3600
|
return knots*1852/3600
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Converts kilometers per hour to meters per second.
|
--- Converts kilometers per hour to meters per second.
|
||||||
-- @param kmph speed in km/h
|
-- @param kmph speed in km/h
|
||||||
-- @return speed in m/s
|
-- @return speed in m/s
|
||||||
function mist.utils.kmphToMps (kmph)
|
function mist.utils.kmphToMps(kmph)
|
||||||
return kmph/3.6
|
return kmph/3.6
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -3575,12 +3732,16 @@ do -- mist.util scope
|
|||||||
--- Returns the center of a zone as Vec3.
|
--- Returns the center of a zone as Vec3.
|
||||||
-- @tparam string|table zone trigger zone name or table
|
-- @tparam string|table zone trigger zone name or table
|
||||||
-- @treturn Vec3 center of the zone
|
-- @treturn Vec3 center of the zone
|
||||||
function mist.utils.zoneToVec3 (zone)
|
function mist.utils.zoneToVec3(zone)
|
||||||
local new = {}
|
local new = {}
|
||||||
if type(zone) == 'table' and zone.point then
|
if type(zone) == 'table' then
|
||||||
new.x = zone.point.x
|
if zone.point then
|
||||||
new.y = zone.point.y
|
new.x = zone.point.x
|
||||||
new.z = zone.point.z
|
new.y = zone.point.y
|
||||||
|
new.z = zone.point.z
|
||||||
|
elseif zone.x and zone.y and zone.z then
|
||||||
|
return zone
|
||||||
|
end
|
||||||
return new
|
return new
|
||||||
elseif type(zone) == 'string' then
|
elseif type(zone) == 'string' then
|
||||||
zone = trigger.misc.getZone(zone)
|
zone = trigger.misc.getZone(zone)
|
||||||
@@ -3662,6 +3823,7 @@ do -- mist.util scope
|
|||||||
|
|
||||||
return new
|
return new
|
||||||
end
|
end
|
||||||
|
log:error("$1 not found or doesn't exist", pUnit)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -5778,9 +5940,11 @@ do -- group tasks scope
|
|||||||
function mist.getGroupRoute(groupIdent, task)
|
function mist.getGroupRoute(groupIdent, task)
|
||||||
-- refactor to search by groupId and allow groupId and groupName as inputs
|
-- refactor to search by groupId and allow groupId and groupName as inputs
|
||||||
local gpId = groupIdent
|
local gpId = groupIdent
|
||||||
if type(groupIdent) == 'string' and not tonumber(groupIdent) then
|
if mist.DBs.MEgroupsByName[groupIdent] then
|
||||||
gpId = mist.DBs.MEgroupsByName[groupIdent].groupId
|
gpId = mist.DBs.MEgroupsByName[groupIdent].groupId
|
||||||
end
|
else
|
||||||
|
log:error('$1 not found in mist.DBs.MEgroupsByName', groupIdent)
|
||||||
|
end
|
||||||
|
|
||||||
for coa_name, coa_data in pairs(env.mission.coalition) do
|
for coa_name, coa_data in pairs(env.mission.coalition) do
|
||||||
if (coa_name == 'red' or coa_name == 'blue') and type(coa_data) == 'table' then
|
if (coa_name == 'red' or coa_name == 'blue') and type(coa_data) == 'table' then
|
||||||
@@ -5818,6 +5982,7 @@ do -- group tasks scope
|
|||||||
|
|
||||||
return points
|
return points
|
||||||
end
|
end
|
||||||
|
log:error('Group route not defined in mission editor for groupId: $1', gpId)
|
||||||
return
|
return
|
||||||
end --if group_data and group_data.name and group_data.name == 'groupname'
|
end --if group_data and group_data.name and group_data.name == 'groupname'
|
||||||
end --for group_num, group_data in pairs(obj_type_data.group) do
|
end --for group_num, group_data in pairs(obj_type_data.group) do
|
||||||
@@ -6482,7 +6647,7 @@ do -- mist.Logger scope
|
|||||||
self.level = 0
|
self.level = 0
|
||||||
elseif level == 'error' then
|
elseif level == 'error' then
|
||||||
self.level = 1
|
self.level = 1
|
||||||
elseif level == 'warning' then
|
elseif level == 'warning' or level == 'warn' then
|
||||||
self.level = 2
|
self.level = 2
|
||||||
elseif level == 'info' then
|
elseif level == 'info' then
|
||||||
self.level = 3
|
self.level = 3
|
||||||
Binary file not shown.
Reference in New Issue
Block a user