function LuaExportStart() -- Creation d'un fichier local a la racine de C En mode lecture/ecriture. Le fichier sera ecrasé a chaque lancement. dofile "lua.lua" socket = require("socket") -- CHANGER L'ADD DU CLIENT ICI host = "127.0.0.1" -- port = 10311 c = socket.try(socket.connect(host, port)) -- connect to the listener socket c:setoption("tcp-nodelay",true) -- set immediate transmission mode local file = io.open("c:/Mission.log", "w") -- Si fichier creer if file then -- Rediriger les entree/sortie sur le fichier io.output(file) end end function LuaExportBeforeNextFrame() end function LuaExportAfterNextFrame() end function LuaExportStop() -- Fonction Appeler a la fin de la mission ( Crash, eject etc... ) if c then c:close() end io.write("Mission terminé......\n") -- Fermeture du fichier que nous avons creer plus haut io.close() end function LuaExportActivityNextEvent(t) local tNext = t -- Function appelee toutes les X secondes io.write("-------------------------------NEXT EVENT --------------------------------------\n") if c then local o = LoGetWorldObjects() for k,v in pairs(o) do if v.Type == 1 then socket.try(c:send(string.format("%d B %s[%s]@@%f %f %f %f##", k,v.Name,v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading))) io.write(string.format("%d B %s[%s]@@%f %f %f %f##\n", k,v.Name,v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading)) end if v.Type == 3 then socket.try(c:send(string.format("%d C %s[%s]@@%f %f %f %f##", k,v.Name,v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading))) io.write(string.format("%d C %s[%s]@@%f %f %f %f##\n", k,v.Name,v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading)) end if v.Type == 5 then socket.try(c:send(string.format("%d B %s[%s]@@%f %f %f %f##", k,v.Name,v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading))) io.write(string.format("%d B %s[%s]@@%f %f %f %f##\n", k,v.Name,v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading)) end if v.Type == 2 then if v.Subtype == 16 then socket.try(c:send(string.format("%d A %s[%s]@@%f %f %f %f##", k,v.Name,v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading))) io.write(string.format("%d A %s[%s]@@%f %f %f %f##\n", k,v.Name,v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading)) end end end end -- Specifier ICI le refresh des data en secondes ( 2 secondes par defaut) tNext = tNext + 2.0 return tNext end