Important Site Docs
Articles
Fallout 3 Modding Guides
How to make a compatible mod
- Details
- Category: Fallout 3 Modding Guides
- Last Updated on Monday, 12 September 2011 21:30
- Written by Giskard
- Hits: 658
How to make a compatible mod
For Fallout 3 and Oblivion, Oblivion is used as an example here but the information is relivent for both games in most cases.
Introduction.
Compatibility is not something you can add later in a patch if you forget to built it in to your mod when designing it, there is no way a patch can undo the damage a lack of planning can cause in a mods design. Whilst your free to edit anything you want and have the right not to be bothered by others for the decisions you make. But if you want your mod to work with other peoples mods, some considerations have to be made.
Good planning
Planning is very very important for avoiding compatibility issues in the first place. Some very stupid people believe those who release patches to fix issues are working hard on compatibility, may be they are but the truth is that they have too because they forgot to consider it before making their mods and now are desparately trying to avoid drowning in their own mistakes. And the sad fact is, no patch can fix the damage a lack of planning causes. So if you fail to plan your mod our early on, the harm to you cause will keep you churning out patches for your mod for yearsto come in a never ending struggle to undo the mistake you made when you skipped the planning stage.
So always stop and plan and design your mods properly.
I use the following steps for my mods.
Phase 1:
Plan my mod as I want it without consideration for anything else.
Phase 2:
Look at the plan, identify any incompatibilities that will arise and rework them so the compatibility issues never become incompatibilities in the final release. Sometimes this can take weeks or months to get straight in my head, difficult mods like The Elder Council mod took months because the Palace is used by several quests and I had to avoid breaking those. Good planning allowed me to make The Elder Council mod without any serious conflicts. So you have a good example of why phase 2 is very important. The time spent planning actually allowed me to see a very simple solution to the problem so it was time well spent.
Phase 3: build the mod, tweak the plan as problems arise, returning to phase 1, then phase 2 for each change.
That system has allowed me to make the largest collection of quest mods for the Elder Scrolls 4 Oblivion and they all work fine with a majority of other mods, no patches need, except for certain mods that clearly where never planned out very well and always need patches to work.
Remember, once your mod starts needing patches just to work with most other mods, you have failed to plan your mod correctly. Every patch that's needed for your mod to work, is a failure in design if you wanted your mod to be compatible. Of course, if you do not care, then hay, no problem man, your mod, your rules, others just have to respect that.
Negative Compatibility Measures
Negative Compatibility Measures are when you try and avoid conflicting, the result is the avoidance of a problem. So lets look at that now.
When to edit and when not to edit
The first thing to understand is only 1 mod can edit an existing item at a time. Which ever mod loads last is the mod that controls that item. This is both a blessing for us modders and a curse and I will give you 2 ways of using this, one is a benefit, the other is a curse.
Example 1:
Kvatch Aftermath and The Elder Council both edit the Elder Council chamber door in Oblivion, they both open that door because its locked normally. So whether you have both mods or just one mod installed, you know that door will be opened in either case because both mods open the same door. This is a benefit, a positive conflict we want to keep.
If Kvatch Aftermath tried to lock the main door to the palace and The Elder Council mod tried to open it, the last mod loaded would be the mod that won, the other mod would break and possibly cause crashing. This is a curse. This is not a conflict we want to keep.
Deleting the door may solve the problem for both those mods but it could create issues for other mods that use it as a quest target. But a deleted item will return when you remove the mod. Where as if you disable that default door, its gone for good unless you renable it.
So your left with a decision here, to edit that door, to delete that door or to disable that door. The fact that you have to edit that door creates an incompatibility so you have to stop think, is it less of a problem than rebuilding the entire palace so you do not have to edit that door. These are the considerations you must make when trying to make a compatible mod. All my mods are made this way and after a while you develop a way of thinking that's hard to break.
Always choose the edit that causes the least amount of problems for others.
Persistent Objects
A persistent object is an object that can be used by a script, its location is remembered after its seen by the player. Moving it in the editor after its seen by the player, will not move it in that players game. In order to be moved, that object must never have been seen in the game and that means starting a new game or reseting the mod or DLC that is comes in.
Deleting persistent objects can cause problems, but you script it to be moved using the moveto command which is fine whilst the mod in installed but problems arise when the mod is removed because the default object does not automatically move back to its original position like it does when its deleted. This means your mod cannot ever be safely uninstabled. Certain popular city mods use that latter system and cannot be uninstalled safely without causing issues, you are faced with telling players to start a new game if they remove your mod.
So if you delete it, you create a problem.
If you move it via script you create a problem.
So the decision becomes, which method will cause the least amount of trouble, will deleting it cause less compatibility than moving it via script, that's a decision you have to consider and make for your self on a case by case basis. Again, always choose the edit that causes the least amount of problems for others.
Scripts and Quests
All scripts and quests control something in the game, some times finding an item on the world view and selecting the "used by" option with the right mouse button will tell you what uses that item. This is not entirely accurate, for example doors you have unliked remain listed as used, other objects have similar issues or are not listed at all. But you can count on the fact that those items listed are used unless you know you just stopped using them and have not reloaded the editor yet. Reloading the editor is the only way to update that used by list.
Usually script items or quest items are persistent objects and cannot be moved, see above, to move that 1 item, usually means your faced with the persistent object problem and if you have to replace that object, your facing editing a quest or a script. Which is generally to be avoided because it causes a lot of incompatibility issues.
My advice here is to work around quests and scripts and do your best to avoid editing anything they use. This is by far the most compatible approach to quests and scripts. Remember no quest or script is detectable via tools. Anything you break will not shout out "you broke me", it will stay silently hidden until a player complains something has stopped the quest working in his game and a huge thread about it appears on some forum.
So take the warning, avoid editing quest stuff unless your a talented quest maker and know your way around these things. This is definitely not something for the noobs to mess with.
You should instead use commands like getstage to get the stage of the quest you wish to change and then make your own quest to run at that time. This is a great workaround to this issue. So next time somebody picks up the dragon armour, just have your script say
If (getstage dragonarmour_questname_blar_blar == 30)
Your stuff goes here.
endif
And then run your stuff and start your quest to add to the game at that point. Thats not the actual command you need btw, thats just an example of whats expected
If you need an item to be in the world for your own quests, place it your self, no other mod will ever edit that object so no other mod will ever break your quest.
In game objects.
The reference formID is the item placed in the cell your working on, you can have several long swords for example in your cell, each with its own reference formID, those are references. But the master file they point too has its own formID and there is only ever 1 of those. It is important you understand that for what I am about to say to make any sense.
You have a choice here that either causes incompatibilities or avoids them and when editing an existing in game object, your choices are these.
Edit the reference formID in the Cell = Only affects the cell
Edit the Master formID in the editor = Affects everything that uses that item
Delete it and place your own = Affects anything that uses that item in the cell but guarantee's they will never break your mod because the item you placed cannot be touched by any other mod.
If you want to revamp a city as I have done, you can use this trick, this is good for updating doors that may be used by quests and are always persistent.
Select the Reference FormID you want to edit, lets say its a common house door model of a house, click on edit to bring up its Master FormID, make the changes to it, typically changing the nif file that's used as a model so it uses your mesh and your textures. Change the formIDs name, say yes to create new form and okay all requesters.
Now check your reference formID, notice its not changed. You just made an edit to it in the cleanest way possible. Swapping the master formID it was using for your own whilst leaving the cell reference formID totally intact. So the object is effectively a custom item in your own mod but still usable by other mods. Had you deleted it and placed your own, only your mod could have used it.
NPCs
Most NPCs are not tracked by the game and are forgotten when you leave a cell, but those that are tracked tend to be quest or persistent NPCs or otherwise important NPCs and may be used by other mods. If you add your own AI package to them, you have edited them and nobody else can. If you add a spell to them, you have edited them and nobody else can, if you add a sword to them or edit a stat or change their class, in fact if you do anything to them, you have edited them and nobody else can.
So only 1 mod can edit an NPC at a time which is unfortunate for mods like The Elder Council and Kvatch Aftermath which both need Ocato. That is a conflict right there, if any other mods edit Ocato, both of The Elder Council and Kvatch Aftermath would break.
Yet both those mods do edit Ocato for their quests and they both work and other mods cannot break either of my mods that easily, why is that ?
Well these is a little trick quest makers can use to avoid the need to edit an NPC in order to use that NPC and its called Addtopic, you simply add your quest topics to any NPC and the game does not count that as an edit of that NPC. In that way several mods can edit the same NPC without ever actually editing it. Effectively allowing several quest mods to work side by side with the same NPC.
The way NPC edits break down is like this.
Editing then NPC = The last mod to do so controls that NPC, this can cause problems when that NPC fails to go the council chamber in Origin of the mages guild, which is a real issue because I used that NPC and so did somebody else.
Deleting the NPC and using a clone = Breaks all mods that use that NPC.
Disabling an NPC, using your own for your quest, then renabling the NPC = nice clean, effective, unless its used whilst disabled, should be fine.
Adding Dialog to an NPC without editing it = NO problems at all, no conflicts can happen.
Path Finding & Terrain edits
The Path Grid or Navmesh can only be edited by 1 mod at a time so if you edit it to add a clock to a city, every mod that revamps the entire city will have no path finding at all and NPCs will walk in to walls unless those other mods run after yours. So generally its best to avoid editing the path grid. I recommend letting mods that make lots of changes to a location run last to avoid serious issues.
The same is true for terrain edits, only 1 mod can make those edits at a time and they usually count 1 cell as edited, so if you turn on the grid in the editor, you can see which cells your editing and choose to edit just specific cells and deliberately avoid going over the grid lines. Generally speaking, editing terrain is a good way to become incompatible with other mods so its best avoided unless its absolutely necessary.
AI Packages
AI packages cause more crashes and more problems than anything else, editing the default packages is a HUGE mistake and should always be avoided. Changing the ones a default NPC has can be undone and break your mod by the first other mod that edits that same NPC. Effectively canceling your changes. This happens in Origin of the mages guild when a certain NPC is supposed to go the council chamber.
Adding new ones to an NPC directly in the editor counts as an edit and should also be avoided. Using a quest to add a new package to an NPC at the right time and then evaluating its packages so it runs your new package is the cleanest way to work with an NPC in game without actually editing it. This is 100% compatible with other mods that edit that NPC. Unfortunately it usually does not work right.
The best way to get an NPC to turn up on time is to add the packages directly to that NPC in the Editor and use conditions to control when that package will run, this works 80% of the time but counts as an edit to that NPC and thus breaks if anybody else edits that NPC.
Adding packages via script might be nice and clean, but it only works 25% of the time and usually you have to be in the same cell as the NPC in question. If you ever wondered why certain characters in the main quest of oblivion seem to fail to turn up on time ? This is why.
So your choice here is to edit an NPC and know it will work most of the time, or script the addpackage command and know it will be clean but not work most of the time.
Generally its best to use your own NPC rather than mess around with either of those methods. Any NPC you placed, you can do what you want with. Any NPC you have to use like Ocato and my mods, should be a last resort. But remember, sometimes you have little choice so just accept the incompatibility issue that arises as unavoidable and move on.
Only Edit things your mod really needs to edit.
The best possible way to support other mods is not to edit something if its not necessary., for example take Origin of the mages guild, I revamped the Arcane university and the mages guild, that was the task of the mod. Editing the spells was not. So I never revamped those. As a result Origin of the mages guild works with any spell revamp mod players care to use. More on this later, but remember sometimes its better not to have that little cool touch in your mod so that your mod still works with other mods that edit that same thing and deny your mod users the chance to combine your mod with others in new and interesting ways.
Generally speaking, you should avoid editing things your mod does not really need.
Positive Compatibility Measures.
Positive Compatibility Measures are different from Negative Compatibility Measures in that it is a deliberate edit or no edit designed to support other mods. The other mods enhance your mod in various ways and your edits or lack off edits allow them to do that. I have touched upon some examples above of this, but I felt it needed a section of its own. Since this is a large topic and sometimes conflicts are desirable.
I'll just give you a overview of ways to get started with the positive compatibility measures.
Lets suppose you want to make a Guards Mod and you want your guards to get any new weapons or armour an overhaul the player might use has installed. You simply add the right default unedited leveled list for weapons or armour to your Guards and when an overhaul that edits that leveled list is installed, your guards will get the weapons that overhaul has assigned to that list. Instant upgrade.
Of course most overhauls edit everything in the game so your going to get more than you wanted and may not desire everything else. But that gives you a reason to make your own weapons and armour overhaul doesnt it :D
Cyrodiil Upgrade Overhaul does not edit those things so you cannot use it upgrade your guards in that way. It has its own set of NPCs, creatures and armour and in some cases weapons and armour (for bosses mostly). So it too will use OOO weapons because it uses default weapons a lot too. Assuming another overhaul is installed that changes those things. So your guard mod will be upgraded and so will CUO. But unlike the other Overhauls, CUO does not edit everything so there are holes other mods can dominate in and there are areas where CUO takes over. And one of those areas is the default spawns.
So CUO will block the default edits spawns of other overhauls but allow weapons, armour, unique spawms and so far. This means it positively adds to your game when combined with other mods, this is positive compatibility in action.
So lets recap
You made a guard mod but did not edit the weapons, armour or leveled lists.
You there for support overhauls like OOO directly.
You use CUO which does not edit your guards, or the weapons or the armour or the leveled lists found in the default game but does use them just like your mod and so also supports OOO directly.
But OOO adds a lot of stuff you did not want, CUO blocks much of that stuff with its own stuff, allowing your guards to get the OOO upgrade and giving you CUO features at the same time.
As you can see, mods that are designed to work with each other, enhance each other.
That's the benefit of positive compatibility, when you go out of your way to support other mods. Suddenly that desire to make all your NPCs in a city essential allows your mod users to use Toasty says share to recloth every NPC in Kvatch. Your decision not to edit the spells or default robes for magic users allows a mages guild overhaul to work with Slofs robe trader and midas magic or any other magic spell mod.
If you consider these things in advance, your not only going to avoid the situation certain city overhauls find them selves in when anything that uses a city conflicts with their mod. Instead you will find your self in a situation where your mod compliments other mods and is enhanced by them in return.
Want another example of a accidental match up that only works because of good planning ?
My fighters guild contracts and Jannix's Fighters Guild United.
So plan to be positively compatible, support other mods, turn your effort to be compatible in to a feature of your mod. give others room to work, avoid editing everything and focus on the thing your mods about and everything will work out nicely.
And remember, not everthing you have to do needs to be as complicated as an esm that speaks to other mods. Sometimes the best solutions are the simple ones.
Final Words
Try and remember that the least compatible mods are always the ones that edit everything in sight without regard to anything outlined above and learn from that mistake. Not not accept patches as nessessary, think about the issues before hand and try and avoid them. Do do subscribe to the theory all mods will work together without you having to trying to help make it happen, they will not. That goal demands you put in the effort outlined abovce.
If you want to have a shot at all mods working together, you have to start by planning your mods out first because wanting that after release is a little like closing the stable door after the horse as bolted and been knocked down on the nearest motorway.
Only short sighted people make mods without careing about such things and then claim their mods are compatible and start churning out patches to fix their mistakes. Do not be one of those people, stop, think, plan.
Fallout 3: Waysted Radio Tutorial
- Details
- Category: Fallout 3 Modding Guides
- Last Updated on Monday, 12 September 2011 21:29
- Written by Giskard
- Hits: 1610
Fallout 3: Waysted Radio Tutorial
Introduction
In this tutorial we will be making a music only Radio Station, but it should be quite easy recording some dialog instead of music if you wish to be your own DJ. This is effectively your own personal in game MP3 player. To make it, we will be making a mod called Waysted Radio.
TIP: Remember to save your mod at regular intervals as Waysted_Radio.esp in case the game crashes. Keep the name since the dialog needs this to be exist, that means you must save the mod at least once before you can record any new dialog if you choose to do so, I am assuming you do not but added some tips just in case you do. If you save to save the mod before recording dialog it will not save your dialog at all. If you rename the mod later, be sure to change the Fallout 3\Data\sound\Voice\Waysted_Radio.esp folder to match the name of your new esp. That trick worked for Oblivion, it should work for Fallout 3.
Step 1: Choosing and converting your music to use with the radio
First choose 10 mp3s and rename them to WaystedRadio001.mp3 through to WaystedRadio010.mp3. Next using any Audio editing program (Audacity might do the trick, I use Goldwave) that supports mp3s and waves, load the mp3s and save them with the same name but as 16bit 44100hz 352kbps PCM Wave files. How you do this depends on the software you use and is beyond the scope of this tutorial.
Now we are going to fix the mp3 breakup problem and the song getting played twice problem.
Take all 10 of the WaystedRadio001 mp3s, and make them completely silent but keep the song length because the game seems to read in the mp3s properties to get the play time for the wave file. If there is any audio there, it causes play back issues, so we remove the audio by even reducing the volume to zeroand resaving the mp3. I found in my tests that the game would usually play waves twice if there was no mp3 and if there was an mp3, the sound would often break up. But with a silent mp3, the worse you get is the occasional silent song playing as the game switches to the mp3 but it switches back to the wave after the silent song ends, or so it seems.
You should now have 2 files for every song. 10 mp3s and 10 waves. The audio figures below are what I used in mine, the game seems to be very flexible so you can try different audio settings and see which you prefer.
WaystedRadio001.mp3 (44100hz 96kbps Mono)
WaystedRadio001.wav (Mine are Wave PCM 16bit 44100hz 1411kbps stereo and sound great)
Now go to your Fallout 3\Data folder and make a new folder called "sounds", next go in to sounds and make another new folder called "songs", and go in to songs and make another folder called "radio", finally go in to radio and make a folder called waystedradio.
Now move all your mp3s and waves in to that folder.
eg
\Fallout 3\Data\sound\songs\radio\waystedradio
If you wish to change the songs on your radio station later, you just repeat this step and add different songs.
Step 2: Adding the music to Geck
Load up the Fallout 3 editor called Geck and scroll down to the Miscellaneous menu in the Object Window, find sound and select it. Select any sound in the right hand window with a single click and press M. The window will jump to MUS entries. Scroll down a bit to see all the MUS sounds. Find one of the MUSLicensed sounds and double click, change the ID to WaystedRadioSong001 and okay it and select yes to the "create new form" question.
Find your new WaystedRadioSong001 in the sounds window and select it for editing. Leave everything alone but change the static attenuation (in game volume) to about 4.50. Do not worry about the volume in the editor, it rarely matches the volume in the game. The further to the right you move that slider the quieter the music in the game.
Under the ID is a box where you can select your song, below the box is play and stop, click on the box above "Play and stop" and select your first mp3 called WaystedRadio001.mp3. Now okay the WaystedRadioSong001 window and reopen it again to make sure the settings are accepted.
TIP: Time to get technical, even though you selected an mp3, if you press play now, it plays the wave file not the mp3 file. In game the wave also takes priority since mp3s require CPU time to decompress where as waves do not. This can cause the music to break up during the game, so waves are more CPU friendly and better for radio mods than mp3s. The game will still use mp3s but the in game effects may not be good as you may think. So stick to waves, you can use pcm 16bit waves, probably others and increase the quality to meet your needs. Experiment with the audio quality once you have a working mod and know it works with my settings first.
Now you have 1 song added to the sounds list, you must repeat this for all the other 9 songs, so add them in the same way.
Step 3: Setting up a Talking Activator
In Gecko find the Actors menu in the Object Window, scroll down until you find Talking Activator menu and select it. Select the RadioGalaxynews activator in the right hand window and double click, change the ID to RadioWaystedMusic and change the name to "Waysted Radio", the name is what appears in the Radio Tab in the game. Okay it and select yes to the "create new form" question to make your own new Radio activator.
Warning: Selecting NO to the "create new form" question always edits the original.
Now go to the cell view window, we are going to add our terminal to the same location 3Dogs terminals are kept. Choose the worldspace called Wasteland and scroll down to find the WashingtonMonumentExterior under the EditorID list. When you find it, click on it and look at the window on the right. See the RadioGalaxyNewsRef01 listed, click on it to make the window focus on that object.
TIP: quests run everywhere but object scripts only run if the player is in the same cell as the object that has been scripted. Meaning Jukeboxes can be scripted instead of made in to quests to save CPU time.
Now go back to Talking Activator menu and find our RadioWaystedMusic terminal and drag it in to the window next to 3dogs terminals. When your done, double click on your new terminal to edit it. Select the Radio Data Tab and select Broadcast Range type and set it to everywhere.
TIP: As you might imagine, if you do not want your radio broad cast everywhere, you can put your terminal where you want it to be heard and change the range here. This is probably how you would make a JukeBox work if it was not a scripted object, you just use a Jukebox instead of a terminal and select a current cell only as the range.
Step 4: Making a quest for our radio station.
Go to Actor Data in the Object window of Geck and select Quest. Scroll down to the Rs in the right hand window by selecting one item on the right and pressing R. Right Click and select new, then in Questname box of the Quest Data Tab in the Quest window that appears enter Waysted Radio and for the ID enter RadioWaysted. It should now appear listed with the other Radio quests. Set the priority to 50 and tick "start game enabled" and allow repeat conversation topics.
In the Quest Conditions of the Quest Data tab, right click and select new and set up the condition in the the following way (Sometimes these condition boxes do not appear until you close the quest window and reopen it).
Condition function needs to be GetIsID
Comparison must be == and the value must = 1.0000 (or 1 to you and me)
Run on should be Subject
And Function Parameters should be set to your Talker ID Activator that you set up in Step 3 (Mine is set to RadioWaystedMusic above).
Step 5: Adding Topics to your Radio Station
Now select the Radio tab on the quest window. In the left hand Top-Level Only list, right click and select add topic. Add the topics RadioGoodbye and RadioHello.
Select RadioGoodBye and right click under topic text and select new, then enter "Waysted Radio" as the text and okay it.
Select RadioHello and right click under topic text and select new, then enter "Waysted Radio" as the text and okay it.
Next select new and make these new topics and under Top Level.
To do that you must click on the list containing RadioGoodbye and RadioHello and right click and select new. Then select new in the "Select Topic" window that appears and enter these topic names as the new name of the topic and select it, then okay the "Select Topic" window to add the newly created topic to the list under RadioGoodbye and RadioHello. Do this for all topics listed below (thank you to Michael for drawing my attention to this part, it was badly explained).
WaystedRadioSong1
WaystedRadioSong2
WaystedRadioSong3
WaystedRadioSong4
WaystedRadioSong5
WaystedRadioSong6
WaystedRadioSong7
WaystedRadioSong8
WaystedRadioSong9
WaystedRadioSong10
Now select one of the the WaystedRadioSong topics and right click in the window under Topic Text and select new, in the response text just cut and paste this simple message in to all 10...
<Waysted Radio plays in the background>
It can be anything, its not seen in the game but something needs to be written there for the next part to work.
In the same Edit Response window where you entered the text above, look down until you see the Sound File box, click on the box, press W so it jumps to your WaystedRadioSongs and select the first one. Then okay it. Then select the Run Immediately tick box. Do the same for the rest, selecting song 2 for WaystedRadioSong2, song 3 for WaystedRadioSong3 etc until all 10 are added.
TIP: just above the Sound File Box is the place you record your own Dialog if you want dialog to play instead of a song. Remember though, you must first have set a speaker on the quest window or this will not work.
Step 6: Making sure the tracks switch correctly
I have simplified this next part and removed the need to use vars or scripts to make it easier for noobies to make this mod.
Now under speaker there are 4 boxes, Add Topics, Link To, Link From and Next Speaker. Select RadioGoodBye and in Link from, right click and add topic WaystedRadioSong10. Also set the Next Speaker to Target.
Now select RadioHello, go to Link to this time, right click and select addtop and add WaystedRadioSong1. Also set the Next Speaker to Target.
I trust you understand the need to right click the mouse and select addtop to add things to those windows now, good because after this point I will assume you remembered to do that.
Select WaystedRadioSong1 next and set it like this.
Link to = WaystedRadioSong2
Link from = RadioHello
Next Speaker = Target
Select WaystedRadioSong2 next and set it like this.
Link to = WaystedRadioSong3
Link from = WaystedRadioSong1
Next Speaker = Target
Select WaystedRadioSong3 next and set it like this.
Link to = WaystedRadioSong4
Link from = WaystedRadioSong2
Next Speaker = Target
Select WaystedRadioSong4 next and set it like this.
Link to = WaystedRadioSong5
Link from = WaystedRadioSong3
Next Speaker = Target
Select WaystedRadioSong5 next and set it like this.
Link to = WaystedRadioSong6
Link from = WaystedRadioSong4
Next Speaker = Target
Select WaystedRadioSong6 next and set it like this.
Link to = WaystedRadioSong7
Link from = WaystedRadioSong5
Next Speaker = Target
Select WaystedRadioSong7 next and set it like this.
Link to = WaystedRadioSong8
Link from = WaystedRadioSong6
Next Speaker = Target
Select WaystedRadioSong8 next and set it like this.
Link to = WaystedRadioSong9
Link from = WaystedRadioSong7
Next Speaker = Target
Select WaystedRadioSon9 next and set it like this.
Link to = WaystedRadioSong10
Link from = WaystedRadioSong8
Next Speaker = Target
Select WaystedRadioSong10 next and set it like this.
Link to = RadioGoodBye
Link from = WaystedRadioSong9
Next Speaker = Target
TIP: Leave the mp3s and the Waves in the Fallout 3\Data\sound\songs\radio\waystedradio folder along side the waves because I found if you remove one set of them, the game plays every song twice. Which may be why Beth have a wave and an mp3 in their folders too. The game works by playing the wave first, but if you do anything it switches to the mp3. You can tell the mp3 is playing because it breaks up a bit during the game where as the wave does not. Once the song ends, the next wave will play and things will work again.
TIP: If you want some sort of introduction to your songs, you would record it for the Radio Hello/Goodbye parts and convert the waves to right file format for dialog which appears to be OGG (Ogg Vorbis) 44100hz, 63kbps, mono (goldwave supports this format), mp3s might work too. Things might be different with Fallout3 here, waves may work directly as dialog in which case you need only record them but I need to try them for my self first to be sure. When you save the recording in the editor, it appears in Fallout 3\Data\sound\Voice\Waysted_Radio.esp under the folder that the speak you chose uses. Any waves in their would need converting.
TIP: The Speaker box I just set to AbrahamWashington so the game knows where to put the dialog audio files (not the music files) if you recard any dialog for this, but you may be best going to Actors, selecting NPC and adding your own speaker to that, then selecting yours from the Quest Speaker box instead of AbrahamWashington. That would be the cleanest most compatible way to do this.
Final Words
Some notes to help you clean up.
I found it best to make high quality waves for music and low quality mp3s and the game seems to work fine if the waves are playing but breaks up when it switches to mp3s should you do anything with the radio. So leave both in your Fallout 3\Data\sound\songs\radio\waystedradio folder.
Any voice work you did will appear in Fallout 3\Data\sound\Voice\Waysted_Radio.esp folder and of course your mod will be in Fallout 3\Data\ and probably called Waysted_Radio.esp unless you changed it.
Also remember you cannot upload mods containing copyrighted music so if you want to upload your mod, go online and use free music found around the net. If your a member of a band and want your music heard in game, you could use this tutorial to make your own Radio station for your fans to enjoy and upload it under your own name.
If your a rock/metal band send me a link, I'd love to hear it.
Fallout 3: Spawn Points & Respawning
- Details
- Category: Fallout 3 Modding Guides
- Last Updated on Monday, 12 September 2011 21:54
- Written by Giskard
- Hits: 2860
Fallout 3: Spawn Points & Respawning
Introduction
The actual tutorial starts about half way down at the line that says "The Tutorial Starts Here", everything before that is designed to help you understand how things work and thus help you get the most out of the tutorial below it. Read the first half if you wish to know more, leap to the tutorial if you just want to get started.
Before we start, take a look at this video. This is a video of a test I ran, the first few seconds show the Enclave arriving and gate crashing my test and has nothing to do with this Tutorial other than it uses a Triggered Spawn which is what I want you to see because I explain Triggered spawns in this tutorial and want you to know what can be done with them. The fact this was caught on camera is purely accidently and very good luck on my part :D
Things you must known first.
This all applies to respawning in fallout 3 and opens up new options for you if you know about this stuff in advance. I have condensed it to prevent waffling, nobody likes reading tutorials for hours.
Spawn template
You will see me using the word spawn template a lot, these are items you can place in the game world to spawn things like Creatures and NPCs (not containers). NPCs and Creatures are Spawnable, as are the Lvl listed stuff in the Creatures and NPC menus, so they count too. All use Templates to update them selves or another NPC or Creature and templates can use other templates to update stuff (yes it gets confusing). So I use the term Spawn template to describe all spawnable creatures or npcs or lists of spawnable creatures or npcs that can be placed directly in the game. Once added to a cell they become References or Refs, so they should actually be called Spawn template references, but I do not use that term too often.
Encounter Zones
In Geck, under the world menu, you can find Encounter Zones which controls if an Encounter Zone resets of not.
About the PlaceAtMe Command.
This command required the mod maker to count every creature he placed out and count them back in again when they get killed in Oblivion or save game bloating occurred. This over time could destroy the players saved game. So until we know if this got fixed, avoid using it unless you did what I did in the Fighters Guild Contracts and The Elder Council mods and checked everything you placed had been killed before spawning anymore using that command. This is a safety measure, players would not be pleased if your mod destroyed their saved games.
The Disabed Item Issue.
The Disabed Item Issue from Oblivion is fixed in Fallout 3. As quest makers will tell you, in Oblivion if a mod disabled an original game item in a mod and that mod was later removed, the item remained disabled forever. Fallout 3 now enables the item again if the mod is ever removed. So the compatibility issues that did exist when one Kvatch mod disabled walls or npcs another Kvatch mod needed, cannot happen here. That bug is fixed. Deleted stuff still returns when a mod is removed as normal too.
Respawn Times.
Standard in game respawn time is just under 4 days from the time of your last visit to a cell. So you must wait in a different cell for about 4 days before the newly spawned creature will re-appear a second time. I believe the actual time is about 74 hours roughly, I need to look it up.
Disabling Spawn points crash.
The old Disable Spawn Crash Oblivion suffered from has been fixed in Fallout 3. Fallout 3 actually makes heavily use of disabled spawns so they had to fix it and this is the method needed to spawn additional bad guys on command. Deleting or changing anything in Fallout 3 without first checking what uses it is a bad idea. So now you can disable spawn points just as you would disable other things in the game and do so safely.
Disabled or Enabled Spawn Points and Spawn Times.
A disabled spawn template does remember the last time it spawned a creature so if it is enabled again within 4 days, it will not spawn a second or third creature. It must be left for a full 4 days without you entering that cell as normal. So Enabling or disabling a spawn templates makes no difference to the spawn time counter. But if you have left it 4 days, the moment you enable it, the spawn will work the instant the player appears. There is roughly a 3 to 5 second delay between enabling a spawn template and a creature appearing. This is because of the script needing about 5 seconds to run.
Fallout 3 Encounter Zones Vs Oblivion Leveled Lists.
Oblivion was probably far too random where as Fallout 3 is probably far too specific. Oblivion used leveled lists to spawn region specific baddies but in doing so, lacked any real detail which was why I started making the Cyrodiil Upgrade Mods. Where as Fallout 3 uses the same baddies everywhere but uses spawn template you place in the world to adjust them to be more unique. Also Oblivion could spawn lots of baddies but Fallout 3 needs you to place 1 baddy spawn template per baddy you want to appear.
Effectively, Fallout 3 is a very stage managed game with Encounter Zones rather than randomly spawning regions. Where as Oblivion would keep working for ever. Fallout 3 will eventually end when you have done everything leaving nothing but minor encounters to deal with.
So unlike Oblivion where you could update the whole game world by editing the lists, Fallout 3 needs you to revamp the Encounter Zones so they offer more respawning action and there are 2 ways to do that.
1) Edit the existing zones spawn templates directly which is easiest thing to do and horribly incompatible with other mods.
2) Use this tutorial to add extra spawn templates that keep on working over and over and script them to appear after each original Encounter Zone completed its original task. A harder job but a vastly more compatible way to upgrade the game. These Encounter Zones can be upgraded individually which is good because 1 mod upgrading them all at once might not be such a good idea if you want to use other mods in your game.
I dare say the quick fix brigade will go for option 1 but you Stage Managers amongst out to put on a show for the players you will now blow them away completely by using option 2. Think of a DCWorld, leave it all intact, add your own stuff to it so it repeats and bingo, the Lincon memorial gets attacked every few days by Slavers. You can do it easily by disabling your spawns until the Slaves quest is done, then enable it after that point. That is the safe, compatible way to trigger Encounter Zone Upgrades in Fallout 3.
The Tutorial Starts Here
Standard respawnable Creatures and NPCS.
The standard method of adding a respawning spawn template to Fallout 3 is to go in to the Object window, find Actors and then select something from the NPC or Creature menu and drag and drop Creature Template, NPC Template or List Template in to the world. You can drop a real NPC or Creature in this way or one of the NPC Lists or Creature Lists (spawn templates that use lists of baddies to spawn instead if 1 bad guy). Either will work but both work slightly differently and produce slightly different results.
First, I must explain the difference between placing an NPC spawn template and placing a Lvl list spawn template in to the game world to you, this applies to creatures and NPCS equally btw.
Select Creature under the Actors menu in the Object window and scroll down the list on the right until you find LvlSupermutantGun. That is a list of Super Mutants with Guns to use, the Lvl list spawn template I mentioned above. These will always respawn no matter what the respawn tick box says on the actual creatures or NPCS it chooses to use.
Click on it and have a look. Notice the ActorBase says EncSuperMutantGun, that is the list of Super mutants to use which is found in the Leveled Creatures menu right below Creatures, if you want to make your own list, you must add it to the Leveled Creatures or Leveled Characters menu and select it from here.
If you click edit next to the Actor Base, you can see what the EncSuperMutantGun looks like. If you do, you will see VarSupermutant1Gun which is basically yet another list, click on those and you will finally see the real Supermutant creatures that it can choose from on the list.
I know it is long winded but it has some massive advantages over the old system so it is good long winded system. Trust me, I could explain it here but it really needs a dedicated tutorial so this is not the place. This is complicated already to explain.
So, to summerize..
To place a randomly chosen Creature or NPC like that LvlSupermutantGun in a cell, first find one of the Lvl entries in the Creature or NPC menu that you want to use and drag and drop that in to your CELL.....Job done.
To place a Real NPC or Real Creature directly, find a real Creature or NPC from the Creature or NPC menu e.g. CrSuperMutant1GunA, and drag and drop it in to the cell. Unlike the lists you drop in to the cells, these real creatures or NPCs will only respawn if they have their Respawn Tick box, ticked.
Also both methods only spawn 1 NPC or Creature, if you want 2 or more, you must place more NPCs or Creatures. This is how Fallout 3 works. Oblivion worked a different way and was more random. Also you can only shoot at 1 target at a time so its harder to take on multiple targets in Fallout 3 than it is in Oblivion.
Trigger Based Respawning.
Triggers: Generic Trigger
The movie at the top of this tutorial is a heavily scripted trigger which works more like a quest than a randomly spawning system you may have seen in Oblivion. This first trigger I am about to explain is still much simpler than that and can be used repeatedly in thousands of areas with very few changes. So it is ideal for you lazy modders out there keep to add new Encounter Zones quickly.
First scroll down to the World Objects menu in the Object Window. Select any trigger and double click to edit it. Change the ID to MyTrigger, now go to Script and select the three dots to open up the script editor. Select NEW from the script menu and then cut and base this next script in to your script window and save it as an Object. Look for the Script Type above the script it self, it is a selection box.
scn MyTriggerScript
short doOnce
ref myself
begin onTriggerEnter player
if doOnce != 1
set myself to getself
myself.disable
set doOnce to 1
endif
end
Now close the script window and okay the Trigger window and say yes to the Create new form question as normal, we do not want to edit the original do we folks.
Next find MyTrigger in the triggers list and reopen it, go to script and using the pull down selection box, find and select your script, it is named after the name on the first line of the script which is MyTriggerScript.
Once selected, okay the Trigger window again, it is now ready to use.
Find a cell you want to update and drag and drop your new trigger in to the worldspace or game cell. After placing it, double click on it so it's Reference window appears, under 3D Data you will see Scale, which should be set to 1.000 or something. Select it and change the scale to suite your needs (make it bigger or smaller). The box will change size once you close the Reference window. 2.0 is twice the size of 1.0, where as 0.5 is half the size of 1.0.
Next select either Creature or NPC and drag and drop them in to the world as described in "Standard respawnable Creatures and NPCS" section above. The type spawn template does not matter, but you should make sure they Real NPC spawn templates have respawn ticked if you want them to keep respawning. This time, double click the spawn template reference (anything you drop in the gaming world is called a REF or Reference btw, so in this case those spawn templates references look like a big M) you dropped in the cell or world space to open its Reference window and tick Persistent Reference and Initially Disabled. Now using the 2 black arrows below Edit Base, scroll the tabs until you see Enable Parent, select it and then click the SELECT REFERENCE IN RENDER WINDOW and click on the Trigger Box you placed earlier so it lists your trigger as the monsters/npcs parent reference. Finally tick "Set Enable State to Opposite of Parent" and okay everything to close all windows. This means when the trigger is disabled, the monsters or npcs become enabled and appear in the game.
You now have a trigger that will enable 1 spawn point when the player enters it, that spawn point will remain active for the rest of the game, spawning new creatures every 4 days as normal. It is a simple trigger but demonstrates how it works, better scripting on the trigger it self will make it do even more.
Triggers: Scripted Triggers.
The other way to make a Trigger work is via a script, you can do this via quests if via object scripts and these give you greater control over what spawns and when. Here we will look at a simple Object Script method since this tutorial is not about Quests even if the system used is right out of the Quest makers hand book.
This time we need to place the Creatures and NPCs spawn template references first and name them. So drag and drop any Creatures or NPCs you need in to your worldspace or cell. Double Click on each after you place them and tick Persistent Reference and Initially Disabled just as you did above. This time in the Reference Editor ID box, give it a name and write that name down somewhere. I will call mine BobRef. Now Okay it. Name any others you placed too in the same way and write down their names too.
Now scroll down to the World Objects menu in the Object Window. Select any trigger and double click to edit it. Change the ID to MyTrigger2 so we still have our first example if you want to use it later. Now go to Script and select the three dots to open up the script editor. Select NEW from the script menu and then cut and paste this next script in to your script window and save it as an Object. Look for the Script Type above the script it self, its a selection box.
scn ztesttrigger2script
begin onTriggerEnter player
BobRef.enable
end
All this does is enable a NAMED Spawn Reference called BobRef. If you named yours differently, just replace BobRef with the name of the reference you wrote down earlier, add any others you made after that. The names must match exactly, finally add ".enable" after it and your done. You can also add ".disable" to disable a spawn template reference that is already in the game and working this way too. Any NPCs or Monsters spawned by a marker you disable will vanish when the marker is disabled.
That is your done, you now have a scripted trigger.
Fun with Scripted Triggers.
You can edit the basic script above to run only when certain quests have been completed, thus preventing extra spawn points from appearing until the player reaches a specific stage of the game. You can even make your own city and spawn friendly citizens after the player completes one of your quests or use the trigger to remove bad guys from a house after you have completed a capture building quest. It all works the same way and if you learn how to script, you can do some amazing things with this system.
Fallout 3: Using Model and Texture resources Tutorial
- Details
- Category: Fallout 3 Modding Guides
- Last Updated on Monday, 12 September 2011 21:28
- Written by Giskard
- Hits: 2012
Fallout 3: Using Model and Texture resources Tutorial
Introduction
Many mods could be greatly improved by the use of various modders resources out there but the main thing stopping people from using them is not understand the basics of importing models and textures in to their own mods safely. Those who try it often feel they made some mistake when a texture turns out to be missing in a resource. The fact is many resources you will find do contain problems that you will have to fix before you can use them, it is part of the task you must perform in order to safely import new models and textures in to your own mod.
NOTE: I consider this a small price to pay for being allowed to use some excellent resources and usually just make a report about them to the modder so they know an error exists. They usually appreciate friendly feedback like that. Nobody likes people venting their anger at them over problems like this and nobody would consider those doing it to be constructive or helpful, so stay polite and friendly.
In this tutorial I will explain the process using an easy example, a poster. I should warn you that whilst nothing here is hard, it is fiddly, time consuming and prone to errors, so lots of testing is needed to avoid problems.
Tools and files you will need.
First you need to download and install Nifscope, if your interested in making models from scratch in Blender or some other tool, you will need these files as well but we will not be covering that here.
Lets find some resources to import, well there is the Waysted Resource Pack made to hold my own resources that is available so I will use that. You will find the download links on my modding 4 fun websites fallout 3 mods links page.
That is all you will need for this tutorial.
Making our folders and files unique to our mod to stop conflicts.
This is where we do all the fiddly work that ensures our mod will never conflict with other mods.
First go to your Fallout 3 game folder and open up the data folder. We need to create a folder called meshes and another called textures in the Data folder if they do not already exist. Then we need to open up meshes and make a new folder but the name of this folder needs to be chosen wisely.
I will explain why now.
You see, the folder you use next determines where the files will appear in GECK, so if you used a static mesh and added it in a folder called BOB, then in Geck you would find it under Static/BOB. So load up geck, find the location in the Object window you want to place your files in and then create the same kind of directory structure you see there in your mesh folder. That way your mesh will appear at that location later.
If you do not understand, relax, I will explain it using examples below.
In this tutorial we are importing a poster from the Waysted Resource pack which is found in "Data\meshes\Architecture\urban\signage\Foundation" folder. We want to move it to a new folder for OurNewModsPosters but want it to appear in the same area of Geck where the other posters are. So we make the following folders first.
Architecture
urban
signage
Then make our mods own folder called "OurNewModsPosters", which is basically the name of the folder you think best describes your content.
Next we go to the Data\meshes\Architecture\urban\signage\Foundation folder and copy one of the posters there across to our new folder which should be at Data\meshes\Architecture\urban\signage\OurNewModsPosters unless you changed it. Select FDposterscifi01.nif and copy it across to your mods own folder. Once there, lets rename the file to MYposterscifi01.nif.
The Textures do not need to be that organized so lets keep this simple. Go in to the data/texture folder and create a new folder to hold your textures. This can be anything but I will assume its called OurNewModsTextures. You should actually organize your own texture folder better than this, but its a simply thing to do, you just need to use the new paths instead of the ones given in this tutorial thats all.
The path for that new texture folder should be Data/textures/OurNewModsTextures.
It is important you remember that because you will need to edit the NIF to use the new texture folder. Now go to your own MYposterscifi01.nif. and double click on it, it should open in NifScope. Next go to the View menu and make sure the following are ticked and nothing else.
Block list
Block details
Show Block List
Also each time you open Nifscope, before you save your NIF file, go to the File menu and make sure "Auto Sanitize before save" is NOT TICKED. Auto Sanitize causes Nifscope to remove parts of the mesh it believes are errors and this often ruins Fallout 3 Nif files you where working on, typically the mesh appears to cycle through several textures in the game in a very weird way. It would be a cool effect if you could name the textures to use but you cannot so its not cool at all.
Once you have done that, look under the LOAD button for Block List, on the list you will see NiHeader, BSFaderNode etc, further down you will find BSShaderTextureSet, select it and open it up. Now you can see Textures, open that up to see the textures listed. Remember how you found these textures because you will need to do this again later, these are the parts you edit the most so its a very important step to remember.
You can now see where the textures this NIF file uses are stored and what the file names are so go and find them on your hard drive (official beth textures will be in one of the BSA files if you have not extracted them first. To do that find a program like Fallout Mod Manage or something. I will not be covering that here in any detail but I will give you a tip about it.
E.G. it is these
textures\Architecture\urban\signage\Foundation\scifiposters01.dds
textures\Architecture\urban\signage\Foundation\scifiposters01_n.dds
So go to the textures\Architecture\urban\signage\Foundation\ folder and copy the scifiposters01.dds and its _n file across to your own Data/textures/OurNewModsTextures folder. The _n file is called scifiposters01_n.dds and provides vital information for the correct display of the main texture file. All Fallout 3 textures should have an _n file unless they are icons. So always look for the _n for any texture you use.
TIP Extracting files from BSA files.
I find it useful to extract all BSA files to a folder and keep the contents safe so I can access them anytime I need to. This folder is usually some place other than the fallout 3 game folder on a spare hard drive or work fold I create for my stuff. The Fallout 3 Mod manager actually has a BSA Unpacker function that will help you do this job quickly. Timeslip, the guy who made FOMM is one of those rare programming types that actually has the USER Friendly Programmers perk that most professionals lack. So you will have no problems using his tools.
Editing the Nif File.
If you closed Nifskope, double click on your Nif file again to open it. Make sure the Auto Sanitize is unticked as explained above and find every mention of BSShaderTextureSet, then open the Textures box and change the path from
textures\Architecture\urban\signage\Foundation\scifiposters01.dds
textures\Architecture\urban\signage\Foundation\scifiposters01_n.dds
to in all BSShaderTextureSet menus you see that use the texture you changed but read this whole section before doing anything, there are some important exceptions here you should know.
textures\OurNewModsTextures\scifiposters01.dds
textures\OurNewModsTextures\scifiposters01_n.dds
Then use the Save As Button to save your Nif file back over it self, e.g. save over the same Nif file you loaded to update it (with auto Sanitize turned off).
Important Exception Part !
Sometimes other textures will be listed like the GORE textures and they will not be in your folder. Unless you have edited those textures or are using new versions of the textures, always leave any entry you do not have a texture for alone. It probably is using the original texture in the Fallout 3 bsa file and providing you do not edit those BSShaderTextureSet entries, they will still work usually.
NOTE: Also when you do this and the texture turns out to be purple in the game, it usually means the resource pack forgot to pack that texture and basically means you need to find a replacement your self. Its a bug basically, report it to the mod maker, he should have the file somewhere.
Just so you can see what I mean, lets look at one of my own meshes, go to Data\meshes\Armor\Foundation\FDpowerarmorMk1 and click on FDpowerarmorcomplete.nif to open it in NifSkope. The first thing you will notice is this is much more complicated than our simple little poster. The truth is, it is not more complicated, it is exactly the same only there is more BSShaderTextureSet entries that need editing that is all and some are lines we do not have textures for and that is what I want to show you right now.
Scroll down to entry 30 in the FDpowerarmorcomplete.nif , it is a BSShaderTextureSet entry, open up the textures and you will see it needs the textures\gore\MeatCapGore01.dds texture which I have not included in my Waysted Resource Pack. I use the default texture to safe space. So when I updated the nif to use my new textures, I did not Edit those lines because I did not need too. I only needed to edit the lines for textures I had actually changed.
Adding your object to Geck.
The best way to add an item to Geck is to find a similar item and edit that, so lets do that.
We have a new poster so where would the posters be....hum.....do you remember what I said earlier about meshes and paths ?
Well we used the right path but made a new folder so the original posters will be somewhere around the same spot in Geck, so we just need to go to the Object window and find textures\Architecture\urban\signage. Then select one of the formIDs in the list on the right to edit.
So lets do that, lets choose "ArtDecoDupontCorner01Sign", the very first entry in the list.
First change the ID name to MyPoster or something, then click on edit to bring up the Model Data window, then click on EDIT again and browse to your own NIF file and select it. It should be in the Data\meshes\Architecture\urban\signage\OurNewModsPosters folder where you put it.
Once you have found it, OK all the windows to close them and say yes to the Create New FormID question and save you mod.
Now reload it in to GECK scroll down to textures\Architecture\urban\signage and you should see a new folder called OurNewModsPosters listed down there with your new poster in it. If you place it in a Cell, you should be able to see it. But be warned, sometimes a texture appears black in the editor which would indicate a missing _n file or purple which means the texture is missing completely.
And sometimes a black texture just means its not visible in GECK and you have to check it in the game to see if it works.
So watch out for those issues, they are pretty common and typical of the sort of things you will come across.
NOTE: Armour or items you can pickup or sell need Icons too which are usually already set up for existing items and since you have been told to edit an existing item and change the ID, you item will get that icon automatically. So I recommend just using those icons until you master this step. Then go back and find the icons by looking at the Icon Image path the objects edit and then go and get it, edit it in a paint package and then put your own icon back in the icon folder where you found the original one. Then reselect it so your new object edit window so it uses the new icon in the game. I am not sure if Fallout 3 requires the icon be at the original path but Oblivion prefered it to be so best keep the icon in the same spot as the original to avoid problems until you learn if it matters or not in Fallout 3.
Final Words
You have just taken one of my resources and successfully added it to your own mod, it will never conflict with my original or anybody elses version. You can edit the textures or meshes to suit your self from now on knowing it is safe and will not cause any other mod any problems.
This is the correct way to import meshes and textures for use in other mods if you are not making use of somebody elses ESM file.
Basic Retexturing of an Existing Mesh using Geck
- Details
- Category: Fallout 3 Modding Guides
- Last Updated on Monday, 12 September 2011 21:26
- Written by Giskard
- Hits: 3947
Basic Retexturing of an Existing Mesh using Geck
Written by ilesman
Wednesday, 22 April 2009 16:16
Utility Programs Used During this Tutorial
* The GECK to retexture the meshes.
* NifSkope to view NIF files and find out where the textures are placed.
Other Useful Utility Programs
* FOMM to extract the texture and meshes BSA files.
* WTV by nVidia to view DDS files.
* FO3Edit to compare ESP files and efficiently cull wayward objects from the mod.
Introduction
Fallout 3 provides a simple method for retexturing a mesh using texture sets, an object type found in the GECK under the Miscellaneous heading. A texture set stores data for multiple texture maps including the standard diffuse map and its corresponding normal/gloss map. In addition, texture sets allow for an environment mask, glow/skin/hair maps, height maps, and environment maps. A check box allows the user to specify if a texture set has a specular map, and there is additional space for decal data.
Texture sets are an alternative to the mesh editing techniques required to retexture a mesh for use with Oblivion. The attractiveness of texture sets is that the modder is not required to use NifSkope to edit the mesh, which means that the retexture mod being developed will need roughly half as many files as before. Interestingly enough, NifSkope is still required so that the modder may examine the mesh to note where the new texture set must be applied in the GECK.
This tutorial will focus on using a basic texture set that includes a new texture and a normal map.
Exploration - Texture Sets
Load the GECK so that the Fallout3.esm file is the only one selected. Select the Miscellaneous category in the object window and then select the Texture Set sub group. Displayed in the list area of the object window will be all the texture sets defined in the Fallout 3 master file. Most, if not all, of these texture sets are referencing textures found inside of the Fallout – Textures.bsa file that are not referenced directly by the object meshes in the Fallout – Meshes.bsa file.
Double click on the texture set titled 1950sSuitDark. Since this texture is stored in a BSA file you will probably receive an warning message stating:
Icon file “Textures\\Armor\1950StyleSuit\OutfitDarkm.dds” not found.
Context: DEFAULT
“Yes to all” will disable all Warnings for this context.
Click “Yes to all.” This warning is simply stating that the GECK does not have direct access to the textures referenced by this texture set since they are all zipped up in a BSA file. The only real impact for you is that the window that opens will not be able to display the texture maps associated with the file in the preview window. Not a big deal as far as we are concerned.
Click on the Diffuse line in the list box on the left hand side of the window. Click on it all you want. Nothing happens. Now glance down and directly beneath the list box is a text box called Texture. This is the full path of the file listed for the diffuse map line under filename. Now click on the Normal/Gloss line in the list box. The full path of that texture now appears in the Texture text box.
To the right of the Texture text box is a button labeled Edit. Click on this button to open a dialog box that allows you to browse to a new texture selectable for this field. Be careful because once you click edit you have effectively overwritten the reference for the texture set and clicking cancel will clear out the file name for the map you are currently editing. Cancel out of the dialog box now to verify and then cancel out of the Texture Set window to prevent any changes from being saved to the GECK.
Clearly there is more to texture sets than the Diffuse and Normal/Gloss settings, but they are beyond the scope of this tutorial.
Exploration – A Default Armor Object
Select Items and then Armor from the Object Window in the GECK. Select 1950StyleSuit to load a list of all objects in the category. There are three such objects:
* OutfitPrewarBusinesswearDirty
* OutfitPrewarBusinesswearDirtyDARK
* OutfitUniquePrewarBusinesswearDirtyDARK
Double click OutfitPrewarBusinesswearDirty to open the Armor window for the object. There is a lot of information here, but we want to focus our attention on the Biped Model and World Model fields for the Male and Female versions of the outfit. The text fields under each of these headings display the full path to the mesh that these objects will use in the game. In this case the mesh is stored in the Fallout 3 – Meshes.bsa file. Notice that the full path for the Male Biped Model is “Armor\1950StyleSuit\M\Outfit.NIF.” This will become significant later on.
Click the Edit button next to the Male Biped Model to open the Model Data window for the mesh. The default mesh with the default textures is displayed in the preview window to the right. You can choose a new mesh for the object by clicking the Edit button next to the blank Model File Name text box. Of primary interest to us is the Alternate Textures list box. This is where you will be assigning new textures to the various parts of the model. Notice that for this model all these areas are blank. That is because this is the default mesh using the default textures as assigned in the NIF file. Click OK to exit out of the Model Data window and Cancel to return to the Object Window.
Exploration - A Retextured Armor Object
Now double click OutfitPrewarBusinesswearDirtyDark to open the Armor window for the object. Notice that the path for the Male Biped Model is the same as it was in the previous exploration.
Click on the Edit button to open the Model Data window for the Male Biped Model. Notice that there are entries in the Alternate Textures list box for this model. These textures are referencing the texture set 1950sSuitDark that was the focus of our texture set exploration. Notice further that the entries are only for the fields upperbody, arms, PipBoyOff, and PipBoyOn. The other fields are left blank. This is because only the fields listed actually use the texture set. The other fields reference different textures which may include a flesh texture for skin visible on the model or something called MeatCapGore01. We will explore this in more detail later. Click OK to return to the Armor window.
Now click on the Edit button to open the Model Data window for the World Model. Notice that the fields in the Alternate Textures list box are both filled referencing the same texture set used for the Male Biped Model. I think this is cool because here are two completely different meshes that utilize the same texture and look good doing it. I mean, the world model is folded clothing! That’s awesome. Click OK to return to the Armor window and Cancel to return to the Object Window.
Exploration - Using NifSkope to Determine Texture Paths
Before you can retexture a mesh you have to know how the mesh will be referencing the texture. You can use NifSkope as a research tool in this case much the same way that it was used to edit meshes for Oblivion. For this section of the tutorial you will need to have extracted the meshes BSA to a safe location. A safe location is basically anywhere that is not your Fallout 3 directory.
Before we get to the research, make the following settings adjustment to NifSkope:
1. On the file menu, ensure that Auto Sanitize Before Save is not checked.
2. On the view menu, ensure that Block List and Block Details are checked and that the option Show Blocks in List has been selected.
Open NifSkope and load the file meshes\armor\1950stylesuit\m\outfit.nif located wherever you stored the extracted mesh resources. You want to locate each paired occurrence of the headings NiTriShape and BSShaderTextureSet. These settings always occur together and in relative closeness on the list. You will want to note the name of the NiTriShape heading and then the list of textures associated with the BSShaderTextureSet heading. For example, our suit has the following settings:
BSShaderTextureSet:
* textures\armor\1950stylesuit\OutfitWeatheredM.dds
* textures\armor\1950stylesuit\OutfitWeatheredM_n.dds
Used for the following NiTriShape components:
* PipBoyOn, PipBoyOff, arms, upperbody
BSShaderTextureSet:
* textures\gore\MeatCapGore01.dds
* textures\gore\MeatCapGore01_n.dds
Used for the following NiTriShape components:
* MeatCapBody, MeatCapLimbs, meatneck, meathead
You’ll want to do this for the biped and world models for both male and female biped objects. The break down for the 1950stylesuit meshes will be included at the end of this tutorial for ease of reference.
Tutorial Disclaimer
At this point we are about to start using existing objects to create our new objects, so whenever the GECK asks to make a new form ID, you be sure to hit the yes button or you'll be modifying originals and we don't need that.
Tutorial 1 - Preparing the Textures
So you have downloaded this sweet new texture replacer by another artist or perhaps you have created your own new texture. However, instead of doing an overwrite you want to create a whole new object to place in the game world. This tutorial is going to show you how to do that using texture sets and the research we have completed so far.
You will want to create a new folder called textures inside the Data directory of your Fallout 3 installation. Inside that folder create a new folder called mystuff. Inside that folder create a new folder called armor and inside that folder a new folder called 1950stylesuit. The final directory tree should look like this:
* textures\mystuff\armor\1950stylesuit\
Copy and paste the desired texture and normal file into this folder. I like to rename my files at this point to be more descriptive and orderly in my directory. In this case I will be using a green suit retexture, so I choose to rename the textures accordingly:
* 02_Green_F.dds (retexture of OutfitF).
* 02_Green_M.dds (retexture of OutfitWeatheredM).
Now, you will need a normal file for these suits which the author may or may not provide. If they do provide the file it is likely to be the same one used by Fallout 3 as the default normal file for the mesh’s textures. I like to use WTV or the dds file viewer for Windows Explorer to check this and eliminate unnecessary duplication of these normal files. Both applications are available from nVidia for free.
If the normal is not provided or it is duplicated, I will use the default normal. Copy it from the safe location where you extracted the Fallout 3 – Textures.bsa file and paste it into the directory with your new textures. I like to rename this file as well:
* n00_default_F_n.dds
* n00_default_M_n.dds
I am a bit of an obsessive compulsive with my files, which is why I do this.
Tutorial 2 – Creating the Texture Sets
Open the GECK using the Fallout3.esm file and then save as GreenSuit.esp. Select the Miscellaneous then Texture Set categories from the Object Window.
The easiest way to create a new texture set is to copy an old one. Double click the 1950sSuitDark texture set to open the Texture Set window.
Rename the texture set to TS1950sSuitGreenM.
Select the Diffuse map and click the Edit button. Browse to textures\mystuff\armor\1950stylesuit\ and select 02_Green_M.dds. An image of the texture file will appear in the preview window.
Select the Normal/Gloss map and click the Edit button. Browse to textures\mystuff\armor\1950stylesuit\ and select n00_default_M_n.dds. An image of the texture file will appear in the preview window.
Click OK to create the new texture set. The GECK will ask you if you would like to create a new form ID. You do, so choose yes.
Repeat this process for the female version of the suit, naming the new texture set TS1950sSuitGreenF and setting the Diffuse map to 02_Green_F.dds and the Normal/Gloss map to n00_default_F_n.dds.
Click OK to create the new texture set. Again, the GECK will ask to create a new form ID, and again choose yes.
Tutorial 3 - Creating the Retextured Armor
Select the Item then Armor categories from the Object Window. Open the Armor window for the object OutfitPrewarBusinesswearDirty. Now, I could have easily selected the DARK version which is already a retexture of the default mesh, but many meshes in the game do not already have a retexture as part of the Fallout3.esm file. So I will do this the “hard” way using the research we did earlier with NifSkope.
First rename the object to MyOutfitPrewarBusinesswearGreen then hit Edit for the Male Biped Model to open the Model Data window.
Look at the Alternate Textures list and notice that the list is in the reverse order of the same references in the NIF file you explored earlier. This always happens and is not a coincidence. You will want to set the new texture set to each part that received the outfit texture in the default NIF. For the male version of this mesh those parts will be upperbody, arms, PipBoyOff, and PipBoyOn.
Double click each of these parts in turn to open the Select Form window and then find the TS section and select TS1950sSuitGreenM by double clicking the texture set you want to use. The Select Form window will close and you will see the model in the preview window change to reflect the newly assigned texture.
When you are finished click OK to close the Model Data window.
Now click the Edit button to open the Model Data window for the Male World Model and set the appropriate parts to the TS1950sSuitGreenM texture set.
Repeat the process for the Female Biped Model and the Female World Model using the texture set TS1950sSuitGreenF.
When you are finished click OK to close the Armor window. When you do the GECK asks if you want to create a new form ID. You do. So do it.
NIF Analysis: 1950 Style Suit
Male and Female World Model
BSShaderTextureSet:
* textures\armor\1950stylesuit\OutfitWeatheredM.dds
* textures\armor\1950stylesuit\OutfitWeatheredM_n.dds
Used for the following NiTriShape components:
* 1950'sStyleSuitGO:0, 1950'sStyleSuitGO:1
Female Biped Model
BSShaderTextureSet:
* textures\armor\1950stylesuit\OutfitWeatheredM.dds
* textures\armor\1950stylesuit\OutfitWeatheredM_n.dds
Used for the following NiTriShape components:
* Arms2, UpperBody3, Arms, PipBoyOff, PipBoyOn, UpperBody, UpperBody1
BSShaderTextureSet:
* textures\gore\MeatCapGore01.dds
* textures\gore\MeatCapGore01_n.dds
Used for the following NiTriShape components:
* meatcaparmlimbs, meatcapslegslimb, meatcapslegsbody, bodymeat, headmeat
BSShaderTextureSet:
* textures\characters\female\UpperBodyFemale.dds
* textures\characters\female\UpperBodyFemale_n.dds
Used for the following NiTriShape components:
* Upperbody4
Login Form
Forum and Website Logins
Please be aware that the forum and the main website are 2 completely different logins.
Skyrim Menu
Fallout New Vegas Menu
Fallout 3 Menu
Oblivion Menu
Game Guides
Misc Menu
Who is online
We have 81 guests and no members online















