Difference between revisions of "CombatMFD"

From Elite Wiki
m (One-shot indicator: as above)
m (as above)
Line 84: Line 84:
 
=== Custom HUD dials ===
 
=== Custom HUD dials ===
  
Oolite v1.81 provide [http://wiki.alioth.net/index.php/Hud.plist#data_source drawCustomText:] HUD dial which can display informations without MFD.
+
Oolite v1.81 provides [http://wiki.alioth.net/index.php/Hud.plist#data_source drawCustomText:] a HUD dial displaying information without an MFD.
  
You still must buy the CombatMFD equipment for the followings but you must not show up the MFD if your HUD has support for these (like the Large and Small HUDs in [[HUDSelector]]).
+
You still must buy the CombatMFD equipment for the following but you need not display the MFD if your HUD has support for these (like the Large and Small HUDs in [[HUDSelector]]).
  
CombatMFD fill up the following dials with values, so HUD designers can use these:
+
CombatMFD fills up the following dials with values, so HUD designers can use these:
  
 
  data_source  description
 
  data_source  description
Line 96: Line 96:
 
  combatAltR altitude over a planet, moon or sun in radius
 
  combatAltR altitude over a planet, moon or sun in radius
 
  combatCredits credits of player
 
  combatCredits credits of player
  combatCTemp cabin temp
+
  combatCTemp cabin temperature
  combatDmgEq name of the lastly damaged equipment
+
  combatDmgEq name of the last damaged piece of equipment
  combatDEqNum number of the damaged equipments
+
  combatDEqNum number of damaged pieces of equipment
 
  combatEnergy energy of player ship in numeric form
 
  combatEnergy energy of player ship in numeric form
 
  combatEnergyP energy of player ship in percent
 
  combatEnergyP energy of player ship in percent
 
  combatFwSh forward shield numeric value, including capacitors
 
  combatFwSh forward shield numeric value, including capacitors
  combatFwShP forward shield percent value, over 100% if upgraded
+
  combatFwShP forward shield percent value, over 100% if upgraded
  combatFuel remaining fuel in the main tank in ly, min. 0.0, max. 7.0
+
  combatFuel remaining fuel in the main tank in ly (min. 0.0, max. 7.0)
 
  combatFuelReq required fuel of a declared hyperjump
 
  combatFuelReq required fuel of a declared hyperjump
  combatFuelRes reserve fuel in extra tanks (integer)
+
  combatFuelRes reserve fuel in extra tanks (integer)
  combatLegal legal status of player, Clean/Offender/Fugitive
+
  combatLegal legal status of player (Clean/Offender/Fugitive)
 
  combatLegalNum legal status of player, bounty
 
  combatLegalNum legal status of player, bounty
 
  combatNewTelT name of the newest target detected by Telescope
 
  combatNewTelT name of the newest target detected by Telescope
  combatOneShot letters of One-shot indicator (BCEGHPRU)
+
  combatOneShot letters of One-shot indicator (BCEGHPRU as above)
 
  combatSCTDist distance of space compass target
 
  combatSCTDist distance of space compass target
 
  combatSEE letters of SEE indicator about the player ship (CMBSAHE)
 
  combatSEE letters of SEE indicator about the player ship (CMBSAHE)
Line 115: Line 115:
 
  combatSEENum number of ship durability: shield+armour+energy
 
  combatSEENum number of ship durability: shield+armour+energy
 
  combatSpeed actual speed of player ship in m/s
 
  combatSpeed actual speed of player ship in m/s
  combatTDist distance of the current target
+
  combatTDist distance of the current target
  combatTDmg damaged/weak/derelict status of the current target
+
  combatTDmg damaged/weak/derelict status of the current target
  combatTEnergy energy of the current target, use for debug only
+
  combatTEnergy energy of the current target, use for debug only
 
  combatTLaser laser weapon of the current target
 
  combatTLaser laser weapon of the current target
 
  combatTLegal legal status of the current target, if derelict then Towbar status
 
  combatTLegal legal status of the current target, if derelict then Towbar status
Line 124: Line 124:
 
  combatTMissNum number of missiles fired by the target so far
 
  combatTMissNum number of missiles fired by the target so far
 
  combatTName full name of the current target
 
  combatTName full name of the current target
  combatTRadius shield radius of the current target
+
  combatTRadius shield radius of the current target
 
  combatTSpeed speed of the current target
 
  combatTSpeed speed of the current target
  
Numeric values are centered in a 28 character wide field by default, texts are left aligned (you can align to right in hud plist with [http://wiki.alioth.net/index.php/Hud.plist#align align=1]).
+
Numeric values are centered in a 28 character wide field by default, texts are left aligned (you can align to right in a hud plist with [http://wiki.alioth.net/index.php/Hud.plist#align align=1]).
  
 
The default width of centered fields is adjustable in the worldScripts.combat_MFD.$DW variable.
 
The default width of centered fields is adjustable in the worldScripts.combat_MFD.$DW variable.
  
If $DW is 0 then all field will be left aligned.
+
If $DW is 0, then all fields will be left aligned.
  
If $DW negative then right aligned in the given width.
+
If $DW is negative, then right aligned in the given width.
  
  
Line 145: Line 145:
 
  combatSLBar service level bar of player ship
 
  combatSLBar service level bar of player ship
  
See [http://aegidian.org/bb/viewtopic.php?f=6&t=17776&start=30#p242909 this example] how to add a service level bar into your HUD.
+
See [http://aegidian.org/bb/viewtopic.php?f=6&t=17776&start=30#p242909 this example] to add a service level bar to your HUD.
  
  
Line 152: Line 152:
  
  
For example the speed value need the following code in the dials section in the plist of HUD:
+
For example the speed value needs the following code in the dials section in the plist of your HUD:
 
  {
 
  {
 
  data_source = "combatSpeed";
 
  data_source = "combatSpeed";
Line 166: Line 166:
  
  
OXP developers can reach all data in worldScripts.combat_MFD.$Data object using the same data_soucre key names, so for speed use $Data.combatSpeed .
+
OXP developers can reach all data in worldScripts.combat_MFD.$Data object using the same data_source key names, so for speed use $Data.combatSpeed .
  
 
The access of worldScript name is slow, so you should get a pointer once in startUp:
 
The access of worldScript name is slow, so you should get a pointer once in startUp:

Revision as of 19:18, 12 November 2020

Description

If you buy Combat MFD (Multi-Function Display) equipment then your Multi-Function Displays will display much information about your ship:


followed by information about your target:

  • name,
  • distance and speed,
  • shield radius, then Front/Aft orientation display and Damaged!/Weak!/Derelict flag,
  • laser weapon type and range (after a shot),
  • status: Clean/Offender/Fugitive, if derelict then Trap or Treasure/Empty/Mined/Usable (see Towbar OXP).
  • fired missiles counter with "Hard" flag.

Telescope can display the newly detected target in the last line.

Use the ";" and ":" keys to select an MFD and enjoy the view. ;)

CombatMFD1.7.png


Compatible with Telescope OXP (if locking distant targets) and ShieldEqualizer+Capacitors OXP: if shields are over 100% then either Shield Boosters are installed or Shield Capacitors are also filled.

The "Damaged!" flag is shown when the target's exhaust plumes are blinking (below 40% energy) and "Weak!" is shown when blinking strongly and sparking too with CustomShields OXP (below 20%).

If your HUD has support for this (like NumericHUDv3.25) then you will see these words near your crosshairs too. Such support means the following lines will appear in the legends section of your hud.plist:

{ equipment_required="EQ_DTADAM"; x=30; y=40; y_origin=0; height=20; width=16; text="Damaged"; alpha=0.5; },
{ equipment_required="EQ_DTAWEA"; x=30; y=40; y_origin=0; height=20; width=16; text="Weak"; alpha=0.5; },
{ equipment_required="EQ_DTADER"; x=30; y=40; y_origin=0; height=20; width=16; text="Derelict"; },

SEE indicator

The top right corner shows letters indicating how many shields, and how much armour and energy are remaining. Each letter represents 2 energy banks in strength and is ordered from the outside to the inside. Small letters indicate that only one side is up.


"SEE" indicates that you have basic Shields (2 banks=128 points) and 2*2 Energy banks filled (4 banks=256 points): as a starting Cobra Mark III at Lave.

The total length is relative to your ship's defensive strength. The strongest Andromeda has CCCCCCCCMBSAAAAAAAAHHHEEEEEEEE. :)

A letter will be changed to "-" on dropping below the half of the banks represented by this letter. "-E" indicates that less than three and more than one bank is filled.

Underscore "_" indicates equipment damage preventing regeneration: you should fix it when docked. Checked damages:


The number in the corner show the total value in your energy banks (64 points).

If you see "LAST BANK!" here instead of letters then ... well, ... you know! (Flee! ;))

Equipment indicator

Next to the shield values there are letters which show if the following equipment is installed and primed:

One-shot indicator

The space to the right from your shield percentages shows letters to indicate one-shot equipment. In order:

Custom HUD dials

Oolite v1.81 provides drawCustomText: a HUD dial displaying information without an MFD.

You still must buy the CombatMFD equipment for the following but you need not display the MFD if your HUD has support for these (like the Large and Small HUDs in HUDSelector).

CombatMFD fills up the following dials with values, so HUD designers can use these:

data_source   	description
combatAftSh	aft shield numeric value, including capacitors
combatAftShP	aft shield percent value, over 100% if upgraded
combatAlt	altitude over the nearest planet, moon or sun in km
combatAltR	altitude over a planet, moon or sun in radius
combatCredits	credits of player
combatCTemp	cabin temperature
combatDmgEq	name of the last damaged piece of equipment
combatDEqNum	number of damaged pieces of equipment
combatEnergy	energy of player ship in numeric form
combatEnergyP	energy of player ship in percent
combatFwSh	forward shield numeric value, including capacitors
combatFwShP 	forward shield percent value, over 100% if upgraded
combatFuel 	remaining fuel in the main tank in ly  (min. 0.0, max. 7.0)
combatFuelReq	required fuel of a declared hyperjump
combatFuelRes 	reserve fuel in extra tanks (integer)
combatLegal	legal status of player (Clean/Offender/Fugitive)
combatLegalNum	legal status of player, bounty
combatNewTelT	name of the newest target detected by Telescope
combatOneShot	letters of One-shot indicator (BCEGHPRU as above)
combatSCTDist	distance of space compass target
combatSEE	letters of SEE indicator about the player ship (CMBSAHE)
combatSEEMax	maximum number of ship durability: max of shield+armour+energy
combatSEENum	number of ship durability: shield+armour+energy
combatSpeed	actual speed of player ship in m/s
combatTDist 	distance of the current target
combatTDmg 	damaged/weak/derelict status of the current target
combatTEnergy 	energy of the current target, use for debug only
combatTLaser	laser weapon of the current target
combatTLegal	legal status of the current target, if derelict then Towbar status
combatTLRange	range of the target's laser weapon
combatTMissile	missile type fired by the target, Normal/Hard/Unknown
combatTMissNum	number of missiles fired by the target so far
combatTName	full name of the current target
combatTRadius 	shield radius of the current target
combatTSpeed	speed of the current target

Numeric values are centered in a 28 character wide field by default, texts are left aligned (you can align to right in a hud plist with align=1).

The default width of centered fields is adjustable in the worldScripts.combat_MFD.$DW variable.

If $DW is 0, then all fields will be left aligned.

If $DW is negative, then right aligned in the given width.


Using the drawCustomBar: selector HUDs can give graphical feedback about the following values:

data_source   	description
combatAftShBar	aft shield bar including capacitors
combatCargoBar	how filled the cargo bay of player ship
combatFwShBar	forward shield bar including capacitors
combatSEEBar	total durability bar of player ship based on the SEE indicator
combatSLBar	service level bar of player ship

See this example to add a service level bar to your HUD.


Original and Large HUDs use many custom dials (available in HUDSelector): CombatMFD1.9.png


For example the speed value needs the following code in the dials section in the plist of your HUD:

{
	data_source = "combatSpeed";
	selector = "drawCustomText:";
//	alert_conditions = 2; //uncomment if you want to see in green alert only
	alpha = 1.0;
	height = 13;
	width = 15;
	x = 151;
	y = 87;
	y_origin = -1;
},


OXP developers can reach all data in worldScripts.combat_MFD.$Data object using the same data_source key names, so for speed use $Data.combatSpeed .

The access of worldScript name is slow, so you should get a pointer once in startUp:

this.startUp = function() {
	this.$combatWS = worldScripts.combat_MFD; //slow access for the pointer, one time only
}
this.$displaySpeed = function() {
	if( this.$combatWS ) //must check CombatMFD existence to prevent an error
		player.consoleMessage( this.$combatWS.$Data.combatSpeed ); //fast access
	else log(this.name, "Can not display speed value, CombatMFD OXP is missing");
}


The $DataArray contain all available data_source keys.

this.$combatKeyIsExists = function( key ) {
	if( this.$combatWS && this.$combatWS.$DataArray.indexOf( key ) > -1 )
		return true;
	else return false;
}


The $DataShow can disable the display of any data in the HUD:

this.$disableKey = function(combatKey) {
	if( this.$combatWS ) this.$combatWS.$DataShow[combatKey] = false;
}

Dependencies

Oolite 1.79 or later.

Instructions

Do not unzip the .oxz file, just move into the AddOns folder of your Oolite installation.

License

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License version 4.0. If you are re-using any piece of this OXP, please let me know by sending an e-mail to norbylite@gmail.com.

Downloads

Combat MFD v1.12 (downloaded 7587 times).

Combat MFD v1.11 (downloaded 1818 times).

Combat MFD v1.10 (downloaded 777 times).

Combat MFD v1.9 (downloaded 662 times).

Combat MFD v1.8 (downloaded 281 times).

Combat MFD v1.7 (downloaded 265 times).

Combat MFD v1.6 (downloaded 681 times).

Combat MFD v1.5 (downloaded 370 times).

Combat MFD v1.4 (downloaded 358 times).

Combat MFD v1.3 (downloaded 286 times).

Combat MFD v1.2 (downloaded 277 times).

Combat MFD v1.1 (downloaded 254 times).

Combat MFD v1.0 (downloaded 269 times).

Forum

Make your comments in this topic.


Changelog

2015.10.03. v1.12 Show Auto ECM and Turret Toggler active status if installed.
                  Do not display 0 as bounty and damaged equipments if none.
                  Fixed a bug if both HardShips and IronHide Armour is installed.
2015.05.18. v1.11 Speed formula updated for time forwarding in TorusToSun v1.5.
2015.01.08. v1.10 Small fix of a harmless message in Oolite 1.80, thanks to phkb.
2014.10.20. v1.9  Custom dials of player always calculated, dials of target need the equipment.
                  Altitude custom dial in km added.
2014.10.16. v1.8  HUD dials added, need Oolite 1.81 and support in HUD plist.
2014.10.11. v1.7  Telescope display the newest detected target in the last line.
                  Fuel display counts additional FuelTank, DuplexFuelTank, ExtraFuelTanks and
                  the reserve fuel of Andromeda also.
                  Better energy feedback for ships with a single energy bank.
2014.08.11. v1.6  Damaged, Weak and Derelict display on HUDs with support for this feature.
                  Show FW instead of 8x when TorusToSun use time forwarding at max. speed.
2014.07.24. v1.5  Equipment cost raised to 1000cr due to the MFD pricing thread.
                  Show Torus multiplier after player speed if Torus To Sun is installed.
                  Line length fine tune with hair spaces, thanks to spara.
2014.07.09. v1.4  SEE and One shot indicators added.
                  Player legal status added.
                  Missile counter with "Hard" flag added.
                  Energy and Shields percents are rounded to 10 for better readability.
                  Target Front/Aft orientation display.
                  Speed display use velocity for Q-Charger.
                  A fix against garbage-collected timer in log.
2014.07.07. v1.3  Informations added in top right and bottom right corners.
                  Speed labels removed to prevent twithcing.
                  A small fix about Telescope far targets.
2014.07.06. v1.2  Show the name of the lastly damaged equipment.
                  Show the target's laser type and range after a shot.
                  Energy and Shields are displayed in percents only.
2014.07.05. v1.1  Must buy Combat MFD as an equipment.
                  Legal status display need Scanner Targeting Enhancement.
                  Show Telescope far target names without km.
                  Can show Empty, Mined and Usable ship status with Towbar.
                  Wormhole target supported with Wormhole Scanner equipment.
2014.07.02. v1.0  More info displayed by Norby.
2014.06.30. v0.1  Some info displayed by Zireael.


Quick Facts

Levelindicator0.png
0-{{{2}}}
Version Released License Features Category Author(s) Feedback
1.12 2015-10-03 CC BY-NC-SA 4 Data about your ship and your target HUDs OXPs Norby BB-Link