Jump to content

Tutorials WITHOUT "youtoob"


Recommended Posts

[GUIDE] Manual Cleaning Skyrim Master Files



Also on AFK Mods and The Assimilation Lab :




I requested it to be made a sticky like it is on the other sites, but so far no joy. Seems to me to be probably one of the most important topics to get a sticky because really to have a stable Skyrim game everyone needs to do their own cleaning .. Anyway, may aswell have it linked as part of your guides without videos too :smile:



Edit : Actually, AFK Mods has quite a few more important tutorials which dont require youtube ..



Wow, awesome links. Thanks, Alt!

Link to comment
Share on other sites

  • 3 weeks later...
  • Replies 618
  • Created
  • Last Reply

Top Posters In This Topic

Making Activators


I got tired of having a bunch of bowls of fire salts, void salts, vampire dust, and the like sitting around the cottage, because every time I took a deep breath, I knocked a bowl off a shelf or table. Then I got tired of having chests full of ingredients sitting around, and I got tired of "sorted" chests.


Soooo.... I made a bunch of pretties, though you can use the vanilla art too, obviously (I did that with eggs) -- a Bowl of Apples, a Dish of Fire Salts, and so on. This way I can still have the look of all that neat stuff, without having it fall to the floor when bumped, AND without having it disappear when used.


As "Flora", and with no "bigger harvest" mods employed, the player gets 1 apple, or 1 Fire Salt (or whatever) each time she "harvests" the dish in question. (I used the over-ride command to make the activate text say "Pick up" or "Take a pinch of" -- you get the idea)


And I thought about making "containers" instead of Flora -- but then the prompt is hard-coded as "search". Which sounds kind of silly... Search Bowl of Apples? Really?... That's goofy. UNLESS -- there's a way to change the Activate message for these containers ONLY and not globally, either directly, or with a VERY SHORT script that doesn't require a quest-container. But that's way beyond me.


I also want the player to get more than one item -- 3 apples, or 3 pinches of Fire Salts -- when they "harvest" the dish -- and either have the dish pretty close to unlimited item resources available, OR, refill itself daily (instead of the usual 3 days for respawn). I'm actually not even sure that Flora does respawn, so that's an answer I'd like to have.


So I decided to make Activators instead.


I opened the "Activators" part of World Objects and created "New". I named it "Bowl of Fire Salts", used the NIF I created, changed the over-ride text from "Harvest" to "Take a pinch of", and attached the following script.

Scriptname AllaIngredientHarvestScript extends ObjectReference  
;for harvesting Potion-Food or Ingredients from the dish or jar

Message Property EmptyMessage  Auto  
;Message  The dish is empty

Ingredient Property FireSaltsfromBowl Auto  
;what you get from this dish
;use Ingredient for Ingredients  
;use Potion-Food for food or drinks and so on

Int Property ResourceCount  Auto  
;how many resources you get each time, 3

Int Property ResourceCountCurrent  Auto  
;how many resources currently remaining in dish, -1

Int Property ResourceCountTotal  Auto  
;how many resources this dish has before empty, 999

ObjectReference Property objSelf  Auto  
;objectReference to self

Event onActivate(objectReference akActivator)
;player is accessing the dish
	If ResourceCountCurrent == 0

	If ResourceCountCurrent == -1
		(game.getPlayer()).addItem(FireSaltsfromBowl, ResourceCount)

And so -- From a Dish of Apples, the player can "Take an Apple", but the art-object remains in place. From a Bowl of Fire Salts, the player can take three Fire Salts, but the art-object remains in place, and doesn't clatter to the ground if you bump it (because it's a static object, not an "inventory" item.)


This would, of course, work for every single food, drink, or ingredient in the game, but I limited it to the commonly found stuff, and didn't include rare or hard to find things. It also seems to work for Soul Gems (filled or empty). I made a jar (using the butterfly jar and a bunch of "soul gem pieces" and called it Jar of Empty Petty Soul Gems, but with this one, the harvest really is only one item.


I've actually never been able to get a script to work -- EVER. The only one I use (other than the stock stuff of course) in any of my mods, is a "Firelighter Script" which was provided by Ishara. If that makes me sound as if I'm as dumb as a box of skeever tails, well, there's a reason for that. I am that dumb when it comes to scripting. I've tried to learn, I've followed the Wiki, I've gone through tutorials including Sjogga's, which at least makes some sense, and everything else, but the whole subject confuses me and makes me want to jump off Bard's Leap or something. So this is a first for me -- because IT WORKS!


I'm not sure the "ObjectReference" property is necessary. If anyone knows, speak up, and I'll add your answer in here,. I'm still wondering if/when/how Flora reset, and wondering if/when/how these activators will reset, so if anyone knows that, I'd love to have the answer and I'll add it here, too.


Note, in the title I substituted "FireSalts" or "Apples" for the word "Ingredient", depending on what I was doing. That may not have been necessary either. There may be a way to make ONE script for all the activators, that gives the right ingredient for the visual each time. But again, beyond me! This way took a while, but at least it was easy (for me, anyway.)



Edited by Allannaa
Link to comment
Share on other sites

Flora are meant to respawn, but there is a bug that prevents them from respawning properly if at all thus there is the mod Flora Respawn Fix.


Because there are different types of objects and you are pointing to them directly via property you would need to have a separate script for each object type. i.e. ingredients use one script, food use one script, misc-object use one script etc... There could be a complicated script using arrays/formlists that pre-store desired objects and you just change a numerical value property telling the script which index to use. But why bother? Much easier to change the property's object type as is now and probably less processing involved too.


Visually, it would be odd to have a full bowl of salt or apples and get the message that it is empty. If the activator box is independent of the placed graphic object, it would be possible to place an empty version in the exact same spot and use enable/disable functions to cause the empty one to appear when the "flora" has been emptied and the full one to reappear when the "flora" resets. Something to think about.


Anyway, gratz on making your first working script :thumbsup:

Link to comment
Share on other sites

Multilayer Parrallax Tutorial

Hello everyone!

There is a large myth going around that you can't use Parallax without ENB. People have been making textures around this myth for years now. I am here to tell you it is only partially true.

Multilayer Parallax is a powerful form of parallax that is a form of depth map. A depth map differs from a height map in that instead of raising the detail, it lowers some detail of a texture. In Skyrim, you can also fake subsurface scattering with this map, but this tutorial will not get into that at this time.

Regular parallax, as some of you know, is a height map. It is a single height texture. This form of parallax is not the strongest form of parallax out there. It is, however, the one youcannot use in vanilla Skyrim. Thus, the myth about parallax is partially true in that you cannot use the height-map based parallax. You can, however, use the more powerful, depth based form of parallax and that is what I am going to show you.

Time from now until complete implementation: roughly 5 minutes for seasoned texture artists.

1) Open your Diffuse map in Photoshop. go to the channels section, and click the "add new channel" button.


2) Open your normal map for the same texture, and make it a height map:

1) Select: Filters => NVidia Tools => Normal Map Filter


2) In the window that pops up, select "convert to Height Map" and hit ok. (Note, there are specialists programs out there such as Crazybump and Xnormal which may be a better option for this step.) (you may need to invert the X channel.)

3) With the results of that done, hit "CTRL+A" to select the entire image. Then "CTRL+C" to copy that result.

3) Go back to your Diffuse map, and select your new alpha channel. Make sure it's the only thing selected, then hit CTRL+V to paste what you just copied in there. What you just pasted was an alpha layer that makes certain parts of this diffuse disappear so your second diffuse can show.

4) Save the results of this as DX5 format. I like to suffix these with MLP so I know I am making a multi-layer parallax specific texture.

5) Now, in that same file, select your alpha channel again, and hit "CTRL+I" What this does is inverts the results of your height map, turning it into a depth map.

6) Save the results of that file. I like to suffix it with MLP_D to tell me it's a multi-layer depth map specifically. You should not need photoshop after this point so if you like, close it out.

7) Open the .nif file you wish to apply these multilayer parallax textures to.

8) Select the specific NiTriShape you want to apply Multilayer Parallax to.

9) In that NiTriShape, select Skyrim Shader type at the very top and turn that into Multilayer Parallax.


10) In Shader Flags 2, ensure that the Multilayer Parallax Flag is check. This will open up the multilayer Parallax flags at the bottom. Ensure no flags for environment maps are checked, as you cannot use an environment map and multilayer parallax at the same time. You also cannot have a glow map with multilayer parallax. If you want either of those in your nif, you need to model them as separate objects/NiTriShapes.

I would also advise beginner to copy the flag settings I have below if you are unsure which flags you need:


11) Scroll down the the sections that have the word Parallax in them as shown in the picture below. Play with these settings to your hearts content and find out what you can get away with in-game. Here is what those settings do:

  • Parallax Inner Layer Strength: This is how deep you want your depth map to go. Numbers appear to range from 1-100, but this hasn't been thoroughly tested yet.
  • Parallax Refraction Scale: This controls how much your maps wrap around your normal map. Numbers appear to go from 0-1, with 1 being 100 percent. Worth playing around with.
  • Parallax Inner Layer Texture Scale: This controls the scale of the UV map for your inner layer Diffuse, unless you are doing advanced mapping this needs to be at 1, 1.
  • Parallax Env Map Strength: Controls how much your top Diffuse effects the entire texture. Goes from 0-1, with 1 being 100% Suggest less than 1 and worth playing around with.
  • For those who want some suggested settings that work, see pic below.


12) We aren't done yet, time to plug in the textures. Go into BSShaderTextures by clicking the little arrow and plug your MLP into slot one, your normal map into slot 2, and your MLP_D into slot seven.

At this point it should be ok to save the file and test it in-game.

Total prep Time: 5 minutes or so. It really is worth doing and will boost the quality of your work an incredible amount.

Credits: Everything I learned was from this link, the rest I figured out on my own over the course of a night in order to make a modelling claim for Beyond Skyrim that much more special: http://forums.nexusmods.com/index.php?/topic/1188259-bslightingshaderproperty-basics/

(I figured we needed to start putting modelling and texturing tutorials in here ;) )

Link to comment
Share on other sites

Got some before and after pictures of that + parallax vs multi layer parallax ? Thx


Tried it, but didn't get a depth result, just the basic normal map effect. Maybe I forgot to do something, althought I don't think so. Maybe because of different texture and settings.

Edited by Pfuscher
Link to comment
Share on other sites

As i was trying to sift through 52 pages of replies, I was wondering if anyone had a good beginner's texturing guide? I do well enough with modeling in Max now, i feel my UV maps are decently set up, but when it comes to my texturing for in game.. (vomit) i fail horribly, OR my other option is.... if anyone is interested in texturing some nice pieces, let me know..

Link to comment
Share on other sites

Display Global Variables. Also posted as a question in Mod author forum.


I am using the creation kit and all I see is how to get a global variable and then check for a condition to display it.

I didn't want to write 100 conditions to anticipate every number the global variable is. I just wanted to display its current number

to give me an idea of what is going on with my script (troubleshooting).



I don't know all the ways, but I was successful using Debug.Notification.

GlobalVariable.psc already has the built in functions so no need to declare a function.


Look for the variable you want to display in the creation kit / under Miscellaneous / Global

For instance the value held in the GlobalVariableGV auto that will return the value of HasHireling.


1. Define a variable similar to the name of the global variable you want to display.

Example: GlobalVariable Property GlobalHasHirelingGV auto.


2. Declare a temporary variable that will get the value of your GlobalVariable.

Example: int HasHirelingValue=(GlobalHasHirelingGV.getValue() as int)


3. Display the temporary value in a debug statement so user can see the test in the game.

Example: Debug.notification (" Current Hireling Global : " + HasHirelingValue.GetValue() as int)



4. Compile


5. Declare the property GlobalVariable GlobalHasHirelingGV as "HasHireling"


6. Place the script on an activator, like a lever that has animation, Name the script that extends object reference conditional.

I did this for a duplicated Norlevl01 lever.



I have a step by step " How To" if anyone needs. Just email [email protected] or visit projectashenfire.org and check contact us link.

Link to comment
Share on other sites

  • 3 weeks later...


...you'll see that I said I'd like to COLLECT things here, not for my sole use, but for others to use and for anyone who wants it to have a quick-reference that's as up to date as I can keep it...

Did it not occur to you that a lot of people like/prefer video tutorials ?



I'm very sorry people can't read.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Create New...