View Full Version : Tutorial: Making A Storyline Mod For Kotor 2

Doc Valentine
12-15-2005, 08:57 PM
Original Thread can be found here (http://www.lucasforums.com/showthread.php?t=156958)

Storyline Mod Tutorial
(Steps to getting organized to make a large plot mod for Kotor/TSL)

Table of Contents:
II.Tools you'll need
III.Where to get helpIV.Step 1: Getting Organized
a. Outline
b. NPC Mapping
c. Setup
d. Make a Thread
e. Assembling a Team
f. Presenting a Due Date
V.Step 2: Module Creation
a. The Skeleton
b. Placement Mapping
c. Plugging In Coordinates
d. Dialog
e. Scripts
f. Making the Erf File
g. Testing
h. Finishing Touches(Linking)
i. Cutscene “STUNT” Modules (What they contain)
VI.Step 3: Voicing Your Dialogs
a. Useful Tips for GoldWave
b. Creating the mp3
c. Adding Lip Sync To the Dialog
VII.Step 4: Customization
a. Customizing Music
b. Customizing Movies
VIII.Step 5: Resource Files(Things to put in the override folder)
a. TGA's
b. Others
IX.Step 6: Promoting Your Mod
a. Screenshots
b. Video
c. Beta/Demo
X.Step 7: Finalizing the Mod
a. Double Check All Your Work
b. Let your beta testers give it a test run
c. Make A Readme!!!
d. Pack it up Into a .ZIP File
XI.Step 8: Hosting This Bad Boy
a. Places to host

Note: Im goint to have to submit this in parts as it is too long to post all in one.


I have made a few storyline/total conversion mods for Kotor/TSL and I have picked up a lot of good tips through experience that would have helped me a whole lot had I known them when making my first storyline mod “Reign of the Sith” for Kotor 1. What you have to understand is with the lack of support from the developers themselves in the moding arena, the majority of moding kotor is trial and error . Countless times have I tested things, have them go completely wrong and have to retrace my steps and fix the error. Though frustrating in the end when you have your finished product, it is all worth it.

Organization is key to making a mod of this size for a game like this, if you are not organized and have a well mapped out plan, you will produce a sloppy mod that will not please the public as much as it should. And you have to remember, no matter how awesome or great a mod you make, you won't be able to please everyone, there will always be someone who doesn't like a certain part or idea of your mod. Best thing to do is to not let it bother you, remember you are making this mod for you, you have an idea and you want to see it in the game. So as long as you are satisfied with your final product then you are good. In this Tutorial, I will guide you through the steps of making a good, organized storyline mod for Kotor/TSL. By following these simple steps you're mod will be well organized and professional.

NOTE: For my examples in this tutorial, I will be using my Rise of the Sith mod as my mod.

II.Tools You'll Need

Here is a list of tools that you will need to complete this tutorial. Many of these and more can be found here http://www.lucasforums.com/showthre...threadid=143421

1. Kotor Tool by the wonderful Fred Tetra
2. An Erf/Gff editor
3. DLGEditor (GUI) by tk102
4. Adobe Photoshop by Adobe
5. GoldWave
6. Kotor SavedGame Editor (also by tk102)
7. Whereami Armband by Darth333

III.Where to get Help
The best place to find help in any aspect of modding Kotor/TSL is Holowan Laboratories located here http://www.lucasforums.com/forumdis...?s=&forumid=324

You will find many helpful people there. Here are a few names to look up if you need certain help:

Fred Tetra (Troubleshooting for Kotor Tool)
Darth333 (Scripting Genius)
tk102 (Also a good scripter as well as help for his tools)
Achilles (Custom Items/Lightsabers a very good man for tutorials)
Svosh (all your texturing needs)
cchargin (all your modeling needs)

Those are just few of the many people who can help you at Holowan Labs, you will find it a friendly environment for support as well as promoting your mod.

IV.Step 1: Getting Organized

Organization is key to making a mod of this size for Kotor, you will find that in being organized you're mod will be more professional and fun to play as it leaves less margin for error.

a. Outline
You should make an outline of your mod and the direction it is going. This will allow you to know what goes where as well as keep you on track for your progress. Your outline should be a tree, each tier on this tree should be a planet/area (these will contain multiple modules as well as cutscene modules that you will be using), write a brief description under each tier. Arrange it for what area happens first to what area happens last. Do not include cutscenes as they will be included in your planets/areas. Your tree should look like this(can be bigger or shorter):

b. NPC Mapping
Another thing you should do to get yourself on the right track is NPC Mapping. That is, mapping out your PC's party NPC's that he will meet on his journey. For this you are going to have to open Kotor Tool. Click and expand the Kotor II directory, then expand BIF's. From here expand the templates.bif. Expand Blueprint, Character subdirectory. Here you will find a list of npc's you can use as just normal npc's or your party members for you mod.

When choosing an NPC for a party member it doesn't really matter who you chose on the list because you will be changing the base appearance in the Gff editor later. It is best to pick on of the original party members and just alter the appearance because they have all the scripts for a party member already instigated(the names for the original party members start with p_). So find the NPC you want and double click on it.

You will see the Kotor Creature editor come up. In here you can do all the customizations for your creature that you want. You can change whatever you want, except appearance(Which we will change later) and scripts (and if you picked a party npc than all of those nasty things are already there). So once you are done with all that hit save. Save it in your Templates Directory(To see what this is check under setup).

Setup is important, you want to make a directory dedicated to your mod and all the files that will be included. This will prevent you from having files floating around in your kotor directory and losing them. Another problem is when it comes time to pack up your mod into a .rar file it will be a GREAT advantage if you know where all your files are. Not having this could cause you to forget some things, as I have done many times in the past. And In hosting sites such as pcgamemods.com, you cant overwrite your previous submission. Here is what you want to do: In your SWKotOR/TSL Directory you will want to create a folder(If you dont know how to create a folder then right click in an open space and select new, then new folder).

Name this folder the name of your mod, or for easy, just name it the initials of your mod. In here you will put all your things that you will include in your mod. Inside your mod folder, you will make a few new folders. First you will make a folder called, Override. This is where you will put all of your override files. Next you will create a folder called, Templates, this is where we will put our .lip and npc as well as any other templates we will make in this mod. Then create these folders as you did the others StreamVoice, StreamMusic, Modules, lips. The contents of these should be self explanatory save the lips folder, you will be putting your compressed lip mods in here for lip syncing your dialogs. Next create a folder with the names of each of your planets/areas. In each of these create folders with the names of the different modules in these planets.

In those create these folders, Dialogs, Module, Creatures, Waypoints, Sounds, Doors, Placeables, Scripts. The Dialogs directory is for the dialogs that will be contained in that module. The Module directory is for the .are, .git, and .ifo files that make up the “Skeleton” or shell of your module. The Creatures directory is where you will put all of your .utc files containing the info on your npcs in the module. The sounds, doors, and placables directories are where you will put the sounds, doors, and placeables that you will extract out of Kotor Tool for the module.The scripts folder is where we will place both the nss and ncs compiled scripts that you make.

d.Make a Thread
It is important that you let everyone know you are making this mod, as well as giving them updates on your progress. You will also need a thread to assemble a team(see g. Assembling a Team for more details). The best place to make a thread is in Holowan Laboratories which I have already linked you to under “Where to get help”

e. Assembling a Team
This part of the modding business is very important, you need a well rounded team so that your mod will be done quicker as well as adds quality. Even if you prefer the lone wolf type deal, its better to have a team. You need other peoples opinions as well as proof readers, script helpers as well as beta testers. When assembling a team its best just to declare what spots you need filled on your team in your thread. With all the new people that have come in with TSL there will be many willing to help who are looking to make a name for themselves. When you have your team, you will want to establish communication with them, other than that of pm's and emails which take too long. Get each other's screennames, hotmail and messenger accounts so that you may discuss all you need in a real time environment. Remember to listen and not just talk, often your team mates will come up with a good idea and it never hurts to instigate it.

f. Presenting a Due Date
This is probably the most simple thing to do out of all of the things in getting organized. When presenting your estimated due date to the public, DON'T. You should never tell people before you have even begun work on a mod when you are planning to release it, no matter how much they beg to know, don't say anything. Giving a due date causes troubles, it gives the public a false sence of where you are standing mod wise(they will think you are almost done). And it will cause you to be obligated to rush your mod to get it out on the time you said. Rushing a mod is ALWAYS bad and prevents a successful completion because you almost always leave something out. So if someone asks just say, its done when its done.

Doc Valentine
12-15-2005, 09:00 PM
V.Step 2: Module Creation

Okay, now that we have gotten organized and are ready to move on, lets get to the fun stuff. Module Creation is probably one of the most simple things to do when you get the hang of it. Mostly, its just plugging in numbers and grouping stuff together, after you get used to it, it becomes quite an easy routine. Your modules are what the player plays in, or “Levels” that the player advances through. When you made your outline you mapped out all the planets/areas that your PC would travel to in his/her journey through your story.

Each planet you have made will have a set of modules, these modules can range from cutscenes, battlefields, walking around areas, towns, dungeons to enemy bases and strongholds. Unfortunately, due to the fact that we have not yet broken the format on just how to make our own models for modules, we have to use existing ones from Kotor/TSL. So when mapping these out, keep in mind that they are going to have to be the same modules as the ones in the original game. But you can easily change the normal modules in Kotor by adding a story to it, and even change the look of the module by textures. We will go more in depth on texture customization when we get to that step.

So for each planet you are going to make you are going to have to chose modules from existing ones and use them for your shell. First off, we are going to want to map out our first planet on the lines of modules. So get out a sheet of paper or open a text document. To follow along with you I am going to use my planet Yavin IV in my mod. Ok lets get to it. So first after you have made your heading you are going to want to list in order the modules that are included in this planet(including cutscenes).

You will want to give each module two names, one is the module name you want it should be a single name because we are going to need to reference it for the .lip files if you want lip syncing in your mod. The next name is the actual name for the module that you are using from the original game. After the name you are going to write a brief description of what happens in that module. So far it should look like this:

Yavin IV

yavin1-401DXN- Begin dialog with Adon. Fight way up to next level.

yavin2-402DXN- Fight way to entrance of Sith base.

yavin3-403DXN- Fight through Sith, slowly disable base. Find Ace. Find Dark Jedi at the radar dish. Escape.

cutscene1-853NIH- Admiral Krath tells Darth Cravon of the escape of Player and Ace.

This will help you to know what to include in your planet folder. And will also give you a check list to use when making the modules. Okay, on to the building.

a. The Skeleton
Okay, first thing we are going to do is open up the handy dandy Kotor Tool. Open the Kotor II directory in it, then expand the RIMs subdirectory. In here you will see a list of modules that you can use in for your “Skeleton”. The modules are named strangely but you can make an educated guess as to which one is which by the ending three letters. For example, 401DXN is obviously a module in Dxun. Expand the module you want to use, make sure it is the module without a s in it as we will be opening those later. For example, I will be expanding 401DXN.rim not 401DXN_s.rim. In here you will find 3 sub directories expand all three.

Export the contents into your Module subfolder in your module folder “Mod Directory/Planet/Module/module/. Ex: I will put mine in “TROTS/Yavin/yavin1/module”. Okay, so now you have extracted the actual module, with nothing in it, just the module, no characters,scripts,dialogs,placeables, yata, yata, yata. Basically, you have the shell of the module, or what I have been calling it, the “Skeleton”. This is the module you will use to get the coordinates for your characters and other things you want placed in there.

b. Placement Mapping
Okay, in this section we will be mapping out where we want our npcs to be placed to give us a visual aid like that of a GUI map editor. So the first thing we want to do is open Kotor Tool again. By now you should know that which main directory to chose, if you have TSL Kotor II, if you don't Kotor I. So anyways open it up and open the Kotor folder, expand the ERFs, then go to Texture Packs, you should see four subdirectories.

Expand the one that says swpc_tex_gui. Then open up subdirectory L. You should see a lot of little files. These are the maps of each module. Scroll down until you see the lbl_mapxxxxxx where x is your module name. For example, I will go to lbl_map401dxn. Now double click it to bring up the image viewer. With a pencil and paper, trace just the outline of the highlighted area. Now we have our map where we will decide to place things.

So now you have an empty overview map of your module. Now we are going to figure out where to place our npcs. Make your decision and put dots where each npc is going to go. No use a ruler to draw a straight line from each dot. At the end of the line you will put #n(# = the number of the npc, n = npc). So do that for each one and number them accordingly.

Then at the bottom in some free space, list the n's that you made 1 to whatever. And then put the name of the npc you will be using, for time saving we are going to name it what we are going to name the .utc file. For example (1n =charles.utc) charles is the name of the utc file i am using for my character i want to put in the position 1n. List down as we will be putting coordinates next to each one aso you will have to list down. Your paper should look like this:

Okay, so now we know where we want our guys to be, its just a matter of finding out what the coordinates are. So now open up the good old Kotor Tool. And open the ERF Builder. For your filename put in test.mod and have it save in the modules directory of your SWKotOR2 directory. Select MOD for file type. Now click add, open up your mod directory. Remember when we exported those three files? The .are, .git, and .ifo? Well find those and add them to the erf. Then click build. If your test.mod is not already saved to the Modules directory put it there.

Open KSE, have it open one of your save files, this will be the one we use to test our modules as well as get info from them. Go to your items list, have KSE add the Whereami armband to your inventory, it should be easy to find on the item list because it is a custom item, and custom items are in red in KSE(thanks tk102) give it to your PC and commit changes. Now go into Kotor 2. Open the saved game, and type in the console “warp test” without the quotes. Now equip that armband. And go to the points you plotted on your map and get the coordinates of each spot, record the coordinates on the paper next to the npc they belong to(you don't have to record Orientation if you don't want to as it is not required). Once you get all of these, get out of the game.

c. Plugging In Coordinates
Now we have all the coordinates for your characters, now the tedious part is about to come. Open your ERF/GFF editor. And open the your module .git that you extracted to your module subdirectory. You'll see a section called Creature List. Expand it. Now, delete all those enteries EXCEPT 1. Copy that entry, and paste it on creature list one less as many times as characters you have in your module(1 less because you have one already there) so my creature list will have 5 entries. Expand the first one. You will see quite a few headers here, but you only need to worry about 4; X Position, Y Position, Z Position, and TemplateResRef. In the X Position you will enter the coordinates for the X position of the 1st npc that you have, you will put the Y Position in the Y Position and the Z in the Z. Now, for TemplateResRef, you will put the name of the .utc file of the character that is the first npc, just as we did when we listed them on our map. Do this in order for each one as you did on the map. When you finish, save the .git file. Now we are done plugging in those nasty coordinates. Few that was fun. Lucky for you the tough part is over.

Now go back to Kotor Tool. Open BIFs and go to templates.bif. Now go to Blueprint, Character just as we did for our party members. Under this you will find a list of npcs you should be able to tell who is who by the name of the file, but if you can't than just double click it and it will tell you under name. So find the one you want for your npc/npcs and double click it, you can change anything you want except for the scripts, you should leave those alone unless you know what you are doing. In the dialog section put the name of the file of the dialog you are going to have this npc use, we will go deeper into this in the next section where we will make the dialog.

Just put the filename in for now. Change the tag to be unique, and record it(you will need to know this for dialog editing). Hit save and save the npc in your Creatures section of your module directory, make sure you make the filename the SAME as the name you put in the .git file. If you ever want to change the npc after you have saved it, you can use the gff editor to open the file and just edit away.

d. Dialog
Dialogs are an important aspect of any mod, they give story to characters as well as build the pc's character. When making your own dialog, its best to map it out on paper before you put it on the computer, this will give you more of a prepared dialog. This is where things get fun. When creating a dialog try to remember to give the player lots of options, no one likes a one direction dialog. In this part of the tutorial I will show you how to make a brief dialog that will have basic entries and replies.

Open up DLGEdit that you downloaded. Click on File and New. You will see New Dialog in bold in the dialog tree. Click on New Dialog in the tree window. At the bottom you will see a few options to chose, these are for the customization of the dialog as a whole. The only one you are going to want to set is Skippable, this allows the player to skip through a line by clicking the mouse, an important thing to check each time that way if the player has heard the line before he can skip it.

Next, right click on New Dialog and select Add New Entry. You will see a blank entry under New Dialog in red show up. Select that. You will see many options here, more if you are doing it for TSL. There are many here but only a few that we will need to check for our basic dialog. Most of the options in the dialog structs are self-explanatory, for the ones that aren’t you most likely wont need them anyway. First you are going to go to the Speaker header, put the tag of the npc who is speaking here; this header determines who will be speaking the line, mainly for cutscenes and lipsyncing. After that, in the large box to the right, you will type the line that the npc will be saying. For testing purposes we will put in there “Hi. Is there something I can help you with?”. Leave the Listener header alone for now as that is only needed when an npc is talking to an npc, which is key in cutscenes.

On the left you will see a header called VO_ResRef, this is where you will put the name of your .mp3 file that contains the voice that is saying the line. (Note: Do not put .wav or .mp3 at the end of your voice file name when putting it in the header) Now it is time to add replies. Right click on the Entry and select Add New Reply. You will see the default reply struct under your Entry in blue. Select this and take note of the options under it.

Really, all you need to do here is put your text that the Player can reply with in the large box on the right as you did before; you can put the npc’s tag in the Listener header but it is unnecessary considering there is only one npc. For the tutorial we will put in “Hi. Who are you?”. Once you have done that right click the red Entry again and select Add New Reply. You will see the reply under your other one. Select it. Type in the text box, “Nothing for now, good bye.”.

You now have two replies the player can chose from. Since this is a basic dialog, there will only be two replies to chose from; in your more complicated dialogs it will be important to put as many replies as you can so the player has more options. The basic structure for replies is, one to two for Lightside on top and one to two for darkside on the bottom and one final one at the bottom if the player wants to end the dialog, which would consist of “Good Bye” or “Never Mind”. When the player is asking questions, there is a different structure, there is a list of questions with the good bye line at the bottom, and in each question after the NPC has answered if he has opened up room for another question, that question will be the first reply, the second will be something t to the affect of “I had other questions” which will lead the player to the first set of questions. Select the reply that has “Hi. Who are you?” in it. Right click it and Add New Entry.

Set the speaker, and type in the text box “I am Dak Starkisser, Nice to meet you”. Put the voice file name in the VO_ResRef and you are done with the dialog. Go to File, Save As, and save it as test.dlg and put it in the Dialogs section of your Module sub directory in your mod Directory, for example I will put it in SWKotOR\TROTS\Yavin\Dialogs. If you are not doing a mod and just a dialog, put it in your Override directory, if you haven’t already made one then make it.

You can replace the Entries and Replies with whatever you want, and when you make your own for real you will make many more entries and replies, remember to keep to a good reply and entry structure. Dialog is an important part that will make your mod great.

For your Mod, make sure that when you save the Dialog, you save it as the same name as you put it for the NPC’s Conversation header in the .utc file that you will include in the .erf.

e. Scripting
I know you are probably expecting me to go on about scripting so that you can be a scripting genius. Well, that isn’t going to happen, It would take a tutorial of MASSIVE size for me to explain all the elements of scripting and I have neither the time nor the brain capacity to type it all out. The best place to go for scripting help is Holowan Laboratories which I have placed a link to in the “Where to get help” section. I recommend Darth333, TK102, and RedHawk. There are many others too, just make a thread and everyone will be willing to help you, you will find it a very friendly environment.

f. Making the Erf File
Okay you have all the things you need now for a basic mod. You have your NPC which is mapped out and has its coordinates in the GIT file. The GIT, ARE, and module.ifo file should be in your Module section of your Modules sub directory, ex: mine will be in SWKotOR2\TROTS\Yavin\Module. Your NPC’s .utc file will be in the Characters section of your Modules sub directory (if you haven’t made an NPC yet do so according to the NPC Mapping section of the tutorial and put the name dialog you created in the Conversation header. So for example, my character’s .utc file will go in SWKotOR2\TROTS\Yavin\Characters folder. And your Dialog that you made should go in your Dialog folder of your Modules sub directory ex: mine will go in SWKotOR2\TROTS\Yavin\Dialog folder. Now you are ready to make the ERF file and test your mod.

So go to Kotor Tool, and in it select the ERF Tool. At the top you will notice an address bar. Click the “…” button next to this bar. A box should come up showing you your SWKotOR2 directory. Direct it to the Modules directory(not the one in your Mod Directory). In the save section type mymod.mod and click save. Next to the address bar you will see a small box, open the drop down menu and select MOD. (always remember when making a mod you have to save the erf as a .mod and select MOD from the drop down menu). Click Add. You will see another box come up, now add all the files you made, your GIT, ARE, module.ifo, dialog, and .utc files. Click build erf. Now it is time to test your mod.

g. Testing
Now you finally have your mod almost completed, now is the time to test. You may or may not have multiple modules that you have created but we will just be testing our tutorial module for now. So go into KOTOR\2 and open up a saved game. When in the game type “warp mymod” in the console, the console in KOTOR 2 is invisible so you will have to guess that you are doing it right. When in your mod go to your character that has the dialog, if you chose to do that, and click him. He should say “Hi, how may I help you” and you will be able to talk to him. If this does not happen, go back and recheck to see if you made an error, if something is not clear, consult Holowan Labs.

Congratulations! You have built a module that you can warp to in KOTOR, which is a big thing to do when making a mod and is the core of your storyline mod. Remember, when making a planet it is good to add as much content as possible, especially if your planet is a city. Add Merchants, Citizens with different dialogs, cantinas with “colorful people” and anything else you wish to add, all of which will be simple with KOTOR TOOL thanks to Fred Tetra. Now we will be putting the finishing touches on our mod, mostly for the actual modules you make.

Doc Valentine
12-15-2005, 09:08 PM
h. Finishing Touches(Linking)
Now that you have your basic module(s) you are going to want to put some finishing touches on them, basically if you have a planet where one module goes to another, you are going to want to link them. This isn’t very hard, but it might take some time. In each module is a waypoint or door that leads to another module on that planet or area. Fore example Dxun, has a waypoint that will take you from dxun jungle with the ebon hawk to the second part of the dxun jungle. This is not done in the waypoint itself but in the GIT file in the waypoints list. You will however need to extract the waypoint from the waypoints sub directory in kotor tool from the module you got your skeleton from, it should look something like “toXXX” or “newareatransition” with the tag being “TO_XXX” X being the numeric name of the next module. Extract it to your module subdirectory (ex: Mine will go here SWKotOR2/TROTS/Yavin\).

Once you have done this go to your GIT file and go into the Triggers List and find out where the waypoint is. In the struct should be a line labeled “Linked To Module” put your other module name that you want the player to go to in there. Then there should be a line labeled “Linked to” and that is where you will put the tag of the waypoint in the other module that you want the player to start, should be named something like “From_XXX” XXX being your module number or module. Once that is done save it and repackage it back into the .mod file and test it out. Do this for all your other modules you want linked as well. For doors, you don’t need to worry about looking in the triggers list, just look in the doors list of the .git file for the door you exported, it will have the same LinkedToModule and Linked To structs as the trigger did.

i. Cutscene “STUNT” Modules (What they contain)

A cutscene module is the easiest one to make. It only has in it what you need for the exact scene. This is different from normal modules because in normal modules you would have to place you npc’s all over making the area look populated, well in a cutscene the player is not seen, and the only view is where the cutscene is happening, so you will only need to put a few npc’s in the module.

Start the module the same way you would if you where making one. Get the map and decide where to put your npc’s, as an example I will be using the dialog between Darth Cravon and Darth Trennon from my mod, Rise of the Sith. So now I have my map out and have decided where to put my guys. Now I take out the Whereami Armband, stand in place and take down the coordinates. I then put them in the git file and save it in my cutscene directory (feel free to add this directory wherever you see fit). Now I go into the module and make sure that they are there and that everything is correct and how I want it.

Then I make the dialog, opening dlgeditor. This is where we will make use of the DLGEditor’s listener function. In this dialog we will not be using “Add Reply” as in a STUNT Cutscene the player is not there “well to the viewer, he Will technically be there but not scene or heard”. Anyways start by making the dialog skippable. Now add a new entry and make the speaker the tag of the npc you want speaking. And make the listener the tag of the npc you want listening. It is important that you set the listener field or the npc will by default speak his line to the player. Now here is the trick, when you select your entry, do NOT hit add reply, hit add new entry, you will see a default reply under that says (continue) and then the new entry, leave the reply alone as it is just what connects the two entries together.

Now this time do the same thing you did in the first entry except of course the tags will be different. Do this for each line that is necessary. Now save the dialog. Go to your .utc files of the two people speaking and attach the dialog to their conversation field. So if you named the convo “stunttrennon.dlg” you will put “stunttrennon” in both the conversation fields of the npcs that are speaking. Now you must make the script. I will use an example and show you what you need to replace:

//You may copy this script into your notepad and save it as a .nss file
void main()
object oPC=GetFirstPC();
object oTrennon=GetObjectByTag("trennon");

// (“trennon”), replace the trennon here with the tag of your npc who will be talking first

AssignCommand(oTrennon,ActionStartConversation(oPC ,"stunttrennon"));
// replace stunttrennon with the name of your dialog

Okay now save that as a .nss and compile it, make sure you name it “stuntscript”(without quotes). Now go to your module’s .are file. In the OnEnter field type “stuntscript” without quotes and save it. Package all of these files together, INCLUDING your .ncs file, NOT the .nss file and make it a .erf like you did before.

Now go to a saved or new game and warp yourself to your cutscene module, you should see the dialog auto start and the people talking.

Doc Valentine
12-15-2005, 09:12 PM
VI. Step 3: Voicing your Dialogs

a. Useful Tips for GoldWave

There are a lot of cool little devices that will make your voice recording sound different and better. The most important tool however is Noise Reduction, if your mike pics up a lot of static or ambient noises, this will fix that making it sound smooth and silent save for your recording. The next one is pitch setting this lower will make you sound more evil or older, key if you have young but good voice actors.

Here is how to make yourself sound like a stormtrooper or a transmission:

First, record your voice.

Now go to equalizer and under presets select thin.

Bring the voice volume back up to what it should be.

Now go to Low/Highpass and go to presets and select No Bass.

You have now achieved a transmission like sound.

b. Creating the mp3

Make a new file and record your voice. Do whatever editing necessary. Now select only the portion that has the sound wave in it, as I am sure you did not fill up all of the sound record file. Now go to file and select Save Selection As, and save it in your streamvoice directory as what you put in the VO_ResRef of your dlg file. If you did not put VO_ResRef’s fro each entry then go do that now. You will save this as an mp3. Yes an mp3 will work with kotor even though all the other files are compiled wav fiels. Mp3’s are MUCH better than .wav files because they are much smaller in files size.

c. Adding Lip Sync To the Dialog

Adding lip Sync to dialogs is a major time taker but it is necessary for making a semi-nice looking mod. Now with lip syncing you wont have it so that it goes with your words, since we cannot make models or make lip files this is impossible, the only way to do this is taking lip files from the originals in Kotor.

So open your erf editor, KT works best for this, and go to your lips directory on you KOTOR directory and open one of the _loc.mod files. You should see quite a few .lip files in there extract for of them one SMALL one MEDIUM one LARGE and one HUGE. Go into your templates directory of your mod directory and export them there. Rename them Small Medium Large and Huge according to their size. Now, depending on how large your first entry in your dialog we are lip syncing is, copy one of the lips here, so since mine is of large size I will copy large, then paste it in the same directory. Mine says Copy of Large.lip. Rename this to the .mp3 name that we used when creating the .mp3 file which is also the name in the VO_ResRef of the entry in the dlg file. Do this for each of your entries until you have completed it. Now you are ready to package it up.

Open up Kotor Tool and go to ERF builder. Make it save the file in the lips folder of your SWKOTOR directory. You MUST save it as YOURMODULENAME_loc.mod. YOURMODULENAME will be replaced by the name of the module your dialog takes place in. So my trennon dialog will take place on cut2 module so I will name the erf cut2_loc.mod. Make sure MOD is selected in the drop down list next to the file name. Now Add all the .lip files you made into the erf and hit build erf. Okay now your dialog has lip syncing! Go take a look.

VII. Step 4: Customization

a. Customizing Music

Customizing music is relatively easy once you have done it a few times, just make sure that you do it right each time, simple errors will cause it not to work. Adding music is MUCH better than replacing it because it means one less thing that the player has to backup, and backing up lots of files is no fun.

First what we are going to do get the music we want to add. Be it whatever you want get it in .mp3 form as I said before this will help you in the long run. Now go to your StreamMusic folder on your SWKOTOR directory. Place it in there and name it something you will remember for the module you want it to be for. I like to follow how Obsidian does it and name it mus_a_modulename, so ill name mine mus_a_pro mus= music a=Ambient or Area pro= Prologue. So obviously this will be the music that plays

Now we are going to do a bit of 2da editing. Go to Kotor tool and go to the BIF directory. You will see a subdirectory called 2da.bif, open it. Scroll down till you dind AmbientMusic.2da open that up. In the 2da editor go to the bottom of the list until you get to the last row. Copy he row and paste the row you copied under it. Change the row number to the number that comes after the last one in the row (EX: The last row in my 2da is 58 so I will rename the number to 59) leave everything alone except recourse, under recourse rename it to the mp3 you put in your Stream Music Directory. After that save the file in the override directory and you’re done.

b. Customizing Movies

Making custom movies is easy. What you have to have is basic knowledge in whatever program you use to make them, be it 3ds Max or Softimage or Maya or anything it all works. You will need Rad Video Tools to convert the files to Kotor bik format.

When you make your movie, you have to have it rendered at 1600 x 1200 or else it will look like major crap in Kotor. When you make your movie, compress it to an AVI or WMA and open up Bink and Smacker. Bink the video you just made and put it in your Movies folder in your SWKOTOR subdirectory. Don’t worry about 2da editing as you would only need to edit a 2da if you wanted it displayed under movies in the start up screen.

To play it on your mod at a certain point you will have to use a script. There is an example of this on Holowan Labs by me and Darth333.

VIII. Step 5: Resource Files(Things to put in the override folder)

a. TGA’s

Any reskins you have done need to be saved as tga’s and put in the Override folder. Also note that tga’s must be square, IE: 512 x 512.

b. Others

This is really generic, anything you have created that overwrites or is added to the game that you do not place in other files is placed in the Override folder. DO NOT PLACE MODULE FILES HERE, that is a big mistake but a common one as well.

IX. Step 6: Promoting Your Mod

a. Screenshots

Screenshots are a big part of a mod, it lets the people view progress and view what content your mod will contain. Screenshots can be taken a number of ways. I personally use FRAPS for screen capture as it is always reliable, there are many others out there as well that will do screen capture where you don’t have to hit print screen. Make sure that your screenshots are at most 1024 x 768 as you don’t want the person to have to scroll around to see your picture. Screenshots should be included when you release your mod(we will talk about where).

b. Video
Videos are to be done after you have completed your mod. These are commonly called “Teaser Trailers” because they tease the viewer making their mouth water for your mod, so to speak. Its also fun to watch the comments pour in demands for you to release your mod. A video gives the player an in depth look at what is to come in your mod.

This one is FRAPS mandatory, any other screen capture program will record your game play buggy and choppy and that’s not nice. Also when you are recording record certain different parts, just little parts though, we don’t want the viewer sitting at his or her computer for 3 hours watching your trailer. Its best to record certain fight scenes, cutscenes, planets and anything else your mod has that is unique that you want to show.

c. Beta/Demo

Betas and demos are the best modes of promotion of your mod as it lets the player actually get in and play a few levels of your mod. This really gets them fired up about your mod, and should inspire support and maybe even bring you some new team members.

A beta is an early release of some of the beginning modules of your mod that has bugs in it and you want to release it so you can get feedback on what bugs there are. Typically this is released to your beta testers but you can release it to the public too.

A demo is like the beta, but without bugs, a demo is meant to be released to the public. It is meant to show them what your mod will be like, without revealing too much about the plot.

X. Step 7: Finalizing the Mod

a. Double Check All Your Work

Do a run-through of your mod and make sure you didn’t miss a thing. Go through every dialog option and everything and check to make sure you didn’t screw up some where.

b. Let your beta testers give it a test run

Proceed to step d before doing this.

Okay you have beta testers, now its time to use them. You see beta testers can check for things you might have missed or forgot to put in when you checked your mod, you don’t want to skip this part and release an incomplete product. So hand them a copy and let them give it a run-through if it comes out with some errors, fix them and give it to them again, repeat if necessary. NOW lets go to the next step.

c. Make A Readme!!!

Readmes are EXTREMELY important for any mod as they tell the player what to do with your mod once they have it. Here are a few elements to put in. (Do it in notepad)

1. Welcoming Note ( Just a Hey welcome to the mod, message)
2. Description (A brief description on what your mod is about)
3. Credits (A list of people who were involved in the mod and what they did)
4. Installation (Tell the people who to install your mod)
5. Uninstallation (Tell them how to uninstall your mod)
6. Play Instructions (Tell them how to play your mod once it is installed)
7. Special Thanks (anyone who was not in your credits but you want to thank, IE support people)

Okay now that’s done, ONE more thing to do and we are ready to do release!

d. Pack it up Into a .ZIP File

Okay, here is where it all comes together. Gather ALL the stuff you edited and added from all the folders, Make a new folder called Release, in that make these folders: lips, Movies, modules, override, streammusic, streamvoice. Place all the files that need to go into those folders in those folders. Remember do this BEFORE giving it to your beta testers. Now put it in a .zip file NOT A .RAR (Mac users cannot use this and PCGAMEMODS wont allow it).

Okay, NOW we have everything together and we can RELEASE IT! Don’t give yourself a standing ovation yet though.

XI. Step 8: Hosting This Bad Boy

a. Places to host

There are plenty of places to host your mod and I will speak of them here. Remember to post EVERYWHERE you can as you want as many people to get this as possible:

1. Your website(If you made one)
2. PCGAMEMODS (www.pcgamemods.com)
3 KotorFiles (www.kotorfiles.com)
4 LucasFiles (www.lucasfiles.com)

Those are the most common places to host your mods, remember to let the people know on your thread that you have released your mod, or they won’t know to look for it.

Congrats on making a Storyline mod. Cant wait to play it.


((Thats all of the tutorial, you can post now))