Besoin d'aide pour programmation Lua

Programmation LUA, Macros FSUIPC, logiciel LINDA
et codage en LUA des gauges Air Manager

Besoin d'aide pour programmation Lua

Messagede arcc » Jeu 18 Jan 2018 19:38

Bonsoir

Je m'adresse au "cador" de la programmation des jaudes de AM en Lua.

Si j'ai reussi à m'en sortir avec de l'aide pour mes jauges de mon Twin, la je butte sur qq de pas tres compliqué pourtant.
J'ai besoin d'aide pour ecrire le programme avec des multi conditions.

Je suis dans ma jauge "Sound" et je voudrais joué un son "Firebell" sous plusieurs conditions.

1 - il faut que le Master battery soit sur On
2- le son se joue si ... Engine 1 est en feu ou Engine 2 est en feu et ou le switch Test est sur On
et en 3 Il faut que le switch FireBell Mute ne soit pas sur On

J'ai ecrit ca, mais le son se joue même si le Master est sur Off et qq soit la position du "Mute"

Code: Tout sélectionner
Firebell = sound_add("Firebell.wav")

-- Fire Alarm

function Firebell_state(Eng1_Fire, Eng2_Fire, Test_Fire, Mute_Fire, Master)

if Master == true and Mute_Fire == False and
   Eng1_Fire  > 0 or Eng2_Fire > 0 or Test_Fire > 0 then
      sound_play(Firebell)
else sound_stop(Firebell)
   end   
end   

fsx_variable_subscribe("Twot_Enge1_Fire", "",
                       "Twot_Enge2_Fire", "",
                       "FireTest_sw", "",
                       "FireBellMute_Sw", "Bool",               
                       "ELECTRICAL MASTER BATTERY", "Bool", Firebell_state)


Je pense que la gestion des if and or ne doit pas etre bonne.

A+
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: Besoin d'aide pour programmation Lua

Messagede fab » Jeu 18 Jan 2018 20:44

A les priorités, tout un programme !

essaie avec des parenthèses :
Code: Tout sélectionner
if Master == true  and  Mute_Fire == False  and   (Eng1_Fire  > 0 or Eng2_Fire > 0 or Test_Fire > 0) then


La partie OR doit être traitées comme une seule condition
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: Besoin d'aide pour programmation Lua

Messagede JacquesZ » Jeu 18 Jan 2018 23:08

arcc a écrit:Bonsoir

Je m'adresse au "cador" de la programmation des jaudes de AM en Lua.

Si j'ai reussi à m'en sortir avec de l'aide pour mes jauges de mon Twin, la je butte sur qq de pas tres compliqué pourtant.
J'ai besoin d'aide pour ecrire le programme avec des multi conditions.

Je suis dans ma jauge "Sound" et je voudrais joué un son "Firebell" sous plusieurs conditions.

1 - il faut que le Master battery soit sur On
2- le son se joue si ... Engine 1 est en feu ou Engine 2 est en feu et ou le switch Test est sur On
et en 3 Il faut que le switch FireBell Mute ne soit pas sur On

J'ai ecrit ca, mais le son se joue même si le Master est sur Off et qq soit la position du "Mute"

Code: Tout sélectionner
Firebell = sound_add("Firebell.wav")

-- Fire Alarm

function Firebell_state(Eng1_Fire, Eng2_Fire, Test_Fire, Mute_Fire, Master)

if Master == true and Mute_Fire == False and
   Eng1_Fire  > 0 or Eng2_Fire > 0 or Test_Fire > 0 then
      sound_play(Firebell)
else sound_stop(Firebell)
   end   
end   

fsx_variable_subscribe("Twot_Enge1_Fire", "",
                       "Twot_Enge2_Fire", "",
                       "FireTest_sw", "",
                       "FireBellMute_Sw", "Bool",               
                       "ELECTRICAL MASTER BATTERY", "Bool", Firebell_state)


Je pense que la gestion des if and or ne doit pas etre bonne.

A+
Christian

Bonjour Christian
Essaies déjà de remplacer False par false, ça devrait mieux fonctionner. lunettesnoires
Pour le reste du code, sans la jauge au complet, difficile à tester, mais les parenthèses suggérées par Fab me semblent également une bonne idée...

Je te conseille mon colorateur syntaxique pour Notepad++, cela aurait sauté aux yeux, car le mot clef False n'étant pas reconnu serait resté en noir au lieu de bleu...


Autre question: pourquoi la variable "Twot_Enge2_Fire" (entre autres) n'a pas de type Boolean ou number?
C'est une Lvar? dans ce cas, il faut écrire "L:Twot_Enge2_Fire", "number" je pense.

Jacques
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

Re: Besoin d'aide pour programmation Lua

Messagede dreambox » Ven 19 Jan 2018 07:08

JacquesZ a écrit:
Je te conseille mon colorateur syntaxique pour Notepad++, cela aurait sauté aux yeux, car le mot clef False n'étant pas reconnu serait resté en noir au lieu de bleu...

Jacques


Bonjour Jacques
J'ai raté quelque chose, on le trouve ou ce "colorateur syntaxique" ?
mes excuses pour ce hors sujet
Dreambox
Avatar de l’utilisateur
dreambox
 
Messages: 303
Inscription: 23/11/13
Localisation: F62950 Noyelles-Godault

Re: Besoin d'aide pour programmation Lua

Messagede JacquesZ » Ven 19 Jan 2018 10:45

Bonjour Philippe

C'est un petit fichier de colorateur syntaxique pour NotePad++ spécifique au langage Lua utilisé dans Air Manager, qui reprend tous les mots clefs de l'API en plus des mots spécifiques au langage Lua.

Cela me fait penser d'ailleurs qu'il faut que je le modifie légèrement, car si les nouveaux mots-clefs de la v3.0 y sont, AM v3.x utilise maintenant Lua 5.3 au lieu de 5.1-5.2 et certaines fonctions Lua ont changé.

Voir ici: http://aircockpit.com/viewtopic.php?f=147&t=5362

Jacques
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

Re: Besoin d'aide pour programmation Lua

Messagede arcc » Ven 19 Jan 2018 13:10

Essaies déjà de remplacer False par false, ça devrait mieux fonctionner.  


Oups j'avais deja fait la correction, en plus grace à la coloration du texte.... (j'ai telechargé ton petit programme des ca sortie) merci affiche mais le resultat est le même.
Le fait de renseigner ou pas l'entre deux " ne change rien. Je peux mettre "enum" ou "number". J'ai des exemples que ce soit avec mes jauges engines (dans l'autre discution sur les jauges du Twin) ou meme dans ma jauge Sound qui fonctionne bien sansque je renseigne ce "".

Je pense comme fab à un probleme de syntaxe dans la gestion des and et or.
je vais essayé de differentier les deux. Je continue.

A+
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: Besoin d'aide pour programmation Lua

Messagede algue14 » Ven 19 Jan 2018 15:49

Salut

"Twot_Enge1_Fire", "",
"Twot_Enge2_Fire", "",
"FireTest_sw", "",
"FireBellMute_Sw", "Bool",


C'est des variables spécifiques à ton add-on?
Parce qu'elles n'existent pas dans la liste des variables FSX-P3D
A+

Alain
Avatar de l’utilisateur
algue14
 
Messages: 1626
Inscription: 20/04/09
Localisation: Caen ; Normandie

Re: Besoin d'aide pour programmation Lua

Messagede JacquesZ » Ven 19 Jan 2018 16:08

arcc a écrit:
Essaies déjà de remplacer False par false, ça devrait mieux fonctionner.  


Oups j'avais deja fait la correction, en plus grace à la coloration du texte.... (j'ai telechargé ton petit programme des ca sortie) merci affiche mais le resultat est le même.
Le fait de renseigner ou pas l'entre deux " ne change rien. Je peux mettre "enum" ou "number". J'ai des exemples que ce soit avec mes jauges engines (dans l'autre discution sur les jauges du Twin) ou meme dans ma jauge Sound qui fonctionne bien sansque je renseigne ce "".

Je pense comme fab à un probleme de syntaxe dans la gestion des and et or.
je vais essayé de differentier les deux. Je continue.

A+
Christian


Si ce sont des LVars, il faut mettre un L: devant le nom de la variable pour qu’elle soit prise en compte par Air Manager

Jacques
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

Re: Besoin d'aide pour programmation Lua

Messagede dreambox » Ven 19 Jan 2018 16:20

JacquesZ a écrit:Bonjour Philippe

C'est un petit fichier de colorateur syntaxique pour NotePad++ spécifique au langage Lua utilisé dans Air Manager, qui reprend tous les mots clefs de l'API en plus des mots spécifiques au langage Lua.

Cela me fait penser d'ailleurs qu'il faut que je le modifie légèrement, car si les nouveaux mots-clefs de la v3.0 y sont, AM v3.x utilise maintenant Lua 5.3 au lieu de 5.1-5.2 et certaines fonctions Lua ont changé.

Voir ici: http://aircockpit.com/viewtopic.php?f=147&t=5362

Jacques


Merci Jacques
Je vais regarder tout ça

Dreambox
Avatar de l’utilisateur
dreambox
 
Messages: 303
Inscription: 23/11/13
Localisation: F62950 Noyelles-Godault

Re: Besoin d'aide pour programmation Lua

Messagede arcc » Ven 19 Jan 2018 18:45

Oh la grossière erreur. Merci, je revois ma copie.

Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Suivante

Retourner vers LUA, Linda, Macros & gauges Air Manager





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron