Jump to content

ruddy88

Supporter
  • Posts

    72
  • Joined

  • Last visited

Everything posted by ruddy88

  1. I see people ask about this all the time, and since I'm sick of typing out explanations each time I figured I'd type up a bit of a informative guide on what blackface is and how to fix it, hopefully in a relatively easy to understand way. I'm sure we've all come across it, but for those who haven't, blackface is when you you load in to game only to find a bunch of your NPCs have dark skin textures. Before we continue, we should address how NPCs faces are actually handled in game. When we start a new game, we are taken to the character creation screen where we alter a bunch of sliders to create our players face. These sliders can represent what type of headparts are used (hair, brows, beards etc), as well as represent a morph value for the shape of these parts (nose length, eye height, chin width etc). NPCs are technically created the same way, theyre head is just the result of a bunch of sliders that were created by the developers. the difference, is that NPCs heads arent generated dynamically in game based off the slider data, but are instead pre-generated and exported as a standalone mesh and texture, we call this FaceGen and FaceTint respectively. This is, to my knowledge, because loading a pre-generated mesh is much less taxing than having to generate a mesh dynamically based of slider data. So, what causes blackface? Basically, a NPCs facegen mesh (.NIF) consists of multiple mesh shapes (TriShapes). These shapes each correspond to the various headpart's that makes up the complete head. Headparts are the individual head building blocks that make up a face (head, eyes, hair, brows, beards etc), each of these have an individual headpart record stored in the game plugins. The Facegen's TriShapes are labelled with a string (text) that matches the name of the headparts in the game plugin. With me so far? An NPC will also have an NPC record inside a plugin (ESP/ESM), and in this NPC record it will list all the headparts that the NPC uses. It will also list any other slider data used to "morph" those headparts, as well as tint data for any overlays (scars, warpaints, complexion etc) and colors (makeup, skin tint etc). Blackface occurs, when the headpart labels in the facegen mesh dont match the headparts listed in the actual NPC form in the plugin. If the NPC form says that the actor has a hair headpart named LongHair002 but the facegen mesh has a string labelled HairShort001, then the game will get confused and the result will be a blackface NPC. Thats the basics of it anyway. The basic fix, by the way, is to make sure that the winning NPC record and the winning facegen assets match. But we will go in to more detail in a moment. First lets discuss a few scenarios. This mismatch in data can happen for a few reasons, and I'll cover the ones that I can think of. Scenario 1: Load order vs Asset order. Mod organisers like MO2 and Vortex allow independent managing of both assets (meshes, textues, scripts etc) and plugins (esp, esm, esl) independently of each other. This is an important concept to comprehend. Let's say you have two mods that modify NPC looks. They both handle multiple NPCs, but unfortunately they overlap and both edit Lydia. You install MOD A first, by default it gets added to the bottom of your load order. Now you install MOD B, which is now the new last loaded mod. You realise that you prefer MOD A's visuals, so you move the plugin for MOD A down to the bottom. BUT, you havent moved the actual mod folder down to match it (Vortex can use rules to handle this but I am a MO2 user and not too familiar with it). What this means, is that the GAME RECORDS are expecting all the visual changes from MOD A, but the actual assets being loaded are going to be coming from MOD B as the folder order wasnt adjusted when you moved the plugins around. Simple fix for this is to just move MOD A's asset folder back below MOD B. Done. Scenario 2: BSA's. Another important concept to understand is how asset loading works in Skyrim. Skyrim can use BSA's to archive and compress assets in to a single file (basically a Bethesda version of a .rar/.zip file). This is great for loading times, but can cause issues at runtime. Why? Because loose files will ALWAYS take priority over files in a BSA, no matter what the order is. So, using the same scenario as above, we have MOD A and MOD B both affecting Lydia. This time however, you make sure that both the assets and the plugins from MOD A gets loaded last. The problem, is that MOD A uses a BSA, and MOD B uses loose assets. This means, that even though MOD A is loaded last, the loose assers of MOD B will still take priority over anythign in MOD A. Which is bad for us, because it means we will still be getting Facegen from MOD B while trying to load NPC data from the plugin in MOD A. The solution? again, manage your load order correctly first, then extract all the files from MOD A's BSA so that it is instead using loose files. Bethesda Archive Extractor on Nexus can handle this for you. Just run the program, navigate to your mod managers installed mods folder, extract the BSA in the same location then delete the BSAs after to free up space. Done. Scenario 3: Unexpected mods. This is another common cause of blackface and one that catches a lot of people out. Unexpected mods that load later which may also affect NPC records. We spoke about NPC records before and discussed how they contain a lot of data about how the NPC looks, but they also have a lot more data on them, things like raw stats, names, inventory, spells, ai packages and classes. There's quite a lot of data in an NPC record and its quite likely that other mods will need to make changes to various non visual changes to NPCs. An obvious example would be mods like "AI Overhaul". This mod alters NPC packages, which requires making changes to NPC records to add those packages to them. The problem with this, is that these are the same NPC records that contain all those visual changes needed for your NPC visual ovrhauls to work. So, again, we have our MOD A and MOD B, both affecting Lydia. We want MOD A's changes to win so we've managed our load order so that MOD A loads after MOD B, we've adjusted our assets order the same way and we've ensured we've extracted the BSA's for these mods where necessary. Everythings working, then we install a few mods, and suddenly Lydia has black face again. We do some digging and we find that MOD C is trying to change Lydia's default armor and inventory items, but all the visual data from MOD C is still the same as vanilla. As such, MOD C also doesnt have any facegen data, because on its own it wouldnt need it. But this means we now have Facegen From MOD A, and visual data that matches the vanilla NPC face. Mismatch = Blackface. This time though, we can't just move MOD A below it again, or we will lose the changes the MOD C brings about. I mean, it IS an option, if you come across a mod conflict that doesn't do anything major and you can live without then you can just move your load order around, but if you want the changes for both there's only two options. Option 1, is look for a patch. AI Overhaul for example, has gotten a lot of traction, and many of the big NPC overhauls will come with an AI-O patch that you can use. But if no patch exists, then you're only other option is to patch it yourself using XEdit (collective name for TESVEdit, SSEEdit, FO4Edit etc). Now, I won't be explaining how to use XEdit, there is other guides out there and it's far too confusing to type in an article that is already long winded. But, Once you have gotten the hang of basic XEdit functionality here is what you can do to make a quick patch of an NPC, in our case Lydia. First, navigate to the plugin of the mod that has the visual changes you want, expand it, then expand NPC group. Find the actor, in our case Lydia, right click the form and choose copy as override. Scroll down to the bottom and choose to copy it to a NEW ESP. Name your new plugin (LydiaPatch.esp for example). Now, select Lydia again. You will see on the right window that all versions of the Lydia record are displayed with the plugin name at the top of the window thats making that versions changes. To the far right there will be your freshly copied patch version, which currently is just a duplicate of our MOD A (the one with the visual changes). You will however, also see a bunch of colored highlighting, this all representes various states of conflict. Green background means its all gravy, there is no conflict, but the other colors (yellow and red mostly) indicate that there is some sort of conflict. This makes it easy to see what fields have changes in earlier versions of the record that may not be present in the winning override. Now, conflicts are not the end of the world, they are often unnavoidable. The goal isnt to make the whole column green, it is instead to make sure that you've inspected each colored conflict to confirm it is using the changes you want. In our case, we will see that there is conflicting data on the "Default Outfit" field, as well as on the "Items" field, as this is the two fields that were modified by MOD C. We can safely drag data from MOD C over to our patch as we see fit. Our main concern here is to make sure that we do not make any changes to any of the visual fields, these all need to remain the same as they were in MOD A because we will still be using the Facegen from MOD A. Once we're done, we can close XEdit and save our patch, now all we need to do is make sure our patch is active and loaded after MOD A and MOD C. Note, if you are still adding more mods then it's entirely possible another mod will come along and make more edits to Lydia, just keep an eye out and if you run in to problems then just fire up XEdit and add further changes to yoru Lydia Patch, or make a new patch. Ok, so those are the three most common scenarios that I can think of. Let's talk about other possible solutions, and the issues that can come with them. Export Facegen! I see this answer a lot, and honestly, it's just asking for problems. Basically, a lot of people will say to fire up the creation kit and re-export facegen for that character, that way the facegen and the plugin data will match. And, yes, that is correct. But the problem with this is that there is limitations to what the CK can export. See, most NPC visual overhaul mods arent actually made in the Creation Kit, but are instead made in Racemenu or ECE or an alternative. These mods unlock morphs and slider ranges that are well and truly extended past vanilla ranges. But the creation kit doesn't know about these ranges, it only knows about vanilla morphs ranges. Lets say a modder makes a face, Eye height is at the minimum, but due to Bethesda's often terrible headparts, the eyes still seem too high. So, with the help of racemenu they use one of the secondary racemenu eye sliders to reduce the height further. They then adjust features of the nose to thin the bridge, flare the nose wings, minimise the nose tip and point it up a tad. Getting there, but we need some work on the mouth, lets add some mouth corner depth and a hint of a cheeky smile, bring the teeth forward. Now lets add some weight to the lower cheeks, round out the jawline... pretty good! All of those changes were made using racemenu only sliders. None of them other than the first eye height slider actually exist in the vanilla game. But we're not done yet, lets take it in to racemenu sculpt and really fine tune it! 7 hours later the modder is done, theyve got a face they like, and they export it using racemenus built in export functions. To make the mod an NPC they now also have to go through a bunch of workarounds to merge that exported data in to a CK exported facegen (its a pain in the ass to do). Finally hey have a functioning facegen for their NPC character, they upload it as a mod, we download it, aaaaand because of our other mod conflicts we have blackface. Soooo we decide to head on in to Creation Kit so we can just re-export the facegen... And here's the rub, virtually all of those changes the mod author had made to perfect that face, have now disappeared. We are left with an NPC face that DOES have all the right headparts, but the vast majority of morphs and tweaks that were made to actually shape the head are now gone, only the basic handful of vanilla slider changes will be brought across. The result will be a horribly ugly potato shaped mess. Now, that's not to say you CAN'T export facegen, if its for an NPC that's only been modified with vanilla sliders then it will work just fine, it's just not very common to see that these days, and in most cases you'll end up with borked faces. I mean, they wont be blackface anymore but they'll sure be ugly. Anyway, this has already taken quite some time, I think I will leave it there for now and will add more if I think its necessary. Leave any comments if you see any mistakes, or suggestions, or if you have any questions and I'll try get to them when I can.
  2. oh look, Necro'd post AND piracy... we have a double whammy here.
  3. In response to post #60325966. #60326041 is also a reply to the same post. Will you see the actual listed percentage you are getting? or just a total amount? As mentioned in another comment, if I agree for someont to port a mod with the condition that I get 50% of DP, I would want to be able to confirm that I am not getting ripped off from someone only sharing 30%. If that makes sense.
  4. In response to post #60322336. #60326136 is also a reply to the same post. It would be a case of the original mod author including a nominated percentage of DP in exchange for permission to port. I could release a mod, and in my permissions state that: "Permissions to port this mod, however All/90%/75%/10%/Whatever DP must be issued to myself. The only thing I am not sure about is whether or not users can SEE that the original mod author is receiving the relevant DP. If I give permission to port on the condition that I get 50% of DP, then I would have no way of actually checking that if the percentages werent public.
  5. Just some advice on cleaning that script up a bit. First, You have already gotten a PlayerRef property, so there is no need to call Game.GetPlayer() in your script: if akActor == Game.GetPlayer() Can instead just use: if akActor == PlayerRef Secondly, when you are checking the return value of a boolean, you dont need to use == 1 if you are just checking it is true. So: if (PlayerREF.IsEquipped(EbonyBoots) == 1) && (PlayerREF.IsRunning() == True) Would be better written as: if (PlayerREF.IsEquipped(EbonyBoots)) && (PlayerREF.IsRunning()) ;I also don't think they need to be filly encapsulated in parenthesis but it doesn't hurt. Similarly, if you were checking that a boolean was false you can use the NOT operator, in Papyrus it is a ! so to check that the player IS NOT running: if !PlayerRef.IsRunning() That said, what was the issue and what was the solution? Just for curiosities sake?
  6. Convert it the same as any other mod. HOWEVER, You will need to resave the textures for the eagle swords, they are saves in dxt3 compression which skyrim SE doesn't like and crashes. This is one of the extremely rare times that a texture woll cause a crash. You'll need GIMP or PHOTOSHOP and the DDS plugin. Just open the textures, immediately resave them as either DXT1 (if it's a solid texture) or DXT5 (if it has transparent areas).
  7. Hey guys n gals. I am making a mod and looking for some help with assets. TL;DR: I need someone to help with creating animal skeleton meshes, preferably already weight painted to the animals skeleton.nif as it will have to be made in to an "armor" of sorts. I can do the weight painting myself if needed, but the skeletal mesh will need to line up with the vanilla animal mesh. Can use bone resources from Mihails Animal Bones mod. So, the mod. The mod is inspired by Hunterborn and Hunting in Skyrim. I am adding the ability to physically skin and gut animals and creatures when you take pelts or meat from their inventory after they are killed. I am doing it in a much more compatible and performance friendly way and will be adding some other features but the main idea is to keep things functional, but LITE. I already have a working proof of concept working using the skinned mesh/textures from Hunting in Skyrim, and I have messaged the author of that mod to ask if I can use the assets he has already made, but I will need more variations. So here's what I want to happen (mostly already working): When the player opens the inventory of a dead animal, the mod will detect if they take any Pelts/Skins/Hides, or if they take any Meat/Food/Parts specific to the animal. If the player HAS taken either of those items, the screen will quickly fade to black then back again (this fade can be toggled off for people who don't like the delay and just want to get on with it, but it means the animal skin will change in front of their eyes instantly). During the fade, if the player has taken pelts or hides and hasn't taken any meats, then the "Skinned" texture/mesh will be displayed on the carcass. If they take Meats (with or without skins), it will show a "Gutted" texture/mesh. If they take neither, and just take non-animal part items or nothing at all, then there is no fade to black, it just operates as a regular inventory menu and will trigger again if the animal is accessed again. A Skinned animal can still be Gutted if the player re accesses the inventory and takes the meat. A fully gutted animal will be treated as any other normal dead body, no further effects will play again. There are internal conditions in place to make sure this entire process does not even trigger unless you are activating a creature belonging to one of the included races, so animals with modded races, or animals that I haven't included will just use the regular inventory menu, but if they use the same vanilla races then they will still work. I will also look at making patches for popular animal mods where possible. During this entire process, the carcass will still be treated as an actor. It does not swap to a static or anything. The Skinned and Gutted effects are added as an armor to replace the existing creature skin. This also let me add keywords to the skinned armors to help with condition checking. I have ALL of this working (except I haven't added sound effects yet). Furthermore, the entire thing is executed from a single perk applied to the player, which calls a function stored in a quest that is only about 10 lines. It's all very quick, simple, there's no dialogue menu's to contend with. So far the ONLY issue is that the fade to black doesn't work with some ENBs (the mod works, you just wont see the fade effect, which is toggle-able anyway). BUT to implement it fully I need to create assets to use as the replacement meshes for the animals Skinned and Gutted versions. This means I will need: Skinned versions of each of the races to include (things like: Deer, Wolf, Troll, Chicken etc. Though I was planning on letting you skin and hunt people as well as other monsters). Gutted Versions (these can either be an animal skeleton with blood effects applied, or a skeleton with chunks of meat and organs still present, either will work fine). These HAVE to be rigged as an armor for the animal though. They cannot be statics. This is because I use a script function to equip the skinned/gutted armor to replace their default "worn armor" (SkinWolf for example), which lets me continue to treat the animal as an actor. Now, the skinned versions should be easy enough, I can probably do these myself just by opening up the vanilla nifs, stripping them back and applying bloody textures, then just copying the bone weights from the vanilla skins, much like Hunting in Skyrim has done. But the Gutted ones need more work that may be beyond my capabilities. I have an idea of how it could be done but it's not my forte and I was hoping someone more experienced with 3D could help out. My plan, was to use the animal bones resources from Mihails Animal Bones - https://www.nexusmods.com/skyrim/mods/89445 (He has already given permission). Load up the vanilla animal mesh in Blender/3DS, then create a "skeleton" using the bone resources from that mod, making sure the bones line up with the vanilla positioning of the animal mesh. Combine it as one object, export as OBJ, open it in OutfitStudio, then go through and weight paint it there. The weight painting SHOULD be easy enough, since they are bones they will be 100% rigid, so just have to paint each bone "section" and paint it so it is 100% fixed to the corresponding bones of the animals skeleton nodes. It also wouldn't have to be TOO precise, because for the most part the animal skeleton will just ragdoll on the ground, however it WILL be possible to re-animate these creatures even after they are skinned so some level of precision is needed. Anyway, That's my plan so far. I am really hoping that someone can help out here and join in on the progression of this mod. At bare minimum, I am hoping someone can just make the single object skeleton meshes lined up with the vanilla animal mesh and Ill do the weight painting. But ideally, if someone could volunteer to do both the models and the weight painting that would be very much appreciated. Or if someone wanted to go all out and do proper, field dressed meshes for all the animals that would be ridiculously amazing (I'm not holding my breath). If someone CAN help out with this, then while you are busy with that I will be looking into other functionality of the mod. I love the idea of trapping in Hunting in Skyrim and was thinking of re-implementing that sort of thing. Also, if anyone else is reading this and has further ideas on features to implement or just has general advice on the direction it's taken so far, feel free to comment and let me know your thoughts on it.
  8. Just making sure, but did you create an empty .TBL file? The game has TBL files as well as XML files. TBL files are basically encrypted, we cant as of yet edit them very easily so we edit the XML files instead as these aren't encrypted. However, the game will try to use a TBL file first. So if you edit an XML file, you will also need to include a blank TBL file to force the game to use the XML file. Simply create a new notepad document, leave it empty, save it and type the filename.tbl and save as type "all files". Include this in your new PAK file with the XML file and the game will use your XML file instead of the TBL file.
  9. G'day folks. Quite regularly I help people with modding problems on a facebook group I am in. Decided I'd start posting some of the stuff I help with as mini tutorials on the forums here if it's something I see asked a lot or that just may come in handy. Todays topic: Preventing a follower from entering a cell with you. NOTE: There is a vanilla script already that does this, however it does seem to have some flaws so I have modified it to be a bit more reliable. The problem with the vanilla script is that your follower still remains your follower, they just dont enter the door. If you enter combat while inside however, sometimes your follower auto teleports to you. This can also happen with modded followers that have a "catchup" script applied to them, since they just telkeport and never actually go through the door (which is what we use to block access). So my solution was to also add a dismiss feature to the script so that the follower actually leaves your service. The best part, is that we don't need to actually write that script, we can just utilise the vanilla follower script to do it. Lastly, this should work on both actual followers, as well as NPCs that are following you via an ai package (and arent actually added to the follower faction. the caveat with that is, if a follower is simply using an AI package, then they wont leave your service. They will instead remain a follower but will wait outside (as they cannot activate the door) and will go back to following you once you leave that cell/worldspace. So lets get to it: In the creation kit, double click on your door reference. This can be a physical door, or it can be an automatic door (such as with cave entrances) or it can even be an activator (like a port key that you activate to be teleported to a location). On the reference window, go to the scripts section, add a new papyrus script, name it whatever you want. Then right click the script, select EDIT SOURCE. You will have: Scriptname WhateverYouCalledYourScript extends ObjectReference All you have to do is paste the below script in: Faction Property CurrentFollowerFaction auto Faction Property DismissedFollowerFaction auto Quest Property pDialogueFollower Auto Event OnInit() BlockActivation() EndEvent Event OnActivate(ObjectReference akActionRef) if IsActivationBlocked() == False Debug.Trace("Door is currently unblocked") return endIf if IsActivationBlocked() == True if akActionRef == Game.GetPlayer() Activate(akActionRef, True) else Actor actorRef = akActionRef as Actor if !(actorRef.IsInFaction(DismissedFollowerFaction)) (pDialogueFollower as DialogueFollowerScript).DismissFollower(0, 0) actorRef.ModFactionRank(CurrentFollowerFaction, -2) actorRef.AddtoFaction(DismissedFollowerFaction) endIf endIf endif EndEvent Finally, from your reference window, click on properties, and Auto-Fill All. Thats it. Repeat this process for any other doors or activators that lead in to your cell. NOTE: This should work for cells as well as worldspaces. But be aware, if you create a "door" to another worldspace, the script will work fine. But if the player fast travels from the vanilla worldspace to a location in your new worldspace, then neither the player or any followers will end up activating the door so they will NOT be dismissed in this case. The only solution to this is to disable fast travel locations in your new worldspace. Unfortunately there is no vanilla script function to detect onFastTravel (at least none I am aware of) so there would be no easy way to prevent followers from following you to your worldspace if youre fast travelling there.
  10. Lol, Just saw this in forums and was like "Hey I just did that exact same thing for someone like yesterday!!!" Then I saw your nexus name and realised You were the one I did it for haha. Thread closed I guess :D (Im assuming it all worked anyway?) If anyone else is reading: The solution was to create a ring, an enchantment and a magic effect. On the magic effect we went to the scripts and simply added the vanilla script: "MagicImodScript". We then went to properties and edited the value to point to the IMOD of choosing. This is the solution for effects that only have one IMOD. If you wanted to add one of transitional IMODs that have a START and END effect as well, then you would want to copy a different script (have a look at magic effects for poisoning). These scripts have 3 properties, a start, a loop, and an end, which you would then set to your 3 IMOD properties (you will see that some IMODs have a start and end version for transitional effects). Thats pretty much it, the rest of it is just adjusting things to your liking (casting sounds and whatnot)
  11. Ive been trying to either reduce or increase the "decay" on both energy and exhaustion. <row rpg_param_key="DigestionSpeed" rpg_param_value="1" /> This one works, but not quite as intended. It doesnt make food drop by 1 per second, in fact it drops MUCH quicker. But it does work, and using very small decimals is able to reduce the hunger decay. That said, I am wondering if we can determine what the base value is? I was hoping to make it an exact half, and since it's already quite slow it can be difficult to test how effective the values are. Now, <row rpg_param_key="ExhaustionSpeed" rpg_param_value="1" /> This doesnt seem to work at all and I am not sure why. I have tried using very high numbers (100, 1000 etc) as well as vey low numbers in case it is inverted or something (0.0001) but nothing I do drops the energy levels any different to the regular values. Any ideas on what that would be? Thanks heaps for typing this all up. While I am here, I am curious why there is so many values that arent stored in the rpg_param.xml file. Are they stored globally somewhere else? or do they just have a default value somewhere in hard coding and therefore dont need to be defined? I had no idea there was so many varaibles we could tinker with, comparitively, the amount of values that are already in the rpg_param.xml is actually not much at all.
  12. two problems can be happening. 1: the parent node needs to have the same name. When you click on the 0ninode or 0BSFadeNode, to rename it you need to click on the actual txt ICON in the block details window. If you click the space next to it you can only enter a number (which corresponds to an already existing string). Clicking the txt ICON let's you type in a new string. 2. If you are copying a block that references a specific node, such as a trishape for a glove that references the finger and hand bones in its included sub blocks, then those nodes have to be in the nif you ate copying to. Eg: you are copying a pair of gloves to a torso armor. The torso armor has all the torso bones/nodes but doesn't have the hand and finger bones/nodes. Solution: first make sure the root node (0NiNode or 0BSFadeNode) have the same name by following my instructions above. Then copy branch on EACH NiNode from the gloves nif that isn t already on the torso armor nif. Once all those nodes exist on the torso nif, you are free to now copy the Nitrishape of the gloves over to the torso nif. further notes: In my example, you would ALSO need to make some adjustments to your armor record to include the hands as a biped slot on the armor and armor add-on record of your esp. With armors, Trishapes will have an extra data block with an option for partitions (I think it was called something like NiSkinData, I can't remember the block name in LE but it is called a Bsdismemberskin block in SE). This partition section will have a biped slot allocated to it. IF that slot is not ticked in the armor and armor add-on record then that part of the mesh will be invisible in game. So you need to EITHER add that slot to your armor and armor add-on records, or change the slot in the partitions section of your trishapes in nifskope to reflect the biped slot you were already using. Keep in mind, If you changed the gloves trishape to instead use 32_body in the nif, same as the torso, then only ticked 32 slot on your armor and add-on record, then users will be free to equip your new armor with its gloves as part of it AS WELL as another set of gloves which will just clip through each other. so in the example I have it would be better to add the 33_Hands slot AND the 32_body slot to your armor and add-on records so that it replaces any currently equipped gloves or torso pieces.
  13. You really shouldn't be updating ANY of the ini values without knowing what they do. And posts like these should not be made unless you EXPLAIN what the tweaks do. If you don't know, don't post, lest we get inundated with the already endless flood of broken game posts.
  14. This started as a fair post simply sharing a frustration and very quickly turned into a post for users to demand things of mod authors... There's a number of reasons mods aren't inclusive of the required files. Updating is a major one and probably the most valid. There's also a lot of older mods where the authors are no longer active so seeking permission is impossible. In the end it doesn't matter, it's the authors choice to do what they do. You don't want to spend a feq.hours making patches or merging or just simply don't want to mess around with your load order? Well too bad... if you think that takes long, try making mods. I can guarantee the time invested in making even simple mods GREATLY exceeds the time it takes to clean up a mod list. We in no way owe you more of our time unnecessarily because you couldn't be bothered to learn to set up your own mod list. Most of us are nice enough and will go out of our way to help you should you encounter problems, but we won't help someone who won't help themselves. Dependencies are there for a reason, as are the mod description pages, so read them, follow them, and if you still have problems THEN come and ask for help. Don't throw tantrums on forums because you want it your way, especially when you have no clue about the sort of restrictions we already face with mod creation. * not directed at OP but to the follow on replies.
  15. Should just be able to load up all your mods (merged and non-merged as well as those requiring the master files) in XEdit. Click on the mods that have the non-merged as a dependency. expand them then click on the file header section. In the right window you will see all the dependencies, just change the non-merged esp to the merged esp name. This I'm fairly sure this would work, however in your merge process it would have changed the editor IDs of any of those merged links, I'm not sure if changing the file header will automatically update those links. worth a shot, just check one of the linked record entries (such as a levelled list trying to add in armors for immersive armors), then change the file header, then go back to the levelled list and make sure those immersive armor links are still there and aren't showing as NULL RECORD.
  16. ---COLLISION TUTORIAL--- [LE AND SE collisions. This is more so for Weapon collisions but will work for statics and can probably be modified for any other collisions. The only exception may be soft body collisions] I've been working on weapons lately and decided to add custom collisions to them rather than copying collisions from vanilla. Here's a quick guide on how I managed to get it to work as I found a lot of info is outdated. TOOLS YOU WILL NEED: Blender/3DMax + required NIF scripts for exporting (for exporting your nif collision shapes) NifUtilsSuite (For ChunkMerge) - https://github.com/skyfox69/NifUtilsSuite Vanilla Barrel01.nif (To use as a template nif) NifSkope (Im using the latest alpha release) - https://github.com/niftools/nifskope/releases SE NIF OPTIMISER TOOL (For SE Users, we will be creating an LE mesh that can then be converted at the end) - https://www.nexusmods.com/skyrimspecialedition/mods/4089/ SETUP: Blender/3DMax - I wont be going through the blender setup, for this I recommend just following the Dark Creations Blender 2.7 tutorial for creating static NIFs. There are similar guides for using 3DS. Essentially you just need to be at the stage of being able to export a NIF with a trishape and shader properties, the rest of the blocks we can make ourselves (for weapons, I added in some extra info at the end). https://www.darkcreations.org/forums/topic/10525-blender-27-nif-exporter-tutorial/ This site explains how to export static nifs and works fine. It also explains how to export collisions, however the information is not complete for havok collisions and doesnt explain the setup requirements for NifUtilsSuite (which I have included in the very next section). NifSkope - Just download and extract the archive to wherever you want. NifUtilsSuite - This is the complicated bit. First things first, download and extract the archive to wherever you want it installed. I keep all my Nif programs in one folder in my program files so everything is close by. Before we set our preferences in NifUtilsSuite, we are going to create a template NIF to use. For this, the Barrel01.nif seems to be the best as it has all the blocks we need. So, your first step is to obtain the vanilla Barrel01.nif. If you are following this guide you should know how to extract vanilla meshes. This HAS to be the LE version of the mesh so if you do not have LE installed, an alternative is to grab a barrel replacer mod (one that includes a mesh), just be sure to check permissions, even though you wont be including it in your mesh you are still using its collision settings so be safe, and use open permission assets. Open the barrel01.nif in NifSkope, expand the 0BSFadeNode block. Now, right click on EACH block and select Remove Branch, EXCEPT for the bhkCollisionObject (and its sub blocks). So, You want to delete any NiNodes, NiTriShapes, NiControllerManager. You should be left with the following: 0BSFadeNode bhkCollisionObject bhkRigidBody bhkMoppBvTreeShape bhkCompressedMeshShape bhkCompressedMeshShapeData Save As and just name it BarrelTEMPLATE.nif. Navigate to your NifUtilsSuite installation folder, make a new folder inside it, name it "Templates" and copy your BarrelTEMPLATE.nif file in to this folder. Thats it for the reference NIF. The first time you run NifUtilsSuite it will prompt you with a setup screen. If not, go to Options/Edit and click the general tab. The first thing we need to do is set the nif.xml. Click on the folder, navigate to wherever you have NifSkope installed and select the Nif.XML file. For textures, just navigate to your Skyrim Data directory. Now for templates, navigate to your NifUtilsSuite folder and select the Template folder you just made. You can skip the next two sections and leave them blank. Lastly, for the NifSkope field just navigate to your NifSkope.exe file (wherever its installed). Thats it for our setup, just go through and make sure any other required programs are installed. MAKING COLLISIONS: First create you actual object mesh. Ignore collisions for now, and just focus on getting a working NIF in the game. Make sure your Blender file (or 3DS file) is sized correctly already and is not relying on transforms applied in NifSkope. This is important as collision meshes are not easily transformed in NifSkope. Now, you can use this same mesh shape for the collision if you want, or you can create a new simpler mesh for your collisions. Either choice doesnt matter. To export your collision mesh, just export the same way you did with your regular mesh, however, it is advised to give all faces a smooth shading (I read this in another guide, I am not sure if it is necessary, flat shaded faces may stil work fine aswell). Export your mesh with a different file name to your original mesh (I just add _c to the end of the file name). Now you should have two NIFs exported, your object mesh and your collision mesh. Open your collision mesh, expand the BSFadeNode, expand the NiTriShape, right click on the BSLightingShaderProperty block and select remove branch. Your collision mesh should only contain: 0BSFadeNode NiTriShape NiTriShapeData If any other blocks were exported with it just delete them. Click on the NiTriShape block. In the Block Details window, left click on the 'txt' icon next to name (the actual icon). In the popup window, type in "SKY_HAV_MAT_SOLID_METAL" and hit OK. (You can change the material type later, you can type in the actual material type you want however the list of havok definitions on the NIFTOOLS wiki page is currently down so I am just using this one and changing it later). Save the nif. Now open NifUtilsSuite. Click on the ChunkMerge tab. For In-File, navigate to your object nif. For the Out-File, navigate to your collision nif. For the Template, it should already be pre-filled with your BarrelTEMPLATE.nif, if you have other templates saved then change it to the BarrelTEMPLATE.nif we made earlier by selecting it from the drop down list. For Collision Source, select "Collision Fallback Mesh". For Collision Material, select "Name of NiTriShape". Click Add Collision. You should get a notification in the bottom left saying collision data added. Close NifUtilsSuite. Open your object mesh, it should now have a bhkCollisionObject block (and its sub blocks). Last thing you will need is a BSX flag. Right click on the BSFadeNode, select NODE/Attach Extra Data and select BSX Flags. Click on the new BSXFlags block, click the txt icon in the Block Details window and name it BSX For the integer data, double click on the space next to the flag icon and type 194 For statics, that should be all you need to do. The object will now have a complex collision added to it that will stop actors from passing through it. However, it will not have gravity applied to it and will not react when something collides with it. So, for the next step, you will need to find a similar NIF for what you want. In my case, I was creating a weapon, so I opened up the Keening Dagger mesh. Now, you will notice that some objects have a different shape type to them, we are using a bhkMoppBvTreeShape, whereas other weapions may use a boxtype, or a bhkConvexVertices blocks etc. This doesnt matter, these sub blocks ONLY control the material types and the actual vertice positions. All the actual havox physics are all controlled by the parent block which is the same for all types (that ive seen). To clarify: There are multiple TYPEs of collision shapes, but they are ALL contained within a bhkRigidBody (or bhkRigidBodyT) block, which is in turn contained in a bhkCollisionObject block. Moving on, Open your Object mesh with collision, and open your similar mesh. Note: For SE users without LE, you currently have an LE mesh, but you CAN use an SE vanilla mesh as your reference, we wont be copying blocks over, we are only using it as a guide to change some values. OK. In your object mesh, expand BSFadeNode, expand bhkCollisionObject. Its worth checking that the Target and Body fields are both assigned. Target should be whatever node your trishape is in (usually BSFadeNode but may be a different node for some weapon setups such as maces). Body should be assigned to bhkRigidBody. Now, in your Block List window, expand the bhkCollisionObject block and select the bhkRigidBody block. Expand the same blocks in your reference NIF as well. It helps to put both copies of NIFSkope side by side for this. The last thing we need to do is change a few fields on your object nif to reflect those on your reference nif. Ill go through the main ones that I needed to change, you may run in to times when this is different though so be wary. Shape - This will point to a bhjMoppBvTreeShape, this may be different in your reference NIF, but leave it as is. Havok Col Filter / Layer - I had to change this from STATIC to WEAPON * Take note of what you select here. Havok Col Filter Copy - Not sure why this is here again but make the same changes for this field. Inertia - You will probably have all 0's in your nif, copy the values from your reference NIF if they are different. Mass - This will be 0, change it as per your reference NIF, if you dont, your object will have no gravity applied to it. * Copy any other values that are different from all fields from Linear Damping to Penetration Depth. You can modify the value of penetration depth if you wish, this seems to cause the object to sink through the floor a little bit. Motion System, Deatcivator Type, Solver Deactivation and Quality Type - Copy these fields to reflect your reference NIF, these seem to control the motion types of your object. There will be other fields that are different, such as various INT fields and whatnot, these did not need to be modified in my case. That should be it for the bhkRigidBody block. The last steps: Expand your bhkRigidBody block, expand bhkMoppBvTreeShape, expand bhkCompressedMeshShape and finally select the bhkCompressedMeshShapeData block. In the Block Details tab, expand the Chunk Materials field twice. Under Material, you can select the material type that best suits your object. I chose MAT_MATERIAL_BLADE_HAND. For the Layer field, select the same option you chose earlier for Havok Col Filter. And that should be it for your collisions. Save your object mesh, you can close your reference NIF now as well. FURTHER NOTES: Your collisions should be fine now, but if you ARE working on a weapon as well there may be some further adjustments to make. This will differ depending on what kind of weapon you are making. Open up a reference mesh again to see what block are required. One of the first ones will be a NiStringExtraData block. Right click on the BSFadeNode and choose Node, Attach Extra Data, and select NiStringExtra Data. Select this new block. Change the name to "Prn" by clicking the txt icon. For the String Data, change it to "WeaponDagger" or "WeaponMace" etc, depending on the type of weapon you are using (see the correct spelling by comparing it to your reference nif). You can also add a BSInvMarker if you want, this just lets you modify the placement of the displayed model when in the inventory. It isnt necessary but it can be useful if your mesh is displaying oddly in inventory. To add one, right click on the BSFadeNode, select Block, Insert, and find the BSInvMarker block. Select the new block. Change the Name to "INV" (click the small txt icon). Adjust the Rotations and Zoom however you want. I recommend leaving these as 0 then seeing how your inventory model displays, make adjustments from there. You will also notice that weapons have two extra trishapes for the edgeblood. I wont go in to full detail here but basically you just need to re-open your blender file, duplicate your object mesh, delete all vertices from handles and such so that only the blade is left, then increase the scale by a tiny amount (0.01 or something). Export this as a trishape and just copy it in to your current object nif. Copy the BSLightingShader settings (important to have the Dynamic Decal shader flag set) from one of the edge blood blocks from your reference mesh. Also rename the EdgeBlood trishapes appropriately. You will also see a trishape for the scabbard. Again, you will need to export your scabbard mesh and copy it into your object mesh. Rename the trishape to "Scb". From what I can tell, this Name field is the only thing that stops the animation from taking the scabbard with the sword/dagger. If you are creating a Mace then you will see some differences. For whatever reason these weapons were created a little differently, basically the scabbard is attacked to the fade node, but the actual weapons shapes are all held in a seperate node. Youll need to make sure all your weapon trishapes and edge blood shapes are all kept in the same place IF you are using the same weapon type (so your NiStringExtraData will be called WeaponMace). Anyway, that should be all you need for a working weapon nif. For SE users following along, the last step for you is to run your nif through the SE Nif Optimiser tool, this is necessary as the NiTriShapeData block gets merged in to the NiTriShape block, which is also now changed to a BSTriShape block. Try it out, hopefully it all works. Ive tried to be thorough here, hopefully you can all follow along, if anyone has any questions just leave a comment and I'll help as much as I can!
  17. 5 years later and I am trying to find this same damn thing :'(
  18. Bit of a necro but this is the most in depth forum I can find regarding SE's terrible hitbox scaling (or lack of). Thought Id weigh in, maybe get a discussion going. Ive just tried to fix an issue with resizing giants. I found that if you alter the height of them using the RACE record instead of the NPC record, the hitboxes DO scale up... most of the time. But for whatever bloody reason, there will still be giants (or mammoths) that still use the old hitbox, whereas others have scaled hitboxes. I have literally tried everything: Scaled using RACE records (best solution so far but will require a custom race if only applying it to one character and doesnt work 100% of the time). Scaled using NPC recprds: Doesnt seem to scale hitboxes. Also tried modifying the OBND object bounds dimensions. Scaled in the Skeleton.nif : Doesnt seem to scale hitboxes, even if modifying the bounding box dimensions. Scaled in the base nifs: Doesnt scale hitboxes. Aaaand literally every combination of the above that you can think of. I definitely did apply transformations correctly when using nifskope. Any bounding box of OBND values were calculated correctly. One thing I have also noticed, is that even in vanilla Skyrim, this bug is present. If you go kill a giant mudcrab you and try to loot it you will notice that the hitbox to get the loot prompt is based off a regular mudcrab. This is because the giant mudcrabs just use a scale modifier in the NPC record so again, their hitbox does not scale. Interestingly, although hitbox scaling was problematic even in oldrim, it wasnt THIS problematic. For instance, changing height values in RACE records WOULD work (see Height Adjusted Races), just as looting mudcrabs, im fairly sure, used accurate bounding boxes. But in newrim, its hit and miss even doing it with race records. My only thought for this scenario is that there may have been a change in how SE processes records where it is not correctly prioritising fields. As such, SOMETIMES the scale is set first and the hitbox is calculated afterwards, and other time the hitbox is being calculated first based off a 1.0 scale before the scale values are being considered.
  19. Youll need to edit the _d (diffuse) textures first. These are the files that hold colour information. You have GIMP already, youll also need a .DDS plugin to allow you to edit and save those files (im not sure what plugin GIMP uses sorry). Once youve modified the _d texture, you may find theres still evidence of the chains, this is because meshes use multiple texture maps, one such is the normal map _n (or bump map) which creates the illusion of extra detail on an otherwise low poly mesh. Something like a chain would have been baked into the normal map so even though you may colour over it on the diffuse map youll probably find that light in the game will still create the shape of the chains through bump mapping. Youre better off sticking with a simple recolour to begin with just to get your bearings.
  20. Hey guys n gals. Quick question: A part of my upcoming mod will involve new powers and summons. I have a "Conjure Mud Crab Pack" and "Conjure Giant Mud Crab" spell, all is working fine so far (it took a while to work out how to temporarily increase summon limit without affecting other spells). The issue I am having with these particular spells is that the mud crabs have a "dig in" animation where they disguise themselves as rocks when idle by sinking below the ground level a bit. I am hoping to remove this behavior, but only from the summoned mud crabs, not all of them. The only place I can see this listed anywhere in the CK is under the animations tab but I cant modify this at all, only view what is there. I am thinking it is probably something tied in to the NIF itself and the CK is only showing me what HKX files exist on it, but since this is something I have never dealt with before I thought i'd around before I start butchering NIF files; they really aren't my strong suit. Any ideas on how I can stop this animation from firing? It takes them too long to get back up so I'd prefer to just remove that entire "Dig in" behavior.
  21. Hey all, Just looking for some advice and possibly even a second party to join in on a mod I am working on. The mod aims to add collectible cards throughout the land of skyrim. I have already made the artwork for 150 cards, have the meshes and even have the rare effects, and have started to input them through XEdit as items. Ive got documentation to work out rarity and ideas of placement and how to nest my levelled lists etc. The one bit I am stuck on is the functionality of the cards. What I was hoping to do was add powers to the cards so that they can be "used" to cast various spells and buffs to the player. Here's the catch, I only want one card power to be active at a time, and must have some sort of global cooldown applied to them so you cant just spam multiple card powers. The second issue is having these powers added to the player. I think the easiest way is to use a script that adds a power to the player once a card is first picked up much like how skill books work. However I feel with 150 cards this will make your spells page very cluttered, so what I would prefer is EITHER: A. Create useable MISC items (similar to how cheskos campfire MISC items can be "used" by then firing additional scripts. Using a MISC item will add and equip a greater power to the character. Using this greater power will activate a global cooldown timer so that another card cant quickly be swapped out and used until that cooldown has expired. "Using" that card again or removing it from inventory will remove the greater power, as will "Using" another MISC card item. B. Again, have a useable MISC item, but instead of adding a greater power, activating this MISC card item will create and equip a card WEAP record that will act like a one handed staff allowing the player to cast whatever magic effect it has. As I am rebuilding this mod in Skyrim SE, I do need it to work without SKSE and only using vanilla script functions. Let me know if anyone here has any suggestions or if they want to join in and get this thing working! Link to the WIP for oldrim mod: http://www.nexusmods.com/skyrim/mods/75911/?
  22. In response to post #39959285. Before you blame the tools, be sure they are whats responsible. It sounds to me like your experiencing a plugins.txt reset or soemthing to that avail. Have you enabled mods correctly? Is your game installed to the default directory? (Program Files/Steam etc) if so then consider installing your game outside of Program Files, and be sure to run it as an administrator or you may have troubles copying files (not an NMM issue but an issue with Windows UAC). There's a plethora of other things that could be going wrong, there's also updates that come from Fallout 4 that have a tendency to screw up mod functionality, speicifically when FO4 is beta testing updates, so always keep that in mind. Anyway, this is a freeware mod manager and a free website (sure they have premium but that is in no way forced and free users have full finctionality of the site!) so cut them some slack. Theres really not a lot, if any, money that comes from this site, most of the people running it are volunteers and yet they are dveeloping tools to cater for millions of different hardware setups... errors will happen, instead of pointing fingers do a bit of troubleshooting yourself to try fix the problem as its likely a user error on your side.
  23. In response to post #39920060. #39920765, #39921990, #39927715, #39978035 are all replies on the same post. If its just a config file and doesnt contain any of the files from the mod then how will it work with merged patches or mods that have been modified? A long mod list will almost always need some kind of merged patch to fix the plethora of conflicts, without that then its hardly a "plug and play" profile solution.. Between that and the version issues or mods that are removed etc, I fail to see how this would work without packaging everything in to one big file (but yeah, copyright... and huge download).
  24. Curious on how the shared profiles work in regards to a few things. Firstly, does this download the mods from that profile or do you have to manually download them? And if its automatic does it add to the download counter on that mod page? How does it work with updates, will it download the latest update or the version that the profile has for that particular mod? Or does the "profile" you get from someone else contain all the mod files in it and not count towards the mod authors downloads? How do merged patches or modified ESPs get taken in to account? I have 200 mods, they dont woirk out of the box and have required a lot of adjustments to the ESP, would those adjustments be reflected if i shared the profile? and vice versa if using someone elses? So many questions aha, I do hope you make an in depth post closer to release of the new version. Also, a suggestion, since NMM is pretty well integrated to nexus' website, would be good to have an endorse option directly on the mod manager, I am hopeless at re-visitng mod pages but would really like to support other mod authors as best I can.
  25. I considered those bit then thought, if they were famous enough to be on a collector card then they haven't been doing their job very well
×
×
  • Create New...