Jump to content

Search the Community

Showing results for tags 'Tutorial'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • AFK Mods
    • Administration
    • General Discussion
  • Bethesda Games
    • The Elder Scrolls
    • Fallout
    • Starfield
    • Tools of the Trade
  • Other Games
    • Total War
    • No Man's Sky
  • Unofficial Patch Project
    • Unofficial Patch Project Bug Tracker
    • Unofficial Starfield Patch
    • Unofficial Fallout 4 Patch
    • Unofficial Skyrim Special Edition Patch
    • Unofficial Skyrim Patches
    • Unofficial Oblivion Patches
    • Unofficial Morrowind Patch

Categories

  • Unofficial Patch Project
    • Files For Fixes
    • Unofficial Patch Betas
    • Skyrim Special Edition
    • Skyrim
    • Fallout 4
    • Oblivion
    • Morrowind
  • Starfield
    • Armor & Weapons
    • Cities, Towns & Settlements
    • Companions & NPCs
    • Gameplay Changes
    • Houses & Dwellings
    • Landscaping
    • Miscellaneous
    • Modders Resources
    • Models & Textures
    • Patches & Fixes
    • Quests & Adventures
    • Realism & Immersion
    • Tools & Utilities
  • Fallout 76
    • Armor & Weapons
    • Cities, Towns & Settlements
    • Companions & NPCs
    • Gameplay Changes
    • Houses & Dwellings
    • Landscaping
    • Miscellaneous
    • Modders Resources
    • Models & Textures
    • Patches & Fixes
    • Quests & Adventures
    • Realism & Immersion
    • Tools & Utilities
  • Fallout 4
    • Armor & Weapons
    • Cities, Towns & Settlements
    • Companions & NPCs
    • Gameplay Changes
    • Houses & Dwellings
    • Landscaping
    • Miscellaneous
    • Modders Resources
    • Models & Textures
    • Patches & Fixes
    • Quests & Adventures
    • Realism & Immersion
    • Tools & Utilities
  • Skyrim Special Edition
    • Audio
    • Armor & Weapons
    • Cities, Towns & Villages
    • Companions & NPCs
    • Gameplay Changes
    • Houses and Dwellings
    • Landscaping
    • Miscellaneous
    • Modders Resources
    • Models & Textures
    • Patches & Fixes
    • Quests & Adventures
    • Realism & Immersion
    • Tools & Utilities
    • Weird Stuff
  • Skyrim Classic/Legendary Edition
    • Armors & Weapons
    • Cities, Towns & Villages
    • Companions & NPCs
    • Gameplay Changes
    • Houses and Dwellings
    • Landscaping
    • Miscellaneous
    • Modders Resources
    • Models & Textures
    • Patches & Fixes
    • Quests & Adventures
    • Realism & Immersion
    • Tools & Utilities
    • Weird Stuff
  • Fallout: New Vegas
    • Armor & Weapons
    • Cities, Towns & Settlements
    • Companions & NPCs
    • Gameplay Changes
    • Houses & Dwellings
    • Landscaping
    • Miscellaneous
    • Modders Resources
    • Models & Textures
    • Patches & Fixes
    • Quests & Adventures
    • Realism & Immersion
    • Tools & Utilities
  • Fallout 3
    • Armor & Weapons
    • Cities, Towns & Settlements
    • Companions & NPCs
    • Gameplay Changes
    • Houses & Dwellings
    • Landscaping
    • Miscellaneous
    • Modders Resources
    • Models & Textures
    • Patches & Fixes
    • Quests & Adventures
    • Realism & Immersion
    • Tools & Utilities
  • Nehrim
  • Oblivion
    • Unique Landscapes Project
    • Armors & Weapons
    • Cities, Towns & Villages
    • Companions & NPCs
    • Dungeons
    • Gameplay Changes
    • Houses and Dwellings
    • Landscaping
    • Modders Resources
    • Patches & Fixes
    • Quests & Adventures
    • Visual Enhancements
    • Tools & Utilities
  • Morrowind
    • Cities, Towns & Villages
    • Gameplay Changes
    • Houses and Dwellings
    • Landscaping
  • Civilization
    • Civilization 4 Maps
  • Total War Series
  • Miscellaneous Files

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 2 results

  1. For a long time I was forced to look at the inventory models of skyrim and the many armor mods that have come out since then, but most armor mods dont come with their own GND models, but rather copies of those found in vanilla skyrim. So for the longest of times most of us had to accept the laziness of modders and bethesda, but not any more (for the most part). This tutorial will cover the conversion of a "skinned" model, or a model that is rigged to a skeleton, into a GND/GO nif. (Collision mesh is in another tutorial) Q: What is a GND/GO nif and what does it do? A: The GrouND/ Ground Object is the model that the player sees when viewing an item in their inventory or when dropped onto the ground such as food, clutter, potions, weapons etc, etc. TOOLS NEEDED: The latest Blender, or Blender 2.77a as that is what i'm using right now for this tutorial, you heard me right, we wont be using 2.49b anymore! LINK Nifskope 2.0, or 1.2.0 Alpha 2 LINK Nif importer/exporter dev plugin v4, download here just in case you cant find the latest version on the nifskope forums LINK Nif importer/exporter dev plugin v5, 20 June 2016 LINK Possibly GIMP 2.0 in case you want to manually edit textures LINK A BSA extractor tool, go search online for one, there are many, I will be using B.A.E. LINK Preparation: If you haven't already done so, extract your archives since this tutorial is going to be using the bethesda GND nifs as a form template, but more importantly their collision shapes are what we are needing since this tutorial utilizes. Disclaimer! This tutorial is meant to teach you how to convert a RIGGED MESH into a GND nif, or even tweak a GND nif as there really isnt a reason to convert other objects into GND nifs, and as it stands the nif plugin for blender is not entirely functional and is still in development, which means that the collision export is bugged, so you may have to play around with your export/import options and even your file afterwards in nifskope, collisions are to be covered in a later tutorial. Make back-up copies just in case your custom GNDs cause your game to crash, and make sure you have done everything with your knowledge to troubleshoot issues that could be caused by you and not the plugin/blender. This plugin can actually be used to make/edit armor and export just fine for the most part, but you may run into the vertex->weight issue, and I may release another tutorial covering that as well. I also assume that you know how to operate blender, as this tutorial teaches you how to convert a nif and not use blender itself. If you dont know much about operating blender or what i am doing in blender, please go watch some tutorials on creating things in blender on youtube as they are a great way for a person to learn and get used to the layout since 2.49b is vastly different from 2.77a. STEP 1) Download and install blender 2.77a, nifskope, and then install the dev plugin by File>User Preferences>Add-Ons>Install From File. STEP 2) Import your nif file(s) into blender, if you are going to use my method of converting a mesh and then replacing a bethesda nif that already comes with a working collision layer, I suggest you choose something from your extracted archive that would fit the mesh you are currently converting. Sidenote: Unless you have a custom default scene that is empty, make sure you have first cleared your scene by pressing A twice and then press the delete button when your cursor is in the 3d render window, and hit enter or click on the option that asks for you to delete. STEP 3) Link your textures in the material section, and that means all of them that blender asks you to, otherwise blender wont let you export your mesh. Sidenote: Click and hold your mouse wheel while your cursor is over the Properties Bar and scroll to the left in order to get to the materials and textures tabs. Your textures may not be automatically linked by blender even if all of your meshes are in the extracted archive which is why they appear to be black, so you will have to link them yourself, make sure your Viewport Display in your 3D view is set to Texture or Material in order to prevent confusion of whether or not your textures have been linked by blender. Make sure that you have linked the Diffuse and Normal maps, and any other "maps" blender recognizes a texture link to. Find the textures that your model needs, such as the diffuse and normal maps, and link them, they should appear automatically if you have set your display settings accordingly. WARNING SOME TEXTURE LINK DATA MAY BE LOST SUCH AS ENVIRONMENT MAPS BUT CAN BE RESTORED FULLY IN NIFSKOPE SO DON'T SWEAT IT IF IT DOESN'T KEEP THE TEXTURE DATA! STEP 4) Import your reference GND nif, and then repeat step 3 STEP 5) Align your rigged mesh to the reference GND, use the pose mode from the skeleton, rather than manually moving the vertices to save time and keep the ability to further manipulate and move around the mesh without having to manually edit the vertices. STEP 6) After you are satisfied with the posed position of your rigged mesh, apply the armature modifier to set the pose of the model. STEP 7) Delete all vertex groups after you have applied the armature modifier, or else your mesh will go back to its default T-pose state STEP 8) Delete the reference GND vertices, but do not delete the entire node, you will need that unless you want to go through the trouble of altering the new mesh's data to be exported as a GND object, instead of a skinned one. STEP 9) Merge the new mesh to the empty reference node, do this in object mode and use Ctrl+J, DO NOT MERGE THE EMPTY NODE TO THE NEW MESH OR IT WILL NOT WORK. STEP 10) Go back to your materials and delete the old material data, so that only your new mesh's material data exists. STEP 11) In object mode, select your mesh and collision layer, however since the blender plugin doesn't fully support collision export, you can delete it if you want to, but you can keep it if you want to generate an entirely new collision shape in Nifskope later on. STEP 12) Export your selection by going to File>Export>NetImmerse/Gamebryo (.nif), make sure your export selection is set to Skyrim, the default for the plugin is for Oblivion, you may get an error message that says your version number does not match the selected export option, which means you did not set your file version correctly, or you did not set your export version to Skyrim. You aren't exporting a rigged mesh, so don't change any of the settings anywhere else, just make sure your export game setting is set to Skyrim. STEP 13) Name and export your file whatever you wish, just be warned that your nif's exported name, will be the same name as your BSFadeNode, in other words if you export your nif as Scene Root.nif, the name value of the nif will be Scene Root. STEP 14) Open up your new GND nif, and open up your reference GND nif, you are going to remove the mesh of the reference GND and copy/paste in your own, that way you can keep the old collision data without having to generate a new collision mesh. Delete the reference mesh by right clicking on it in the display window, and click on Block>Remove Branch. STEP 15) Now go into your new GND nif and do the same, except copy your mesh for the reference by right clicking on your mesh in the 3d render window, and clicking on Block>Copy Branch. STEP 16) Paste your new mesh into the reference by right clicking on the BSFadeNode name, and clicking on Block>Paste Branch. Sidenote: Make sure you right click somewhere in the value of the name, for example from the Txt to the [0], otherwise Nifskope may end up pasting your mesh outside of the node, which would be bad news for you because the nif may not save and will not work and may cause your game to crash. STEP 17) Your new mesh may not have the same string name, as it so happens, all pasted data will assume the name of a pre-existing string name, so you must rename your string, I suggest the name of the mesh that was already deleted. If you want to give it a custom name, just remember that nifskope will literally make a new string name for each new letter or symbol entered into the table, which can lead to a stair-step string name list effect, it wont harm the nif, but it makes you look sloppy in your editing, go ahead and look at some old Skyrim armor mods, you may find some unused or old string names such as Material.001 for example. My node's name was assumed to be BSX, just click on whatever the deleted node's string name was, mine was helmet01:0, then press okay. STEP 18) Save your new nif as something other than the reference nif and your exported nif. STEP 19) If your nif file had more than two texture references other than the diffuse and normal, you will have to manually repath them in Nifskope. Expand the node by right clicking on the arrow to reveal the data within the node, expand NiTriShape>BSLightingShaderProperty and then select BSShaderTextureSet, then expand the textures menu in your block details, it should look like my reference image and you should see your two dds textures linked, and if you want to manually relink or change textures, just right click on the texture path and click choose, a menu should pop up and you will have to select the textures you want. Make sure you reduce your texture path by double clicking on the texture path, and deleting any text that comes before "textures\.......", as it may cause odd rendering issues as the game will be looking for textures that the user may not have, or the directory of the player using your mod may not be the same as yours is, which is why you should always reduce your linked texture paths. STEP 20) You are now done with your GND nif, if you are replacing a pre-existing nif, such as I am, I can copy and paste and rename the helmet nif accordingly in the right file location, use your extracted archive for reference. If you are wanting to make an entirely new GND nif for a custom armor, then you will have to put it where your armor is, make sure the file is named properly such as Helmet_GND.nif. If you are making an entirely new GND nif and want it in your game, you will have to manually link it in the Creation Kit, but there are tutorials elsewhere for stuff like that, as this tutorial was strictly meant to help you create a GND nif, not make a mod that uses it. Here is an example of the old GND nif that was low-poly, and here is the new nif that uses the same model that you wear. OLD version DOWNLOAD NEW higher-poly version DOWNLOAD If you think that this tutorial/method doesn't work, then please take a look at what I have made below by using this method.
  2. Modding Workshop: My First Quest Welcome to the Modding Workshop: My First Quest. In this tutorial we will be discussing how to create a lore-friendly quest using existing NPC's and recorded dialogue and how to package it properly for upload. We will briefly discuss item creation, triggers, and scripting, but this workshop will not cover every aspect of these topics, only what is needed for this task. Coming into this tutorial, you should already be familiar with the basics of navigating the Creation Kit and some knowledge of Papyrus syntax. Part I: Tools You're going to need several tools for this job in addition to the Creation Kit. BSAopt - Allows you to view the contents and extract from Skyrim BSA and ESM files. Voice File Reference Tool - Allows you to view and search the voice files from Skyrim without needing to extract them and shows file name, dialogue, and voice type. Unfuzer CPP Edition - Allows you to decompress FUZ files from Skyrim to WAV and LIP and compress WAV and LIP files to FUZ. Wrye Bash - Takes care of most of the hoop jumping needed to get your mod packaged for release to Steam. Not necessary for other mod sites who allow uploads of loose files. TES5Edit - Shows you what files are included in your mod and how they are interacting with their respective masterfiles and/or other mods. Useful for finding mistakes and conflicts. Experimental. Clean Saves - make your own or use my resource. Probably both. You'll want saves made at key points around the area and time frame in game that you'll be modding. For example - if your quest doesn't start until after a certain event, make a clean save before and after that event. This way you will be able to test if your quest triggers properly even if a downloader installs it on a game that has already passed that checkpoint. Notepad ++ - Text documents on steroids. Infinitely helpful for scripting. It numbers lines, helps you line up indented code properly. Such nice, much syntax. Tools you should already have Skyrim - Downloaded from Steam or installed from a disc. I recommend making a shortcut to this directory. You'll be going here a lot. Creation Kit - Downloaded from Steam and installed into the same folder as Skyrim. Archive.exe - comes with the Creation Kit (I believe) and is also in the same folder as Skyrim. Used with Wrye Bash to package a mod for upload to Steam. Useful Console Commands - These are indispensable for testing a custom quest to ensure it is functioning properly since almost all of what a quest does is behind the scenes. Open the console with the tildé (~) Commands contained in <brackets> indicates a variable that must be specified. Page Up and Page Down keys can be used to scroll up or down the Console gui getstage <quest ID> - returns the current stage of the quest movetoqt <quest ID> - moves you to the location of the current target of the quest, eg. where the map marker is pointing. setstage <quest ID> <stage #> - manually sets the stage of a quest. Won't help much if the quest hasn't yet begun. sqs <quest ID> - Shows quest stages in a quest and if a stage has been achieved. sqo - Shows a human friendly list of active and completed quest objectives for currently active quests. resetquest <questid> - Sets all quest stages in a quest to 0. coc <cell ID> - teleports the player to the cell specified. player.moveto <reference ID> - teleports the player to the reference specified, eg. an NPC or unique item. Part II: Preparation Now that you have your tools there are a few things you will need know more about. Script Fragments - used by a quest to determine how it behaves, when objectives are displayed/completed, when dialogue occurs, quest completion and advancement, ect. The Creation Kit has a default prefix it attaches to all fragments. For convenience you will want to change this default to be able to tell your own script fragments apart from original ones. To do this go to File>Preferences>Scripts>Fragment File Prefix in the CK window and fill it in with something that makes it yours. Hit Apply. Use the same prefix for any files you create inside your mod! This will help you locate them in the Object Window and elsewhere. You also need an outline for your quest. Each bullet in your outline will become a Quest Stage.Quest Begin Stage 0 The quest has started but the Player has not spoken with Archmage Savos Aren Quest Objective Assigned Stage 10 The Player has spoken with Savos Aren or is the Archmage Quest Completion Stage 20 The Player completed the previous Objective and ended the quest The beginning of a quest is always invisible to the player. Without the quest having already begun quest objectives cannot be assigned. Quest dependent dialogue, items, events, and anything else included in your quest will not be enabled and quest stages cannot be advanced. Part of quest creation will be determining how your quest will start. Will it start when the game starts (Unbound)? Will the player find a long forgotten tome that leads them to your quest (Rebel's Cairn)? Will they walk into a room ( The Golden Claw)? Will it be a combination of these things (Boethiah's Calling)? Quests that start when the game starts can be a strain on someone's save game and even corrupt it over time. Reading a book requires the creation and placement of said book and making sure the player knows how to find it in your mod description. Picking up an item has similar problems. Walking into a room, however... Can be done easily. I recommend using an interior cell to minimize conflicts with other mods and finding an interior cell your player will have to pass through during normal game play in order to complete your quest. Then you need to know how many objectives there will be - ours only has one objective. You can always add more and once you know how to manage one, adding more is simple. And lastly you need to end your quest which is more complex than it sounds. More on this later. Part III: Turning on the Creation Kit You thought I'd never let you. Well, now's your chance! We're finally ready. Turn on the Creation Kit and load the Skyrim.esm only. The default settings on the Creation Kit do not allow multiple master files to run simultaneously. It is possible, but not covered here. Starting the Quest: This tutorial quest involves only locations and NPC's from the Mage's College. There's no reason for this quest to begin running silently in the background until the player is there so we will put our quest's jump start in the Hall of Elements - the first interior cell in the Mage's College the player will enter. Find it in the Cell View window under Interior World Spaces and double click it to load it in the Render Window. We want the player to activate our quest as soon as they enter the room and the easiest way to do that is with a trigger. You'll need to be able to see Triggers to do this so enable them by hitting "M" on your keyboard. Your view should be of the main entryway of the Hall of Elements. Notice the big orange box taking up the entire room. This is a trigger. We're not going to use it though, except as a nice large object to create our own trigger around. Triggers when created will appear in the render window around an object that is selected so click on the big orange box. When you do you'll notice MG06SceneTrigger will now be highlighted in the Cell View window in the loaded cell's object list. Look for the Create Trigger button on the top bar of your Creation Kit Window and click it. A new window will pop up asking you to select a form. Double click NEW and name your new trigger. VainSQTrigger = My modder prefix, what my trigger is for (Sorcerer's Quest), and that it's a trigger. A good naming convention will be vital for what we're doing due to the sheer number of almost identical things involved in a quest. Once we reach dialogue creation you'll understand more. Hit okay and a nice friendly box will appear that is your new trigger! Looks complex but the only thing you do here is add a script to it. Just like with the trigger select [New Script] and name it something sensible. Since we're adding it directly to the trigger the CK has politely filled in what our script extends already for us. From Papyrus 101 you should know basic script construction. Declare Properties at the beginning, put in your events and conditionals, end everything properly and COMPILE. Now we get to use Notepad++! This should open up your script in Notepad++. If it doesn't, you'll need to go and make Notepad++ the default editor for .psc files. The only line that should be visible is the first line. You'll have to fill in the rest. Here's a good example - Here's a rundown of what you're looking at with this script. AND SAVE! Once you have saved you can now compile it. In the main CK window there's a drop down menu for Gameplay. On it is the Papyrus Script Manager and this is where you compile. If your syntax is correct a box will pop up for a moment and then disappear. If you have any mistakes then the compiler will throw errors at you until you fix them. They are usually helpful errors such as "Missing L Paren at 31, 2" which means you forgot a left parenthesis on line 31 column 2. This will not tell you if your script does anything, it will only check to make sure that your syntax is correct. And that's all we'll do with this for now. Once our script has an actual quest to refer to we can come back and make sure the properties we set fill properly. The last bit of setup is placing the quest objective. The objective is an amulet in the Archmage's Quarters. In the Object Window under Items>Armor>AmuletsandRings find one you like the look of, duplicate it, and rename it to stick with your naming convention. Then load up the Archmage's Quarters in the Render Window and drag the amulet into the room. Edit it and select Don't Havok Settle (so it won't go flying or get shouted into a wall) and UNCHECK Respawn. What's the point of making a unique amulet you can only get with this quest if it keeps coming back? Part IV: Creating your Quest Now that everything is set up for our quest we need to actually make the quest. Go to Object Window>Character>Quest and make a new one. A huge box appears. Lots of tabs, lots of nonsense, lots of bugs. Section A: Quest Data Nothing's filled in yet, tabs are missing, and a box is check that we don't want checked! Start Game Enabled: Almost completely broken. It doesn't actually work. This is why we created a trigger a little bit ago to start the quest. Vanilla quests using this mechanic are already encoded properly which is why they work. This check box should cause the CK to generate a file to do what it says and there is a way to manually do so, but it makes packaging and updating your mod more annoying and the more loose files you have the harder it will be for players to install. Run Once: does just what it says. It means that this is not a repeatable quest (Chop Wood). We can go ahead and leave this checked. This also makes resetting the quest impossible so keep this in mind during testing. ID: The Creation Kits reference for our quest. Anything referencing a quest will use this. VainSQ Object Window Filter: determines where our quest appears in the Object Window of the CK. Leave it blank and it will be on the first page with a ton of other quests. Fill in your modder prefix to have it create a new subsection of Quests just for yours! *Note: This will not take effect until you reload your plugin. The rest of this little group of boxes and windows determines where, how, and if our quest is displayed in the quest journal. Quest Name: The name of the quest as it will appear in the player's quest list.Quests of Type "Miscellaneous" will never display their quest name and so don't need one. Quests which have no objectives also will never display their quest name anywhere and don't need a Quest Name. Priority: Determines how dialogue is assigned. All dialogue is managed by quests. You may encounter issues where dialogue won't appear during certain quests if the priority on that quest is higher than yours. Frankly, you will want your quest a lower priority than the Main Quest (10) and equal to or greater than the priority of Miscellaneous quests (60). Shouldn't matter much. Event: Since Start Game Enabled is both broken and likely to make our quest cause save data corruption we have to use either an event or a script to start it manually. A script using the Start, SetStage, or SetObjectiveDisplayed commands will do just that. Using an Event to handle the beginning involves a more complex trigger called a Story Manager Event Node. Due to the complexity and the one-trick-pony nature of SM Event Nodes we'll stick with the Script/Trigger combination. Warn on alias fill failure: Just ignore this. Allow Repeated Stages: This is how the game manages quests like Lycanthropy and Vampirism where the transformation sequences can happen over and over again. Our quest will be once and done so ignore this. Type: This is how you choose what icon is displayed next to the quest in the player's quest list. If it's set to Miscellaneous your quest will only appear and be tracked with the Miscellaneous quests. This is what we're going to do for this quest since it is tiny and has no real impact on gameplay. Recompile All Papyrus Scripts: Saves you a trip to the Papyrus Manager and does all scripts attached to your quest in one fell swoop. Use to double check that all scripts have been compiled so that their changes will take effect. And we're not even going to use any of these... Export Quest Dialogue: Export Scene Dialogue: Calculate Voice Assets: Quest Conditions: Just another reminder - leave this blank. This locks everything else in the quest to only respond to any conditions set here. Much easier to manage each part of the quest separately. Text Display Globals: Hit Okay. Be sure to hit OK and save after you finish on each tab. The Creation Kit can crash without warning! Open your quest again. More tabs have appeared! We're going to go on to the next one... Section B: Quest Stages Index: Each stage has an index number from 0 to 65535. Our quest is only three stages long so we'll create three new stages number 0, 10, and 20. Start Up Stage: When a quest begins, no matter how - stages marked with this will run as well. With Stage 0 selected, we want this to be checked. Shut Down Stage: Stages marked with this run when the quest ends. With Stage 20 selected, we want this to be checked. Keep Instance Data From Here On: This checkbox was introduced with version 1.5.24.0 of the Creation Kit. It does something complicated we won't be using. Log Entry|Conditions: This is what will appear in a player's journal entry for a quest. As the quest progresses only the most recent entry is displayed. This will not show up on a Miscellaneous quest but we will need to add entries for any stages we are going to put a script on. The only stages will will be running a script on are Stage 10 and 20. Create a New entry for each of these stages and move over to the... Papyrus Fragment/Advanced: Also referred to as Result Scripts on this tab. These scripts run when the quest stage they are linked to is called. For stage 10's log entry we want the objective for this stage to appear when this stage is called so type SetObjectiveDisplayed(10) and compile. It'll take a second or two. Move to stage 20's log entry now and give it the script SetObjectiveCompleted(10). When the quest advances to stage 20 the objective we assigned in stage 10 will now complete. Seems a bit backwards, but trust me. It all works... more or less. Once we've done that feel free to nip over to the Advanced tab and see the name of your script fragments! Now you see what the Fragment File Prefix setting does. You can rename the script from here if you like, delete it, or regenerate it. You'll also notice that while each stage is compiled separately - the same script is being used for all stages. Complete Quest: If this box is checked, that stage will trigger the "Quest Completed" message, and move the quest from the active to completed portions of the player's quest list. This doesn't stop the quest from running. With stage 20 selected we want this checked. Fail Quest: The same as Complete Quest, but triggers the "Quest Failed" message. Next Quest: Does... absolutely... nothing. Conditions: Don't touch this. These must all be met before the quest stage they are tied to will run. Section C: Quest Objectives Objective Index|Display Text: This is what will appear on screen when a script calls SetObjectiveDisplayed and what will be listed in the Journal for the objective, even for Miscellaneous quests. There is one objective in this quest so we will make a new one. Quest Objective Data: This section is where we actually fill in the details of an objective's index number and display text. Index: This is the number scripts look for to know which objective you mean. Like SetObjectiveDisplayed(10) will display whichever objective is numbered as 10. Which happens to be what we told it to do so number this objective 10. Display Text: Fill this in with something lore-friendly like Search the Archmage's Quarters and click anywhere. If the big box on top is still blank... make sure you have the empty objective selected before editing the Objective Data section and do it again. ORed With Previous: When checked, if this objective and the previous one are both displayed, they will appear in the interface as a single objective (automatically combined with an "or" in between). Also, if one of a group of ORed objectives is completed, the whole "group" of objectives will be marked complete in the interface (Blood on the Ice). I can't stand having incomplete objectives in my completed quests so... please... do it for me. Quest Targets: Each target needs an alias (quest marker) and can have a set of conditions. We will come back to this section once we deal with the Quest Aliases tab because creating one here does nothing since there are no aliases to link it to. Target Ref|Conditions: Fills from the drop down menu of Quest Target Data when you create a new one. Quest Target Data: Drop down options are created on the Quest Aliases tab. Compass Markers Ignore Locks: If your quest target happens to be in a large building like a castle or stronghold where some doors may be locked but not others checking this will make the quest marker attempt to show the player the closest door rather than the closest unlocked door. Section D: Quest Aliases A Quest Alias is pretty much how you make map markers and objective markers that guide players to quest objectives and locations. It only appears if the player is tracking the quest and in our case it will also be on the item needed to complete the objective. The item the player needs to find is the amulet we placed in the Archmage's Quarters. Here order actually matters if you have more than one alias. This tab is actually very complex. We don't actually need to know that much about it to do what we're going to do. Create a New Reference Alias (it should be obvious if you need a reference or location alias... does the alias point to an item or a cell?) in the big empty box and wait... wait for it... waaaaait for it... Welcome to the box whose bottom you shall never see. No, I don't care how big your monitor is. Alias Name: Let's call it VainSAAlias Fill Type: This section gives us six different way to fill our alias when the quest begins. Which you choose really depends on what your alias is... Specific Reference: This can be memory consuming as the alias will always be loaded even when the quest isn't running, even when the player is nowhere near the quest object. Especially if it's something like an actor. Once a quest is running, all aliases for the quest behave this way. This is also the easiest way to go and what we're going to do for our amulet. Unique Actor: Obviously an amulet isn't really an actor so we won't worry about this. If you were using an actor as an alias their reference would have to have a Persist Location - setting up an actor like this isn't outlined in this tutorial but seemed good to mention. Location Alias Reference: Pick a Location Alias from this quest (must be higher in the list than this alias), and pick a Location Ref Type. When the quest starts, the Story Manager will attempt to find a matching loc ref type from that location to fill this alias. External Alias Reference: Select another Quest, and then a Reference Alias from that quest. When this quest starts, it will fill this alias with whatever is currently in the selected alias. Note* If the selected quest isn't running, or the selected alias is empty, or if the alias reference is inside a container (including an actor's inventory), this alias will fail to fill. Create Reference to Object: When the quest starts, a reference will be created using the selected base object. The new reference can either be placed at the same location as another Reference Alias (usually a marker), or in the inventory of another Reference Alias (which must be a container of some kind). Find Matching Reference: This option allows the Story Manager to find a reference from anywhere in the world (but only persistent references, or Unique actors, can be found this way outside the loaded area). The "Match Conditions" are used by the Story Manager to filter the potential choices. This also has a bunch of other options attached to it - In Loaded Area: This limits the search to the loaded area (a player's current interior cell, or the 5x5 cells around the player in a worldspace). Useful when you want something near the player. Closest: Only available when searching "In Loaded Area", this will cause the Story Manager to prefer the closest matching reference. (Otherwise it picks randomly from all matching references.) From Event: This is only available for quests which are started from an Event through the Story Manager - we used a script instead, remember? Near Alias: Select another Reference Alias on this quest - the Story Manager will run the conditions only on any references linked to that alias's ref. Make sure that a reference linked this way has no keyword attached! We also want to have the quest advance/complete when the amulet is picked up so we can either attach a script here or to the amulet directly. It's generally tidier if you keep scripts that will only run during a quest in the quest so add a new script here, make a new one and have it look something like this - Compile, Hit OK SAVE Part V: Dialogue Dialogue Views This is possibly the most difficult part of quest creation. Half of it is broken. We're not going to do anything on this tab until the very last possible second. Note* Conversations beginning from the NPC (Having them say "Yes, what do you want?" when activated or them initiating the conversation) will require that information placed here. But again... TO THE NEXT TAB! Section A: Player Dialogue In order to create fully voiced dialogue there are no less than THREE different programs in addition to the Creation Kit needed. Voice File Reference Tool (VFRT) - Allows you to look up dialogue in an easy to navigate GUI by word or file name without extracting anything. BSAopt - Allows you to extract BSA files - in order to use any dialogue (as with any vanilla file) you should duplicate and rename it and package it as part of your mod. This is how you do that. Requires Windows Vista or later. Unfuzer CCP Edition - Allows you to decompress the FUZ files for Skyrim's vanilla dialogue into LIP and WAV files and/or recompress LIP and WAV files into a FUZ. Your new best friend. You need to know how to use each of these programs for this next section. They are not difficult to use and do just about everything all by themselves. Dialogue Branch: Groups Topics together. They allow the dialogue system to:Organize and distinguish between dialogue trees. Each Branch represents a line of the conversation. Account for the fact that the player can enter and exit dialogue at any time, providing a means for the player to reenter an interrupted conversation. An individual branch can only have one NPC speaker and can have infinite topics attached to it. A new branch is required for every different NPC speaker. On the Dialogue Views tab color for these matters. Yellow = top level. Green = blocking. Blue = normal. Topic: Holds and organizes Infos. Info: NPC dialogue lines. Say Once: Buggy. Avoid when possible. Tends to break quests. Now that we're here we need to know a little more about the voice our NPC is using. The Archmage Savos Aren uses the voice type MaleCondescending. That jerk. Using this data we can use the VFRT to go through all the lines that voice type can speak and construct a conversation from them. Like the following: The .FUZ are the file names in the Skyrim - Voices.bsa - what we will be extracting with BSAopt. Go ahead and do this now. Using Shared Dialogue is supposed to be easier, but life is pain, Highness. Anyone saying otherwise is trying to sell you something. Now that we have our very stilted and contrived conversation structure, let's creat it! Create a new branch in the Branches section. The name that pops up is the name of your quest. If you hit OK the CK will remind you that it is already in use by the editor so add Branch1 to the end of it. Hit OK and another prompt for the first topic name pops up. Feel free to shorten it but make sure to number your topic. Do not delete your branch and remake it once you have created it. Reload your plugin instead. Deleting a branch doesn't delete it. Sometimes the CK can remove deleted items from plugins... usually not. More on that later. Now you can choose your topic subtype. This dialogue isn't a Rumor or a ForceGreet package so select Custom. With your topic selected, fill in the Topic Text (our player's first line) and create a new Info in the big box on the right. If you find you have to click twice sometimes, that is because the first click is the CK running a spellcheck on what you just wrote! Big friendly box! Can't do much here yet so hit OK! Woah... new box such big much options. Topic Text: The Topic Text inherited from the Info's Topic, if any. Can't be edited from this box has to be done on the Player Dialogue tab. Prompt: If left blank, the prompt leading to this Info will be the Topic's Topic Text. If filled in, this text will be used instead. Useful if your Topic Text instead contains a summary of what is being said instead of the actual dialogue. Speaker: Choose from a drop down list the NPC speaking this line. Share Response Data From Info: Select a SharedInfo ID to acquire the response lines from that Info. This allows you to reuse the same lines in multiple places. This is why shared dialogue is easier.The Filter box, immediately above the dropdown, filters the SharedInfo IDs by the text you specify. The elipses (...), immediately to the right, will open the selected SharedInfo form. Responses: The list of Responses (individual, sequential lines) that the NPC will say. Flags: Has LIP File: Whether the game should expect a lip-data file for this line. We're going to have these since our vanilla dialogue comes with .LIP files. On Activator: Not used. Say Once: If checked, this Info can only be said once by any given Actor. As with Run Once you only want to use it his if you never want the player being able to see this ever again. Goodbye: If checked, when this Info (line of dialogue) is completed, the conversation will end. Force Subtitle: If checked, the subtitle for this line will always be displayed, regardless of the player character's distance from the speaker. DOES NOTHING! WOOO! Random: If a Random Info qualifies, it isn't said immediately. Instead, the Info is put onto a stack. If the next Info is also Random, it's put on the stack. The stack keeps building until an Info that is not marked Random is found, or an info marked Random End is found. The final Info is then added to the stack, and one of the Infos is selected randomly. Can Move While Greeting: If checked, if this Info is a Hello, the Actor can continue to move while speaking the line. Has no effect on any other line. Random End: Used to mark the end of a set of Random Infos. Technically, Random End is only necessary if the next qualifying info is also Random. However, it's good practice to end all Random Info sets with a Random End. Spends Favor Points: Not used. Favor Level: Not used. Audio Output Override: Allows you to select an Audio Output Override. The most common use of this feature is to select a different audio falloff radius (for example, SOMDialogue3D8000), which will allow the dialogue to be audible at a much larger radius than usual. Hours Until Reset: After this line is spoken, the speaker will not say it again until the specified time has elapsed. Conditions: The conditions that must be satisfied before this line will be spoken. VERY IMPORTANT! I recommend: GetStage: Dialogue triggers on a specific quest stage or even disappears when another stage triggers. GetQuestCompleted: Dialogue goes away when the quest is done or won't trigger until a quest is completed. GetIsID: Dialogue will only be spoken by this actor - you don't want every bartender to say these lines meant only for the Archmage. Copy All Conditions and Paste Conditions right click options. Save you time if you have a conversation taking place with the same conditions. Link To: The next line of dialogue that will be spoken in the conversation. When this Info is finished:If there are no Topics in this list, or none of the Topics have a valid Info, the Actor's top-level Topic List will be displayed. If one or more Topics with valid Infos in this list, a Choice List will be presented, allowing the player to select the next Info. If Invisible Continue is checked, only one Topic may be placed in this list. When this Info is finished, the next Info will begin automatically; no player prompt will be displayed. If Walk Away is checked, the dropdown becomes enabled, allowing you to select one of the Topics from the list above. If the player backs out of this Info's Choice List, the Walk Away Topic will be spoken as dialogue ends. If Walk Away Invisible in Menu is checked, the Walk Away Topic will not appear in the Choice List. Scripts: Don't worry. These will be nothing as scary as the first script, more like the little objective scripts we made. Begin Script: This script runs when the Info is played, when the Actor starts saying the line. End Script: This script runs when the Info is finished, when the Actor finishes speaking. In practice, it may take a second or two after dialogue has ended for this script to trigger. Script Add/Remove/Properties: Allows you to add, remove, or edit the properties on any Papyrus scripts attached to this Info. Here's a good example: GetOwningQuest().SetStage(10) GetOwningQuest().SetObjectiveDisplayed(10) This tells the script to look at the quest it's assigned to (scripts are very stupid, have to be told everything) and what to do. I want the last Info in this conversation to advance the quest to Stage 10 and to display the Objective on the screen for the player. We're still making the first one so let's get back to that. Set the Speak to Savos Aren and set up your conditions. Condition == 1 means it has to be true. Once you're done make a new Response which will pop up in a new box. This box looks familiar! From our conversation outline we know Savos' first response to the player will be: Let's just hope it stays this way for a long time. Uncheck Use Emotion Animation and skip down to the Audio section. If you View Valid NPCS for this voice type only Savos Aren should appear. Hit OK and then open it up again. There should now be an entry for the audio file. Record a few seconds of silence to actually generate the file and SAVE. Note the file name and path. It will be something along the lines of: Data>Sound>Voice>Mod Name.esp>Voice Type>Filename.xwm Hit OK Now remember when we made our Branch it prompted us to make the first Topic? Right click in the Topic list and make a new one for each line our player will say. Four in all. Fill in the lines for both player and Savos as we did for the first topic and record a few seconds of dialogue for each and note each file name. Now we get to go through and use the Unfuzer on those extracted .FUZ files of ours... I recommend doing this one at a time as it is easy to get mixed up moving back and forth between files and folders so much. UnFuze the .FUZ files into their .LIP and .WAV files and rename them to their corresponding files in your mod's Voice Type folder and replace them. Once they are there, reFuze them. There is a rare bug where the Skryim engine will not play back files in a different format. Best to head it off. Don't forget the script on the last Info to trigger the quest to advance to stage 10! AND SAVE! 'Cause we're going back to the Dialogue View tab... Create a new View keeping the same name convention we've been using... and right click in the big empty field next to it. Select Insert Branch into current View and the branch we created should be the only thing on the list. Make sure Current Quest Only and Current Dialogue Type Only are checked and hit OK. That's all you have to do but if you want you can drag your different Topics around and see how they all connect. Check Show All Text at the bottom if you want - this is just for the editor. Hit OK. Now go back through all of your files and double check the scripts. You'll want to make sure that all the properties have filled properly (editing them and telling it to auto-fill should fix it, if not... you may have bigger problems). Note* Not all Creation Kit errors are nonsense! If you encounter errors when loading your plugin that are specific to your plugin then follow up on them! And you are done. Save. Go quest. Also - uploading to Steam is hard. Arthmoor has saved us! Arthmoor has pretty pictures on his tutorial.Find where Wrye Bash installed, usually something along the lines of Steam>steamapps>common>Skyrim Mods>Bash Installers From there create your mod's folder including all subfolders such as meshes, voice, scripts, ect. Copy all the loose files used in your mod into their appropriate subfolder (For scripts you only need the .pex files but can include the .psc files for documentation if you so choose) Now open Wrye Bash and switch to the Installers tab where Sorcerer's Silence (or whatever you named your mod) should show up and make sure it has no errors. Anneal if it says it's not in the proper state and Install Missing if it complains it's missing files. Open Archive.exe in your Skyrim directory and click on the ellipses (...) next to the Root Dir and find the mod folder we just made in the Bash Installers folder. Select Misc, Voices, Retain Directory and File Names. When in doubt on if you need a folder, check the box. The Archive will ignore folders you don't have box check or not. Leaving the Archive.exe open switch to the Bash Installers folder and drag all your files EXCEPT for the .esp into the Archive window. Now you want to Save As using the same name as your .ESP Now you can upload the .ESP and the .BSA to the Steam Workshop through the Creation Kit
×
×
  • Create New...