Vous n'êtes pas identifié(e).
Bonjour,
Je souhaite que la fumée de mon avion se déclenche pour une vitesse comprise entre 100 et 200 kt. Je ne veux pas qu'elle marche en dehors de ces vitesses.
Voici un bout de code de ma gauge mais ça ne marche pas :
(A:AIRSPEED INDICATED,knot) 300 < (A:G FORCE,Gforce) 1,5 < && if{ (>K:SMOKE_ON) } els{ (>K:SMOKE_OFF) }
Pouvez vous m'aider ?
Merci beaucoup !
Hors ligne
Pourrais-tu mettre tout ton texte car là il n'y a que la partie conditionnelle. De plus, dans ta condition d'autres choses en particulier si la vitesse est inférieure à 300 knots et la valeur de la G Force ...
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
En ligne
Bonjour,
Pour la partie se référent à la vitesse, utilise plutôt ça, c'est plus sympa :
100 200 (A:AIRSPEED INDICATED,knot) rng
Ce code renvoie 1 si la vitesse est entre 100 et 200.
Lagaffe à raison, faudrait qu'on en sache plus sur ce que tu veux faire de ce code. A priori, si c'est juste un paramètre qui est géré par la vitesse, les G sont inutiles. Maintenant, si c'est une équation pour la vapeur d'eau qui se condense sur le dessus de l'aile, c'est différent.
Bonne chance ^^.
Dernière modification par Thor's Hammer (12-02-2011 12:44:33)
Hors ligne
Bonsoir,
Merci pour votre aide.
Effectivement, les G sont inutiles. Ce que je veux, c'est ajouter cette gauge dans les fichiers de l'avion pour que lorsque sa vitesse est comprise entre 100 et 200 kt, il y ait la fumée qui se déclenche : j'entends par fumée, la fumigiène : lorsqu'on appuie sur I (le système de fumée).
Je vais essayer, je vous tiens au courant.
Hors ligne
Si je ne m'abuse, en analysant ton code je comprends:
- la condition 100 200 (A:AIRSPEED INDICATED,knot) rng renvoie 1 si la vitesse est entre 100 et 200
- if{ (>K:SMOKE_ON) } => si le resultat de la condition est plus grand (>) que 1 alors on affiche
- els{ (>K:SMOKE_OFF) => si le resultat de la condition est plus grand (>) que 1 alors on n'affiche pas
En conclusion, la séquence "if then else" est déjà mal programmée.
Avec le code de Thor, le résultat est 1 ou 0. Si le résultat vaut 1 alors il faut afficher ... s'il vaut zéro alors on n'affiche pas ... c'est une opération booléenne donc binaire ayant seulement 2 états : VRAI ou FAUX.
D'autre part, où veut tu mettre ce code dans une gauge du panel ou dans le MakeMDL.parts.XML pour créer un avion ?
Pour bien faire il faudrait le reste du code.
Dernière modification par Lagaffe (13-02-2011 11:56:29)
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
En ligne
bonjour CEV,
on vient de te dire que si tu veux qu'on t'aide efficacement il faut qu'on puisse voir TOUTE la structure xml de ta gauge car le problème peut se trouver n'importe ou dans le texte xml, balises comprises.
de plus je suppose que tu as bien édité le fichier aircraft.cfg de l'avion pour lui ajouter son
[SMOKESYSTEM] adéquat et son Panel.cfg pour y inscrire ta gauge.
voici pour t'aider, un exemple du texte XML dans l'esprit de ce que tu veux faire:
<Gauge Name="la gauge de CEV" Version="1.0">
<Element>
<Select>
<Value>
(A:AIRSPEED INDICATED,knot) 100 > (A:AIRSPEED INDICATED,knot) 200 < && if{ (>K:SMOKE_ON) } els{ (>K:SMOKE_OFF) }
</Value>
</Select>
</Element>
</Gauge>
comme le propose Thor's Hammer la ligne entre les balises <Value> </Value> peut aussi s'écrire ainsi:
--------
100 200 (A:AIRSPEED INDICATED,knot) rng if{ (>K:SMOKE_ON) } els{ (>K:SMOKE_OFF) }
--------
voila c'est pour t'aider, mais je ne suis pas très sur que ce forum soit très adapté pour parler plus en profondeur des problèmes d'écriture des gauges.
NB:eh Gaston! je pense que tu t'es un peu embrouillé les pinceaux avec les opérateurs > et <
A+=D=D=D
Dernière modification par RBLeDoC (13-02-2011 12:27:51)
Hors ligne
@RBleDoc
Je pense que ta séquence devrait s'écrire comme cela:
--------
100 200 (A:AIRSPEED INDICATED,knot) rng if{ (>K:SMOKE_ON) } els{ (<K:SMOKE_OFF) }
--------
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
En ligne
mea culpa !
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
En ligne
Bonjour,
Merci à tous de l'intérêt que vous avez porté à mon sujet.
Ma gauge complète est la suivante :
<Gauge Name="smokegauge" Version="1.2">
<Element>
<Select>
<Value>
(A:AIRSPEED INDICATED,knot) 100 > (A:AIRSPEED INDICATED,knot) 200 < && if{ (>K:SMOKE_ON) } els{ (>K:SMOKE_OFF) }
</Value>
</Select>
</Element>
</Gauge>
Avec ce code, ça marche ! donc merci à tous !
Je vais essayer de faire le même type de code avec l'incidence au lieu de la vitesse, donc je vous tiens au courant !
Hors ligne