Jump to content

Generacion de debriefs


Dagger

Recommended Posts

Wenas, hace cosa de 1 mes yo empece a trastear con C,C++ y Lua para generar un debrief y subirlo a una web, luego se podria codificar algo en PHP para generar misiones automaticamente. Una especie de campaña dinamica como existe en el IL-2

 

Por ahora he sido capaz de crear una libreria .dll en C y C++. Para que a traves de Lua se puedan hacer operaciones mas complejas (encriptacion, union de ficheros, etc). Tambien tengo una libreria en C# porque es el lenguaje que llevo mejor de todos y que por desgracia es muy jodido de usar con LUA. Por desgracia no conozco PHP, C/C++ hace mucho que no lo toco y nunca me gusto ese lenguaje. Lua junto con C# es lo que mejor llevo...

 

Tengo como objetivo a corto/medio plazo al menos generar un debrief decente a traves del events.lua, server.lua (los dos en C:/ka-50/Config/net) y del export.lua. Una vez tenga el debrief me metere en el PHP, aunque no tengo mucho tiempo libre y eso llevara mucho mas tiempo :(

 

Hay alguno por aqui que sepa algo mas sobre generacion de librerias DLL en C o C++? O alguien que sepa usar el "addon" de Lua llamado "luanet" para compilar librerias en C#???

 

Si a alguien le interesa este proyecto que me avise, con la actualizacion del lockon, una campaña dinamica seria una pasada...

 

Salu2ssss

Link to comment
Share on other sites

Hola Dagger

 

Yo estaría interesado en el tema....

 

Yo toco el C# desde hace tiempo, aunque no he oido ni hablar de luanet, pero me imagino que es como trabajar con cualquier otra librería...

Me gustaría participar del proyecto y ver hasta donde podemos llegar en esto.

 

Saludos

Link to comment
Share on other sites

Hola Dagger

 

Yo estaría interesado en el tema....

 

Yo toco el C# desde hace tiempo, aunque no he oido ni hablar de luanet, pero me imagino que es como trabajar con cualquier otra librería...

Me gustaría participar del proyecto y ver hasta donde podemos llegar en esto.

 

Saludos

 

Hola, yo tambien soy programador de C#.

Sobre el luanet, es una libreria que como nombre original tiene LuaLibrary. Lo mejor es que te bajes el paquete "Lua for windows" que contiene un monton de librerias interesantes

http://luaforwindows.luaforge.net/

 

El mayor problema que presenta es que requiere de otros modulos dll para funcionar, vamos, que necesitas como 4 o 5 dlls para que alguna cosa "funcione" e integrarlo con el DCS puede llegar a ser un dolor de cabeza. Por eso llegue a la conclusion de que lo mejor era hacer las dll directamente en C o C++.

 

Esta tarde/noche en cuanto llegue a casa te subo los esqueletos de las clases en c, c++ y C# que he creado junto con ejemplos en LUA (La verdad es que me ha sorprendido lo potente que es LUA)

 

Como te digo, lo mejor es ponerse como objetivo crear un debrief completito y luego pasar al tema de PHP (el que mucho abarca poco aprieta)

Link to comment
Share on other sites

Hola Dagger

 

Yo estaría interesado en el tema....

 

Yo toco el C# desde hace tiempo, aunque no he oido ni hablar de luanet, pero me imagino que es como trabajar con cualquier otra librería...

Me gustaría participar del proyecto y ver hasta donde podemos llegar en esto.

 

Saludos

 

Hola, yo tambien soy programador de C#.

Sobre el luanet, es una libreria que como nombre original tiene LuaLibrary. Lo mejor es que te bajes el paquete "Lua for windows" que contiene un monton de librerias interesantes

http://luaforwindows.luaforge.net/

 

El mayor problema que presenta es que requiere de otros modulos dll para funcionar, vamos, que necesitas como 4 o 5 dlls para que alguna cosa "funcione" e integrarlo con el DCS puede llegar a ser un dolor de cabeza. Por eso llegue a la conclusion de que lo mejor era hacer las dll directamente en C o C++.

 

Esta tarde/noche en cuanto llegue a casa te subo los esqueletos de las clases en c, c++ y C# que he creado junto con ejemplos en LUA (La verdad es que me ha sorprendido lo potente que es LUA)

 

Como te digo, lo mejor es ponerse como objetivo crear un debrief completito y luego pasar al tema de PHP (el que mucho abarca poco aprieta)

 

 

Ok.... perfecto!

cuando llegues a casa, pasame tambien la lilsta de requerimientos que te hayas planteado.... y a ver como podemos repartirnos el trabajo...

Incluso podriamos montar un subversion en algun sitio para el control de código...

Link to comment
Share on other sites

Ok.... perfecto!

cuando llegues a casa, pasame tambien la lilsta de requerimientos que te hayas planteado.... y a ver como podemos repartirnos el trabajo...

Incluso podriamos montar un subversion en algun sitio para el control de código...

 

Bueno, aqui te traigo el codigo. Son 3 proyectos en Visual Studio 2008. Uno en C, otro en C++ y otro en C#. Como veras son un esqueleto y hacen cosas realmente tontas (una escritura por pantalla) pero ya dan un inicio. Tambien te he adjuntado el codigo LUA de prueba para que lo ejecutes. Unicamente necesitaras el lua windows y una vez instalado, copias los .lua y los .dll a la carpeta donde este el lua.exe, abres el lua.exe y escribes lo siguiente "dofile("nombredearchivo.lua")"

 

Veras que el C# funcionara bien pero en el DCS va pesimo (puedes testear los .lua desde el DCS si abres el ejecutable lua.exe (C:\Ka-50\bin\stable) veras que alli el dll en C# no funciona bien para nada (incompatibilidades con el dll y ademas DCS usa la version 5.3 de lua) en cambio, los dll en C/C++ van bien.

 

He puesto los comentarios en ingles ya que es a lo que estoy acostumbrado y a que posiblemente vaya a postear el codigo en alguna pagina de googlecode.

 

Sobre el tema de requisitos todavia tengo que definirlos ya que aun estoy investigando el funcionamiento interno del DCS mediante .lua. Por ahora estoy intentando hacer que el events.lua me cree un txt con todos los mensajes del sistema que aparecen en el chat (x killed y with k, x ejects, x lands at r, etc etc). Hoy no he tenido tiempo de hacer nada, pero mañana y en adelante me pondre algo mas en serio ya que me interesaria tener el debriefer lo antes posible.

 

El fichero aqui: http://rapidshare.com/files/321369012/Project.rar

 

Salu2sss

Edited by Dagger
Link to comment
Share on other sites

Te paso aqui tambien 2 archivos que he modificado, los dos generan unos archivos en c:\ka-50\temps.

 

http://rapidshare.com/files/321380120/Exportacion.rar

 

Uno es el KILLOG (el nombre no es el apropiado) el cual guarda todos los mensajes del chat enviados por la maquina (x ejects, x land at y, etc etc) este es generado por el events.lua

 

Otro es el Objects.log es generado por el export.lua y tiene una tabla con todos los objetos que aparecen al inicio de la mision, guarda latitud longitud, id, tipo unidad y pais. este es generado por el export.lua

 

Otro es el debrief.log, este es exactamente el mismo que te sale despues de acabar una mision quizas es interesante... (No recuerdo que .lua era el que lo generaba pero si no, luego lo busco)

 

Por ultimo, el net-server.log (generado por el server.lua) guarda comandos de servidor (x se une a equipo x, etc etc) solo se genera este archivo si eres host de una partida.

 

El primer problema encontrado es que las Network-ID (las del server.lua y la del events.lua son diferentes a las ID que vienen en el objects y debrief. Por lo tanto se necesita algo que los "JUNTE" para saber que helicoptero a matado a que vehiculo en posicion x,y.

Eso es en lo que me metere mañana, en el archivo readme de C:\Ka-50\Scripts\net Parece que dicen algo sobre esto en la ultima parte (funcion string net.get_unit_property(unitid, prop))

 

Por ahora, todo lo que te he escrito es mas o menos lo que he avanzado en este mes, por desgracia solo la ultima semana me he podido dar caña y es cuando he completado los esqueletos de las dll (No hay casi informacion sobre Lua + dll + windows en internet) Para la futura generacion de misiones mediante PHP va a ser un calvario pillar las coordenadas X,Y de un plano, basandose en coordenadas UTM que son esfericas, habra que investigar las dll que tiene eagle (lua-map.dll) o enviarles un mail pidiendoles guias, en el foro ibngles lo han tratado alguna que otra vez)

Edited by Dagger
Link to comment
Share on other sites

Si lográis hacer un generador de campañas dinámicas seréis los primeros, además probablemente también servirá para lockon FC 2.0.

Seréis los putos amos rediós XD

 

 

Esa es la intencion ;) Aunque el tema en php sera mas jodido de realizar...

 

Por ahora me he quedado estancado en esto:

 

http://forums.eagle.ru/showthread.php?t=48466

 

A ver si esta gente me da una solucion al respecto... Tambien le he escrito a un desarrollador de ED por email

Edited by Dagger
Link to comment
Share on other sites

Buenas, por ahora ya esta medio terminado el exporter, el cual crea un informe de este estilo:

 

----------------------MISSION STARTS----------------------
at=30.591083145986 pilot=Dagger_Spain SELECT side=red type=Ka-50
at=69.510460862346 id=16788481 pilot=Dagger_Spain side=red KILL victimId=16781057 victimType=M818 victimSide=blue victimName=18 victimGroup=New Vehicle Group #001
at=77.576516643642 id=16788481 pilot=Dagger_Spain side=red KILL BUILDING
at=79.00409500609 id=16788481 pilot=Dagger_Spain coords=44.680913089175//40.04695881207 side=red EJECT
-----------------------MISSION STOP-----------------------
PLAYER=Dagger_Spain ID=16788481

 

Respecto a ese link Amalahama, he sido yo el que le ha contestado ;) Estuve mirandome tambien el tacview hace mucho tiempo, pero por desgracia funciona de una forma bastante diferente (utiliza "hooks" ademas de que no trabaja con las tablas que yo uso)

 

Falta todavia crear el tema de "Guerra IA" ya que no sale reflejado cuando un vehiculo/avion IA ha matado a otro vehiculo/avion IA

Eso se hara leyendo el archivo debrief.log y comparandolo con el KILLLOG.log

 

Cuando acaben las fiestas y tal voy a ponerme un rato mas hasta que este completado (estoy disfrutando de una reflex que me he agenciado ^_^)

 

Podeis bajaros el script aqui:

http://rapidshare.com/files/326694583/events.lua

 

Recordad que se pone en \Ka-50\Scripts\net pero siempre haciendo un backup antes

Edited by Dagger
Link to comment
Share on other sites

Muy buenas

 

Ya sé que no corresponde este mensaje con el post ... pero también va de programación. No tengo ni puta idea, así que la contestación de hazlo tu...

 

Se trata de meter en la pantalla LCD del X52 pro los controles para poder manejar el TS, usando las ruedas de la pantalla para poder cambiar de canal y los botones para por ejemplo hablar y por ejemplo hacer un whisper. Con los drivers vienen todas las cosas necesarias para la programación (creo que se llama SDK) y unos ejemplos de como funciona... Para el FSX directamente cuando ejecutas el sim aparece en la pantalla los controles para poder cambiar emisoras y un montón de parámetros.

 

Mi pregunta es obvia, ¿se puede hacer? y me autocontesto - tan fácil no será si nadie lo ha hecho aún - ... pero vamos, teniendo todas las utilidades y sabiendo, no tiene que ser tan difícil, no?

 

Gracias y un saludo.

Link to comment
Share on other sites

Puedes contactar con este tipo que la semana pasada comentó que estaba empezando a programar una campaña dinámica:

 

http://forums.eagle.ru/showpost.php?p=802418&postcount=177

 

Le he enviado un mensaje, muchas gracias por pasarme el post, no lo habia leido. De todas formas, parece que el lo hizo para Lockon y ahora se ha encontrado con el problemon de DCS y Lua

 

Por cierto, en la web del Tacview hay un debrief en php, que usa unos ficheros XML que genera el Tacview. Quizás te sirva.

 

http://lomac.strasoftware.com/tacview-xml-debriefings.php

 

Si, el problema con tacview es que trabaja con el export.lua este UNICAMENTE te pasa el estado de las unidades y/o objetos balisticos. Por lo tanto supongo que internamente y a partir de las coordenadas sacara quien es el que ha lanzado que misil y este misil a donde ha ido a petar.

Por desgracia el tacview no es de codigo libre....

 

Muy buenas

 

Ya sé que no corresponde este mensaje con el post ... pero también va de programación. No tengo ni puta idea, así que la contestación de hazlo tu...

 

Se trata de meter en la pantalla LCD del X52 pro los controles para poder manejar el TS, usando las ruedas de la pantalla para poder cambiar de canal y los botones para por ejemplo hablar y por ejemplo hacer un whisper. Con los drivers vienen todas las cosas necesarias para la programación (creo que se llama SDK) y unos ejemplos de como funciona... Para el FSX directamente cuando ejecutas el sim aparece en la pantalla los controles para poder cambiar emisoras y un montón de parámetros.

 

Mi pregunta es obvia, ¿se puede hacer? y me autocontesto - tan fácil no será si nadie lo ha hecho aún - ... pero vamos, teniendo todas las utilidades y sabiendo, no tiene que ser tan difícil, no?

 

Gracias y un saludo.

 

Sobre cambiar canal con el X52 Pro no tengo ni idea, supongo que si puedes programar esos botones se puede hacer algo (no tengo el X52 Pro) y luego asignarlos desde el menu del TS "settings->Key settings"

Para mostrar datos por la pantalla ahi ya no te puedo ayudar porque no se como funciona un X52Pro internamente... Aunque seria la hostia poder ver los nombres de las personas del TS a traves de esa pantalla...

 

Por otra parte, desde el DCS se puede. De hecho, cuando acabe este tema, quiero ver si a partir de la radio VHF2 (que no se usa para nada) se puede ir cambiando de canal en el TS. Me he leido la SDK del TS y no es nada dificil. Con los .dll que puse al principio del post, con la SDK y con un poco de maña con el export.lua ya se podria hacer algo.

 

Si no han hecho nada todavia, es porque la SDK ha salido hace muy poco y/o hay pocas ganas.

Edited by Dagger
Link to comment
Share on other sites

Lo de la radio es muy interesante dado que está muy bien simulada en dcs. Un tio lo hizo para el Mumble (otro sistema de voip):

 

http://forums.eagle.ru/showthread.php?t=44834

 

Pero sólo para el tema de canales. Yo creo que la gracia está en, aparte de lo del canal, en integrar incluso cortes en la comunicación, etc. (en teoría se puede puesto que está simulado y creo que lo exporta el LUA).

 

Pero vamos, esto da para otro hilo que sinó nos vamos hacia el off topic.

Link to comment
Share on other sites

  • 2 weeks later...

Otro ha empezado a hacer el sistema de radio en plugin y a posteado alguna pregunta en el foro, por si os interesa desarrollar con él:

 

http://forums.eagle.ru/showthread.php?t=49098

 

 

Intentare ponerme en contacto con el mañana. De todas formas, el debriefer ahora esta un poco "estancado". Estoy pasandolo todo a C para meterlo en un .dll en vez de hacer trapicheos con LUA. En cuanto acaben los examenes y tal me pondre mas de lleno (para febrero mas o menos).

 

Si alguien se anima a programar en C que me avise. No es de una dificultad muy elevada ;). Unicamente leer archivos .log linea por linea y posteriormente filtrarlos y compararlos con otro .log para crear otras lineas.

Edited by Dagger
Link to comment
Share on other sites

  • 1 month later...

¿Alguno de estos proyectos evoluciona? la verdad es que pintan muy bien

 

La verdad es que quiero seguir con ello, pero estoy en Noruega por un traslado hasta agosto. A ver si cuando vuelva a españa para pascuas puedo conseguirme un portatil decente y avanzarlo un poco. De todas formas, si alguien se anima, creo que el codigo fuente esta subido a rapidshare.

Edited by Dagger
Link to comment
Share on other sites

  • 3 months later...

Bueno, despues de mucho tiempo sin avanzar, he hecho un paso BASTANTE grande.

 

He conseguido hacer que se pueda llamar una .dll creada en C# desde C++ utilizando los objetos "COM". Por lo que ahora, el C++ es solo un wrapper de C# :vaca:

 

Tengo las clases ya creadas y las estructuras de datos ya creadas, solo falta el codigo que lea de los archivos .log y vaya rellenando las diferentes clases, por suerte, ahora al ser codigo C# es mucho mas facil que la gente se una.

 

Por si alguien le interesa y quiere colaborar, he subido el codigo aqui:

 

http://rapidshare.com/files/403313122/DCSExporter.rar.html

 

El mayor problema que tengo ahora es que sigo en el extranjero y tengo que hacer guarradas para poder probar el codigo (rellenar los .log a mano). Si alguien se quiere unir, sabe algo de lua y/o C# y puede crearme unos archivos .log para testear le estare muy agradecido :)

 

EDIT: Puesto un nuevo link que incluye un readme sobre como instalarlo y otro rar con el codigo fuente

Edited by Dagger
Link to comment
Share on other sites

  • 2 weeks later...

Bueno, esto ya esta acabado a falta de testearlo mas exahustivamente cuando vuelva a españa, aqui teneis la web para bajarlo:

 

http://rapidshare.com/files/405760314/DCSExporter.rar.html

 

Adentro contiene un readme con todos los pasos a seguir, lo he subido a la web de lockon.ru y estoy esperando confirmacion. Al no haberlo podido probar exhaustivamente (con 10 jugadores y con una mision larga y llena de unicades) es posible que le falten por pulir algunas cosillas. De todas formas, yo diria que ya esta al 99%. Si alguien quiere el codigo C# o C++ para "customizarlo" y cambiar el orden o las cosas que se muestran, que me avise (necesario el VS2010)

 

Empezare con el tema de la campaña en PHP en cuanto se acabe el verano, espero que llegue a buen puerto :)

 

Un ejemplo del export que se genera:

 

---PLAYERS---


Player Name: Dagger
Side: red
Group: New Helicopter Group
Unit type: Ka-50
Deaths: 0
Ejections: 2
Friendly Kills: 0
Is Damaged Now: True
Last Ejection at: 42.2482  42.0622



---GROUND UNITS---


Name: Unit #2
Side: blue
Group: New Vehicle Group #001
Unit Type: Leclerc
Unit Dead: True



Name: Unit #1
Side: blue
Group: New Vehicle Group
Unit Type: Vulcan
Unit Dead: True
Kills: 
Name: Dagger
Side: red
Unit Type: Ka-50

Name: Dagger
Side: red
Unit Type: Ka-50




Name: Unit #3
Side: red
Group: New Vehicle Group #002
Unit Type: T-80UD
Unit Dead: False
Kills: 
Name: Unit #2
Side: blue
Group: New Vehicle Group #001
Unit Type: Leclerc

Name: Unit #1
Side: blue
Group: New Vehicle Group
Unit Type: Vulcan

Edited by Dagger
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Some pretty cookies are used in this website