• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

P3D v2 Alouette 3 gauges

mskhan1991

Resource contributor
Messages
923
Country
pakistan
I am a noob in creating the gauges marked below, also I need to get the lights working as well here, and the lever for fuel flow and the drum..... this is kinda confusing since there I can't find a tutorial for Helicopter creation ....... currently using FSHELI lama's air/config as a template

1.jpg
 
For the indicator lights, I would create two images for each type of light; one unlighted, the other lighted. For the lighted ones, create an FSX Material and use Additive Mode as the emissive light type. This will allow them to be lighted even during the day.
KA_350_11.jpg
For each indicator light, you will need to entries in your modeldef.xml file, then tag each of the lights with the appropriate "Visibility" condition:
Code:
  <PartInfo>
    <Name>ANNUN_L_DC_GEN_ON</Name>
    <Visibility>
      <Parameter>
        <Code>
          (L:ANNUN_L_DC_GEN,bool)
        </Code>
      </Parameter>
    </Visibility>
  </PartInfo>

  <PartInfo>
    <Name>ANNUN_L_DC_GEN_OFF</Name>
    <Visibility>
      <Parameter>
        <Code>
          (L:ANNUN_L_DC_GEN,bool) !
        </Code>
      </Parameter>
    </Visibility>
  </PartInfo>
I prefer to put the actual logic in a separate XML "logic gauge" so I can more easily develop and test the results without having to edit/save/recompile the silly model for every change. Here is the 'logic' for the above:
Code:
<!-- CENTER CONSOLE ANNUN LIGHTS -->
    <!-- L DC GEN -->
    (A:GENERAL ENG MASTER ALTERNATOR:1,bool) !
    (L:ANNUN_TEST,bool) or
    (A:ELECTRICAL MASTER BATTERY,bool) and
    if{ 1 (>L:ANNUN_L_DC_GEN,bool) } els{ 0 (>L:ANNUN_L_DC_GEN,bool) }
The above 'logic' will allow the light to illuminate if the generator/alternator is active OR the test button is pressed AND the master battery is on and providing power!
 
Last edited:
Before starting the AL3 engine, among other things, the pilot ensures that the fuel flow lever is in the fully aft or 'closed' position, there is a micro-switch there and so the engine will not start if the lever is not fully aft. After moving the eng start switch to 'START' the engine begins to crank, a few seconds later the engine is fed with fuel and the ignition system starts. Thus ignition takes place and the engine eventually reaches idle speed of around 18,000 rpm... (depending on engine model and type of clutch fitted etc.), during this sequence the pilot constantly watches exhaust temp, if it shoots too hight for some reason then he switches engine to OFF. After engine is at idle, he then slowly advances the fuel flow lever to bring the engine to operating speed of 33,500 rpm (again, depends on engine model). After the engine reaches operating speed, there is no longer a need to touch the fuel lever, it is left fully forward for the entire flight, so, it is not a 'throttle' lever as we normally know it. The other lever is an emergency fuel shut-off and would be used after, say, an emergency landing or 'crash'.There is a variable for this in FS already so it would be easy to code.

Regarding the ten thousand drum on the altimeter, here is code for that....

<Animation name="ALT_drum_tenthousand" guid="0d2f3ffd-5195-42fb-9d07-2a188a2aefff" length="500" type="Sim" typeParam2="ALT_drum_tenthousand" typeParam="AutoPlay" />

<PartInfo>
<Name>ALT_drum_tenthousand</Name>
<AnimLength>500</AnimLength>
<Animation>
<Parameter>
<Code>(A:Indicated Altitude,feet) 100000 % 200 /</Code>
</Parameter>
</Animation>
</PartInfo>

Animate the drum so it rotates downwards. At '0', create a keyframe, and another at KF49, then at KF50 rotate the drum to position '1', create a keyframe at KF99, then at KF100 rotate it to position '2'... continue this to show postion '9' at KF450, then at KF499 create another keyframe, at KF500 rotate again to '0' to complete the rotation. This way, the drum will 'snap' to the next digit, rather than rolling slowly.

Skip/
 
Last edited:
For the indicator lights, I would create two images for each type of light; one unlighted, the other lighted. For the lighted ones, create an FSX Material and use Additive Mode as the emissive light type. This will allow them to be lighted even during the day
..................................................
The above 'logic' will allow the light to illuminate if the generator/alternator is active OR the test button is pressed AND the master battery is on and providing power!

Hey thanks but last time you also mentioned this logic gauge and I still don't get how this logic gauge works? I mean don't you have to necessarily recompile the model everytime you change somethings inside the modeldef.xml? so how come is this logic gauge useful? any visual aids of where this gauge stands would be helpful!

Before starting the AL3 engine, among other things, the pilot ensures that the fuel flow lever is in the fully aft or 'closed' position, there is a micro-switch there and so the engine will not start if the lever is not fully aft. After moving the eng start switch to 'START' the engine begins to crank, a few seconds later the engine is fed with fuel and the ignition system starts. Thus ignition takes place and the engine eventually reaches idle .................................................
Skip/

Thanks, I am totally working on the rpm/alt gauge with the code you have provided! any idea about the start/vent switch and it's tags?
 
Hey thanks but last time you also mentioned this logic gauge and I still don't get how this logic gauge works? I mean don't you have to necessarily recompile the model everytime you change somethings inside the modeldef.xml? so how come is this logic gauge useful? any visual aids of where this gauge stands would be helpful!
Well, yes. If you change something in the modeldef.xml file you will have to recompile the model.

However, using this method there is no need to edit the modeldef.xml file at all. Since I've used custom L:variables, all of the logic may be scripted in a separate XML "logic" gauge. This gauge is loaded in any [Vcockpitnn] entry and is 'hidden' by simply using 1,1 for the display size!

Note that in this example, the 'logic' for the annunciators on the Kingair 350i is so complex that I've split the logic for them into a separate gauge.
Code:
//--------------------------------------------------------
[Vcockpit01]
Background_color=0,0,0
size_mm=1024,1024
visible=1
pixel_size=1024,1024
texture=$B350i_VC1

gauge00=Milviz_Sound!FBGS_XMLSound,  0,0,1,1,SimObjects\Airplanes\Beech_King_Air_350i Milviz\sound\B350#22
gauge01=B350i!B350i_Logic,  0,0,1,1
gauge02=B350i!B350i_Annun_Logic,  0,0,1,1
 
oooh, i understand that quite well now! thanks. but it can be faster if you've got notepad open on one side and the .bat file compiling on the other with FSX ready to reset after each model change! :)
 
Bill if you can help me with this as well .... my rotor brake lever and the tailwheel lock lever doesn't seem to be work. Tried making new model/compiling, it is stuck at the same OFF position and no animation + no function

Code:
     <PartInfo>
        <Name>A3_lever_tailwheel_lock</Name>
        <AnimLength>100</AnimLength>
        <Animation>
            <Parameter>
                <Code>
                    1 (A:Tailwheel Lock On,bool) - 100 *
                </Code>
                <Lag>50</Lag>
            </Parameter>
        </Animation>
        <MouseRect>
            <Cursor>Hand</Cursor>
            <TooltipID>TOOLTIPTEXT_TAILWHEEL_LOCK</TooltipID>
            <EventID>TOGGLE_TAILWHEEL_LOCK</EventID>
        </MouseRect>
    </PartInfo>



     <PartInfo>
        <Name>A3_lever_rotor_brake</Name>
        <AnimLength>50</AnimLength>
        <Animation>
            <Parameter>
                <Code>
                    (A:Rotor Brake Active,bool) 100 *
                </Code>
                <Lag>50</Lag>
            </Parameter>
        </Animation>
        <MouseRect>
            <Cursor>Hand</Cursor>
            <TooltipID>TOOLTIPTEXT_ROTOR_BRAKE</TooltipID>
            <EventID>ROTOR_BRAKE</EventID>
        </MouseRect>
    </PartInfo>
 
I had the same problem with the rotor brake. And this is what I found:

In FSX the rotor brake is modeled as the rotor brake of the r-22. In this helicopter the brake is a handle you have to pull to activate the brake. While you are pulling it, the brake is braking. But when you leave the handle (and stop pulling) the brake stops doing its function. So if in FSX you
use the k event (&gt;K:ROTOR_BRAKE) , the brake will be activated only for a short moment and (A:rotor brake active,bool) will equal to
one only for a short period of time. So you can't use it for the animation of the brake lever.

The process is the following:
(&gt;K:ROTOR_BRAKE) --> (A:ROTOR BRAKE ACTIVE,bool) = 1 -->after a few miliseconds and automatically--> (A:ROTOR BRAKE ACTIVE,bool) = 0

In most helicopters it is different. You put the rotor brake lever in the braking position AND if some requisites are met (hydraulic press in the
lh system in the case of the Superpuma) the brake will start to brake. While the brake lever remains in the same position, the brake will be active. I'm not sure, but I think the rotor brake in the alouette must be similar.

You can use the following code:

Code:
<PartInfo>
   <Name>A3_lever_rotor_brake</Name>
   <AnimLength>50</AnimLength>
   <Animation>
      <Parameter>
         <Code>
            (L:rotor brake lever,bool) 100 *
         </Code>
         <Lag>50</Lag>
     </Parameter>
</Animation>
<MouseRect>
      <Cursor>Hand</Cursor>
      <TooltipID>TOOLTIPTEXT_ROTOR_BRAKE</TooltipID>
       <MouseFlags>LeftSingle</MouseFlags>
       <CallbackCode>
          (L:rotor brake lever,bool) ! (>L:rotor brake lever,bool)
       </CallbackCode>
   </MouseRect>
</PartInfo>

And then, in the xml "logic" gauge add the following line (I add this in the <Update></Update> section) :

Code:
(L:rotor brake lever,bool) (L:lh hid press,bool) &amp;&amp; if{ (A:ROTOR BRAKE ACTIVE,bool) ! if{ (&gt;K:ROTOR_BRAKE) } 1 (>L:rotor brake on,bool) } els{ 0 (>L:rotor brake on,bool) }

What we do is to repeat the key event while the brake lever is in braking position (and lh hid press is true, you can change this condition to adapt the system to your helo). You can use the (L:rotor brake on,bool) as a rotor braking flag. It will be 1 if the braking is active and 0 if it's not. This is useful for
some helicopter systems (i.e. in most helicopters start up is inhibited while the rotor brake is active, or there's a warning light that
lights when the rotor brake is active).

In sum, you use two L variables to "trick" FSX rotor brake system. One for the lever position (on,off) and one as a flag to know when the
rotor brake is active.

Regarding the tail wheel lock, I must say I have not used this before. But perhaps some issue like that of the rotor brake is present. I suggest you
to modify an existing gauge in your panel to visualize the value of (A:Tailwheel Lock On,bool) and make some tries. Perhaps it doesn't work as you expect.
 
Last edited:
Back
Top