FSX (Released) M.I.T. - Maintenance and Income Tool

Heretic

Resource contributor
#1
Here's the documentation that includes the download link:
https://docs.google.com/document/d/1-HUCYi9oLjpQQGUMv29CzjDirvzOlXjep6YluTYIPMk/edit?usp=sharing

A more comprehensive overview can be found on my flightsimpage:
https://sites.google.com/site/fsxstuffbybk/gauges/maintenance-income-tool

RTFM!


-----------------------------------------------

Original post:

I've long wanted to do something like this, even more so as the original version of FSPassengersX doesn't work in FSXSE and I'm not too inclined to pay for an update. I've tried FSEconomy, but I just couldn't really warm up to it for a variety of reasons.

So when the subject of a maintenance tool came up at SOH yesterday, I decided to pick up the opportunity and see just how far one can take XML to achieve something akin to a very simple FSPax.

Much of the concept was carried over from an abortive attempt of mine from a few years ago. Doing a similar tool for the DBD L-39C also provided some valuable experience.

A major design objective is maximum commonality with every aircraft out there. So far, all an aircraft needs is at least one engine and a parking brake.

The first result of yesterday's XML frenzy is the UI, which looks like this:


Today, I've managed to implement a flight tracking and revenue generation system.
To generate revenue, you'll need to haul a certain amount of payload (freight and/or pax) to a destination. For that, you'll have to create a flight plan in FSX' flight planner and fly it. It's totally up to you where you want to fly and what route you take as long as you arrive at your destination.
To start, just set the parking prake, create/load a flight plan and start the engine(s). Then fly the route and, having reached your destination, set the parking brake, shut down the engines and
reset the gauge. The net income is added to/subtracted from your personal funds.
Both income and cost is dependent on flight time. Your reputation affects the maximum payload you can carry, while fuel cost is the amount that you've used for the flight. The crew earns hourly wages and the "Other Cost" item is a summary of insurance, catering and airport fees.
When you do not have a flight plan filed, you can still use the gauge, but it won't generate any revenue.
That way, you can blow your money on joyrides.
Note that the payload is just a recommended value. The flight tracker will refuse to work if the actual payload exceeds the allowable payload. Everything between allowable payload and zero payload is up to you to set in the payload window. That way, you can simulate ferry flights if you're inclined to do so.

My next objectives are the reputation and maintenance systems.
The maintenance system consists of regular checks that have to be done after a certain amount of time and repairs on certain systems. All of these cost funds, whereas the regular checks have a fixed cost and repairs depend on the amount of damage or wear that has to be repaired.
The A and B checks will also restore a certain amount of damage or wear to the subsystems, while the C check is prohibitively expensive, but will result in a brand spanking new aircraft.

The reputation system influences the amount of payload that people are willing to entrust you. So far, it only exists in a conceptual stage, but the idea is that the quality of your touchdowns, the condition of your aircraft, successful flights, excessive sink rate and forgetting landing lights will all influence your reputation for better or worse.

I've successfully implemented the random number generator from the wiki, so random failures and failures due to a system being in an awful condition are possible. I'm also toying with the idea of randomizing the time to failure for each system after every maintenance operation. That way, you'll get engines of varying quality which should make things interesting. Also, a mildly randomzied amount of maximum payload is possible with random numbers so that no two flights will be alike.

Failures will be fairly unspectacular and I haven't really thought about them yet.

One other thing I'd implement is company funds. By using XMLTools, I can write the current amount of funds and reputation to a centrally located text file. Every aircraft that has the gauge installed can then read from and write to this file. That way, weekday cargo hauling can pay for the operating costs of weekend GA aircraft. In company mode, one would probably have to purchase the selected aircraft (actually the panel variation the gauge was installed to) before the gauge would work.

Persistence will be ensured by XML_Config.

So far, I've made the gauge pretty configurable, so it can be tailored to whatever needs one might have.
I haven't tried it yet, but I guess that with the right values, it can be used by anything from a Piper Cub to an A380. It could even play nicely with RealEngine and DamageMod.
It could even be adapted to FS9 and might work in P3D (sans company mode since XMLTools is for FSX only).

(Available) Time (and motivation) will tell how much of this concept the gauge will eventually become, but what I have so far makes me mildly proud (flight tracking!).

(Before someone asks: Freeware.)
 
Last edited:

Paul Domingue

Resource contributor
#2
This sounds like a lot of fun. It could actually get me flying more often. I would definitely like to test it as soon as it's available.
 

Heretic

Resource contributor
#6
Pretty cool, Bjoern!

I see Garmin G1000 colors and fonts in that fancy program.
Arial; lime green, orange and red. ;)



I like what you're doing!

FYI, FS PassengersX has been updated recently and works fine in FSX:SE
Ah, right. Just checked, the update is indeed for free.

Never mind though, my gauge is tailored to avoid some of my annoyances with FSPaxX, like the necessity to only be able to purchase a single paint variation, the rather clumsy flight preparation, the annoying flight attendant and the stupid passengers who are afraid of some mild turbulence.
 

Heretic

Resource contributor
#8
Wear and tear is modeled.

Engines:
Base wear when engine is running plus additional wear due to throttle settings (including reverse thrust, if available) plus a bit randomized wear from flight session to session. Don't know how many hours you'll get out of your engines as the time to failure is mildly randomized and it all depends on how you (ab)use them. Could be 40 to 50 hours or so.
Flaps:
Flaps wear out while transitioning from position to position and, when not retracted, from aerodynamic loads.
Gear:
Landings, extension/retraction, brake use, (weight dependant) taxiing and flying with the gear extended all influence gear wear. Fixed gear aircraft accumulate less wear when airborne.
Airframe:
Hard landings eat away a good chunk of the airframe condition. The dynamic pressure on the aircraft and G loads also influence airframe wear.

Next big things to do: Reputation and failures. I'll probably to the former first.
 
#9
Haha awesome Bjoern!!!

Had the same idea in mind, same motivation like you, but it somehow got lost behind some projects..
(XMLTools reeeeally offers some unbelievable new XML possibilities!)

However, I got a maintenance panel (for helicopters so far) working some month ago. Also logging engine wear in a text file plus real time engine stress/failure. (check pm ;))

Great ideas you've got there!
 

Heretic

Resource contributor
#10
I'm beginning to like this gauge.

While testing an expanded messaging system, I wondered why on earth I always was in "non-revenue" mode. Suspected the worst and began to look into the code. Turns out that I simply forgot that the difference between revenue and non-revenue mode is the presence of a flight plan. Loaded my test flight plan and voilà, the gauge switched from "non-revenue" into revenue mode all on its own.

Note:
You can go "non-rev" -> "rev", but not the other way around since you can't unload a flight plan.


In other news:
The reputation system is in. You now need to display some proficiency as a pilot. :D
As with just about everything, the penalties and bonuses can be scaled at will.


- Edit:
I've implemented a workaround for the "unload flightplan" problem by implementing a toggle clickspot to switch between both modes on the fly. Could maybe be exploited as a cheat, but whatever. This is no MMO.
 

Heretic

Resource contributor
#11
Both gauges are at 2100+ lines of code at the moment and I am still working of failures and still have to implement load/save, company mode and statistics.
 

Heretic

Resource contributor
#12
Failures are in, but work has slowed to crawl at the moment as I need to prioritize other, non-FS stuff. Started to work on the load/save system though, but as this ties directly into company management mode and the statistics page, it won't be a smooth ride.

I'm also considering adding an "unlock" feature to aircraft when company mode is turned on. You would have to buy the current aircraft with company funds. A pristine, fully restored/factory fresh version is the safe, but expensive way to buy an aircraft, while a "buy used" mode would give you an aircraft with its systems in a randomly chosen state (but never lower than 50%) at a discount. Prices would scale with aircraft MTOW.
 

Heretic

Resource contributor
#13
Here's the release. See the top of the first post for a link.

Anyone brave enough to give the tool a whirl?

Also: READ THE MANUAL!
 

Heretic

Resource contributor
#15
New release (same link).

- The landing vertical speed limit for structural or tire damage is now configurable.
- Fixed a critical bug that prevented you from doing consecutive revenue flights.
- Only wheeled undercarriages will fail in various ways. Floats, skis or skids will degrade due to airspeed or ground friction, but will never fail*.


I've checked the possibility of adding flights to ships. Conclusion: Not possible without messing with the entire flight tracking system. More complexity = more potential for bugs.

Generally, the landing spot always has to be a designated airport, airfield, airstrip or seaplane base!
So unless a carrier or ship is designated as such, you can not do revenue flights to it!


*FSX has no sensible way of implementing broken struts.
 
#16
Here's the release. See the top of the first post for a link.

Anyone brave enough to give the tool a whirl?

Also: READ THE MANUAL!
You wrote endless amounts of largely unnecessary doucumentation that even the last moron will understand? ;)

Yeah, you wrote that :p:D
 

F747fly

Resource contributor
#20
What I ment to ask, would it be possible for another developer to make this program work with another addon. For example if the addon aircraft of that developer indicates a blown tire and you let it be repaired and "pay" for through this program, can the addon aircraft be programmed to indicated the tire as "repaired". Would that perhaps be possible?
 
Last edited:
Top