KC-137R family project

Everything in connection with developing aircraft for FlightGear
User avatar
J Maverick 16
Posts: 757
Joined: Sun Nov 08, 2015 3:16 pm
Location: Northern-Italy
Contact:

Re: KC-137R ATAARS project, need some help.

Postby J Maverick 16 » Tue Apr 26, 2016 2:59 pm

it0uchpods wrote:Regarding the 3D engine models, I'm not the best with exterior, so the Engines are as good as I can make them right now -- I need to learn more AC3D first.

I know, so for now we'll not focus on that, but I'll keep it on the list anyway.
TODO list updated.
Regards, Mav
Breakin' the sound barrier every day!

Scenery designer, basic livery maker, aircraft developer (current project: F-16).
Using Thrustmaster FCS Flight Pack.
Follow me also on Instagram & Twitter @j_maverick16, Google+ and YouTube.

User avatar
J Maverick 16
Posts: 757
Joined: Sun Nov 08, 2015 3:16 pm
Location: Northern-Italy
Contact:

Re: KC-137R ATAARS project, need some help.

Postby J Maverick 16 » Wed Apr 27, 2016 4:33 pm

UPDATED TO-DO LIST IN ORDER OF IMPORTANCE (first eight points should be fixed before April 30th):
1) switch cargo to fuel tanks and implement consumption while refueling.
2) Yet again fix problems with Autopilot: Altitude Hold does not correspond to the real FL the KC maintains and the GPS/FMS hdg keeps disabling randomly while flying, especially when altitude is changed.
3) work on the boom operator office (new instruments (AI), fix the point of view in RT (makes the rear aircraft part invisible), etc.)

4) make the gear animation faster.
5) improve internal + engines sounds.
6) add damage code so it works with OPRF business (Pinto).
7) USAF liveries (ACI's job)
8) improve ATA refueling (onox model)

9) make the CDUs work properly + resize, reposition and retexture them.
10) put new radio comms under the throttle levers.
11) make the reverse thrust viewable on the engines display.
12) add a MFD between the two CDUs which works as TCAS, systems, and other.
13) 3D engines models: UV map, smoke.
14) work on both engineer and overhead panel (improve instruments and move sone from the eng to the oh).
15) Switch the "Autopilot view" to "Overhead panel view".
16) add 787-9 HUD to both pilot and co-pilot.
17) improve the magnetic compass instrument (make it fixed and place a new compass).
18) improve the trims.
19) remove/move the "Rolex" in the middle of the cockpit.
20) make a whole new AP panel in the center part of the cockpit (where the current one stays).
21) implement MP dual control for co-pilot and boom operator.
22) remove cargo loaders.

This is the lot, the we'll have a break and start on the AWACS.
Regards, Mav
Breakin' the sound barrier every day!

Scenery designer, basic livery maker, aircraft developer (current project: F-16).
Using Thrustmaster FCS Flight Pack.
Follow me also on Instagram & Twitter @j_maverick16, Google+ and YouTube.

User avatar
IAHM-COL
Posts: 6455
Joined: Sat Sep 12, 2015 3:43 pm
Location: Homey, NV (KXTA) - U.S.A
Contact:

Re: KC-137R ATAARS project, need some help.

Postby IAHM-COL » Wed Apr 27, 2016 4:39 pm

J Maverick 16 wrote:UPDATED TO-DO LIST IN ORDER OF IMPORTANCE (first eight points should be fixed before April 30th):
[b]1) switch cargo to fuel tanks and implement consumption while refueling.


Image

@JWocky you hear this! :lol: :lol: :roll:

Maverick, This is a huge re-engineering challenge in the refueling code. I dont think this is a "do this in a week" type of a challenge

That's naive...

But if you care to show me wrong I'll be impressed.
https://raw.githubusercontent.com/IAHM-COL/gpg-pubkey/master/pubkey.asc

R.M.S.
If we gave everybody in the World free software today, but we failed to teach them about the four freedoms, five years from now, would they still have it?

Octal450
Posts: 2184
Joined: Sun Oct 18, 2015 2:47 am

Re: KC-137R ATAARS project, need some help.

Postby Octal450 » Wed Apr 27, 2016 4:41 pm

@Israel see my post BELOW

Regards,
Last edited by Octal450 on Wed Apr 27, 2016 4:43 pm, edited 1 time in total.

Octal450
Posts: 2184
Joined: Sun Oct 18, 2015 2:47 am

Re: KC-137R ATAARS project, need some help.

Postby Octal450 » Wed Apr 27, 2016 4:43 pm

@J-Mav16

1) switch cargo to fuel tanks and implement consumption while refueling.
2) Yet again fix problems with Autopilot: Altitude Hold does not correspond to the real FL the KC maintains and the GPS/FMS hdg keeps disabling randomly while flying, especially when altitude is changed.
3) work on the boom operator office (new instruments (AI), fix the point of view in RT (makes the rear aircraft part invisible), etc.)
4) make the gear animation faster.
5) improve internal + engines sounds.
6) add damage code so it works with OPRF business (Pinto).
7) USAF liveries (ACI's job)
8) improve ATA refueling (onox model)

1) Consumption is out of my skillzone, since the fighters code it no known to me, nor do I understand it, also this would take a LOONNGGG time!!!!
2) Yes I know, Mr 707 built a very strange and unstable AP, and I have been trying hard to fix it, with no luck, I probably scrapp it.
3) I can't find why it disapears in the RT, but not in the R.
4) Gear animation is properly timed.
5) FL2070?
6) Pinto
7) ACI
8) Are you suggesting we rebuild the KC off of onox's model?

I am not sure whether we can finished all that in 3 days. I have school in the days, and limited time available.

Regards,

User avatar
IAHM-COL
Posts: 6455
Joined: Sat Sep 12, 2015 3:43 pm
Location: Homey, NV (KXTA) - U.S.A
Contact:

Re: KC-137R ATAARS project, need some help.

Postby IAHM-COL » Wed Apr 27, 2016 4:46 pm

it0uchpods wrote:2) Yes I know, Mr 707 built a very strange and unstable AP, and I have been trying hard to fix it, with no luck, I probably scrapp it.


:P
In reality, Mark is the most accomplished FG developed, and the 707 his masterpiece.
This AP is really just above your level.

Think of it as in you can't blame Nietzsche as terribly written prose if you don't really understand it yet (metaphor)

This plane is too complex, and not a "Midsummer Night's Dream" (irony)
https://raw.githubusercontent.com/IAHM-COL/gpg-pubkey/master/pubkey.asc

R.M.S.
If we gave everybody in the World free software today, but we failed to teach them about the four freedoms, five years from now, would they still have it?

User avatar
jwocky
Site Admin
Posts: 1833
Joined: Sat Sep 12, 2015 12:04 pm
Contact:

Re: KC-137R ATAARS project, need some help.

Postby jwocky » Wed Apr 27, 2016 4:49 pm

Ooookaaaayyy .... let me spread some hints here

1.) The tank or cargo problem is not really a problem because you need them double anyway, means defined as tanks for fuel AND cargo weight points because even if the tanks are empty, they are still there, it's a weight question, not a volume question.

2.) You have still a derivative of the original 707 AP from Lake of Constance in there? You had when I flew it last week. If so, you have to change the property used as reference for Altitude hold. The original uses the pressure altimeter, you may want to look at the position subtree in the properties

3.) no idea

4.) Gear animation faster: Look for channel "gear" in the jsb-file, there you find a kinematik which sets the seconds for the animation. Just set the time lower

5.) 6.). 7.) no idea

8.) Does the Onox model even work? Because I have yet to see it working.
Free speech can never be achieved by dictatorial measures!

User avatar
J Maverick 16
Posts: 757
Joined: Sun Nov 08, 2015 3:16 pm
Location: Northern-Italy
Contact:

Re: KC-137R ATAARS project, need some help.

Postby J Maverick 16 » Wed Apr 27, 2016 5:52 pm

damage.nas file tweaked for the KC:

Code: Select all

var clamp = func(v, min, max) { v < min ? min : v > max ? max : v }

var TRUE  = 1;
var FALSE = 0;

var warhead_lbs = {
    "aim-120":              44.00,
    "AIM120":               44.00,
    "RB-99":                44.00,
    "aim-7":                88.00,
    "RB-71":                88.00,
    "aim-9":                20.80,
    "RB-24J":               20.80,
    "RB-74":                20.80,
    "R74":                  16.00,
    "MATRA-R530":           55.00,
    "Meteor":               55.00,
    "AIM-54":              135.00,
    "Matra R550 Magic 2":   27.00,
    "Matra MICA":           30.00,
    "RB-15F":              440.92,
    "SCALP":               992.00,
    "KN-06":               315.00,
    "GBU12":               190.00,
    "GBU16":               450.00,
    "Sea Eagle":           505.00,
    "AGM65":               200.00,
};

var incoming_listener = func {
  var history = getprop("/sim/multiplay/chat-history");
  var hist_vector = split("\n", history);
  if (size(hist_vector) > 0) {
    var last = hist_vector[size(hist_vector)-1];
    var last_vector = split(":", last);
    var author = last_vector[0];
    var callsign = getprop("sim/multiplay/callsign");
    if (size(last_vector) > 1 and author != callsign) {
      # not myself
      #print("not me");
      var m2000 = FALSE;
      if (find(" at " ~ callsign ~ ". Release ", last_vector[1]) != -1) {
        # a m2000 is firing at us
        m2000 = TRUE;
      }
      if (last_vector[1] == " FOX2 at" or last_vector[1] == " aim7 at" or last_vector[1] == " aim9 at"
          or last_vector[1] == " aim120 at" or last_vector[1] == " RB-24J fired at" or last_vector[1] == " RB-74 fired at"
          or last_vector[1] == " RB-71 fired at" or last_vector[1] == " RB-15F fired at"
          or last_vector[1] == " RB-99 fired at" or last_vector[1] == " KN-06 fired at" or m2000 == TRUE) {
        # air2air being fired
        if (size(last_vector) > 2 or m2000 == TRUE) {
          #print("Missile launch detected at"~last_vector[2]~" from "~author);
          if (m2000 == TRUE or last_vector[2] == " "~callsign) {
            # its being fired at me
            #print("Incoming!");
            var enemy = getCallsign(author);
            if (enemy != nil) {
              #print("enemy identified");
              var bearingNode = enemy.getNode("radar/bearing-deg");
              if (bearingNode != nil) {
                #print("bearing to enemy found");
                var bearing = bearingNode.getValue();
                var heading = getprop("orientation/heading-deg");
                var clock = bearing - heading;
                while(clock < 0) {
                  clock = clock + 360;
                }
                while(clock > 360) {
                  clock = clock - 360;
                }
                #print("incoming from "~clock);
                if (clock >= 345 or clock < 15) {
                  playIncomingSound("12");
                } elsif (clock >= 15 and clock < 45) {
                  playIncomingSound("1");
                } elsif (clock >= 45 and clock < 75) {
                  playIncomingSound("2");
                } elsif (clock >= 75 and clock < 105) {
                  playIncomingSound("3");
                } elsif (clock >= 105 and clock < 135) {
                  playIncomingSound("4");
                } elsif (clock >= 135 and clock < 165) {
                  playIncomingSound("5");
                } elsif (clock >= 165 and clock < 195) {
                  playIncomingSound("6");
                } elsif (clock >= 195 and clock < 225) {
                  playIncomingSound("7");
                } elsif (clock >= 225 and clock < 255) {
                  playIncomingSound("8");
                } elsif (clock >= 255 and clock < 285) {
                  playIncomingSound("9");
                } elsif (clock >= 285 and clock < 315) {
                  playIncomingSound("10");
                } elsif (clock >= 315 and clock < 345) {
                  playIncomingSound("11");
                } else {
                  playIncomingSound("");
                }
                return;
              }
            }
          }
        }
      } elsif (1 == 1) { # change here if you want to enable/disable damage based on a property.
        # latest version of failure manager and taking damage enabled
        #print("damage enabled");
        var last1 = split(" ", last_vector[1]);
        if(size(last1) > 2 and last1[size(last1)-1] == "exploded" ) {
          #print("missile hitting someone");
          if (size(last_vector) > 3 and last_vector[3] == " "~callsign) {
            #print("that someone is me!");
            var type = last1[1];
            if (type == "Matra" or type == "Sea") {
              for (var i = 2; i < size(last1)-1; i += 1) {
                type = type~" "~last1[i];
              }
            }
            var number = split(" ", last_vector[2]);
            var distance = num(number[1]);
            #print(type~"|");
            if(distance != nil) {
              var dist = distance;
              distance = clamp(distance-3, 0, 1000000);
              var maxDist = 0;

              if (contains(warhead_lbs, type)) {
                maxDist = maxDamageDistFromWarhead(warhead_lbs[type]);
              } else {
                return;
              }

              var diff = maxDist-distance;
              if (diff < 0) {
                diff = 0;
              }
             
              diff = diff * diff;
             
              var probability = diff / (maxDist*maxDist);

              var failed = fail_systems(probability);
              var percent = 100 * probability;
              printf("Took %.1f%% damage from %s missile at %0.1f meters. %s systems was hit", percent,type,dist,failed);
              nearby_explosion();
            }
          }
        } elsif (last_vector[1] == " M70 rocket hit" or last_vector[1] == " KCA cannon shell hit" or last_vector[1] == " Gun Splash On " or last_vector[1] == " M61A1 shell hit") {
          # cannon hitting someone
          #print("cannon");
          if (size(last_vector) > 2 and last_vector[2] == " "~callsign) {
            # that someone is me!
            #print("hitting me");

            var probability = 0.20; # take 20% damage from each hit
            if (last_vector[1] == " M70 rocket hit" or last_vector[1] == " Gun Splash On ") {
              probability = 0.30;
            }
            var failed = fail_systems(probability);
            printf("Took %.1f%% damage from cannon! %s systems was hit.", probability*100, failed);
            nearby_explosion();
          }
        }
      }
    }
  }
}

var maxDamageDistFromWarhead = func (lbs) {
  # very simple
  var dist = 6*math.sqrt(lbs);

  return dist;
}

var fail_systems = func (probability) {
    var failure_modes = FailureMgr._failmgr.failure_modes;
    var mode_list = keys(failure_modes);
    var failed = 0;
    foreach(var failure_mode_id; mode_list) {
        if (rand() < probability) {
            FailureMgr.set_failure_level(failure_mode_id, 1);
            failed += 1;
        }
    }
    return failed;
};

var playIncomingSound = func (clock) {
  setprop("sound/incoming"~clock, 1);
  settimer(func {stopIncomingSound(clock);},3);
}

var stopIncomingSound = func (clock) {
  setprop("sound/incoming"~clock, 0);
}

var callsign_struct = {};
var getCallsign = func (callsign) {
  var node = callsign_struct[callsign];
  return node;
}

var nearby_explosion = func {
  setprop("damage/sounds/nearby-explode-on", 0);
  settimer(nearby_explosion_a, 0);
}

var nearby_explosion_a = func {
  setprop("damage/sounds/nearby-explode-on", 1);
  settimer(nearby_explosion_b, 0.5);
}

var nearby_explosion_b = func {
  setprop("damage/sounds/nearby-explode-on", 0);
}

var processCallsigns = func () {
  callsign_struct = {};
  var players = props.globals.getNode("ai/models").getChildren();
  foreach (var player; players) {
    if(player.getChild("valid") != nil and player.getChild("valid").getValue() == TRUE and player.getChild("callsign") != nil and player.getChild("callsign").getValue() != "" and player.getChild("callsign").getValue() != nil) {
      var callsign = player.getChild("callsign").getValue();
      callsign_struct[callsign] = player;
    }
  }
  settimer(processCallsigns, 1.5);
}

processCallsigns();

var logTime = func{
  #log time and date for outputing ucsv files for converting into KML files for google earth.
  if (getprop("logging/log[0]/enabled") == TRUE and getprop("sim/time/utc/year") != nil) {
    var date = getprop("sim/time/utc/year")~"/"~getprop("sim/time/utc/month")~"/"~getprop("sim/time/utc/day");
    var time = getprop("sim/time/utc/hour")~":"~getprop("sim/time/utc/minute")~":"~getprop("sim/time/utc/second");

    setprop("logging/date-log", date);
    setprop("logging/time-log", time);
  }
}

var ct = func (type) {
  if (type == "c-u") {
    setprop("sim/ct/c-u", 1);
  }
  if (type == "rl" and getprop("fdm/jsbsim/gear/unit[0]/WOW") != TRUE) {
    setprop("sim/ct/rl", 1);
  }
  if (type == "rp" and getprop("fdm/jsbsim/gear/unit[0]/WOW") != TRUE) {
    setprop("sim/ct/rp", 1);
  }
  if (type == "a") {
    setprop("sim/ct/a", 1);
  }
  if (type == "lst") {
    setprop("sim/ct/list", 1);
  }
  if (type == "ifa" and getprop("fdm/jsbsim/gear/unit[0]/WOW") != TRUE) {
    setprop("sim/ct/ifa", 1);
  }
  if (type == "sf" and getprop("fdm/jsbsim/gear/unit[0]/WOW") != TRUE) {
    setprop("sim/ct/sf", 1);
  }
}

var lf = -1;
var ll = 0;

var code_ct = func () {
  var cu = getprop("sim/ct/c-u");
  if (cu == nil or cu != 1) {
    cu = 0;
  }
  var a = getprop("sim/ct/a");
  if (a == nil or a != 1) {
    a = 0;
  }
  var ff = getprop("sim/freeze/fuel");
  if (ff == nil) {
    ff = 0;
  } elsif (ff == 1) {
    setprop("sim/ct/ff", 1);
  }
  ff = getprop("sim/ct/ff");
  if (ff == nil or ff != 1) {
    ff = 0;
  }
  var cl = 0;
  ll = cl;
  var rl = getprop("sim/ct/rl");
  if (rl == nil or rl != 1) {
    rl = 0;
  }
  var rp = getprop("sim/ct/rp");
  if (rp == nil or rp != 1) {
    rp = 0;
  }
  var cf =   getprop("/consumables/fuel/tank[0]/level-gal_us")
            +getprop("/consumables/fuel/tank[1]/level-gal_us")
            +getprop("/consumables/fuel/tank[2]/level-gal_us")
            +getprop("/consumables/fuel/tank[3]/level-gal_us")
            +getprop("/consumables/fuel/tank[4]/level-gal_us")
            +getprop("/consumables/fuel/tank[5]/level-gal_us");
  if (cf != nil and lf != -1 and cf > (lf*1.1) and getprop("fdm/jsbsim/gear/unit[0]/WOW") != TRUE and getprop("/systems/refuel/contact") == FALSE) {
    setprop("sim/ct/rf", 1);
  }
  var rf = getprop("sim/ct/rf");
  if (rf == nil or rf != 1) {
    rf = 0;
  }
  lf = cf == nil?0:cf;
  var dm = !getprop("sim/model/f-14b/systems/armament/mp-messaging");
  if (dm == nil or dm != 1) {
    dm = 0;
  }
  var tm = 0;#getprop("sim/ja37/radar/look-through-terrain");
  if (tm == nil or tm != 1) {
    tm = 0;
  }
  var rd = 0;#!getprop("sim/ja37/radar/doppler-enabled");
  if (rd == nil or rd != 1) {
    rd = 0;
  } 
  var ml = getprop("sim/ct/list");
  if (ml == nil or ml != 1) {
    ml = 0;
  }
  var sf = getprop("sim/ct/sf");
  if (sf == nil or sf != 1) {
    sf = 0;
  }
  var ifa = getprop("sim/ct/ifa");
  if (ifa == nil or ifa != 1) {
    ifa = 0;
  }
  var final = "ct"~cu~ff~rl~rf~rp~a~dm~tm~rd~ml~sf~ifa;
  setprop("sim/multiplay/generic/string[15]", final);
  settimer(code_ct, 2);
}

var not = func {
  if (getprop("sim/model/f-14b/systems/armament/mp-messaging") == TRUE and getprop("fdm/jsbsim/gear/unit[0]/WOW") != TRUE) {
    var ct = getprop("sim/multiplay/generic/string[15]") ;
    var msg = "I might be chea"~"ting..";
    if (ct != nil) {
      msg = "I might be chea"~"ting.."~ct;
      var spl = split("ct", ct);
      if (size(spl) > 1) {
        var bits = spl[1];
        msg = "I ";
        if (bits == "000000000000") {
          settimer(not, 60);
          return;
        }
        if (substr(bits,0,1) == "1") {
          msg = msg~"Used CT"~"RL-U..";
        }
        if (substr(bits,1,1) == "1") {
          msg = msg~"Use fuelf"~"reeze..";
        }
        if (substr(bits,2,1) == "1") {
          msg = msg~"Relo"~"aded in air..";
        }
        if (substr(bits,3,1) == "1") {
          msg = msg~"Refue"~"led in air..";
        }
        if (substr(bits,4,1) == "1") {
          msg = msg~"Repa"~"ired not on ground..";
        }
        if (substr(bits,5,1) == "1") {
          msg = msg~"Used time"~"warp..";
        }
        if (substr(bits,6,1) == "1") {
          msg = msg~"Have dam"~"age off..";
        }
        if (substr(bits,7,1) == "1") {
          msg = msg~"Have Ter"~"rain mask. off..";
        }
        if (substr(bits,8,1) == "1") {
          msg = msg~"Have Dop"~"pler off..";
        }
        if (substr(bits,9,1) == "1") {
          msg = msg~"Had mp-l"~"ist on..";
        }
        if (substr(bits,10,1) == "1") {
          msg = msg~"Had s-fai"~"lures open..";
        }
        if (substr(bits,11,1) == "1") {
          msg = msg~"Had i-fa"~"ilures open..";
        }
      }
    }
    setprop("/sim/multiplay/chat", msg);
  }
  settimer(not, 60);
}

var changeGuiLoad = func()
{#return;
    var searchname1 = "mp-list";
    var searchname2 = "instrument-failures";
    var searchname3 = "system-failures";
    var state = 0;
   
    foreach(var menu ; props.globals.getNode("/sim/menubar/default").getChildren("menu")) {
        foreach(var item ; menu.getChildren("item")) {
            foreach(var name ; item.getChildren("name")) {
                if(name.getValue() == searchname1) {
                    #var e = item.getNode("enabled").getValue();
                    #var path = item.getPath();
                    #item.remove();
                    #item = props.globals.getNode(path,1);
                    #item.getNode("enabled",1).setBoolValue(FALSE);
                    #item.getNode("binding").remove();
                    #item.getNode("name",1).setValue(searchname1);
                    item.getNode("binding/command").setValue("nasal");
                    item.getNode("binding/script").setValue("fox2.loadMPList()");
                    #item.getNode("enabled",1).setBoolValue(TRUE);
                }
                if(name.getValue() == searchname2) {
                    item.getNode("binding/command").setValue("nasal");
                    item.getNode("binding/dialog-name").remove();
                    item.getNode("binding/script",1).setValue("fox2.loadIFail()");
                }
                if(name.getValue() == searchname3) {
                    item.getNode("binding/command").setValue("nasal");
                    item.getNode("binding/dialog-name").remove();
                    item.getNode("binding/script",1).setValue("fox2.loadSysFail()");
                }
            }
        }
    }
    fgcommand("reinit", props.Node.new({"subsystem":"gui"}));
}

var loadMPList = func () {
  ct("lst");multiplayer.dialog.show();
}

var loadSysFail = func () {
  ct("sf");fgcommand("dialog-show", props.Node.new({"dialog-name":"system-failures"}));
}

var loadIFail = func () {
  ct("ifa");fgcommand("dialog-show", props.Node.new({"dialog-name":"instrument-failures"}));
}

setlistener("/sim/multiplay/chat-history", incoming_listener, 0, 0);

setprop("/sim/failure-manager/display-on-screen", FALSE);

changeGuiLoad();
settimer(code_ct, 5);
settimer(not, 11);

var re_init = func {
  # repair the aircraft

  var failure_modes = FailureMgr._failmgr.failure_modes;
  var mode_list = keys(failure_modes);

  foreach(var failure_mode_id; mode_list) {
    FailureMgr.set_failure_level(failure_mode_id, 0);
  }
}

setlistener("/sim/signals/reinit", re_init, 0, 0);

Regards, Mav
Breakin' the sound barrier every day!

Scenery designer, basic livery maker, aircraft developer (current project: F-16).
Using Thrustmaster FCS Flight Pack.
Follow me also on Instagram & Twitter @j_maverick16, Google+ and YouTube.

User avatar
J Maverick 16
Posts: 757
Joined: Sun Nov 08, 2015 3:16 pm
Location: Northern-Italy
Contact:

Re: KC-137R ATAARS project, need some help.

Postby J Maverick 16 » Wed Apr 27, 2016 6:23 pm

IAHM-COL wrote:
J Maverick 16 wrote:UPDATED TO-DO LIST IN ORDER OF IMPORTANCE (first eight points should be fixed before April 30th):
[b]1) switch cargo to fuel tanks and implement consumption while refueling.

Maverick, This is a huge re-engineering challenge in the refueling code. I dont think this is a "do this in a week" type of a challenge

What I'm actually talking about is that when the fighter, cargo plane, .... comes to refuel and gets engaged to the boom/drogue the fuel starts to "flow" from the fuel tanks meant for ATA refueling to the aircraft, so these tanks start to drain gradually till the aircraft disengages.
I don't know if this should already happen when an aircraft refuel and I have no clues about how to do that.
Maybe we can leave that part for the future and concentrate on the other things like the boom operator or the damage code which is required to be operable by the OPRF Crew during their events.

it0uchpods wrote:4) Gear animation is properly timed.
5) FL2070?
6) Pinto
7) ACI
8) Are you suggesting we rebuild the KC off of onox's model?

9) I am not sure whether we can finished all that in 3 days.


4) Trust me that in the old KC it was faster, and the current time it takes to retract/deploy is too long.
5) Yeh I'll ask him or just mix some sounds together so we cana a better one.
6) Yeah, the code is in the previous post, I'll ask to OPRF guys how to implement it correctly.
7) I hope he makes 'em in time.
8) No, just "steal" the code we need for ATA refueling and paste it in the KC so it works properly.
9) I know, we haven't worked so much in the recent past so the list of the required things for the relocation flight is shorter. I don't want to be too much demanding BTW, I'd just see it a bit more ready for this 8,500mi voyage. ;)

Regards, Mav
Breakin' the sound barrier every day!

Scenery designer, basic livery maker, aircraft developer (current project: F-16).
Using Thrustmaster FCS Flight Pack.
Follow me also on Instagram & Twitter @j_maverick16, Google+ and YouTube.

User avatar
IAHM-COL
Posts: 6455
Joined: Sat Sep 12, 2015 3:43 pm
Location: Homey, NV (KXTA) - U.S.A
Contact:

Re: KC-137R ATAARS project, need some help.

Postby IAHM-COL » Wed Apr 27, 2016 6:37 pm

J Maverick 16 wrote:What I'm actually talking about is that when the fighter, cargo plane, .... comes to refuel and gets engaged to the boom/drogue the fuel starts to "flow" from the fuel tanks meant for ATA refueling to the aircraft, so these tanks start to drain gradually till the aircraft disengages.


I Know what you mean. I don't think doing it is as easy as it sound.
It should be doable. but it is not an evening task.

Personally I dont have a clue where you would begin tackling.
https://raw.githubusercontent.com/IAHM-COL/gpg-pubkey/master/pubkey.asc

R.M.S.
If we gave everybody in the World free software today, but we failed to teach them about the four freedoms, five years from now, would they still have it?


Return to “Aircraft Development”

Who is online

Users browsing this forum: No registered users and 16 guests