Vous n'êtes pas identifié.
Merci pour les remarques, je vais revoir cela.
Hors ligne
Alors, une version corrigée :
AxisSelection = ipc.btnPress(1) if AxisSelection == true then if ControlSelected == throttle then AxisRValue = ipc.axis(1 , "R") AxisUValue = ipc.axis(1, "V") ipc.writeSW("66C0", AxisRValue) ipc.writeSW("66C2", AxisUValue) ControlSelected = prop elseif ControlSelected = prop then AxisRValue = ipc.axis(1, "R") AxisUValue = ipc.axis(1, "V") ipc.writeSW("66C4", AxisRValue) ipc.writeSW("66C6", AxisUValue) ControlSelected = mixture elseif ControlSelected = mixture then AxisRValue = ipc.axis(1, "R") AxisUValue = ipc.axis(1, "V") ipc.writeSW("66C7", AxisRValue) ipc.writeSW("66C9", AxisUValue) ControlSelected = throttle end end while ControlSelected == throttle and AxisRValue >= "66C0" + 512 or AxisRValue <= "66C0" - 512 or AxisUValue >= "66C2" + 512 or AxisUValue <= "66C2" - 512 then ipc.writeDBL("088C", "66C0") ipc.writeDBL("0924", "66C2") end while ControlSelected == prop and AxisRValue >= "66C4" + 512 or AxisRValue <= "66C4" - 512 or AxisUValue >= "66C6" + 512 or AxisUValue <= "66C6" - 512 then ipc.writeDBL("088E", "66C4") ipc.writeDBL("0926", "66C6") end while ControlSelected == mixture and AxisRValue >= "66C7" + 512 or AxisRValue <= "66C7" - 512 or AxisUValue >= "66C9" + 512 or AxisUValue <= "66C9" - 512 then ipc.writeDBL("0890", "66C7") ipc.writeDBL("0928", "66C9") end
Pour l'event, il me semblait que la première ligne marchait. Non ?
Hors ligne
A nouveau cela ne fonctionnera pas (désolé) mais merci pour la présentation c'est beaucoup plus clair.
Trois remarques:
Pourquoi ipc.axis(1,"R") ou "V". En principe on utilise un seul axe pour simuler les autres c'est donc cet axe est uniquement celui-ci qui devrait être mémoriser.
Par contre, suivant l'utilisation actuelle de l'axe, on mémorisera sa valeur dans des offsets différents suivant la fonction qu'il occupe.
Attention au boucle "while" qui risque de "tourner" indéfiniment si les valeurs attendues ne se présentent pas. Il vaut mieux en cas de doute les soumettre à une condition "if" au préalable (le format des offsets est encore en DBL).
L'event est nécessaire dans le script et il faudra "encapsuler" le code dans une fonction. Cette fonction sera appelé par l'event à chaque appui sur le bouton désigné.
Hors ligne
Ah oui en relisant je m'aperçois que certains DBL sont restés.
Alors pour les deux axes, c'est simple : le joystick aura deux axes indépendants pour le throttle (voir ici).
Faut que je regarde pour la fonction.
Je corrigerai tout cela demain
Dernière modification par Boufogre (19-10-2015 00:33:46)
Hors ligne
Voici un exemple de code qui fonctionne chez moi.
Il faut impérativement déclarer l'axe utilisé dans FSUIPC en lui affectant un contrôle qui ne servira pas (ici une commande "Slew") :
[Profile.A36]
1=Carenado A36 Bonanza 60th Anniversary
[Axes.A36]
RangeRepeatRate=10
0=1V,256,F,65872,0,0,0
Le code :
Hors ligne