Foro x-plane.es
Foro General
»
Complementos de X-Plane, aviones, escenarios, plugins...
»
datarefs
Usuario:
Recordar
Contraseña:
Inicio
Ayuda
Tags
Ingresar
Registrarse
Páginas: [
1
]
2
Ir Abajo
« anterior
próximo »
Imprimir
Autor
Tema: datarefs (Leído 25056 veces)
0 Usuarios y 2 Visitantes están viendo este tema.
03 Noviembre, 2009, 18:08:06
pablozgz
Usuario Ocasional
Desconectado
Mensajes: 77
En línea
datarefs
Hola necesito ayuda con las datarefs de los motores de un 737
¿Como se leen los datos de cada motor por separado?
el dataref del ejemplo es el siguiente
sim/cockpit2/engine/indicators/N1_percent float[8] n percent "N1, %."
Este dataref es para 8 motores como se lee el del motor 2
Llevo 3 dias intentandolo y no lo consigo
Un saludo
Pablo Henar
03 Noviembre, 2009, 18:23:26
#1
supergolfo
Usuario Habitual
Desconectado
Mensajes: 1564
The Spotter
En línea
Re: datarefs
Leyendo el dato que hay en float[2]? Intenta poner la cabecera de la función
Though I fly through the Valley of Death I shall fear no evil for I am at 80,000 feet and climbing
03 Noviembre, 2009, 18:33:37
#2
jvaldunciel
Usuario Frecuente
Desconectado
Mensajes: 974
En línea
Re: datarefs
Si no recuerdo mal como funciona un array en C (hace muchos años que no escribo nada en C), los array se recorren empezando por cero para el primer elemento y tamaño -1 para el último. En este caso, con un array de tamaño 8, los elementos empiezan en 0 y acaban en 7.
Creo que como el avión tiene dos motores debes leer el elemento 0 para el motor 1 y el 1 para el motor 2. Si intentas leer el elemento 2 estás trayendo la información del motor 3, que no hay.
Pero no he escrito ningún plugin y lo mismo me estoy equivocando.
FAQ X-Plane
03 Noviembre, 2009, 19:09:07
#3
supergolfo
Usuario Habitual
Desconectado
Mensajes: 1564
The Spotter
En línea
Re: datarefs
Fallo de novato XD. Dato 2 = posición 3 en el array. Gracias XD
Though I fly through the Valley of Death I shall fear no evil for I am at 80,000 feet and climbing
03 Noviembre, 2009, 20:11:38
#4
pablozgz
Usuario Ocasional
Desconectado
Mensajes: 77
En línea
Re: datarefs
El problema esta en que si pongo float[8] me lee el dato del motor 1 y aunque cambiel el numero siempre lee lo mismo
La pregunta es donde se le indica que quiero leer el dato 1 y 2
Un saludo
Pablo Henar
03 Noviembre, 2009, 20:18:22
#5
supergolfo
Usuario Habitual
Desconectado
Mensajes: 1564
The Spotter
En línea
Re: datarefs
A ver, pon la linea de código para ver qué es lo que estás haciendo exactamente. De todas formas, para leer un array lo único que tienes que hacer es algo tal que float a = array[0]; //motor 1 float b = array[1]; //motor 2
Though I fly through the Valley of Death I shall fear no evil for I am at 80,000 feet and climbing
03 Noviembre, 2009, 20:22:10
#6
pablozgz
Usuario Ocasional
Desconectado
Mensajes: 77
En línea
Re: datarefs
Haber te explico
Esta hecho en SIOC y uipc, lo unico que hace es tomar los datos de la lista de datarefs de x-plane, pero siempre coje el dato del motor 1
Pablo Henar
03 Noviembre, 2009, 21:19:31
#7
supergolfo
Usuario Habitual
Desconectado
Mensajes: 1564
The Spotter
En línea
Re: datarefs
Sigo diciendo que pongas el código... Pon la función al completo para examinarla. Es que de lo contrario, no puedo decirte nada y menos de un lenguaje que me estoy enterando ahora que existe XD
Though I fly through the Valley of Death I shall fear no evil for I am at 80,000 feet and climbing
03 Noviembre, 2009, 21:37:45
#8
pablozgz
Usuario Ocasional
Desconectado
Mensajes: 77
En línea
Re: datarefs
Te pongo los datos que pongo en uipxdatos que hacen referencia a estas variables
4001 sim/flightmodel/engine/ENGN_N1_ float[1]
4002 sim/flightmodel/engine/ENGN_N1_ float[2]
4003 sim/flightmodel/engine/ENGN_N1_ float[3]
4004 sim/flightmodel/engine/ENGN_N1_ float[4]
4005 sim/flightmodel/engine/ENGN_N1_ float[5]
4006 sim/flightmodel/engine/ENGN_N1_ float[6]
4007 sim/flightmodel/engine/ENGN_N1_ float[7]
Un saludo
03 Noviembre, 2009, 23:22:17
#9
supergolfo
Usuario Habitual
Desconectado
Mensajes: 1564
The Spotter
En línea
Re: datarefs
Y el sim/flightmodel/engine/ENGN_N1_ float[0]? Es lo que te decían antes. Un array, por norma general, empieza a contar desde cero. Tú también decías que era un array de tamaño 8 así que en cualquier caso, te faltaría una sentencia. Prueba a poner sim/flightmodel/engine/ENGN_N1_ float[0] porque me da que va a ser eso
Though I fly through the Valley of Death I shall fear no evil for I am at 80,000 feet and climbing
03 Noviembre, 2009, 23:25:33
#10
jvaldunciel
Usuario Frecuente
Desconectado
Mensajes: 974
En línea
Re: datarefs
No se que es uixpdatos, pero por lo que acabo de leer (me pudo la curiosidad), el SIOC funciona con offsets. En el manual del XPIUPC los tienes todos. Así que no se porque necesitas los datarefs.
Por otro lado...
float
es un tipo de dato de C (un tipo numérico decimal) .
float[8]
indica que el dataref es un array de "floats" de 8 elementos. No es un ejemplo de uso, es el tipo del dataref en C. El dataref realmente se llama sólo "sim/flightmodel/engine/ENGN_N1_"
El guión final me da a entender que a lo mejor lo tienes que usar así:
sim/flightmodel/engine/ENGN_N1_1
sim/flightmodel/engine/ENGN_N1_2
sim/flightmodel/engine/ENGN_N1_3
sim/flightmodel/engine/ENGN_N1_4
etc.
Si no te funciona lo de
supergolfo
intenta esto.
Si miras los datarefs en versión HTML, lo verás mejor:
http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html
.
FAQ X-Plane
03 Noviembre, 2009, 23:37:34
#11
supergolfo
Usuario Habitual
Desconectado
Mensajes: 1564
The Spotter
En línea
Re: datarefs
De todas formas... la próxima vez intenta hacerlo en C porque creo que te vas a complicar menos la vida XD. En C pondrías algo tipo:
float motor1 = ENGN_N1_ float[0]; //... o cualquiera que sea la función que te devuelva el valor correcto
float motor2 = ENGN_N1_ float[1];
Though I fly through the Valley of Death I shall fear no evil for I am at 80,000 feet and climbing
04 Noviembre, 2009, 16:01:01
#12
pablozgz
Usuario Ocasional
Desconectado
Mensajes: 77
En línea
Re: datarefs
Hola os respono a la vez a los dos:
Supergolfo: Lo de programar en C lo intentaria pero 0 patatero
El poner la varable a 0 tambien lo he intentado y nada
Jvalduncel: El xpuipc utiliza una serie de ofset que hace que cualquier scrip para FS hecho con variables FSUIPC te funcione, en cambio yo uso el servidor IOCP de X-plane
Lo he dejado por imposible de momento no vaya a ser un Bug de x-plane
04 Noviembre, 2009, 16:12:04
#13
supergolfo
Usuario Habitual
Desconectado
Mensajes: 1564
The Spotter
En línea
Re: datarefs
Pues entonces ya no se me ocurre nada más que decirte. Si haciendo float[1] ya te lee el dato de uno de los motores, por qué no iba a leerlo haciendo float[0]. Resulta un tanto extraño. Una cosa que se me ocurre, es que te esté devolviendo otro array. Me explico. Por definición, al tú hacer float[] estás declarando un array. Al tú hacer float[1], estás accediendo a esa posición del array y te devolverá ese valor. Luego, tú dices que de todas esas sentencias (float[1] hasta float[7], aunque insisto en que debería ser float[0] hasta float[7]) sólo te devuelve el dato de uno de los motores. Lo que puede estar devolviendo, vuelvo a decir que lo dudo mucho, es otro array pero en este caso de tamaño 2 que se correspondería con el número de motores del avión. Al imprimir ese dato, sólo te muestra la primera posición de ese array de tamaño dos. Sería cuestión de ponerlo de forma que imprima las dos. No sé si me he explicado bien. Es algo poco probable pero nunca está de más probar cosas distintas.
Sobre lo de C hazme caso y métele mano según tengas tiempo. Ya verás como luego se te convierte en un vicio
Though I fly through the Valley of Death I shall fear no evil for I am at 80,000 feet and climbing
04 Noviembre, 2009, 18:58:12
#14
pablozgz
Usuario Ocasional
Desconectado
Mensajes: 77
En línea
Re: datarefs
Me puedes hacer un pequeño resumen para tontos de que se necesita para ir trasteando en C, programas, lenguaje y demas
Un saludo y muchas gracias por las respuestas
Pablo Henar
Tags:
Páginas: [
1
]
2
Ir Arriba
Imprimir
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
INSTRUCCIONES Y NORMAS DEL FORO
-----------------------------
=> Normas del foro
=> Instrucciones
-----------------------------
FAQ DEL FORO - X-PLANE.ES
-----------------------------
=> Preguntas frecuentes
=> Preguntas frecuentes - Usuarios X-Plane10
-----------------------------
Foro General
-----------------------------
=> Zona de presentaciones.
=> X-Plane 12
=> X-Plane 11
=> X-Plane10
=> X-Plane
=> Zona de consultas
=> Complementos de X-Plane, aviones, escenarios, plugins...
===> El rincón de nuestro corresponsal Luis Angel.
===> Boeing B737-800X ZIBO mod
=> WorldEditor (WED) & Overlay Editor
=> Aircraft-Plane-Maker
=> Helis
=> Hardware
=> Imágenes y Videos.
===> Capturas x-plane - concurso mensual
=> Sugerencias-Tablón anuncios
=> Vuelo On-line
=> International room
-----------------------------
Tutoriales y manuales
-----------------------------
=> Escuela de vuelo
-----------------------------
Taller de proyectos
-----------------------------
=> Proyectos Escenarios
=> Proyectos Aeropuertos
=> Proyectos Aviones
-----------------------------
Aviación civil y militar
-----------------------------
=> El mundo de la aeronáutica.
=> Aviación militar
=> Aviación civil
=> Imágenes y videos relacionados con la aviación.
Loading...