Dagger Posted December 15, 2009 Report Share Posted December 15, 2009 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 Quote Link to comment Share on other sites More sharing options...
Lavi Posted December 15, 2009 Report Share Posted December 15, 2009 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 Quote Link to comment Share on other sites More sharing options...
Dagger Posted December 15, 2009 Author Report Share Posted December 15, 2009 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) Quote Link to comment Share on other sites More sharing options...
Lavi Posted December 15, 2009 Report Share Posted December 15, 2009 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... Quote Link to comment Share on other sites More sharing options...
Dagger Posted December 15, 2009 Author Report Share Posted December 15, 2009 (edited) 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 December 15, 2009 by Dagger Quote Link to comment Share on other sites More sharing options...
Dagger Posted December 15, 2009 Author Report Share Posted December 15, 2009 (edited) 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 December 15, 2009 by Dagger Quote Link to comment Share on other sites More sharing options...
Lavi Posted December 16, 2009 Report Share Posted December 16, 2009 Ok, codigo pillado.... hoy cuando pueda, me lo miro...... parece que lo tienes bastante avanzado.... Quote Link to comment Share on other sites More sharing options...
more/DSLam Posted December 16, 2009 Report Share Posted December 16, 2009 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 Quote Link to comment Share on other sites More sharing options...
Dagger Posted December 16, 2009 Author Report Share Posted December 16, 2009 (edited) 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 December 16, 2009 by Dagger Quote Link to comment Share on other sites More sharing options...
more/DSLam Posted December 21, 2009 Report Share Posted December 21, 2009 Mantenednos informados, esto promete! Yo ya me estoy empezando a leer sobre LUA y PHP y desenterrando de mi memoria las cuatro cosas que aprendí a programar en pascal y fortran allá por el 2000 XD Quote Link to comment Share on other sites More sharing options...
amalahama Posted December 23, 2009 Report Share Posted December 23, 2009 Igual esto os interesa: http://forums.eagle.ru/showthread.php?t=48563 Saludos!! Quote Link to comment Share on other sites More sharing options...
more/DSLam Posted December 25, 2009 Report Share Posted December 25, 2009 (edited) Seguro que ya lo habeis mirado pero vamos. El TACVIEW, un programa de debriefing animado que usa la exportación de datos mediante LUA, modifica y añade ficheros en \DCS\Ka-50\Config\Export. Quizás mirando como lo han hecho ahí os puede dar pistas. Edited December 25, 2009 by more/DSLam Quote Link to comment Share on other sites More sharing options...
Dagger Posted December 27, 2009 Author Report Share Posted December 27, 2009 (edited) 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 December 27, 2009 by Dagger Quote Link to comment Share on other sites More sharing options...
more/DSLam Posted December 27, 2009 Report Share Posted December 27, 2009 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 Quote Link to comment Share on other sites More sharing options...
more/DSLam Posted December 27, 2009 Report Share Posted December 27, 2009 (edited) 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 Edited December 27, 2009 by more/DSLam Quote Link to comment Share on other sites More sharing options...
ZyLoG Posted December 27, 2009 Report Share Posted December 27, 2009 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. Quote Link to comment Share on other sites More sharing options...
Dagger Posted December 27, 2009 Author Report Share Posted December 27, 2009 (edited) 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 December 27, 2009 by Dagger Quote Link to comment Share on other sites More sharing options...
more/DSLam Posted December 27, 2009 Report Share Posted December 27, 2009 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. Quote Link to comment Share on other sites More sharing options...
more/DSLam Posted January 10, 2010 Report Share Posted January 10, 2010 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 Quote Link to comment Share on other sites More sharing options...
Dagger Posted January 10, 2010 Author Report Share Posted January 10, 2010 (edited) 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 January 10, 2010 by Dagger Quote Link to comment Share on other sites More sharing options...
more/DSLam Posted March 10, 2010 Report Share Posted March 10, 2010 ¿Alguno de estos proyectos evoluciona? la verdad es que pintan muy bien Quote Link to comment Share on other sites More sharing options...
Dagger Posted March 10, 2010 Author Report Share Posted March 10, 2010 (edited) ¿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 May 4, 2010 by Dagger Quote Link to comment Share on other sites More sharing options...
Dagger Posted June 27, 2010 Author Report Share Posted June 27, 2010 (edited) 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# 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 June 27, 2010 by Dagger Quote Link to comment Share on other sites More sharing options...
Dagger Posted July 8, 2010 Author Report Share Posted July 8, 2010 (edited) 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 July 8, 2010 by Dagger Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.