G60 G60
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Programación addons  (Leído 6920 veces)
0 Usuarios y 1 Visitante están viendo este tema.
08 Junio, 2009, 19:48:31
AvEngEr
Superusuario
*******
Desconectado Desconectado

Mensajes: 2436



En línea
Programación addons

Hace tiempo, cuando todavía me gustaban los ordenadores  Sonreir llegué a hacer mis pinitos en C++, y ahora cuando leo que Japo32 tiene problemas para programar el CRJ me ha picado la curiosidad. ¿Qué lenguaje de programación se puede utilizar?¿necesitaré 7 cajas de aspirinas para empezar con el tema?

También me gustaría picarme con un gestor de pasajeros para X-Plane que se fije si cuando llegas a la altitud de transición calas el altímetro en 1013, que por debajo de 10.000Ft no superes la velocidad, velocidad de la toma, etc... y que si no cumples te de un informe al final del vuelo con las cosas que has hecho bien y con las que no has hecho tan bien, más o menos de este tipo, ¿sería muy complicado?

Flight LY611               End of flight report             Date 08 June 2009

Flight ID:   LY611
Pilot:   John Casado
Company:   El Al Israeli Airlines
Aircraft:   El Al Israel Airlines B737-700
Flight Date:   08 June 2009
Departure:   18h31 (16h32 GMT)
Arrival:   19h30 (17h31 GMT)
From:   LEBB - Bilbao - Spain
To:   LEST - Santiago - Spain
Nbr of Passengers:    93

Report:

Flight Distance:   242 Nm   Landing Speed:   136.91 kt
Time Airborne:   00h49:30   Landing Touchdown:   -270.00 ft/m (nice)
Flight Time (block):   00h58:42   Landing Pitch:   6.98°
Time On Ground:   00h27:31   Landing Weight:   66067 kg
Average Speed:   294.19 kt   Total Fuel Used:   983 gal
Max. Altitude:   FL 280   Fuel Not Used:   5891 gal
Climb Time:   00h12:40   Climb Fuel Used:   524 gal
Cruise Time:   00h15:33   Cruise Fuel Used:   245 gal
Average Cruise Speed:   403.84 kt (M0.64)   Cruise fuel/hour:   945 gal (calc)
Descent Time:   00h21:17   Descent Fuel Used:   213 gal


Passenger Opinion: Very good flight, professionally done (91%)
-Were pleased by the music on ground.  A very nice addition to their flying experience.
-Didn't like that you forgot the belt sign during take-off and landing.

Financial Report:

Ticket Income:   +$13,493   (242 Nm)
Cargo Income:   +$4,392   (3255 kg)
Services Income:   +$0   (0 sandwich 0 hot food 0 drink)
Services Cost:   -$0   (20% quality)
Fuel Cost:   -$5,109   (983 gal Jet-A1)
Airport Taxes:   -$173   (Large Aircraft)
Insurance Costs:   -$772   (4.32% rate)
Total Real Income:   $11,831   
Total Income:   $591,550    (real x50)   
Fleet Bonus:   $0        (0 aircraft)
Total Sim Income:   $591,550    (total income+fleet bonus)

Company Reputation:

Considering that the flight was very good,the tickets price low,and there was no service aboard,passengers on this flight think that your company's reputation should be 91%
Your company reputation is now: 67% (+2.36 increase)


Overall Flight Result:   Good

Pilot Bonus points:   80 points
You made a very nice landing. (+50)
You landed at the scheduled airport. (+30)

Pilot's Penalty points:   -180 points
It is considered bad practice to leave the strobes turned on when the aircraft is on the parking ramp. (-30)
Forgetting to set the cabin seatbelt sign to ON during landing or takeoff is a fault. (-150)


09 Junio, 2009, 16:55:21 #1
Dagger
Usuario Ocasional
***
Desconectado Desconectado

Mensajes: 28



En línea
Re: Programación addons

Hola, trabajo como programador junior en C# y java principalmente. De todas formas tambien estuve tocando bastante el tema de C++.

Lo mire hace cosa de unos 6 meses y me parecio bastante complicado, sobretodo por la escasa documentacion que hay sobre ello. De todas formas si necesitais ayuda podria ponerme a ver el tema y quizas saldria algo.

PD: Yo tambien tuve esa idea sobre un "FS-Passengers" pero a lo x-plane y creo que tendria bastante exito, sobretodo por la cantidad de datos que se pueden extraer del x-plane

09 Junio, 2009, 17:13:35 #2
supergolfo
Usuario Habitual
******
Desconectado Desconectado

Mensajes: 1564


The Spotter


WWW
En línea
Re: Programación addons

Por lo poco que estuve mirando en su día, entendí que no va más allá de una programación "básica" en c. Para obtener los datos que te interesan, sólo haría falta llamar a la función de x-plane correspondiente y guardar ese dato en una variable para luego procesarla a tu antojo




Though I fly through the Valley of Death I shall fear no evil for I am at 80,000 feet and climbing
09 Junio, 2009, 17:55:26 #3
galvedro
Usuario Iniciado
****
Desconectado Desconectado

Mensajes: 286




En línea
Re: Programación addons

Hola Avenger,

El SDK de x-plane consiste en una serie de cabeceras C que definen un conjunto no muy extenso de funciones que te permiten acceder a ciertas funciones del simulador desde una librería dinámica. Esta librería (tu plugin), con el nombre correcto y en el lugar correcto la cargaría el simulador en arranque.

Las funciones del API de x-plane permiten leer y escribir datarefs, toquetear meteorología, configurar "hot keys", dibujar cosas en pantalla, etc. Pero NO permiten acceder a todo, absolutamente todo. Por ejemplo, un plugin no puede engancharse con el motor de sonido de x-plane a través del SDK (hasta donde yo pude ver).

En resumen, escribir un plugin, es escribir una librería dinámica (.dll en windows, .so en linux) con un API determinado, en lenguaje C. C++ es compatible a nivel binario con C, y esto permite escribir los plugins en C++ también, pero el API en sí misma es C puro y duro.

Existe una alternativa más sencilla para "profanos", que es el wrapper de Python que se curró, creo que fué Sandy Barbour (quién si no). Este es un add-on que te permite escribir plugins en Python. Python es un lenguaje de script, y debería ser más sencillo de aprender para alguien que no este acostumbrado a manejarse con estas cosas. No requiere compilación, por ejemplo y tiene una sintaxis francamente bien parida.

Fácil o difícil? Bueno, pues un plugin es un programa, y un programa es tan sencillo o complicado como tú lo quieras hacer. Si no sabes programar, x-plane no ofrece ningún tipo de simplificación, así que tendrás que aprender a programar... digamos, en general. Cosas muy sencillas como modificar un dataref reaccionando a una tecla, por ejemplo, no tienen complicación. Cosas más elaboradas como algún sistema de abordo, pues sí.

No se si te aclaro algo o te he confundido aún más  Sonrisa

EDIT: En tu ejemplo, la parte del flight plan no la veo sencilla, creo que el API no nos da acceso al flight plan del vuelo. La parte de estadísticas y valoración sí me parece más o menos sencilla, sin embargo.
« Última modificación: 09 Junio, 2009, 17:59:44 por galvedro »

Tags:
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

www.x-plane.es.
Página creada en 0.068 segundos con 19 queries.