If you wish, MeX will strip NUKE's and Torpedeos from every players 'Mech. A.I. 'Mech's are not checked, this only applies to those controlled by yourself and any remote players. This option may be overridden by any mission specific settings though...
ItemLimit [dropzone] [Number[ Number] [Item[ Item]]
dropzone - any valid dropzone. Defaults to 'Always' if omitted and no user specified default is active.
Item - Name of weapon(s), equipment or upgrade(s) that will be warned of and/or removed. Only the weapons 'cNUKE' and 'cTorpedo', and the 'ECM', 'Beagle Active Probe', 'Artemis IV', 'TAG' and 'Targeting Computer' are accepted as removeable items from commands in your MeX.ini file (although you can set a warning limit for anything else), a MeX.CFG embedded in a mission file has the capability to override your settings, and also the ability to limit all other weapons, equipment, upgrades, and more.
Number - The first number encountered in the statement is taken as the warning limit, above which you will be informed of violations of it, a second number found is taken as the removal limit, above which the offending articles will be stripped. A third and fourth value may be used for weapons that require ammunition.
N.B. If you wish to limit/strip ammo. without stripping the weapon, use -1 for the two weapon limit values, and whatever you desire for the ammo limits.
MeX now has the ability to obtain it's settings from a file that is incorporated in a mission ('.MWM') file, this allows more comprehensive control over MeX settings, (some of which were seen in the 'Beta's but have evolved and expanded), and this can also override most of the settings in a user's mex.ini file. This ensures that all players have the same settings (which wasn't in the 'Beta's).
[This was the best solution I could come up with to the problem seen as Fozz decided to give up on reading up on / writing any 'net code, like I asked him to, and writing an installer for those people who are incapable of renaming two .dll's and uz-zipping a few files, which I didn't ask him to do, in fact had I known of it beforehand, I would have demanded he didn't at that stage.]
PREVIEWERS NOTE:
THERE IS AS YET NO TOOL TO CREATE A MeX.CFG TO ADD TO A MISSION THAT I'M PREPARED TO RELEASE TO ANYONE ELSE DUE TO IT'S CURRENT 'SPARTAN' NATURE, IT'S COMING SOON THOUGH, SOONER IF Fozzy WOULD MAKE HIMSELF USEFUL, AFTER ALL THIS WHOLE DAMN THING WAS HIS IDEA.
MeX can assign weapons to groups according to your specifications, on a universal or per config. basis. To do this requires 'WeaponGroup' statements in the 'MeX.ini' file in this format
WeaponGroup [dropzone] [rx_mechname[ rx_mechname]] [Number] [Weapon[ Weapon[ ...]]
dropzone - any valid dropzone. Defaults to 'Always' if omitted and no user specified default is active.
rx_mechname - name of the 'mech(s) [the name you see in MechLab] that this applies to. This can be a UN*X style 'regular expression'. NOTE: For 'mechs using a custom chassis, the part of the name that specifies the chassis IS included when MeX is scanning it for a match to this.
NumberThe number of the group you wish the specified weapons to be placed in, use 0 (or any other number outside of the valid range for the dropzone(s) it applies to) to leave it or them ungrouped.
Weapon - Name of weapon(s) that will be placed in this group, this can be either generic (i.e. "LRM20") or specific (i.e. "LRM20#1"), but note that things like 'LRM*' wont work, and that clan weapons MUST include the 'c' prefix, although they are not case sensitive, 'cMPLAS' and 'Cmplas' are both interpreted the same.
e.g.
Group MercNet 2 .+ erPPC
would put erPPC's in group 2 [WHITE] for all mech's [unless otherewise instructed with later statements] when you drop to MercNet
Group User "Instant Action" MAD-.*\..+ 2 erPPC
would put erPPC's in group 2 [WHITE] for all "MAD-*.*" mechs [unless otherewise instructed later on] when you drop to Instant Action,
i.e. it would do it for all 'mechs whose name started with 'MAD-', then had any number of characters followed by a '.', then anything characters whatsoever ( it would do all Marauder chassis (unless you have one that's just called 'MAD').
Group Net "MAD-IIC\. Specific" 2 erPPC#1
Group User Net "MAD-IIC\. Specific" 3 erPPC#2
would put erPPC#1 in group 2 [WHITE] and erPPC#2 in group 3 [YELLOW] only for 'mech's whose name is "MAD-IIC. Specific" when you drop to MercNet or NetMech.
Mercenaries can place weapons in any one of five groups, MechWarrior2 can only use 3 as I'm sure you already know. These are hard coded into the respective Sim. engines, so unless I start hacking at the .dll's I can't increase them, I tried using other means, and it didn't work.
PLEASE refer to the Mex.ini file for better examples, brief tutorial, and the reasons why MeX doesn't use the fully automatic grouping mechanism that it once did.
CustomChassis [dropzone] [Number|Synonym of 'yes' or 'no']
dropzone - any valid dropzone. Defaults to 'Always' if omitted and no user specified default is active.
Number - 0 means off, anything else means on.
Synonym of 'yes' or 'no' - MeX recognises just under 30 different ways to write yes or no, including German, French, Russian and Japanese.
The ability to switch custom chassis on or off for individual types of player (user/remote/internal) that was available in the betas has be been removed, because it's
unfair. If you enable 'em, everybody gets 'em, and therefore everybody has an appropriate damage sphere, and the crit locations correspond with where they're supposed to be.
MeX determines wether to use a custom chassis by examinining mech names. It will do this with names either in the convention of the NAIS shell for DOS Mercenaries by enclosing the chassis part of the name in square brackets (braces) '[' and ']', or by the use of a full stop (period) '.' after the chassis part of the name. If no chassis with this name is found, MeX will then scan the chassis name for the first minus/hyphen '-' character, and if there is one, MeX will try to use the chassis denoted by it and the characters to the left of it, if that's not found MeX will try to use the chassis denoted only by the characters to the left of it
In order of preference:
This is MeX preferred chassis format, is necessary for some features to work, and makes life better for some others. This chassis format incorporates the standard ('.BWD') chassis file and also 'Mech geometry information ('.MGI'). so no other files at all are needed.
As part of this format, the .BWD and .MGI files as well as some settings and useful information are incorporated unencrypted, so that I or anyone else for that matter, could write utilities which extract information from chassis files, without having to place copies of my decryption code in them for any fool to examine/rip. It also incorporates numerous checksums and an E.C.C. system.
If MeX can't find a matching .MXC chassis, it will use a '.TDL' file if it can find one, but this format cannot be validated to the same extent as a MeX chassis. If the chassis uses a non-standard geometry file, that will be used also, if you have it. if not I suggest you get it or remove the .TDL file because Mercs will crash without it if the chassis really does use it.
N.B. Only the .TDL file is required, the accompanying .BWD is unnecessary.
When all other possibilities are exhausted MeX will use a .BWD chassis (grudgingly). Only a limited and unreliable degree of cheat protection is possible with this format, and the same geometry file rule as .TDL files applies here.
With MeX format chassis, it is possible for MeX to reliably detect AeroTech, and modify the configuration accordingly. The most noticeable difference being a move points to thrust points translation. i.e.
1 MOVE POINT = 10.8 K.P.H. [Applicable to a BattleMech]
1 THRUST POINT = 180 K.P.H. [Applicable to an AeroTech]
MOVE POINTS = ENGINE RATING / MASS [Applicable to a BattleMech]
THRUST POINTS = ( ENGINE RATING / MASS ) + 2 [Applicable to an AeroTech]
So to achieve a correct Aerotech speed, MeX does this calculation:
AEROTECH MOVE POINTS = ((MOVE POINTS + 2) * 180 K.P.H.) / 10.8 K.P.H.
and writes this value to the temporary .MEK files it creates. So an AeroTech config. with a 300 rated engine will move approximately as fast as a FASA spec. 300 rated AeroTech should. Also, an AeroTech has no gyro, but does have fuel and extra armour, which approximately balances out so this has not been accounted for in any way (but if there's a demand, or I just get the urge, I'll correct this for release 1.1, if there is one). After having tested this feature properly, I am prepared to consider putting a facility to override this with an AeroTech multiplication factor setting in the aforementioned MeX.CFG files, depending on any feedback you provide.
LAM NOTE: Because the MechWarrior sim engine provides no way for a LAM to transform from one mode to the other, I have taken no steps to adjust their parameters, basically if the chassis flies it's an Aero (and therefore gets the 2 point bonus unlike a FASA LAM), if it walks it's a 'Mech, which seems fair to me.
MeX can automatically send any sequence of keys to it's host program, as soon as it is ready to accept them. (this is the extension of the 'AutoHUD' that was added to one of the v3 beta revisions). Unfortunately this is only true if you are me, and have my copy of MeX at this point in time, due to a small technical hitch (it's not yet able to recognise the names of all the keys, or handle SHIFT/ALT/CTRL properly), full command syntax details available on completion.
MeX can re-group your weapons at a single keystroke, you can assign this function to any key on your keyboard (at least you should be able to, so far it's only been tested on my U.K. keyboard), I haven't been able to figure out a better solution to the re-spawn problem, so at least this helps. Unfortunately this is only true if you are me, and have my copy of MeX at this point in time, due to a small technical hitch (it's not yet able to recognise the names of all the keys, and the re-group code is proving to be a small challenge, which has sparked up my interest so expect hasty completion, one of the the reason's it's taken this long to get to here from the last release is that I just got plain bored 'cos there were no real coding challenges left in it, and 'cos I got p*ss*d at Fozz 'cos he ain't hardly done a thing I asked him to), full command syntax details available on completion.
MeX can adjust the thread priority of it's host program, for the duration of a Drop, and restore the original priority once the mission ends via any normal means. Any values you specify are added to the priority that it's at when MeX is called by it's host program, valid resulting values are in the range -15 to +15, anything outside that range is rounded up or down as appropriate. As a guide, on my system, (which I assume is consistent with everybody's) Mercs/Mech2 starts out with a thread priority of 0 so that should keep the maths pretty easy. This option can only be set in your own MeX.ini file, nowhere else. I don't yet know if this is really of any practical use, but in theory it may be possible to improve lag a little by making windows more or less likely to multi-task. Have fun experimenting, but be warned setting this too high or low may play havoc with either Mercs or the rest of your system's operability for the duration of a drop.
ThreadPriority [dropzone] [Number]
dropzone - any valid dropzone. Defaults to 'Always' if omitted and no user specified default is active.
MeX now has a master arm switch, which allows you to activate or deactivate all of it's features for a particular dropzone.
MasterArm [dropzone] [Number|Synonym of 'yes' or 'no']
dropzone - any valid dropzone. Defaults to 'Always' if omitted and no user specified default is active.
Number - 0 means off, anything else means on.
Synonym of 'yes' or 'no' - MeX recognises just under 30 different ways to write yes or no, including German, French, Russian and Japanese.
The version of MeX that you have been given does not incorporate some of the features that will definitely be in the public release, mainly the ability to silently UN-HACK the MeX.dll itself, the mw2.dll/mercsw.dll weapon table, .MXC format chassis, and MISSIONS with an embedded MeX.CFG, the code is already written, I just had to remove most of the 'software defences' because they make debugging difficult at the best of times, and I know how copies can leak to people who shouldn't have them so I didn't want to give anyone a head start at hacking past them. It's in your own best interests to not tell anyone about this 'UN-HACK' feature, (I know for a fact that it would confuse the hell out of me (for a while) if I was hacking at it with no forewarning of this), as it will buy you all that little bit more time for hack-free play, and possibly lessen the extent when it inevitably does happen.
Turrets can be handled slightly incorrectly sometimes, a fix is planned as soon as all other features are complete.
The MechWarrior 2 capabilities are at present mostly an afterthought, and therefore buggy in places, inadequate and incomplete in others. I've been waiting for Fozz to get his copy of NetMech back from whoever he lent it to (for months) so that I could test it properly and finish it off, so I havn't been concentrating any efforts on that aspect of MeX because of the current semi-pointlessness of the exercise without it.
Currently the only chassis for MW2 is the "Sand Shark", because I only needed one for testing, but expect more from me, and also a WASM like program that will work with MW2 as well as Mercs. at a later date.
The previously proposed 'MegaDeath' option has not been implemented, because with no communication between the copies of MeX running on different player's machines, it simply wouldn't work.
There's no 'MechLab, and it could probably do with one. See Fozz about this, I told him well before the Beta 3 release, "If you design the U.I., I'll put the code behind it."
There are others that I know about but I think it's time for me to hit the code again so you can find them out for yourself.
FASA Corporation - Without whom this would not have been possible.
Activision - Without whom this would also not have been possible (or necessary).
NAIS - for coming up with their original shell, thus eliminating any claims I may make to total originality of concept
Fozz - for pondering wether we could write a shell similar to NAIS for MercsWin
The GNU Free Software Foundation - for no specific reason, I just know what they do and would like to thank them for their efforts.
The GNU Free Software Foundation - for a specific reason, although the actual regular expression code used was written by myself, it is a port of code I wrote on my old Amiga, based on information (and a few handy tricks) I gleaned from reading through the GNU C++ library source code.
Sunderland General Hospital Casualty Department - for diagnosing a compressed nerve in my elbow when I lost the half of the feeling in my left hand.
FOZZ PLEASE FIND THIS E-MAIL AND FILL IN THE NAME- for sending me the 'hi' (which I already knew) and 'iie' (which I didn't)
Sunderland General Hospital Casualty Department - for the dressings and butterfly stitches (more bloody hand injuries (pun intended)).
Kenny (R.I.P.) and the rest of the cast and creators of South Park - for sheer entertainement value.
My brother's friend Steve - for the BattleTech info.
DropZone
Mercenary = Mercenaries in Mercenary/Mercenary Lord
"Instant Action" == Mercenaries in Instant action
MercNet == MercNet
MechWarrior == Mech2 in Clan
"Trial Of Grievance" == Mech2 in a Trial Of Grievance
NetMech == NetMech
Net == MercNet and NetMech
Career == Mercenary and MechWarrior
Mech2 == NetMech and "Trial Of Grievance" and MechWarrior
Mercs == MercNet and "Instant Action" and Mercenary
Mech == "Trial Of Grievance" and MechWarrior
Merc == "Instant Action" and Mercenary
Brawl == "Instant Action" and "Trial Of Grievance"
Always == Mech2 and Mercs
Controller
User == You
Remote == Other MercNet/ NetMech players
Internal == A.I. 'Mechs
Human == User and Remote
A.I. = Internal
Robot = Internal
Opponent = Remote
Allegiance
Friendly == Your team/squad/unit, or anyone allied with it.
Enemy == Self explanatory
Neutral == Self explanatory
Us == Friendly
Them == Enemy
Observer == Neutral
Regular Expression
A method of expressing multiple strings via the use of simple textually represented algorithms.
I will expand on this more in the next Manual revision, but here's a start:
To use a 'control' character as a normal character, prefix it with a backslash ('\') character
Control characters:
'.' == matches any single character. e.g. 'a.' matches 'aa', 'ab', 'ac', etc.
'*' == matches 0 or more occurences of the preceeding character/subexpression. e.g. 'a*' matches 'a', 'ab', 'aaa', and anything else that starts with an 'a'. '.*' will match anything at all, even nothing.
'+' == matches 1 or more occurences of the preceeding character/subexpression. e.g. 'a+' matches 'a', 'aa', 'aaa', etc. '.+' will match anything at all, except nothing.
'?' == matches 0 or 1 occurence of the preceeding character/subexpression.
'|' ==
'[' and ']' == use thes to enclose a 'character class' or 'character range'.
That's all for now folks, see 'MeX.ini' for more examples.