• 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.

Conditional Scenery

Messages
37
Country
us-northcarolina
Well, i'm satisfied that Actigate is a superb program, (it's really cool) but it just won't do what I want it to do.

To any of you who got bored with my last post and quit reading, here's my idea:

I'm building a T-hangar series (just like the one in the real world.) The series has 5 hangars on each side of the building. To replicate this I built the A-Frame building, and each of the 10 individual T-Hangars. I would like to open each of the bi-fold doors with a separate command. Some I have set with CAt for Time_of_Day commands, others with NAV1/COM1 commands. So far, so good.

On Three of the Hangars, I would like AI Aircraft to taxi from and to on a weekly basis. (I understand the limitations and Shortcomings of AI Traffic). However, what i would like to do is have the doors open on days when the AI Traffic will move ans the T-Hangar doors shut on days where the AI Aircraft won't be flying.

I don't particularly care to see the animation of the doors, I's just like to have the doors open when the a/c begins to taxi. (Watching an AI Aircraft taxi through closed doors is like listening to fingernails on a blackboard) :)

I have two ideas, but limited knowledge.

1. Use FSUPIC to detect AI condtions. It is described briefly in the FSUPIC_SDK, but it's a little over my head. :confused: I see that there are AI variables, but they appear to be mostly used for TCAS type instruments. Maybe when the AI Aircraft "Becomes Live" just before the scheduled flight, would be enough to trigger the doors. Any Ideas...anyone...anyone???

2. Use a Conditional display is "simulate" the door being open. For example, Model A is the T-hagar with the door closed. Model B is the T-hangar with the door open. On non-flying days, Model A (closed doors) would be displayed. Of flying days, Model B (open doors) would be displayed. This possible souds like the best route. I think Actigate may could perform this, but as always, I'm open for suggestions.

You would think that since days_of_week are required for AI Traffic, there would be easier access to the day_of_week function for scenery.

As always, thanks in advance for any response to my brainstorming session. :wizard:
 
There are sevral conditions you can place using Arno's mdl tweeker2 tool which can be found on this forum which can add time of day and i believe day of year conditions. You may need to create 2 seperate mdl.s....one showing open and the other showing closed.

Dave
 
MDL_Tweaker

True, this is also a wonderful tool, unfortunately, the day of the year function is not quite what I'm looking for. The 365th day of 2005 is a Saturday, but the 365th day of 2006 is a Sunday and a Monday for 2007.

Next year this time my the syncronization would be off.... :(
 
That is all i can think that might work when dealing with AI traffic and exhausted my ideas of overcoming this. Sorry

Dave
 
Hi,

welshtorg said:
1. Use FSUPIC to detect AI condtions. It is described briefly in the FSUPIC_SDK, but it's a little over my head. :confused: I see that there are AI variables, but they appear to be mostly used for TCAS type instruments. Maybe when the AI Aircraft "Becomes Live" just before the scheduled flight, would be enough to trigger the doors. Any Ideas...anyone...anyone???

In theory that should be possible. But the scenery can not access all variables available in FSUIPC directly. So you would have to create some sort of module to tell the scenery about the AI traffic.

welshtorg said:
2. Use a Conditional display is "simulate" the door being open. For example, Model A is the T-hagar with the door closed. Model B is the T-hangar with the door open. On non-flying days, Model A (closed doors) would be displayed. Of flying days, Model B (open doors) would be displayed. This possible souds like the best route. I think Actigate may could perform this, but as always, I'm open for suggestions.

This solution would indeed be easier to achieve. To make the placement a bit easier, I would not make two MDL files, but add the condition in one MDL file. Just find the code that draws the door (you might have to put both an open and a close version in the MDL file) and add a condition around it to show the proper state.

welshtorg said:
True, this is also a wonderful tool, unfortunately, the day of the year function is not quite what I'm looking for. The 365th day of 2005 is a Saturday, but the 365th day of 2006 is a Sunday and a Monday for 2007.

That is why I build it into ActiGate. The module does the calculation using the day of the year and the year itself, to figure out which day you are at. There might be a variable for this somewhere in FS, but unfortunately the scenery can only access a very limited set. So if you want more, you need modules like ActiGate.
 
Arno-

I've built the two models (one open, one closed bi-fold door), I'm putting a IFIN1 statement (right now just for testing, I'll chage it to actigate's IFMSK later). I'm putting the IFIN1 command in the BGL sction of the _0.asm. so below, I'm telling it to draw the walls, process the IFIN1 command, if it true continue below with open, if false, skip to the closed drawing.

Sounds good, but when I apply it, I get a really freaky poygon the flashes and changes shapes.

Am I putting the IFIN1 in the right place?
Am I using the command correctly
Any ideas? about the freaky poly?

tnks,


PHP:
bgl_riff_start_walls	label	BGLCODE
    db	'B','G','L',' '
    dd	bgl_riff_end_walls - $ - 4
LOD_0_walls	label	BGLCODE

; NonAlpha
walls_NonAlpha label BGLCODE
    BGL_CALL_32 walls_MasterScale_1        ; Node 1 - MasterScale
    BGL_END
    BGL_RETURN


walls_MasterScale_1 label BGLCODE
    MATERIAL 0,0 ; <255,255,255,255> TINBLD5.BMP;;;
    DRAW_TRI_BEGIN 0, 137
    DRAW_TRI   27,  19,  13 ; poly=1 part=1
    DRAW_TRI   13,  33,  27 ; poly=2 part=1
    DRAW_TRI   16,  21,  18 ; poly=3 part=1
    DRAW_TRI   18,  11,  16 ; poly=4 part=1
    DRAW_TRI   26,  31,  29 ; poly=5 part=1
    DRAW_TRI   29,  24,  26 ; poly=6 part=1
    DRAW_TRI   20,  28,  25 ; poly=7 part=1
    DRAW_TRI   25,  17,  20 ; poly=8 part=1
    DRAW_TRI   43,  35,  23 ; poly=9 part=1
    DRAW_TRI   23,  40,  43 ; poly=10 part=1
    DRAW_TRI   34,  14,   9 ; poly=11 part=1
    DRAW_TRI    9,  22,  34 ; poly=12 part=1
    DRAW_TRI   12,   5,   3 ; poly=13 part=1
    DRAW_TRI    3,   8,  12 ; poly=14 part=1
    DRAW_TRI    4,   7,   2 ; poly=15 part=1
    DRAW_TRI    2,   0,   4 ; poly=16 part=1
    DRAW_TRI   41,  39,  36 ; poly=17 part=1
    DRAW_TRI   36,  37,  41 ; poly=18 part=1
    DRAW_TRI    6,  15,  10 ; poly=19 part=1
    DRAW_TRI   10,   1,   6 ; poly=20 part=1
    DRAW_TRI   32,  42,  38 ; poly=21 part=1
    DRAW_TRI   38,  30,  32 ; poly=22 part=1
bgl_riff_end_walls	label BGLCODE

IFIN1 closed, tod, 1, 1    
    MATERIAL 0,0 ; <255,255,255,255> TINBLD5.BMP;;;
    DRAW_TRI_BEGIN 0, 137
    DRAW_TRI   90,  87,  64 ; poly=23 part=1
    DRAW_TRI   64,  67,  90 ; poly=24 part=1
    DRAW_TRI   77,  54,  51 ; poly=25 part=1
    DRAW_TRI   51,  74,  77 ; poly=26 part=1
    DRAW_TRI   89,  66,  55 ; poly=27 part=1
    DRAW_TRI   55,  78,  89 ; poly=28 part=1
    DRAW_TRI   65,  62,  50 ; poly=29 part=1
    DRAW_TRI   50,  53,  65 ; poly=30 part=1
    DRAW_TRI   63,  86,  75 ; poly=31 part=1
    DRAW_TRI   75,  52,  63 ; poly=32 part=1
    DRAW_TRI   88,  91,  79 ; poly=33 part=1
    DRAW_TRI   79,  76,  88 ; poly=34 part=1
    DRAW_TRI   68,  71,  48 ; poly=35 part=1
    DRAW_TRI   48,  45,  68 ; poly=36 part=1
    DRAW_TRI   81,  58,  61 ; poly=37 part=1
    DRAW_TRI   61,  84,  81 ; poly=38 part=1
    DRAW_TRI   69,  46,  57 ; poly=39 part=1
    DRAW_TRI   57,  80,  69 ; poly=40 part=1
    DRAW_TRI   44,  47,  59 ; poly=41 part=1
    DRAW_TRI   59,  56,  44 ; poly=42 part=1
    DRAW_TRI   49,  72,  83 ; poly=43 part=1
    DRAW_TRI   83,  60,  49 ; poly=44 part=1
    DRAW_TRI   73,  70,  82 ; poly=45 part=1
    DRAW_TRI   82,  85,  73 ; poly=46 part=1
open	label BGLCODE

closed	label BGLCODE
    MATERIAL 0,0 ; <255,255,255,255> TINBLD5.BMP;;;
    DRAW_TRI_BEGIN 0, 137
    DRAW_TRI   133,  135,  113 ; poly=47 part=1
    DRAW_TRI   113,  111,  133 ; poly=48 part=1
    DRAW_TRI   122,  100,  105 ; poly=49 part=1
    DRAW_TRI   105,  127,  122 ; poly=50 part=1
    DRAW_TRI   132,  110,   99 ; poly=51 part=1
    DRAW_TRI   99,  121,  132 ; poly=52 part=1
    DRAW_TRI   109,  112,  104 ; poly=53 part=1
    DRAW_TRI   104,   98,  109 ; poly=54 part=1
    DRAW_TRI   114,  136,  130 ; poly=55 part=1
    DRAW_TRI   130,  108,  114 ; poly=56 part=1
    DRAW_TRI   137,  134,  123 ; poly=57 part=1
    DRAW_TRI   123,  131,  137 ; poly=58 part=1
    DRAW_TRI   116,  118,   96 ; poly=59 part=1
    DRAW_TRI   96,  94,  116 ; poly=60 part=1
    DRAW_TRI   125,  103,  106 ; poly=61 part=1
    DRAW_TRI   106,  128,  125 ; poly=62 part=1
    DRAW_TRI   115,  93,  102 ; poly=63 part=1
    DRAW_TRI   102,  124,  115 ; poly=64 part=1
    DRAW_TRI   92,  95,  104 ; poly=65 part=1
    DRAW_TRI   104,   101,   92 ; poly=66 part=1
    DRAW_TRI   97,  119,  129 ; poly=67 part=1
    DRAW_TRI   129,  107,   97 ; poly=68 part=1
    DRAW_TRI   120,  117,  126 ; poly=69 part=1
    DRAW_TRI   126,  131,  120 ; poly=70 part=1
    DRAW_TRI_END
    BGL_RETURN
 
Last edited:
Would you not use CAT and Actigate together for this?

I have not tried in a while, but I believe that CAT does work with actigate now... Arno will have to confirm.
 
Got it working...but

Thanks NicK! Haven't seen a post from you in a while...Good to see/hear from you again.

Well, I got the coding working...It was my first attempt at hand tweaking code...scary stuff...

After verifing that the conditions of the mdl worked properly with various IFIN1 commands, I tried the IFMSK command that the usrvr5 requires. I can only switch models with the parking brake, not the days of the week, as wanted.

So I stepped back, re-read the SDK (which, by now I recite in my sleep) and some other posts. I activated my FSInterrogate and found the usrvr5 parameter. The only responses that I can pick up is the Parking brake (0=off, 1=engaged). my changes of rain, snow or day of the week appear to have no effect of the usrvr5 variable....so my question is...

Has anyone had any success with the day of the week variable?
 
Just been busy. :)

This is interesting, I have only ever tested with the UserVar4 and UserVar5 variables (and the NAV), and have had success.
 
Back
Top