Vous n'êtes pas identifié(e).
Bonsoir,
Je vous propose un petit programme pour améliorer le levage aérien dans X-Plane, en utilisant FlyWithLua.
FlyWithLua est très pratique et permet de réaliser des plugins pour X-Plane, mais de manière très simplifiée.
Il est disponible ici : http://forums.x-plane.org/index.php?app … file=17468
Avec le programme (ou plutôt scrpt), que je vous propose plus bas, il est possible de choisir la longueur de l'élingue ainsi que de simuler la variation de masse d'une charge dans X-Plane. Il est donc possible de simuler le chargement/déchargement d'une benne de béton, par exemple.
Mais tout d'abord, il faut avoir installé FlyWithLua. Après avoir décompressé l'archive, il suffit de glisser le dossier "FlyWithLua" dans le dossier "plugins", lui-même dans le dossier "Ressources" situé à la racine de X-Plane.
Ensuite, il suffit d'aller dans le dossier "Scripts" de FlyWithLua pour voir les scripts qui seront lancés (les .lua).
Pour les désactiver, il suffit de les glisser dans le dossier "Scripts (disabled)".
Pour créer le nouveau script destiné au levage, il faut maintenant créer un fichier .txt puis le renommer en .lua.
Le nom n'a pas d'importance (enfin... il faut s'y retrouver quand même )
Le code que je vous propose et qui fonctionne chez moi est :
dataref( "chargeElingue", "sim/flightmodel/weight/m_jettison", "writable" )
dataref( "longueurElingue", "sim/flightmodel/misc/jett_len", "writable" )chargeElingueSaved = 0
memoire = 0add_ATC_macro("Elingue 5m", [[
longueurElingue = 5]])
add_ATC_macro("Elingue 8m", [[
longueurElingue = 8]])
add_ATC_macro("Elingue 12m", [[
longueurElingue = 12]])
add_ATC_macro("Elingue 20m", [[
longueurElingue = 20]])
add_ATC_macro("Elingue 50m", [[
longueurElingue = 50]])
add_ATC_macro("Elingue 80m", [[
longueurElingue = 80]])do_every_frame( [[
if button(001) and (memoire == 1) then
if (chargeElingue > 162) then
chargeElingueSaved = chargeElingue
chargeElingue = 162
else
if (chargeElingue == 162) then
if (chargeElingueSaved > 162) then
chargeElingue = chargeElingueSaved
else
chargeElingue = 500
end
end
end
memoire = 0
end
if (not button(001) ) and (memoire == 0) then
memoire = 1
end]] )
Le principe :
Attention ! Ce code peut-être copier-coller, mais il utilise le bouton 001 de votre (ou vos) joystick.
Pour savoir comment utiliser le bouton 002 (ou le 003, ou le 004 ou le ... Lisez la suite ! )
On définit des menus nommés "Elingue Xm" accessibles dans la barre de X-Plane sous "Plugins" puis "FlyWithLua ATC", qui permettent de choisir la longue d'élingue voulue en cliquant dessus.
Lorsque l'on appuie sur le bouton 001 du joystick, il se passe deux choses différentes, en fonction de l'état actuel :
- Si la masse de l'objet accroché sous l'élingue est supérieure à 162kg (la masse à vide de ma benne), celle-ci est sauvegardée, puis la masse de l'objet est réduite à 162 (les ouvriers on vidé la benne)
- Si la masse de l'objet est de 162kg, on lui réattribue sa masse sauvegardée. Si aucune masse n'a été sauvegardée, celle-ci est définie par défaut à 500kg (c'est pour les travaux en altitude )
- Si la masse est inférieur à 162kg, le script ne fait jamais rien quand on appuie sur le bouton
C'est volontaire : cela permet d'éviter de donner accidentellement une masse à un objet que l'on a jamais demandé !
Pour savoir quel est le numéro du bouton de votre joystick : dans le menu de X-Plane permettant de définir les fonctions des boutons, il suffit d'appuyer sur le bouton en question, et de lire sont numéro en haut.
Attention ! FlyWithLua compte les boutons depuis 0 et non 1 comme X-Plane.
Il faut donc retrancher 1 à votre numéro de bouton lu dans X-Plane pour l'utiliser dans le script lua.
Explications plus détaillées :
... Certes, au premier abord, ces lignes de code ne sont pas très attrayantes pour tous... Mais je vous assure que ça en vaut la peine !
Pour aller plus loin, FlyWithLua permet aussi d'utiliser des boutons à deux positions dans X-Plane et bien d'autres choses
Bon vols !
Squirrel
Hors ligne
non, Squirrel ne va pas bien !!
Qui a dit que maintenant ma femme je vais passer ancor plus temps au PC pour faire del slingload comme le vrai pilot (avec changement de pois) ?
GRAND MERCI !!!
Une seule question, comment puis-je mettre une animation lorsque j'appuie sur le bouton aussi visuellement je voix augmenter ou diminuer le niveau (par exemple pour un benne beton ou la bambi buket) ? Sous AC3D, oui.. mais comme on fait vue que il travail avec un script ?
Greetings from Switzerland
Alex
Job from Swisscreations https://www.facebook.com/swisscreationsheli
Hors ligne
Bonjour Alex,
Je suis heureux que ce petit script te plaise !
Pour l'animation, je me suis aussi posé la question... Mais pour l'instant je n'ai pas la réponse (ce n'est pas ma priorité non plus). Par contre, j'ai quelques pistes :
- Le script ne fait que modifier la dataref sim/flightmodel/weight/m_jettison... Donc si tu arrives à animer l'objet à partir de celle-ci, c'est gagné !
- Sinon, il est peut-être possible de déclarer une nouvelle dataref, qui prendrait les valeurs 0 et 1 par exemple. Par contre, je ne sais pas comment faire (il faut regarder dans la documentation fournie avec le plugin).
Par contre, je ne sais pas si X-Plane lira les animations sur l'objet accroché... Il faut essayer.
Si tu arrives à quelque chose de fonctionnel, je serais intéressé par la méthode ! (et éventuellement un exemple )
Sinon, je pense qu'il y a encore moyen d'ajouter plusieurs fonctionnalités... Mais pour l'instant ce ne sont que des idées :
- Si l'appareil est au-dessus de l'eau et que la tension dans le câble est nulle, augmenter la masse de l'objet automatiquement (pour le remplissage du Bambi Bucket).
Si cette méthode ne marche pas, il est peut-être possible d'avoir le même résultat en utilisant la longueur de l'élingue et la hauteur par-rapport au sol...
- En faisant quelque chose avec les coordonnées de l'appareil, il est sans doute possible de se placer différents points (un camion-toupie, un chantier et des bidons de fuel), pour lesquels, arrivé à proximité, la modification de la masse de l'objet se fait automatiquement, ainsi que le plein de fuel...
Pour cela, il faudrait d'abord créer une scène, relever les positions GPS des objets, puis intégrer des calculs de distances au script pour qu'il fasse cela...
Mais ce ne sont que des idées
Une petite dernière : logiquement, il serait possible de simuler un treuil (avec montée/descente)
Mais il y a un gros défaut : on ne peut pas "accrocher" les objets au sol, comme dans FSX...
Sur ce dernier point, il y a le plugin (un vrai plugin, pas un script cette fois-ci) des "Flying Red Beards" qui semble très prometteur : http://forums.x-plane.org/index.php?s=5 … 484&page=1
Si la réalisation de tout ceci tente quelqu'un...
Squirrel
Hors ligne
Bonjour Alex,
:
- Le script ne fait que modifier la dataref sim/flightmodel/weight/m_jettison... Donc si tu arrives à animer l'objet à partir de celle-ci, c'est gagné !
ça marche !!!
Greetings from Switzerland
Alex
Job from Swisscreations https://www.facebook.com/swisscreationsheli
Hors ligne
salut,
Les pilotes helicos sous X-Plane me diront qu'il est largement mieux q'FSX, mais en attendant, il aura un programme pareil a celui-ci sous FSX ?
Amic'
kenken413
L'hélico c'est comme le vélo, une fois que t'as compris, tu l'oublies pas
Hors ligne
Bonsoir,
Sous FSX, il me semble que c'est plus compliqué... Avec une dll et SimConnect la variation de masse serait faisable, mais il faudrait trouver quelqu'un pour la programmer
Sinon, je sais qu'il existe aussi un moyen de faire des scripts en Lua, mais sans plus.
Pour changer la longueur de l'élingue, tu peux aller jeter un coup d’œil ici : http://www.pilote-virtuel.com/viewtopic.php?id=54123
Bonne soirée,
Squirrel
Hors ligne