TimBob12

Members
  • Content Count

    19
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by TimBob12


  1. Lip Syncing

     

    (the easy way)

     

    This tutorial will show you how to make custom Lip Synching with custom Voice Overs without the need for complicated Mod Prefixes etc.

     

    I advise you read through the installation of the CSLU Toolkit below before visiting the site.

     

    Tools you will need

    -Microphone / Voice Actor

    -Audacity - http://audacity.sourceforge.net/

    -Lip Synch Editor - http://www.starwarsknights.com/tools.php#de

    -CSLU Toolkit - DropBox Link

    -DLGEditor - http://www.starwarsknights.com/tools.php#de

    -Notepad

     

    Installations

     

    Download the Audacity Installer and install

     

    Download the ZIP file containing the LipSynchEditor and unzip it.

     

    The CSLU Toolkit provides some extra work to install. Visit the above link and enter your email and you will be sent a download link. Download the installer and run it. Select Typical Install and accept the default options. Then go and get a cup of tea while you wait for it to download and extract.

     

    Download the ZIP file containing the DLGEditor and unzip it.

     

    Notepad comes with windows.

     

    Writing Dialogue

     

    For writing dialogue here is an excellent tutorial

     

    https://web.archive.org/web/20150925104635/http://www.lucasforums.com/showthread.php?t=180845

     

    Although we will be focussing on two specific things which will be covered later.

     

    Make sure you have all of your dialogue written out and then take each individual line and put it in a text file. You can name it whatever you like but I normally use the NPC tag and then a 2 digit number e.g.

     

    Hello, How are you today? - commoner01.txt

    I'm fine thank you - commoner02.txt

     

    It just helps distinguish between files.

     

    Recording

     

    Now plug in your microphone and start up Audacity.

     

    Hold the microphone to your mouth and then press the record button and say the first line.

     

    lip1j.png

     

    You may find it is too quiet and that you need to use the Amplify Effect in the Effects Menu.

     

    lip2.png

     

    Then use the drop down menu on the audio channel and select Mono.

     

    lip3.png

     

    Then select File, Export and save it as the same name as the corresponding line in the text file for example commoner01.wav would be the sound file for

     

    Hello, How are you today? - commoner01.txt

     

    Record every line individually and put them in a folder with the .txt files.

     

    Make sure that there is no punctuation other than full stops, commas, question marks and exclamation marks as this is all it supports.

     

     

    Lip Synching

     

    To acheive custom lip synching you need to use the CSLU Toolkit to create a .phn file that can be read by the LipSynchEditor.

     

    To do this open Notepad and type the name of your wav file, followed by a space and the name of your text file. Continue this on the next line for each sound and text file. For example

     

    commoner01.wav commoner01.txt

    commoner02.wav commoner02.txt

    commoner03.wav commoner03.txt

     

    and this can be continued on. Save this as list.txt

     

    Next go into the LipSynchEditor folder you extracted earlier, then into Extras and then into Importing. There should be a file named makephn.tcl in there. This will need to be in the same folder as your voice overs, your text files with the words and your list file

     

    The next step is slightly different depending on your operating system.

     

    Windows XP:

     

    Click on Start -> Run and type "cmd" (minus the quotes) and hit enter.

     

     

    Vista/7:

     

    Click on the Windows Logo and run a search for "cmd"(minus the quotes) and click on the result that says either cmd or command. (I can't remember which it is as I have XP)

     

    You will now need to use some commands to navigate to the directory in which you saved all your files and the makephn.tcl script.

     

     

    The three commands are:

     

    dir - lists the contents of the current directory.

    cd *name of directory* - moves into the *name of directory*

    cd.. - Moves to the previous directory.

     

    For example I made the directory on my desktop and my default start location is C:\Documents and Settings\Tim

     

    So I would need to use the command

     

    dir

    cd Desktop

    cd Voice Overs

     

    The dir command is not necessary it just helps to find the names of some folders.

     

    You will then need to run the script makephn.tcl that you put in that folder and put list.txt after it. For example:

     

    makephn.tcl list.txt

     

    would be all you need to type.

     

    It will then think about for a bit and then if it is successful it will pop up with a little box that has nothing in. This means it is done and you can close it. If it comes up with an error double check that your sound file is MONO and that there is no excess punctuation in your text files.

     

    If you now check your folder there should be a lot of .phn files which are what we need smile.gif hurrah.

     

    Now start up the Lip Synch Editor and click File, Import Phn.

     

    Hold down Control and select all of your phn files.

     

    This should come up

     

    lip4.png

     

    Then click File, Save All and save your .lip files.

     

     

    Now open DLGEditor and click on one of your lines and find the VO_ResRef field. In here type the name of your .lip file without the .lip bit.

     

    Then tick the box that says sound exists.

     

    lip5.png

     

    You will now need to put the .lip file in the .MOD for the module or in a seperate .MOD for voice overs it doesn't really matter.

     

    Then the .WAV needs to go into the StreamWaves Folder for K1 or StreamVoice for K2, NOT INSIDE ANY FOLDERS.

     

     

     

    HUZZAH you are done. It will work.

     

     

    Hope this works.

     

    Any questions, I will endeavour to answer them.

     

    If I missed anything or it doesn't make sense then please tell me and i will correct it.

     

    Thanks for reading.

     

    TB12

    • Like 2
    • Thanks 1

  2. index.php?app=downloads&module=display&section=screenshot&id=45

    File Name: Populate Function

    File Submitter: TimBob12

    File Submitted: 02 Apr 2011

    File Updated: 13 Apr 2011

    File Category: Mods

    TSLRCM Compatible: Yes

     

    This script will allow you to easily populate an area using random number generation based on your specifications. It eliminates the need to find countless co-ordinates. You only need to find four co-ordinates to populate an area with as many NPCs as you like. (The engine really hates it if you go over 120). You can also choose whether to set them to walk randomly or not. You can use your own waypoints. I reccommend using this function in an on enter script.

     

    -----------------------------

    Installation and use

    -----------------------------

     

    You need to place the "populate.nss" script in your K2 Override. (This will probably work with K1 but I cannot confirm that). To use the function add the line

     

    #include "populate"

     

    at the beginning of your script.

     

    Then you will need to lay an imaginary square over the area where you want to spawn in. Then find the co-ordinates of the four corners using D3's Whereami armband. Write down what you get and work out the smallest X value and the largest X Value and then do the same with the Y Co-ordinates. Then include this in the main function of your script.

     

    Populate(0, 0, 0, 0, 0, Tag);

    ^ ^ ^ ^ ^ ^

    Amount xMin xMax yMin yMax Tag

     

    Amount = The number of NPCs of the specified tag to spawn.

    xMin = The smallest X value

    xMax = The largest X Value

    yMin = The smallest Y Value

    yMax = The largest Y Value

    Tag = The tag of the NPC you want to spawn.

     

     

    -----------------------------

    Use and distribution

    -----------------------------

     

    Feel free to use this in any mod at all. If you wish to modify the script then feel free to but LEAVE THE RANDOM NUMBER GENERATION FUNCTION IN TACT. It was not created by me and is essential to the smooth running of the populate function. If you modify the script and want to distribute it then please contact me first through either Holowan Labs or Deadly Stream - TimBob12 or by email - timbothompson@gmail.com. If you do redistribute then you will be required to credit bead-v for the creation of the random number generation script.

     

    -----------------------------

    Extra's

    -----------------------------

     

    There is an additional random generation script that was created by bead-v and, unlike the in game function, it supports negative numbers making it perfect for location generation.

     

    -----------------------------

    Credits

    -----------------------------

     

    The populate function and example script were created by me, TimBob12 and the random number generation script was created by bead-v. I'd also like to thank everyone who helped in the creation of this function specifically:

     

    Darth Insidious

    Varsity Puppet

    Bead-V

     

    -----------------------------

    A Final Note

    -----------------------------

     

    I hope this eases your Module Creation and you enjoy using this.

     

    Click here to download this file


  3. Script Condidionals

     

    Hello There,

    When I was making my Tatooine Job Office (http://www.lucasforums.com/showthread.php?t=206577)

     

    I wanted to find how to only make certain conversation options available after certain conditions had been met. Now I couldn't find a dedicated tutorial anywhere so I had to ask.

     

    So I thought I'd make it easier by writing this tutorial. This is my first tutorial so go easy on me :)

     

    Things you will need:

     

    KOTOR Tool

     

     

    Things you should read:

     

    http://www.lucasforums.com/showthread.php?t=143412

    http://www.lucasforums.com/showthread.php?t=143681

    http://www.lucasforums.com/showthread.php?t=143390

     

     

    Right Script Conditionals. What can they do?

     

    Script conditionals can be used when you want something (usually a dialog option) to only be displayed once a certain condition has been met. Some of the common conditions used are:

    • Global Variables
    • Local Variables
    • Item in PC Inventory
    • Certain Classes

     

     

    There are many other conditions but as long as the condition returns either TRUE or FALSE then it will work.

     

    Lets start Scripting!

     

    First of all if you have only coded a little bit in KOTOR before then this will look completely different.

     

    int StartingConditional() 
    {
     int iResult;
    
     iResult = ((GetGlobalBoolean( "your_global_bool" ) == TRUE) );
    
     return iResult;  
    
    }
    

     

    Right lets break this down.

     

    int StartingConditional() 
    

     

    This starting line is different than most scripts in KOTOR for one reason. In most scripts you do not require an outcome as they usually make something happen. We however want an outcome so the dialogue (or whatever) knows what to do / display.

     

    Most scripts start with:

     

    void main()
    

     

    Void is used when no output is required and means nothing or to get rid of.

    Int is a variable type meaning that it has to be filled by something.

    The StartingConditional() part tells the game that it is to be used as a Starting Conditional

     

    Script.

     

    The next bit

     

    int iResult;
    

     

    Here you are declaring the variable "iResult". You will use this variable to store the outcome and tell the game what to do. If you've never used variables before get used to it because they are VITAL to scripting.

     

    Then next bit

     

     iResult = ((GetGlobalBoolean( "your_global_bool" ) == TRUE) );
    

     

    This is the most important part of your script. It determines what must happen for the conversation option to become available and then puts it into the "iResult" variable. In this example it gets whether a global bool is TRUE and then outputs TRUE into "iResult"but there are other options such as

     

     object oW1 = GetObjectByTag("black_market_pad");
    
     iResult = GetIsObjectValid(oW1);
    

     

    This checks for the existance of "black_market_pad" in the PC's inventory and puts TRUE in the

    "iResult" variable.

     

    The last bit

    return iResult;  
    

     

    This simply tells the script YES or NO / TRUE or FALSE. If the script sees TRUE it will display the dialog option.

     

    Then you must simply compile the script and put the resulting file in the same place as your dialog. (For information on compiling scripts see one of the top links)

     

    To put it into the acttual dialog find the line you want to hide until the condition has been met and in the box that says

     

    "Script that determines availablilty" put the name of your script file (minus the extension)

     

    Thats it.

     

    Hope this helped.

     

    If you have any questions at all I will do my best to answer them.

     

    Thanks

     

    TB12


    • Thanks 1

  4. The reason why mods get uploaded with no review

     

    quote from Jonathon7 PM conversation of Holowan Labs

     

    Sorry for one of your older modifications not having a review, it is KotOR Files policy that all modifications should have screenshots and reviews for them. However one of the idiot overall Filefront Network admins, decides its a good idea to mass upload files when we are "behind" - meaning mods which break the game, or illegal, etc can get up on the site, it also means mods don't get a review. This was what happened last time... Sorry about that!

     

    GB j7

     

    Although I must say that the download and upload system on this stie is immensely superior.


  5. Hello There,

    I have just uploaded my first mod onto this site (http://deadlystream.com/forum/files/file/34-tatooine-job-office/)

    and I would just like to say that I am incredibly impressed. I think its a marvelous website with a much better file upload and present system than KOTOR files. I think it should be advertised a bit more, especially on Holowan Labs. Also possibly some modding question / tutorial sections would be nice. But overall I am incredibly impressed and dissapointed I have not found this sooner.

     

    Thanks ;)

     

    TB12


  6. index.php?app=downloads&module=display&section=screenshot&id=34

    File Name: Tatooine Job Office

    File Submitter: TimBob12

    File Submitted: 25 Jan 2011

    File Updated: 05 May 2011

    File Category: Mods

     

    This is my first major mod for KOTOR.

     

    This adds 3 new quests to Tatooine for the first KOTOR game. You can get these quests from the Jawa in the Czerka Office. The quests are:

     

    • The Missiing Supplies
    • The Missing Officer
    • The Missing Weapon

     

    This adds several new NPCs to the game including some fairly difficult fights. There is also a new store where you can buy some new custom items which I have made.

     

    All the script source is available and I have commented it all so that new modders can look and see how script functions can be used practically as each script has an explanation as to what it does.

     

    There is the option to have a manual install although TSL Patcher is also available to make it compatible with most other mods.

     

    Once again this is my first major mod so all feedback (good or bad) is appreciated.

     

    Thank you and enjoy

     

    TB12

     

    Click here to download this file