Vous n'êtes pas identifié(e).
Merci pour les remarques, je vais revoir cela.
B.
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 ?
B.
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é.
Amicalement Patrick[img align=D]http://www.pilote-virtuel.com/img/members/8639/P3DV3.jpg[/img]
Configuration: Intel I7 3770k OC 4,4 GHz, CM Asrock Z77 Extrem 9
8Gb Gskill DDR3 2133, CG Nvidia 980 GTX TI 6Gb, Windows 8 64bits
P3D V3.3, X52 Pro, CH Product "Éclipse", TIR 5 etc....
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 (18-10-2015 23:33:46)
B.
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 :
Amicalement Patrick[img align=D]http://www.pilote-virtuel.com/img/members/8639/P3DV3.jpg[/img]
Configuration: Intel I7 3770k OC 4,4 GHz, CM Asrock Z77 Extrem 9
8Gb Gskill DDR3 2133, CG Nvidia 980 GTX TI 6Gb, Windows 8 64bits
P3D V3.3, X52 Pro, CH Product "Éclipse", TIR 5 etc....
Hors ligne