Difference between revisions of "Modding Etiquette"

250 bytes added ,  13:21, 24 December 2010
→‎Balance Weapons to MOBS: Defined what MOBS was.
imported>Wrye
imported>Bruneauinfo
(→‎Balance Weapons to MOBS: Defined what MOBS was.)
 
(2 intermediate revisions by 2 users not shown)
Line 37: Line 37:
* Name the archive after the name of the package and include the version number. (E.g. "Wrye Morph 07.7z".)
* Name the archive after the name of the package and include the version number. (E.g. "Wrye Morph 07.7z".)
** Don't use generic names (e.g. NOT "Manual Install.7z").
** Don't use generic names (e.g. NOT "Manual Install.7z").
** Don't start with numbers, underscores or arbirary symbols (e.g. NOT "_My Cool Mod.7z" and NOT "1_Cool Mod.7z").
** Don't start with numbers, underscores or arbitrary symbols (e.g. NOT "_My Cool Mod.7z" and NOT "1_Cool Mod.7z").
** Don't end the archive name lie "-1234.7z". TesNexus appends package id numbers to uploaded archives, which Bain uses for it's "Open at TesNexus" command. Hence a number which looks like a TesNexus id, but is not will resul in Bain opening the wrong package at TesNexus.
** Don't end the archive name like "-1234.7z". TesNexus appends package id numbers to uploaded archives, which Bain uses for it's "Open at TesNexus" command. Hence a number which looks like a TesNexus id, but is not will result in Bain opening the wrong package at TesNexus.
** Don't use ' - ' in the name. Mod sites will convert such names to "Yadda_-_Yadda.yz", which is unattractive. Either skip the dash (Yadda_Yadda.7z) or skip the spaces (Yadda-Yadda.7z).
** Don't use ' - ' in the name. Mod sites will convert such names to "Yadda_-_Yadda.yz", which is unattractive. Either skip the dash (Yadda_Yadda.7z) or skip the spaces (Yadda-Yadda.7z).
* When including version number in mod name, use either no punctuation or use an underscore. E.g. for version 1.31, use "131" or "1_31". The reason for this is that some upload sites automatically remove non-extension '.'s in the archive name.
* When including version number in mod name, use either no punctuation or use an underscore. E.g. for version 1.31, use "131" or "1_31". The reason for this is that some upload sites automatically remove non-extension '.'s in the archive name.
Line 54: Line 54:


=== Archive Structure ===
=== Archive Structure ===
There are currently two main mod installers: OBMM and [[Bain]]. Many (or rather most) users install mods manually. It's possible to create archives that work well with all three installation methods (OBMM, Bain, Manual). For simple packages, this is fairly easy. For complicated packages (with optional and/or alterate files), triple mode archives are possible, though a bit more complicated to create.
There are currently two main mod installers: OBMM and [[Bain]]. Many (or rather most) users install mods manually. It's possible to create archives that work well with all three installation methods (OBMM, Bain, Manual). For simple packages, this is fairly easy. For complicated packages (with optional and/or alternate files), triple mode archives are possible, though a bit more complicated to create.


For '''simple packages''' (with no optional/alternate files), the top level of the archive should correspond to the top level of the Oblivion\Data directory.  
For '''simple packages''' (with no optional/alternate files), the top level of the archive should correspond to the top level of the Oblivion\Data directory.  
Line 104: Line 104:
** Use quick exits from '''GameMode''' block scripts when possible. I.e., rather than letting the script fall through several lengthy '''If''' statements, instead do a single test at the top to see if rest of script should be skipped, and if so, return.
** Use quick exits from '''GameMode''' block scripts when possible. I.e., rather than letting the script fall through several lengthy '''If''' statements, instead do a single test at the top to see if rest of script should be skipped, and if so, return.
** When initializing the state of multiple objects (e.g., setting three actor references to attack player under a certain condition), use a single script on one object which sets all, rather than scripting each of them separately.  
** When initializing the state of multiple objects (e.g., setting three actor references to attack player under a certain condition), use a single script on one object which sets all, rather than scripting each of them separately.  
* Avoid [[Script_Processing#Remote_Ref_Heartbeat|Remote Ref Heartbeat]] -- Do '''not''' set local variables in every frame of persistent ref scripts.


* Avoid using [[PlaceAtMe]] to create new copies of an object when you could simply use [[MoveTo]] on an existing object. Apparently, placed items are never deleted from the world and if used enough can cause savegame size to expand significantly. (E.g., earlier versions of Harvest Flora had this problem.)
* Avoid using [[PlaceAtMe]] to create new copies of an object when you could simply use [[MoveTo]] on an existing object. Apparently, placed items are never deleted from the world and if used enough can cause savegame size to expand significantly. (E.g., earlier versions of Harvest Flora had this problem.)
Line 126: Line 128:
== Integration ==
== Integration ==
=== Balance Weapons to MOBS ===
=== Balance Weapons to MOBS ===
If you're releasing a weapon, try to fit the weapon to MOBS.
If you're releasing a weapon, try to fit the weapon to MOBS (''Medieval Oblivion Equipment Balance System - an existing and popular weapons balance mod.'')


=== Use Standardized Option Setting ===
=== Use Standardized Option Setting ===
Anonymous user