Author: This email address is being protected from spambots. You need JavaScript enabled to view it.
INTRODUCTION
This guide will attempt to make reasonable and sensible rules regarding the final release of a mod. This guide was created with compatable in mind, there are many excellent mods that are already out or starting to come out and for most part are compatable but the community saw that eventually, even now there was already competition in mods that was coming out so this guideline will try to make mods be as compatable with each others.

Now this guideline will not work if you do not read it carefully and follow it.

Now if you have an problem with this guide you can PM me about it and i will try to clear it up.

Anyway before you begun your creation of a mod you need to register your Modder ID here. The link will also be at the top of this thread for quick reference.

MODINFO.TXT
Each mod should include a file in its root directory called modinfo.txt. This file should contain the information detailed below. Please note that this file is not intended as a replacement for the basic descriptive files, but as a more detailed resource for other modders to allow alteration and combination of mods.
MAIN DETAILS

Modder Name : text
Modder ID : text
Modder ICQ : text
Modder E-Mail : text
Modder Website : text
MOD DETAILS

Mod Name : text
Mod Date : Date
Mod ID : text
Mod Version : decimal number
Mod State : Alpha/Beta/Release
Mod Type Scripted : 1. Scripted only
2. Scripted
2a. System
2b. Weapon
2c. Ship
2d. Combined
2e. Other - If Combined or Other, please include further detail
Mod Type Non-Scripted : 3. Non-Scripted
3a. System
3b. Weapon
3c. Ship
3d. Combined
3e. Other - If Combined or Other, please include further detail
Dependencies : Text, here is where you list what submods you require for your mod to work, Ex. MuliMod, and/or UniGUI
Description : text
Language : text
Key binds : text
(if applicable, meaning if your mod uses any kind of key binds, list them here.)

This key bind opens the "UniGUI" gui window if pressed.

[zzUniGUI.UniGUIToggle]
Keyboard, U, CTRL, ALT

Developer Notes  
Feedback : text
Version History : text
Known Issues : text
File List : include all new or altered files and specify location. Altered versions of original file should be starred.

Example format. (Using Antimatter's Marauder Fighter Mod)

"\"
MarauderFighter.html - New
MarauderFighter.ini - New
ModInfo.txt - New (do not need to list if you don't want to)

"\sims\ships\player\"
comsec.ini - Altered
comsec_prefitted.ini - Altered
storm_petrel_prefitted.ini - Altered

Classification Of Mods
Any mod should be classified under one of the following choices if it is a combination of categories then use the "Combined" and try to include all relevant information for all of the categories that your mod include. If your mod doesn't't appear to fit into any of these categories, Use "Other" and try to use all the relevant information to ensure compatibility and include any known issues in modinfo.txt.
Mod Type Scripted : 1. Scripted only
2. Scripted
2a. System
2b. Weapon
2c. Ship
2d. Combined
2e. Other - If Combined or Other, please include further detail

 

Mod Type Non-Scripted : 3. Non-Scripted
3a. System
3b. Weapon
3c. Ship
3d. Combined
3e. Other - If Combined or Other, please include further detail
General File Use
New files should be used where any changes are made except where modding system/weapon ini files independent of ships, or the in the case of the ship ini file itself, otherwise use standard v14.6 files, which will not need to be included in the mod as they will be retrieved from the zipped resource folder.

New files should be listed in modinfo.txt, this file to be included in the root directory of the mod.

The location of the files should also be included in modinfo.txt.

File Identification

Two prefixes should be used in all new files and the mod folder.

Use of a prefix will make sorting easier if attempts were made to combine mods.

The first prefix should be a modder ID between 3 and 5 lowercase characters.

The second prefix should be a mod ID to differentiate between mods made by the same modder, consisting of between 1 and 5 characters (lowercase or numbers). Each new mod and each new version will need a new mod ID.

The mod folder should have a name of the form ModderID_ModID, eg. anti_1.

For files, the prefixes will be followed by the descriptive part of the filename.

These parts of the filename will be separated by underscores.

The full format will be ModderID_ModID_Description.Extension

Example - if I were to create a file for a missile in my destroyer mod and this is my first mod the file would be anti_1_destr_missile.ini.

Non-Scripted Mod Detail
SYSTEM/WEAPON MODS

If system or weapon mods are used alone they will need to replace a current system or weapon file, meaning that changing the name of the file is impossible. This applies only to the ini file contained in the subsims/systems/player or subsims/systems/nonplayer folders. For all other alteration such as those to avatars and ini files for projectiles (rather than the launcher) a new file should be created.

To avoid confusion, the file for the appropriate type of system or weapon should be replaced.

Replacing the most basic version of the appropriate system or weapon will also allow easier access to it from early saves.

When altering nonplayer systems or weapons, identify and list the nonplayer ships which will be affected by the change in modinfo.txt.

The systems or weapons altered should be listed in modinfo.txt.

Any new player system or weapon (weapon here referring to a gun or launcher ini file, not the projectile or avatar files) files should be located in subsims/systems/player, the programs and subsystems subfolders to be used where necessary.

Any new non-player system or weapon (weapon here referring to a gun or launcher ini file, not the projectile or avatar files) files should be located in subsims/systems/nonplayer, the external subfolder to be used where necessary.

All weapon (projectile) files should be located in sims/weapons.

Any known problems relating to saved games, such as the crash caused by switching off the mod after new systems have been added to the saved game should be detailed in modinfo.txt.

If new systems are created, new entries can be added to the end of text/player_systems.csv to set the names to be used when the system is displayed in the hangar or trade screen and the HUD. If existing systems have been modded then you should change the display name (text key) in the system.ini and add that text key and name to player_system.csv.

SHIP MODS

Mods altering player ships should be separate from those altering nonplayer ships.

One ship should be altered per mod to allow for combination of mods with minimal editing.

Where mods for many ships are designed to be used in conjunction, ensure that the mods all begin with an appropriate identifier so that they are listed next to each other when the list is alphabetically sorted. This will allow easy selection of all appropriate mods.

Systems or weapons should be added as new files (no need to replace the standard files) and prefitted to the modded ship (see section on system/weapon mods above).

PLAYER SHIP MODS

For single player the command section should be replaced.

For instant action the storm petrel should be replaced.

Where player ships are renamed using text/player_ships.csv please note this in modinfo.txt.

AI SHIP MODS

New ships should replace those which would play a similar role to allow for balanced combination of mods.

COMBINED MODS

Combined mods should be used only where this combination does not affect compatibility with other mods.

Combining a ship mod with a weapons mod will work, since all the weapons would be given new filenames and no conflict would arise.

When creating a combined mod, details of the combination should be included in modinfo.txt.

Scripted Mod Detail
SYSTEM/WEAPON MODS

This covers the details for scripted mods, if your mod is a combination between script and say a weapon/system then also check up above under the non scripting mod detail section for details on say weapons/system.

SOURCE CODE

If the Script does not replace any script already present in the game then the Mod Creator do not have to include the source code if he/she desires not to.

However if the Script replaces an already present script in the game the Mod Creator has to include and reveal the source code of that one spefic script so that other Mod Creator or Player can edit the file if it is causing conflicts with another scripted mod that also replaces the same file.

VARIABLES, GLOBAL, ARRAYS

To prevent conflicts between Scripted mods, where Mods created, choose the same variable name for one of their variables. The naming of the variables should follow this guideline.

Two prefixes should be used in all new variables, global, arrays, etc.

Use of a prefix will make sorting easier if attempts were made to combine mods.

The first prefix should be a modder ID between 3 and 5 lowercase characters.

The second prefix should be a mod ID to differentiate between mods made by the same modder, consisting of between 1 and 5 characters (lowercase or numbers). Each new mod will require a new Mod ID. (Removed the every new version require a new mod ID because that would be clumbsome and annonying to update your scripts for every new relased version).

The full format will be ModderID_ModID_Description

Example: If I had a varriable that keept track of how many marine aboard a ship i would name it Anti_1_marinecount.

KEYBINDS

If the Scripted Mod Require any type of Key Binds, the mod creator should List the recommended Key Binds in the ModInfo.TXT file, and also include description of what that key bind will do. For a sample of what it should look like check under "MODINFO.TXT" header and you will see the format of the file and couple example.

GUI, DOCKING TO BASE - Using Furture Trader by Zazicle as a example.

If your mod is say for example "Furture Trader" that only pops up when docked to base, this might confict with another mod that also pops up when you dock to a base like "iFleet" for example.

To get around this problem you should use Zazicle's UniGUI.

Get it here.

You can also get the document for converting your mod to work along with UniGUI here.

The document covers the details about how to setup your mod to use UniGUI, and also covers how to set it up so it only pops up if you dock to a spefic base, or if you dock to any base, or like "Location Finder" pop up when the user need it.

Other Misc Notes Here

This covers the details for scripted mods, if your mod is a combination between script and say a weapon/system then also check up above under the non scripting mod detail section for details on say weapons/system.

SOURCE CODE

Every SP mod should include the following note, (preferably in the html that is displayed when the mod is selected):

However if the Script replaces an already present script in the game the Mod Creator has to include and reveal the source code of that one spefic script so that other Mod Creator or Player can edit the file if it is causing conflicts with another scripted mod that also replaces the same file.

"Any mod in the mods folder may disrupt the multiplayer game to your disadvantage. It is recommended that you de-select this mod and restart your game before joining a multiplayer session"

Add comment