-
Posts
43 -
Joined
-
Last visited
Nexus Mods Profile
About jayne2132

Profile Fields
-
Country
None
-
Currently Playing
Skyrim
jayne2132's Achievements
Explorer (4/14)
0
Reputation
-
Not sure I can help. Never had that problem. Is there a collision node in Nifskope?
-
(I've only done static meshes but can help with the basics). (This is longer than I planned, but may be helpful to others who are starting out, as it covers some things that have changed since earlier tutorials) For some of these steps, older tutorials mention using Chunkmerge or Nifconvert, but NifUtils is newer, and has generally worked for me. http://niftools.sourceforge.net/forum/viewtopic.php?f=38&t=4128 (1) Import nifs into Blender. - you have to prepare the Nif first. If you're not seeing the options ScrollThief mentioned, go to View --> Reset Block Details. In the bottom pane, you'll see NiHeader as the top entry. Expand this, and make ScrollThief's changes. You also need to delete the collision branch (CTRL-Del to delete the entire branch) in addition to the shader properties nodes. - NifUtils can do this for you, but doesn't delete the collision node (so have to go back to Nifskope anyways) and sometimes accidentally deletes nodes that you need. - If there are any mesh nodes not named NiTriShape (like BSLODTriShape), you need to rename them to NiTriShape or you will get an error when importing into Blender. - Use Blender nifscripts to import. I use the settings from this tutorial, but I change scale to 100 (as I use Blender 2.73 and the models end up gigantic otherwise): http://www.nexusmods.com/skyrim/mods/15690/?tab=1&navtag=http%3A%2F%2Fwww.nexusmods.com%2Fskyrim%2Fajax%2Fmoddescription%2F%3Fid%3D15690%26preview%3D1 (2) Import Collision meshes into blender. - use Nifutils to extract collisions into a Nif file - open the nif file in blender as above (depending on the file, it may be easier to create your own collision mesh based on your new mesh, rather than recycling the original collision; in Blender, I copy the mesh into a new layer -- select the mesh, duplicate, don't move it, click 'M', and choose a new layer, and remove the materials. Then use methods like remove duplicates and decimate to reduce the poly count. Then do #4 below.) (3) Get nifs from Blender to CK - the tutorial above covers exporting and prepping the nif file for Skyrim (NifUtils seems to correctly prep the settings, but you'll have to then go into Nifskope to add in the texture nodes); to copy texture nodes, go to file --> new window, open the skyrim nif with the textures you want, CTRL-C on the texture node, go to your nif file, click on the NiTriShape node, CTRL-V to paste. If it pastes in the root and not into NiTriShape, it means there's something wrong with the settings in your node, so go back and make sure you did the above correctly. - save the new nif file in a custom directory in Data/Meshes, and then use it in a new object (apparently you can also drag-and-drop a static nif file, but I haven't had any luck with this) (4) Add collisions to nifs - use Nifutils to add an exported collision nif file (exporting from blender follows same steps as above) to a mesh nif file - then do #3 Note 1: Creatures probably have a lot more nodes than static meshes, so you'll have to find a reference as to what to do with those nodes. Note 2: You won't find any guidance for Blender in the skyrim tutorials, because there's a ton to learn and there is already a definitive intro guide: http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro . It covers Blender 2.6+ but I've heard that you can find an older version for 2.4. (I use 2.73 which has an easier UI than 2.49 and helpful plug-ins; you can't import/export nifs, but going back and forth is simple: you save an imported nif from 2.49 as a .blend file, open it in 2.73, edit, then save as a *legacy* .blend file, and re-open in 2.49 and export). Note 3: Another helpful link for Skyrim meshes: http://wiki.tesnexus.com/index.php/Skyrim_common_mod_issues Note 4: Meshes can only contain triangles. There is an option in Blender to convert everything to triangles (necessary if you use Remove Duplicates or Decimate) -- in 2.73, it's CTRL-T in Edit Mode. Note 5: Here are a few troubleshooting reminders I keep in my personal how-to text file. They're for Blender 2.73. Note 6: Some helpful Blender 2.6+ plug-ins: http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D%20interaction/Align_Tools http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Blend_Library http://blenderaddonlist.blogspot.com/2014/06/addon-parent-to-empty.html
-
No. And scripting can't touch Navmesh, correct. Thanks for your reply. It was good to know there wasn't an existing way to do it. So I created a tes5edit script that will. The script below will duplicate and move a finalized navmesh from one interior cell to another (doesn't do exterior cells or change coordinates yet but should be fairly simple in comparison to the rest). Tested with a follower. But DON'T TRY IT unless you know tes5edit well and have a backup of your esp. It's likely quite unstable. Edited: Removed script, don't want anyone to try it and screw up their mod. :) Have contacted the creators of TES5Edit to see if it's safe to use at all.
-
An optimistic question re: navmeshes: I need to create the same navmesh in multiple exterior locations. Is it possible to duplicate a navmesh? I'm open to any suggestions: - CK? - TES5Edit? - NifSkope? (a way to make a collision layer NPC friendly?) - scripting? (read somewhere you can't do anything with navmeshes in papyrus; and, though it does list an integer type for navmesh, SKSE cell ref iteration does not find any) Thanks!
-
Need anyone with experience with arrays to help me out..
jayne2132 replied to Elathia's topic in Skyrim's Skyrim LE
Never heard of this problem. Can you share ones you have trouble with? I use -1 to make the code more readable. <0 makes me have to think. And if I'm using a lot of functions like these in a script, I add something like: int NotFound = -1 at the top of the script, and then use if somereturnvalue != NotFound Everyone has their own preference, but this reduces (stupid) errors for me. -
Need anyone with experience with arrays to help me out..
jayne2132 replied to Elathia's topic in Skyrim's Skyrim LE
You code concept looks good to me, over all. If I understand, the first function works as you want it to, but the second one doesn't? If you defined kRefs with a length of 10, both functions should spam log errors when i > 9. To avoid this, you can add a check to exit the function ("return") or just exit the while loop when i = 9. Checking the cell ref against your array should be quick. http://www.creationkit.com/Arrays_(Papyrus)#Searching_Arrays Here's an example with your code: string sRefName = CellRefs.GetBaseObject().GetName() if sRestoreHealth.Find(sRefName) != -1 kRefs[i].ForceRefTo(CellRefs) i += 1 if i >= 10 return endif endif If your goal is to check all the string arrays, you will have to check them separately (sRestoreHealth, sRestoreStamina, etc) as unfortunately papyrus doesn't supposed nested arrays. But you could do this by just adding OR (||) clauses to the IF statement above. Does this answer your question? Edited to add: When in doubt, just add a ton of debug.trace statements to your functions to pinpoint what's going on. -
You can use any floors you want -- pick a flat floor you like and use it in the cave. It may not snap to the walls, but it'll work. To flatten the actual cave floor mesh would require Nifskope and a 3d program like Blender. I suppose you could try applying the cave floor texture to a flat floor tile mesh in Nifskope, but no guarantees that the UV mapping would work.
-
LE FadeToBlack script help please :)
jayne2132 replied to saintgrimm92's topic in Skyrim's Creation Kit and Modders
Don't forget FadeOutGame() in addition to imagespacemodifiers. If using ENB, screen won't fade completely to black without it. This is a good reference: http://forums.nexusmods.com/index.php?/topic/951896-improved-cutscenes-with-cinematic-camera-fades-and-more/ Edited to add: Looking at your script again, I see you're using a timed wait function to wait while other things happen. I would use modevents instead, and call the modevent when your other functions are finished. Or, if not using SKSE, put the black screen in your other functions. Scripts can take very different times to execute on different people's computers. Especially if they (as yours inevitably does with what you're doing) call delayed functions, which are tied to framerate. -
How did you create your activators? Often invisible activators have no dimensions when you drag them into the cell, so you can't see or click on them. To make an invisible activator, select any object, then press the activator button on the toolbar. You can then choose to make a new one, or select a pre-made one. You can resize and move it as you want (it does not have to be associated with the object you first selected). It may also work to edit your original activators' dimensions via the cell object window: right-click, select Edit, and go to the second tab. I haven't tested this.
-
Need Help With Script to Sort Items in Container by 3 Form Lists
jayne2132 replied to cavbirdie's topic in Skyrim's Skyrim LE
Thanks Terra Nova! That's great to learn. Going to shorten my scripts quite a bit. :) -
Need Help With Script to Sort Items in Container by 3 Form Lists
jayne2132 replied to cavbirdie's topic in Skyrim's Skyrim LE
Ah that makes sense then. You can use the Find function for that. Objectreference ItemContainer int iIndex = Formlist1.Find(akBaseObject) If iIndex != -1 ItemContainer = Formlist2.GetAt(iIndex) Else ; actions if object not in formlist1 EndIf And a tip -- if you want to optimize for speed, arrays are faster than formlists in papyrus. You can transfer your formlists to arrays when your script starts. The drawback is that there's no Find() function for arrays, so you'd have to iterate the array (like you were doing with the formlist above in the While loop) to find the baseobject. This would still be faster than using formlists. -
Need Help With Script to Sort Items in Container by 3 Form Lists
jayne2132 replied to cavbirdie's topic in Skyrim's Skyrim LE
It's hard to help without knowing the lines that are giving the errors. But I think they must be these: If ItemToMann.GetAt(iIndex1)>=0 If ItemToDisplay.GetAt(iIndex2)<0 If ItemToDisplayWpn.GetAt(iIndex3)<0 Formlists are composed of forms (in your case, I'm assuming armor and other items). Formlist.GetAt() returns the form at that index, it doesn't return an integer. I'm also not sure what your goal is with the >=0 and <0. If you're trying to confirm that a form exists at that index, you can use: If FormlistX.GetAt(iIndex) or If FormlistX.GetAt(iIndex) != noneThey're the same. Though a formlist created in the CK shouldn't have a none entry if you're filling it with base objects (which I assume you're doing). If you're trying to compare the form in the formlist to akBaseItem, you can do: If FormlistX.GetAt(iIndex) == akBaseItemYou can avoid the while loop by writing: int iIndex = FormlistX.Find(akBaseItem) If iIndex != -1 ; do what you need to do EndIf But I'm not sure why you need to get the index of the form in the formlist since you've already confirmed that the item is in the form with FormlistX.HasForm(akBaseItem). -
Because it's unmanaged it should just show up in the right-hand plug-ins list. You need to tick the checkbox in there. If it really isn't working, you can package (put it in a zip file) and install it by opening the archive with mod organizer. But you shouldn't have to. The above works for me, and I do it all the time.
- 4 replies
-
- creation kit
- skyrim
-
(and 1 more)
Tagged with:
-
It's fine for the scripts though any scripts referencing your script by name must be changed. You have to rename the name of the PSC file, then the PEX file, and then the Scriptname in the PSC and recompile. If I understand correctly, BigBizkit, you were asking about renaming scripts for when you release a new mod update? The wiki save file page talks about the way functions, variables, properties, etc are updated when you update a script that already in a save game. I don't imagine this would happen if the script name changed (since the name creates the object itself, and changing the name makes a different object). Scripts attached to object references also continue running even if the mod is uninstalled and the script deleted. If you have any of these, you could end up in a situation where both your old script and your renamed script ran side by side.