Jump to content

xcom

ED Beta Testers
  • Posts

    1517
  • Joined

  • Last visited

Everything posted by xcom

  1. Please add unsubscribe option to the emails that have recently sent, I would hate to have to remove my registration.
  2. It is working for us on 1.2.8. check that the server.lua and missionscripting.lua files are correct.
  3. Should probably be the same as non player units. I'll get the script here and show how it could be done.
  4. One way we solved this with my capture airfield script is to remove the unit before it exploads and generate an explosion at that same point.
  5. Updaing to a new version of the statistics script that saves info into a file in the format of CSV - Event handler - local eHandler = {} EHCoalition = { [1] = "red", [2] = "blue", } EHUCategory = { [1] = "GROUND_UNIT", [2] = "AIRPLANE", [3] = "HELICOPTER", [4] = "SHIP", [5] = "STRUCTURE", } EHGCategory = { [1] = "AIRPLANE", [2] = "HELICOPTER", [3] = "GROUND", [4] = "SHIP", } EHOfield = { [1] = "time", [2] = "coalition", [3] = "player", [4] = "unitName", [5] = "groupName", [6] = "weapon", [7] = "target", [8] = "launcher", [9] = "unitcategorynumber", [10] = "unitcategoryname", } wCategoryName = { [0] = "SHELL", [1] = "MISSILE", [2] = "ROCKET", [3] = "BOMB", } eventSpecificUnitTable = {} function SecondsToClock(sSeconds) local nSeconds = sSeconds if nSeconds == 0 then --return nil; return "00:00:00"; else nHours = string.format("%02.f", math.floor(nSeconds/3600)); nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); return nHours..":"..nMins..":"..nSecs end end function eHandler:onEvent(e) if e.initiator then local eid = e.initiator.id_ if eventSpecificUnitTable[eid] == nil then eventSpecificUnitTable[eid] = {} eventSpecificUnitTable[eid][e.id] = {} eIndex = 0 elseif eventSpecificUnitTable[eid][e.id] == nil then eventSpecificUnitTable[eid][e.id] = {} eIndex = 0 else eIndex = #eventSpecificUnitTable[eid][e.id] end local WorldEvent = world.event[e.id] local uGroup = e.initiator:getGroup() local uCoa = uGroup:getCoalition() local uCategory = e.initiator:getCategory() local gCategory = uGroup:getCategory() + 1 local uName = e.initiator:getName() local uType = e.initiator:getTypeName() local uPlayer if not e.initiator:getPlayerName() then uPlayer = "AI" else uPlayer = e.initiator:getPlayerName() end local wCategory local wFlag if e.weapon == nil then wCategory = "No Weapon" wFlag = "No Weapon" else local wDesc = e.weapon:getDesc() wCategory = wCategoryName[wDesc.category] wFlag = wDesc.displayName end local eTargetType local eTargetPlayer if e.target == nil or Object.getCategory(e.target) == Object.Category.STATIC or Object.getCategory(e.target) == Object.Category.BASE or Object.getCategory(e.target) == Object.Category.SCENERY then eTargetType = "No Target" eTargetPlayer = "No Target" else eTargetType = e.target:getTypeName() if not e.target:getPlayerName() then eTargetPlayer = "AI" else eTargetPlayer = e.target:getPlayerName() end end eventSpecificUnitTable[eid][e.id][eIndex + 1] = { ["Time"] = SecondsToClock(timer.getTime()), ["PlayerName"] = uPlayer, ["UnitType"] = uType, ["Weapon"] = wFlag, ["WeaponCategory"] = wCategory, ["TargetType"] = eTargetType, ["TargetPlayerName"] = eTargetPlayer, } end end world.addEventHandler(eHandler) Save statistics script - local fdir = lfs.writedir() .. [[Logs\Save_stat\]] .. "EventUnitHandler" .. timer.getTime() .. ".txt" local f,err = io.open(fdir,"w") if not f then local errmsg = 'Error: Need to create new folder in the Logs folder with the name' .. 'Save_stat . sample: C:\Users\youname\Saved Games\DCS\Logs\Save_stat' trigger.action.outText(errmsg, 10) return print(err) end wEvent = { "S_EVENT_SHOT", "S_EVENT_HIT", "S_EVENT_TAKEOFF", "S_EVENT_LAND", "S_EVENT_CRASH", "S_EVENT_EJECTION", "S_EVENT_REFUELING", "S_EVENT_DEAD", "S_EVENT_PILOT_DEAD", "S_EVENT_BASE_CAPTURED", "S_EVENT_MISSION_START", "S_EVENT_MISSION_END", "S_EVENT_TOOK_CONTROL", "S_EVENT_REFUELING_STOP", "S_EVENT_BIRTH", "S_EVENT_HUMAN_FAILURE", "S_EVENT_ENGINE_STARTUP", "S_EVENT_ENGINE_SHUTDOWN", "S_EVENT_PLAYER_ENTER_UNIT", "S_EVENT_PLAYER_LEAVE_UNIT", "S_EVENT_PLAYER_COMMENT", "S_EVENT_SHOOTING_START", "S_EVENT_SHOOTING_END", "S_EVENT_MAX", } --write statistic information to file f:write("------MISSION STATISTICS------\n\n") f:write("UnitID,Event,EventIndex,UnitType,Time,WeaponCategory,PlayerName,TargetType,TargetPlayerName,Weapon\n") for unit, uEvents in pairs(eventSpecificUnitTable) do for WorldEventID, eList in pairs(uEvents) do for index, eDetails in ipairs(eList) do f:write(unit..",") f:write(wEvent[WorldEventID]..",") f:write(index..",") for eInfoName, eInfoData in pairs(eDetails) do f:write(eInfoData..",") end f:write("\n") end end end f:close() CSV format can be used to import into a DB for example which will let us do smart queries to retrieve whatever info we like. Enjoy :)
  6. Great work! Will be added to our upcoming WWII campaign.
  7. Hey Ragnar, Any chance to add beacons for all the downed pilots and include the freq once you open the -stl and select which pilot you want to try and rescue?
  8. Glad to hear I could help. If someone with experience in all the available functions that the scripting engine offers would write a small guide on how to apply all of the scripts in the scripting engine it would be great, there's a lot of information missing from the DCS Scripting engine wiki. Right now it's back to trial and error. I really suggest using mist.gettable or something similar (forgot the name of the function), it will let you see a lot of info that is returned and be able to deduct a lot from it.
  9. You would need to create a switched condition trigger that would have a condition when the unit is dead and then an action that would run the respawn script.
  10. I think I'm on the same boat as you are ENO, I'm not a programmer and I'm trying to figure this stuff as I go. Because we needed some statistics drawn out for our campaign, I started looking at how I could get those statistics out. First I went and tried working with MIST cuz I remember that it has a table that keeps destroyed units information, then I decided to try it on my own and started to figure out how to use the event handler. Basically, The event handler picks up events, any events according to the following - world.event = { S_EVENT_SHOT, S_EVENT_HIT, S_EVENT_TAKEOFF, S_EVENT_LAND, S_EVENT_CRASH, S_EVENT_EJECTION, S_EVENT_REFUELING, S_EVENT_DEAD, S_EVENT_PILOT_DEAD, S_EVENT_BASE_CAPTURED, S_EVENT_MISSION_START, S_EVENT_MISSION_END, S_EVENT_TOOK_CONTROL, S_EVENT_REFUELING_STOP, S_EVENT_BIRTH, S_EVENT_HUMAN_FAILURE, S_EVENT_ENGINE_STARTUP, S_EVENT_ENGINE_SHUTDOWN, S_EVENT_PLAYER_ENTER_UNIT, S_EVENT_PLAYER_LEAVE_UNIT } The above returns a number not the name, it is explained in the scripting engine. Each of these events are logged by the event handler, the list I gave in the post before shows us how these events are written and what we can use in each event. Generic event (not all the fields are avaialble for all events, that's why i published the list in the post before) - Event = { id = enum world.event, time = Time, initiator = Unit, target = Unit, place = Unit, subPlace = enum world.BirthPlace, weapon = Weapon } Let's say you want to know when a unit has ejected and created at that spot an area for SAR, you would use the EJECTION event that the event handler catches and get the location with vec3 to know exactly where the ejection was. The event handler works constantly with any event, think of it kind of the same as in the mission editor trigger - Continues (On event...) To setup the event handler - local eventHandlerTable= {} function eventHandlerTable:onEvent(e) DO SOMETHING end world.addEventHandler(eventHandlerTable) This structure should run the function in anytime there's any of the events I wrote before, and that way you can do stuff when events occur, I for example write statistics when there are units/pilots dead among other things. Hope this helps, I know I was struggling with it a few weeks ago.
  11. List of event tables that can be used in the event handler - 1:S_EVENT_SHOT { ["id"] = 1, ["weapon"] = table: 000000004DFEC200 { ["weapon"]["id_"] = 33591553, }, ["time"] = 43207.608, ["initiator"] = table: 000000004DFEC1B0 { ["initiator"]["id_"] = 16780801, }, } 2:S_EVENT_HIT { ["time"] = 43208.044, ["initiator"] = table: 000000004E0A3830 { ["initiator"]["id_"] = 16781569, }, ["target"] = table: 000000004E0A38D0 { ["target"]["id_"] = 16783617, }, ["id"] = 2, ["weapon"] = table: 000000004E0A3970 { ["weapon"]["id_"] = 33571073, }, } 3: S_EVENT_TAKEOFF { ["subPlace"] = 0, ["time"] = 43285.759, ["initiator"] = table: 000000002A87B270 { ["initiator"]["id_"] = 16786945, }, ["place"] = table: 000000004E091B00 { ["place"]["id_"] = 5000024, }, ["id"] = 3, } 4:S_EVENT_LAND { ["subPlace"] = 0, ["time"] = 43298.319, ["initiator"] = table: 000000004E0A3FE0 { ["initiator"]["id_"] = 16786945, }, ["place"] = table: 000000004E0A4030 { ["place"]["id_"] = 5000024, }, ["id"] = 4, } 5:S_EVENT_CRASH { ["id"] = 5, ["time"] = 43327.14, ["initiator"] = table: 0000000010198AA0 { ["initiator"]["id_"] = 16778497, }, } 6:S_EVENT_EJECTION { ["id"] = 6, ["time"] = 43445.22, ["initiator"] = table: 000000001135CE00 { ["initiator"]["id_"] = 16783105, }, } 8:S_EVENT_DEAD { ["id"] = 8, ["time"] = 43443.853, ["initiator"] = table: 000000004D77F7E0 { ["initiator"]["id_"] = 16786177, }, } 9:S_EVENT_PILOT_DEAD { ["id"] = 9, ["time"] = 43328.39, ["initiator"] = table: 000000004F207400 { ["initiator"]["id_"] = 16787201, }, } 12:S_EVENT_MISSION_END { ["id"] = 12, ["time"] = 43548.781, } 15:S_EVENT_BIRTH { ["subPlace"] = 13, ["time"] = 0, ["initiator"] = table: 0000000023F6E158 { ["initiator"]["id_"] = 16787201, }, ["place"] = table: 00000000240B6678 { ["place"]["id_"] = 5000024, }, ["id"] = 15, } 17:S_EVENT_ENGINE_STARTUP { ["subPlace"] = 0, ["time"] = 43310.108, ["initiator"] = table: 0000000023569E60 { ["initiator"]["id_"] = 16787201, }, ["place"] = table: 000000002356A320 { ["place"]["id_"] = 5000024, }, ["id"] = 17, } 18:S_EVENT_ENGINE_SHUTDOWN { ["id"] = 18, ["time"] = 43302.7, ["initiator"] = table: 000000002A823720 { ["initiator"]["id_"] = 16778753, }, } 19:S_EVENT_PLAYER_ENTER_UNIT { ["id"] = 19, ["time"] = 43278.899, } 22:S_EVENT_SHOOTING_END { ["id"] = 22, ["target"] = table: 000000004FBD9CD0 { ["target"]["id_"] = 16783873, }, ["time"] = 43278.5, ["initiator"] = table: 000000004FBD9B20 { ["initiator"]["id_"] = 16781569, }, } 23:S_EVENT_MAX { ["id"] = 23, ["time"] = 43277.456, ["initiator"] = table: 000000004FB60B30 { ["initiator"]["id_"] = 16780801, }, } This is handy to see when working with the event handler.
  12. There should be no problem as long as the scripts don't create global variables with the same names.
  13. Latest script (without MIST): Dead Units handler: local unitDeadHandler = {} FLCoalition = { [1] = "red", [2] = "blue", } FLUCategory = { [1] = "GROUND_UNIT", [2] = "AIRPLANE", [3] = "HELICOPTER", [4] = "SHIP", [5] = "STRUCTURE", } FLGCategory = { [1] = "AIRPLANE", [2] = "HELICOPTER", [3] = "GROUND", [4] = "SHIP", } FLOfield = { [1] = "time", [2] = "coalition", [3] = "player", [4] = "unitName", [5] = "groupName", [6] = "weapon", [7] = "target", [8] = "launcher", [9] = "unitcategorynumber", [10] = "unitcategoryname", } ForceLosses = { [1] = { [1] = {}, [2] = {}, [3] = {}, [4] = {}, }, [2] = { [1] = {}, [2] = {}, [3] = {}, [4] = {}, }, } function SecondsToClock(sSeconds) local nSeconds = sSeconds if nSeconds == 0 then --return nil; return "00:00:00"; else nHours = string.format("%02.f", math.floor(nSeconds/3600)); nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); return nHours..":"..nMins..":"..nSecs end end function unitDeadHandler:onEvent(e) if e.id == world.event.S_EVENT_DEAD or e.id == world.event.S_EVENT_EJECTION or e.id == world.event.S_EVENT_PILOT_DEAD then local uGroup = e.initiator:getGroup() local uCoa = uGroup:getCoalition() local uCategory = e.initiator:getCategory() local gCategory = uGroup:getCategory() + 1 local uName = e.initiator:getName() local uType = e.initiator:getTypeName() if e.initiator:getPlayerName() then local uPlayer = e.initiator:getPlayerName() else local uPlayer = "AI" end if e.weapon then local wCategory = e.weapon.Category local wLauncher = e.weapon:getLauncher() else local wLauncher = "No Weapon" local wCategory = "No Weapon" end local eTarget = "No Target" --still needs to be done ForceLosses[uCoa][gCategory][#ForceLosses[uCoa][gCategory] + 1] = { [1] = SecondsToClock(timer.getTime()), [2] = FLCoalition[uCoa], [3] = uType, [4] = uPlayer, [5] = uName, [6] = uGroup:getName(), [7] = wCategory, [8] = eTarget, [9] = wLauncher, } end end world.addEventHandler(unitDeadHandler) The Save Statistics script: local fdir = lfs.writedir() .. [[Logs\Save_stat\]] .. "statistics" .. timer.getTime() .. ".txt" local f,err = io.open(fdir,"w") if not f then local errmsg = 'Error: Need to create new folder in the Logs folder with the name' .. 'Save_stat . sample: C:\Users\youname\Saved Games\DCS\Logs\Save_stat' trigger.action.outText(errmsg, 10) return print(err) end --write statistic information to file f:write("------MISSION STATISTICS------\n\n") for coa, gCategories in ipairs(ForceLosses) do f:write(FLCoalition[coa].." side:\n") f:write("ID,Time,Coalition,Type,Player Name,Unit Name,Group Name,Weapon,Target,Launcher\n") for gCategory, Olist in ipairs(gCategories) do f:write(FLGCategory[gCategory]..":\n") for index, ODetails in ipairs(Olist) do f:write(index..",") for Ofield, data in ipairs(ODetails) do f:write(data..",") end f:write("\n") end f:write("Total of "..#ForceLosses[coa][gCategory].." destroyed "..FLGCategory[gCategory]) f:write("\n\n") end f:write("\n\n") end f:close() The exported statistics result: ------MISSION STATISTICS------ red side: ID,Time,Coalition,Type,Player Name,Unit Name,Group Name,Weapon,Target,Launcher AIRPLANE: 1,00:00:00,red,L-39ZA,AI,Pilot #004,New Airplane Group #001,No Weapon,No Target, 2,00:00:00,red,L-39ZA,AI,Pilot #006,New Airplane Group #002,No Weapon,No Target, Total of 2 destroyed AIRPLANE HELICOPTER: 1,00:00:50,red,Ka-50,AI,Pilot #005,New Helicopter Group #002,No Weapon,No Target, 2,00:01:49,red,Ka-50,AI,Pilot #009,New Helicopter Group #004,No Weapon,No Target, Total of 2 destroyed HELICOPTER GROUND: 1,00:00:31,red,T-90,AI,Unit #011,New Vehicle Group #006,No Weapon,No Target, 2,00:01:06,red,T-90,AI,Unit #012,New Vehicle Group #007,No Weapon,No Target, 3,00:01:37,red,T-90,AI,Unit #013,New Vehicle Group #008,No Weapon,No Target, Total of 3 destroyed GROUND SHIP: 1,00:01:19,red,speedboat,AI,Unit #023,New Ship Group #001,No Weapon,No Target, 2,00:01:32,red,speedboat,AI,Unit #025,New Ship Group #001,No Weapon,No Target, Total of 2 destroyed SHIP blue side: ID,Time,Coalition,Type,Player Name,Unit Name,Group Name,Weapon,Target,Launcher AIRPLANE: 1,00:00:00,blue,A-10C,AI,Pilot #003,New Airplane Group,No Weapon,No Target, 2,00:00:00,blue,A-10C,AI,Pilot #007,New Airplane Group #003,No Weapon,No Target, Total of 2 destroyed AIRPLANE HELICOPTER: Total of 0 destroyed HELICOPTER GROUND: 1,00:01:13,blue,M-1 Abrams,AI,Unit #028,New Vehicle Group #002,No Weapon,No Target, 2,00:01:34,blue,M-1 Abrams,AI,Unit #003,New Vehicle Group #002,No Weapon,No Target, 3,00:01:47,blue,M-1 Abrams,AI,Unit #007,New Vehicle Group #002,No Weapon,No Target, 4,00:02:01,blue,Vulcan,AI,Unit #1,New Vehicle Group,No Weapon,No Target, Total of 4 destroyed GROUND SHIP: 1,00:01:39,blue,speedboat,AI,Unit #019,New Ship Group,No Weapon,No Target, 2,00:02:04,blue,speedboat,AI,Unit #017,New Ship Group,No Weapon,No Target, Total of 2 destroyed SHIP
  14. Found it, it was a , after the ForceLosses table.
  15. I tried to change it to a different variable name and also use it locally or globaly, still doesn't work. If there's no other insight on this I'll try to work with the pcall error logging.
  16. As I understand this is relevant for the P51 only? The A-10c module seem to be working, the work around to get the P51 FFB working is to jump into a module the FFB is working on first and then move to the P51. Hope this helps to solve the issue.
  17. The above script gets stuck on this line - function unitDead:onEvent(e) error says - [string ... :24: '(' expected near 'unitDead' Is the event handler not written correctly? I checked other event handlers and they all seem to work with onEvent function. Has anyone encountered this?
  18. Awesome, I'll keep updating the page as I create an improved version. At the moment I'm changing the script completly to work without the MIST table as I don't know exactly why but it doesn't retreive all the units. I got a few questions about this function, I don't think it would work, haven't tested yet. 1. can I call the table in this way? ForceLosses.uCoa.uCategory[#uCategory + 1] 2. Will the #uCategory actualy get the length of the inner array in side the coalition table? 3. In the DCS scripting engine, it doesn't say anything about unit.getCategory only about group.getCategory, does that mean that I have to use - uGroup:getCategory() instead? if so, is there a way to actualy get the unit category and not the group category? 4. How exactly does the EventHandler work? it doesn't say anything about it in the DCS Scripting engine, will the event handler automatically catch events and run the specified function? If anyone can give me feedback it would be helpful. Here is the current code: local unitDead = {} local ForceLosses = { ["red"] = { ["GROUND_UNIT"] = {}, ["AIRPLANE"] = {}, ["HELICOPTER"] = {}, ["SHIP"] = {}, ["STRUCTURE"] = {}, }, ["blue"] = { ["GROUND_UNIT"] = {}, ["AIRPLANE"] = {}, ["HELICOPTER"] = {}, ["SHIP"] = {}, ["STRUCTURE"] = {}, }, }, function unitDead:onEvent(e) local uGroup = e.initiator:getGroup() local uCoa = e.initiator:getCoalition() local uCategory = e.initiator:getCategory() local uName = e.initiator:getName() local uPlayer = e.initiator:getPlayer() if e.id == world.event.S_EVENT_DEAD then ForceLosses.uCoa.uCategory[#uCategory + 1] = { ["time"] = e.time, ["unitName"] = uName, ["groupName"] = uGroup, ["coalition"] = uCoa, ["player"] = uPlayer, ["target"] = e.target, ["weapon"] = e.weapon, } end end world.addEventHandler(unitDead)
  19. Great job on organizing these scripts, very important :)
  20. I also remember it was kind of bugged, not sure if they fixed it or not. Adding the radio transmission is definitely one of the most important features for CSAR/Medevac.
  21. Does this script use smoke and flare when you get closer as the CSAR script uses? Smoke trigger.action.smoke(Vec3 point, enum trigger.smokeColor color)} Flare trigger.action.signalFlare(Vec3 point, enum trigger.flareColor color, Azimuth azimuth) Illumination bomb trigger.action.illuminationBomb(Vec3 point) Also, it would be awesome to use the FM radio to identify the area we need to get to instead of using the F10 map for Bullseye or BRA, there's a way with DCS scripting - trigger.action.radioTransmission(string fileName, Vec3 point, enum radio.modulation modulation, boolean loop, number frequency, number power)
  22. The script now works, I've updated the pastebin script. It will not save all the info, here is an output for example - ------MISSION STATISTICS------ blue destroyed vehicles ID,Name,Type 1,Unit #007,Vulcan, red destroyed vehicles ID,Name,Type blue destroyed vehicles ID,Name,Type red destroyed vehicles ID,Name,Type blue destroyed vehicles ID,Name,Type 1,Pilot #003,A-10C, red destroyed vehicles ID,Name,Type 1,Pilot #004,L-39ZA, blue destroyed vehicles ID,Name,Type red destroyed vehicles ID,Name,Type blue destroyed vehicles ID,Name,Type red destroyed vehicles ID,Name,Type blue destroyed vehicles ID,Name,Type red destroyed vehicles ID,Name,Type blue destroyed vehicles ID,Name,Type red destroyed vehicles ID,Name,Type For some reason, it doesn't write all the info about all the vehicles which have been destroyed. Could it be that there's an issue with the MIST live DBs?
  23. The mission state file that is being saved when you run the save script triggers. Example of a correct livery list file - { "A-10C": ["104th FS Maryland ANG, Baltimore (MD)", "118th FS Bradley ANGB, Connecticut (CT)", "118th FS Bradley ANGB, Connecticut (CT) N621", "172nd FS Battle Creek ANGB, Michigan (BC)", "184th FS Arkansas ANG, Fort Smith (FS)", "190th FS Boise ANGB, Idaho (ID)", "23rd TFW England AFB (EL)", "25th FS Osan AB, Korea (OS)", "354th FS Davis Monthan AFB, Arizona (DM)", "355th FS Eielson AFB, Alaska (AK)", "357th FS Davis Monthan AFB, Arizona (DM)", "358th FS Davis Monthan AFB, Arizona (DM)", "422nd TES Nellis AFB, Nevada (OT)", "47th FS Barksdale AFB, Louisiana (BD)", "66th WS Nellis AFB, Nevada (WA)", "74th FS Moody AFB, Georgia (FT)", "81st FS Spangdahlem AB, Germany (SP) 1", "81st FS Spangdahlem AB, Germany (SP) 2", "A-10 Grey", "Australia Notional RAAF", "Canada RCAF 409 Squadron", "Canada RCAF 442 Snow Scheme", "Fictional Canadian Air Force Pixel Camo", "Fictional France Escadron de Chasse 03.003 ARDENNES", "Fictional Georgian Grey", "Fictional Georgian Olive", "Fictional German 3322", "Fictional German 3323", "Fictional Israel 115 Sqn Flying Dragon", "Fictional Italian AM (23Gruppo)", "Fictional Royal Norwegian Air Force", "Fictional Russian Air Force 1", "Fictional Russian Air Force 2", "Fictional Spanish 12nd Wing", "Fictional Spanish AGA", "Fictional Spanish Tritonal", "Fictional Ukraine Air Force 1" ], "F-15C": ["106th SQN (8th Airbase)", "19th Fighter SQN (AK)", "390th Fighter SQN", "493rd Fighter SQN (LN)", "58th Fighter SQN (EG)", "65th Agressor SQN (WA) Flanker", "65th Agressor SQN (WA) MiG", "65th Agressor SQN (WA) SUPER_Flanker", "Ferris Scheme" ], "F-15E": ["335th Fighter SQN (SJ)", "492d Fighter SQN (LN)", "IDF No 69 Hammers Squadron" ], "ka-50": ["Abkhazia 1", "belgium camo", "belgium olive", "belgium sar", "canadian forces", "denmark camo", "Denmark navy trainer", "France Armee de Terre 1", "France Armee de Terre 2", "France Armee de Terre Desert", "georgia camo", "german 8320", "german 8332", "Israel IAF camo 1", "Israel IAF camo 2", "Israel IAF camo 3", "Italy Aeronautica Militare", "Italy Esercito Italiano", "Netherlands RNAF", "Netherlands RNAF wooded", "norway camo", "Russia Demo #024", "Russia Demo #22 `Black Shark`", "Russia Demo `Werewolf`", "Russia DOSAAF", "Russia fictional desert scheme", "Russia Fictional Olive Grey", "Russia Fictional Snow Splatter", "Russia Fictional Swedish", "Russia Fictional Tropic Green", "Russia New Year", "Russia Standard Army", "Russia Standard Army (Worn)", "Russia Worn Black", "South Ossetia 1", "Spain SAA Arido", "Spain SAA Boscoso", "Spain SAA Standard", "Turkey Fictional", "Turkey Fictional 1", "Turkey fictional desert scheme", "Turkey Fictional Light Gray", "uk camo", "ukraine camo 1", "ukraine camo 1 dirt", "Ukraine Demo", "us army", "us marines 1", "us marines 2" ], "su-25": ["Abkhazian Air Force", "broken camo scheme #1 (native). 299th oshap", "broken camo scheme #2 (native). 452th shap", "field camo scheme #1 (native)", "field camo scheme #1 (native)01", "field camo scheme #2 (native). 960th shap", "field camo scheme #3 (worn-out). 960th shap", "forest camo scheme #1 (native)", "petal camo scheme #1 (native). 299th brigade", "petal camo scheme #2 (native). 299th brigade", "`scorpion` demo scheme (native)" ], "su-25t": ["af standard", "af standard 1", "af standard 101", "af standard 2", "su-25t test scheme" ], "su-25tm": ["Flight Research Institute VVS"] }
  24. I've made a simple statistics script that is relying on the mist.DBs.deadObjects table. For some reason no data is gathered and I can't figure it out. The save statistics script - http://pastebin.com/9ybeDJwF Example of mist.DBs.deadObjects table - The save file that is being saved - Appriciate any help.
×
×
  • Create New...