Post by kalbaern on Jan 27, 2014 23:02:40 GMT -5
Having a defined set of Naming Conventions to use is one of the most important things you can do inorder to keep things simple in the long run. Especially when many resources are kept off the pallettes of our Hosted and Master Builder Modules. Whoever controls the Hosted and Master Builder Modules should also control and designate naming and assign preset ResRefs and TAGs to others to avoid conflicts when importing their works.
Item Conventions:
When creating new items, especially in seperate Loot and Merchant Modules, having set naming conventions will make scripting for things like unique powers and crafting that much easier. Keep in mind that ResRefs (blueprint IDs) can only contain 16 characters and since NWN likes to add trailing three digit extensions when edit copying an existing ResRef, its advised you keep most initial ResRefs limited to 12 or 13 characters. Since ResRefs can only be lower case, making your matching TAGs lower case as well helps alot when you use these designators in scripts, both TAG Based and Module Wide.
My own naming conventions for items (weapons, armor, wands, etc...) is roughly as follows for both ResRefs and TAGs:
npc_weap, npc_weap001, npc_weap002, and so on (used to designate weapons and ammunition used by NPCs and usually required to be on the pallettes of the hosted module)*
npc_outfit, npc_outfit001, npc_outfit002, and so on (used to designate armor/clothing used by NPCs and usually required to be on the pallettes of the hosted module)*
*Keep in mind that when equipping NPCs with items (custom or standard) that most AIs do not allow them to use wands, staves or rods and often only recognise standard scrolls and potions. Custom weapons and armors are fine, although additional properties on them that grant extra spells, more spells per day or unique scripted activations are also wasted.
shswrd, shswrd001, shswrd002 and so on (used to designate short swords not used by NPCs)
lngswrd, lngswrd001, lngswrd002 and so on (used to designate longswords not used by NPCs)
0ac, 0ac001, 0ac002 and so on (used to designate base AC0 armors/clothes not used by NPCs)
1ac, 1ac001, 1ac002 and so on (used to designate AC1 armors not used by NPCs)
.... AC2-AC8 as previous
wand, wand001, wand002 (used to desginate wands)
I'm not going to list all of my own naming schemes for items, but I hope you gotten the jist of it.
Area Conventions:
Maintaining a set of naming standards cannot be over emphasized and most importantly, when making areas/maps. Making certain you have proper Names, TAGS and ResRefs begins when you use the Area Wizard to create your new area. You should always create an area with the name field set as your preferred TAG/ResRef. When you initially create a new area, its the Name Field that dictates the original TAG and ResRef is why. Once an area is created, you can later edit the Name Field to display whatever name you desire.
When using the Area Creation Wizard, NWN will attempt to automatically name the area for you. Don't ever use the default it "suggests". NWN will autoname areas as "Area001", "Area002", etc... . Not only is this a poor naming scheme down the road, others that build and submit areas for your module will have the same auto naming setting their TAGs and ResRefs and eventually, when you import other folks works, you'll end up overwriting your own. It happens and its frustrating as its often not noticed until players complain IG about something not working now. Then you have to hope you remembered to make back ups at least weekly so you can restore the old areas before fixing the mis-named ones. As a precaution, its always recommended that you import new areas from others into a small test module and double check TAGs and ResRefs and even walktest the areas. If an imported area has improper naming, it can also be fixed in the test module by doing an "edit copy" of it and using the proper ResRef when naming the copy, then opening the new area's properties and setting its TAG to match and adjusting anything else you find needing tweaked. Then, delete the original and save and then export your fixed version to your main building module.
While any consistent naming scheme can be used and will differ from builder to builder, I personally use set prefixes to designate area types, mainly for statistical purposes. I.e., I can get a rough idea of how many areas are dungeons, shops, guilds, etc... just by glancing at their TAGs in a module wide list (easilly checked using the export options and selecting areas).
Examples:
merch001, merch002 and so on would be areas/maps used for merchants.
guild001, guild002 and so on designate various guild maps.
so_hf001, so_hf002 and so on would be "Southern High Forest" areas here.
hmoor001, hmoor002 and so on designate "High Moors" areas here.
dungeon001, dungeon002 and so on ... well, if you can't guess it then ...
NPC/Creature Conventions:
Whether or not you follow the same guidelines for creature TAGs and ResRefs will often depend on the Treasure/Loot System you choose to employ. Ambience things like triggers to cause NPCs to emote or do an action, change faction stances, ranger tracking systems and other things might require TAGs and ResRefs to differ at times. Still, its a good practice to have creatures start with identical TAGs/ResRefs.
Examples:
kobold001, kobold002, and so on are of coarse kobolds.
npc_merch001, npc_merch002, and so on are merchants.
npc_m_lk001, npc_m_lk002, and so on would be male commoners in "Llorkh" here.
npc_f_lk001, npc_f_lk002, and so on would be female commoners in "Llorkh" here.
I can't emphasize enough how important keeping to a consistant set of naming standards is. Though it may take up a little time and require some note keeping, time saved not accidentally overwriting existing things as well as easier scripting changes will pay dividends ten fold over the time invested.
Item Conventions:
When creating new items, especially in seperate Loot and Merchant Modules, having set naming conventions will make scripting for things like unique powers and crafting that much easier. Keep in mind that ResRefs (blueprint IDs) can only contain 16 characters and since NWN likes to add trailing three digit extensions when edit copying an existing ResRef, its advised you keep most initial ResRefs limited to 12 or 13 characters. Since ResRefs can only be lower case, making your matching TAGs lower case as well helps alot when you use these designators in scripts, both TAG Based and Module Wide.
My own naming conventions for items (weapons, armor, wands, etc...) is roughly as follows for both ResRefs and TAGs:
npc_weap, npc_weap001, npc_weap002, and so on (used to designate weapons and ammunition used by NPCs and usually required to be on the pallettes of the hosted module)*
npc_outfit, npc_outfit001, npc_outfit002, and so on (used to designate armor/clothing used by NPCs and usually required to be on the pallettes of the hosted module)*
*Keep in mind that when equipping NPCs with items (custom or standard) that most AIs do not allow them to use wands, staves or rods and often only recognise standard scrolls and potions. Custom weapons and armors are fine, although additional properties on them that grant extra spells, more spells per day or unique scripted activations are also wasted.
shswrd, shswrd001, shswrd002 and so on (used to designate short swords not used by NPCs)
lngswrd, lngswrd001, lngswrd002 and so on (used to designate longswords not used by NPCs)
0ac, 0ac001, 0ac002 and so on (used to designate base AC0 armors/clothes not used by NPCs)
1ac, 1ac001, 1ac002 and so on (used to designate AC1 armors not used by NPCs)
.... AC2-AC8 as previous
wand, wand001, wand002 (used to desginate wands)
I'm not going to list all of my own naming schemes for items, but I hope you gotten the jist of it.
Area Conventions:
Maintaining a set of naming standards cannot be over emphasized and most importantly, when making areas/maps. Making certain you have proper Names, TAGS and ResRefs begins when you use the Area Wizard to create your new area. You should always create an area with the name field set as your preferred TAG/ResRef. When you initially create a new area, its the Name Field that dictates the original TAG and ResRef is why. Once an area is created, you can later edit the Name Field to display whatever name you desire.
When using the Area Creation Wizard, NWN will attempt to automatically name the area for you. Don't ever use the default it "suggests". NWN will autoname areas as "Area001", "Area002", etc... . Not only is this a poor naming scheme down the road, others that build and submit areas for your module will have the same auto naming setting their TAGs and ResRefs and eventually, when you import other folks works, you'll end up overwriting your own. It happens and its frustrating as its often not noticed until players complain IG about something not working now. Then you have to hope you remembered to make back ups at least weekly so you can restore the old areas before fixing the mis-named ones. As a precaution, its always recommended that you import new areas from others into a small test module and double check TAGs and ResRefs and even walktest the areas. If an imported area has improper naming, it can also be fixed in the test module by doing an "edit copy" of it and using the proper ResRef when naming the copy, then opening the new area's properties and setting its TAG to match and adjusting anything else you find needing tweaked. Then, delete the original and save and then export your fixed version to your main building module.
While any consistent naming scheme can be used and will differ from builder to builder, I personally use set prefixes to designate area types, mainly for statistical purposes. I.e., I can get a rough idea of how many areas are dungeons, shops, guilds, etc... just by glancing at their TAGs in a module wide list (easilly checked using the export options and selecting areas).
Examples:
merch001, merch002 and so on would be areas/maps used for merchants.
guild001, guild002 and so on designate various guild maps.
so_hf001, so_hf002 and so on would be "Southern High Forest" areas here.
hmoor001, hmoor002 and so on designate "High Moors" areas here.
dungeon001, dungeon002 and so on ... well, if you can't guess it then ...
NPC/Creature Conventions:
Whether or not you follow the same guidelines for creature TAGs and ResRefs will often depend on the Treasure/Loot System you choose to employ. Ambience things like triggers to cause NPCs to emote or do an action, change faction stances, ranger tracking systems and other things might require TAGs and ResRefs to differ at times. Still, its a good practice to have creatures start with identical TAGs/ResRefs.
Examples:
kobold001, kobold002, and so on are of coarse kobolds.
npc_merch001, npc_merch002, and so on are merchants.
npc_m_lk001, npc_m_lk002, and so on would be male commoners in "Llorkh" here.
npc_f_lk001, npc_f_lk002, and so on would be female commoners in "Llorkh" here.
I can't emphasize enough how important keeping to a consistant set of naming standards is. Though it may take up a little time and require some note keeping, time saved not accidentally overwriting existing things as well as easier scripting changes will pay dividends ten fold over the time invested.