LFS Colombia
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

LFSColombia Tools

3 participantes

Ir abajo

LFSColombia Tools Empty LFSColombia Tools

Mensaje  davidmd Lun Ene 25, 2010 10:30 pm

Hace un tiempo he estado tratando de aprender como hacer programas para LFS mediante la conexion InSim que provee. Despues de pelear un rato y entender como funcionaba el mecanismo, he logrado armar dos pequeñas aplicaciones que me gustaria poner disponibles para pruebas y recomendaciones. Y si las encuentran utiles pues mucho mejor Smile.

La primera de ellas intenta proveer un reporte informativo sobre lo que sucede en carrera, posee informacion sobre:
- Posicion y nombre de piloto (playerInfo)
- Numero de paradas en pits (pitNumber)
- Vuelta de ultima detencion en pits (pitLap)
- Tiempo del ultimo split marcado (splitTime)
- Compuesto actual de llantas (tyres)
- Si se encuentra en el carril de pits (pitLane)
- Penalizaciones pendientes (penalty)
- Tiempo acumulado de paradas en pits (pitTime)
- Vueltas completadas (lapsCompleted)

Esta informacion puede o no aparecer en la pantalla de LFS de acuerdo a un archivo de configuracion llamado raceinfo.properties, este archivo permite cambiar ciertos parametros de configuracion. A continuacion los explico:

raceinfo.neighboors = 3
Esta linea se refiere a el numero de "vecinos" en pista de los cuales se desea obtener informacion, en el ejemplo me va a decir informacion sobre los 3 pilotos que van adelante mio y los 3 que van atras. De esta manera si quiero saber solamente de los dos pilotos que tengo a mi alrededor, es decir, el que va inmediatamente antes de mi o despues de mi, es necesario cambiar el valor a 1, quedando asi: raceinfo.neighboors = 1.

raceinfo.position.left = 5
raceinfo.position.top = 50
raceinfo.box.width = 80
raceinfo.box.height = 5

Las anteriores 4 lineas determinan el tamaño y ubicacion de el cuadro informativo.


#posible fields are: playerInfo, pitNumber,pitLap,splitTime,tyres,pitLane,penalty,pitTime,lapsCompleted
raceinfo.info.fields = playerInfo,pitNumber,pitLap,splitTime,tyres,pitLane,penalty,lapsCompleted,pitTime

Finalmente esta ultima linea permite determinar que informacion se va a visualizar en la pantalla de LFS. En este ejemplo estan todos los posibles valores separados por coma (,) en donde los nombres corresponden a los presentados entre parentesis anteriormente en la descripcion de la informacion disponible. De esta manera por ejemplo se desea tener informacion unicamente de el nombre del piloto y el tiempo del ultimo split, la linea de configuracion quedaria:

raceinfo.info.fields = playerInfo,splitTime

-------------------------------------------------

Ahora la segunda, es una herramienta tal vez conocida por algunos. Es un spotter, pero no el clásico spotter que se usa con voz, en este caso la idea es presentar una mejor representacion del estado de los demas carros respecto al que se conduce.

En la pantalla de LFS se presentará un cuadro que indica la distancia en metros del auto mas cercano, y dependiendo si esta cerca sera rojo, a una distancia media sera amarillo y si esta lejos sera verde. La posicion de este cuadro ira cambiando a medida que el auto mas cercano cambie su posicion respecto al mio, de esta manera por ejemplo si el otro esta en frente mio el cuadro aparecera en la parte de arriba de la pantalla, si esta atras en la parte de abajo, si esta a la derecha en la parte derecha de la pantalla y asi sucesivamente para todas las direcciones.

Al igual que la anterior tambien tiene ciertos parametros de configuracion, esta vez ubicados en el archivo spotter.properties. A continuacion se explican:

#numbers in meters
spotter.closeDistance = 50
spotter.mediumDistance = 100

Estas dos lineas indican los valores en metros para los cuales se considera un distancia muy corta, esto es spotter.closeDistance, y una distancia moderada. De esta manera la aplicacion pintara el cuadro en color rojo si la distancia es menor a 50 metros, en amarillo entre 50 y 100, y en verde de 100 en adelante.


spotter.reportUnder = 150
Esta linea indica que por encima de 150 metros el spotter no reportara informacion del auto mas cercano, de esta manera se evita tener el indicador dando vueltas cuando en realidad puede no ser necesario.

#change only before start
spotter.update.time = 100
Finalmente esta linea indica el tiempo de actualizacion de las posiciones de los autos en pista. Este tiempo esta dado en milisegundos, de esta manera 1000 representa actualizaciones cada segundo y 100 representa actualizaciones cada 100 milesimas de segundo. Este valor no puede ser muy bajo pues puede llegar a un punto en que se bloquee la aplicacion y se cierre abruptamente, y tampoco muy alto pues reportara informacion desactualizada de la posicion de los demas autos. El valor de 100 considero es suficiente y aceptable para este programa.

-------------------------------------------------------------------------
Finalmente existe un archivo de configuracion muy sencillo, llamado lfscolombia.properties. A continuacion:

insim.applicationToRun = raceinfo, spotter

Esta linea indica que aplicaciones se van a ejecutar, en este caso se ejecutara las dos, pero si se desea una sola, por ejemplo el spotter, la linea deberia quedar: insim.applicationToRun = spotter

insim.connection.type = TCP
Esta linea indica el tipo de conexion, puede ser TCP o UDP. Es recomendable dejarlo en TCP.

host = localhost
port = 29999
El puerto por el cual se ejecutara la aplicacion (es decir el numero que se le da a LFS con el comando /insim numero_puerto).Y el host debe estar en localhost pues es una aplicacion que se ejecutara unicamente en el PC que corre LFS.

------------------------------------------------
------------------------------------------------
Instalacion

Descargar el paquete de: http://lfscolombia-tools.googlecode.com/files/lfscolombia-tools_1.0.zip

Se extrae el contenido y se ejecuta el archivo lfscolombia-tools.bat, aparecera una pantalla negra que indica que se esta ejecutando el programa. Es importante que antes de iniciar lfscolombia-tools se tenga iniciado LFS con el comando /insim 29999 previamente ejecutado para evitar cualquier fallo de conexion.

Para finalizar el programa se puede cerrar LFS o bien presionar Ctrl+C con la ventana de ejecucion (la negra) seleccionada.

Saludos
David Montaño
davidmd
davidmd

Cantidad de envíos : 726
Edad : 38
Localización : Bogota
Usuario LFS : davidmd
Tipo de Licencia LFS : S2
Fecha de inscripción : 12/09/2008

Volver arriba Ir abajo

LFSColombia Tools Empty Re: LFSColombia Tools

Mensaje  COL_Jason Mar Ene 26, 2010 10:50 am

Interesante David, esta noche lo pruebo y le doy mis impresiones.
COL_Jason
COL_Jason

Cantidad de envíos : 1239
Edad : 36
Localización : Medellin-Colombia
Usuario LFS : jason_lfs
Tipo de Licencia LFS : S2
Fecha de inscripción : 25/01/2009

Volver arriba Ir abajo

LFSColombia Tools Empty Re: LFSColombia Tools

Mensaje  Camilo N. Lucena Mar Ene 26, 2010 9:16 pm

uff esta como interensate david, pero eso para mi es como ver palabras en chino, jejejjee Laughing Embarassed Laughing Embarassed Laughing , no se de que hablan pero bien
algun dia me explicaran. lo felicito
Camilo N. Lucena
Camilo N. Lucena

Cantidad de envíos : 204
Edad : 41
Localización : Bogota-Colombia
Usuario LFS : SuperNepal
Tipo de Licencia LFS : S2
Fecha de inscripción : 30/01/2009

Volver arriba Ir abajo

LFSColombia Tools Empty Re: LFSColombia Tools

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.