Jump to content

dalsio

Members
  • Posts

    94
  • Joined

  • Last visited

Everything posted by dalsio

  1. It depends on what you mean by "using vanilla assets as a base." If you mean simply changing the names, stats, etc. of armors then no, anything that replaces the vanilla armors with body mod compatible ones should do the same for yours as long as your armor uses the same meshes in the same location. Otherwise, you would need to make meshes specifically for those body mods. It won't strictly speaking be incompatible, but it probably would look weird depending on the body mod they have installed. However, I believe you can use the latest Bodyslide/Outfit Studio to convert vanilla armor meshes into ones for nearly every body mod out there without too much trouble, so I suggest learning that program and making variations for the most popular body mod(s). Yes, and there are a number of ways you can do it. The most common, easiest, and most compatible is to make them a RaceMenu overlay but if you don't want to be dependent on RaceMenu, you have a few options: A. use the vanilla warpaint system (which afaik only works on faces) B. Make it into an armor, which can work best for faces but has some issues with armor when applied to the body or C. Do what Racemenu does to make it's overlays, that is: Learn to use Netimmerse Override. It requires a bit of complicated scripting so if you need further help with that let me know or you can check the Netimmerse Override mod page for some explanations. If your mod does not include any assets from their mod (only uses them if the mod is already installed) then you don't need their permission, just mention that those mods are required/recommended. If you want to include those assets and remove dependency, then you'll have to do what thumbincubation said and check the mod permissions/PM the author. Lastly, some advice I have for you (and you may already realize this) is: 1. Write down or type out ahead of time the scope you want your mod to have and stick to it. It's really easy to want to add this feature or that NPC or this quest and end up trying to make a mod bigger than you originally intended. 2. Have your mod beta/alpha tested long before release. Get some friends or a few people from the community to test your mod as soon as you have something stable. You'd be surprised the bugs and problems you don't find testing it on your own, especially the larger a mod gets and having a group of people to test things out and give feedback on not only bugs but on game flow, pace, dialog, level design, etc. is extremely invaluable. Don't wait until you feel your mod is nearly done because by then some things may not be fixable or too much work and any feedback on the general direction becomes essentially pointless. So, get it in front of as many people as possible as soon as possible before you release it on the nexus (or wherever you want to release it).
  2. Unfortunately, Cell forms have no functions in vanilla scripting and only 3 with SKSE. None of them appear to deal with a reset timer of any sort. I don't know how Skyrim does it's respawning in the first place but if I did, I could offer a better solution.
  3. I've never experienced the problem myself, but you might also consider playing with a higher FOV. A lot of people report having issues with low FOV in first-person games and skyrim's FOV is set to 70 by default (if I remember right). Setting it in the console to something like 90 or using a mod that enables FOV changes to 90 might help.
  4. Best I can think of is to make two identical cells, one respawning and another static. Then in the script relink the door to the static cell (or disable the default door and enable an already made door that links to the other cell). This is a bit jank but it's all I know of. Plus, I don't think you can make a copy of a cell in scripts so if you want the player to be able to interact and change a cell before setting it to be static and have those changes reflected in the new cell, you would have to set up the static cell as empty (or at least remove any moveable objects) and then have the script systematically copy all the objects and their locations in the respawning cell to the static cell. When the cell needs to be respawning again, one would then have to do the same but in reverse, removing all objects from the respawning cell and replacing them with copies from the static cell. Another method would be to make an SKSE plugin that is able to change cell properties but I wouldn't be able to help you there as I can't get Visual Studio to work on my PC. I hope someone else knows a better alternative.
  5. First off I suggest posting in the sticky for this sort of thing: https://forums.nexusmods.com/index.php?/topic/485981-skyrim-mod-detectives-thread/ Also I don't know if you're looking specifically for Male, Female, Sexy, Silly, or Serious type armors. Here's a few to look at if you haven't already. Nightingale Prime HD Shadow Ranger Gear Nightmare Armor Celes Nightingale Armor Shadowblade Nightingale Lace Daedric Chainmail Refined
  6. I assume by the method you're using that you don't want your mod to be dependent on the Greek Armor mod because otherwise it would make things a lot easier. You wouldn't have to do anything but load up it and your mod and place the armor in the housecarl's inventory. Second, double check to make sure that you also have the meshes and textures for the armors installed. If they aren't in the exact same spot as the original mod then it won't work (unless you change the ArmorAA's to do so). Lastly, it sounds like the mesh is there but the texture is not so double check to see if the ArmorAA uses a TextureSet (a special texture designated by the editor). You'll want to copy any TextureSets from the mod over and link your ArmorAAs to them.
  7. Not really. LOD is a whole lot easier for a GPU to render, otherwise it would have to render the full-resolution textures of everything in the distance. The reason LOD is not enabled for interior cells is because it's usually unnecessary since interior cells are almost always such tight spaces that seeing a texture at a distance for LOD to take effect is extremely uncommon. That being said, if you are in fact experiencing performance problems there's something to check and that is what resource is being used the most. Check your CPU and GPU usages while in the space. If your GPU usage is higher than CPU then LOD, fog, lower res textures, etc. will help. If your CPU usage is higher, then all those things will be useless. As for your lights, there definitely should be some lights that you can use to prevent them from bleeding into each other. I'm not exactly sure of what you mean by, "affects more than one cell." Cells should be completely separate, if you're talking about light bleed from one region of the worldspace to another, that's different. As Di0nysys suggested, shadowed lights should essentially "cast a shadow" of the inside of an area's wall so that it cuts off the light before it reaches any other areas. If not them, perhaps some sort of light-barrier placed in the void between the visible areas. Another method would be to either physically separate the regions that you don't want light radii to overlap/affect and have a door that, instead of linking to an interior cell, link to another region in the worldspace that is far away. If not that, then you could create multiple worldspaces and have a door or portal or something warp you to that other worldspace. Inevitably, without exactly knowing what you're looking at then it's hard to tell you what a solution is to a graphical problem. If you could post a screenshot of the lighting problems you're having and run some tests on whether cpu or gpu is a bottleneck, that would be great.
  8. Yea, that's a fair route to take. You might be able to do better with a SKSE plugin but that would require a lot more work and knowledge of programming in C++.
  9. @CSBX in reference to code A, "note" is supposed to be set to the form corresponding to your note. The entry you see in the object window where you change it's model, texture, value, etc. is what's called the form and it's basically a "pattern" the editor uses to create "copies" that it then puts in the world. When a copy of the form is placed in the world that copy is called an "Object Reference", literally a "reference" to the "base object" (form). Changes made to the form cause all object references of that form to also be changed, but any changes to the Object Reference (or anything that interacts with that Object Reference such as other scripts or quests) do not apply to the form or any other reference of that form. So, what you want to pass to PlaceAtMe() is the Form of your note. There are a few ways to do this depending on what you want to do, when you want to do it, and just your personal preference. The most common way and one that should work for you is to set the variable "note" to be a property. This way you can just manually tell the script through the editor what form to use (should be able to select it from a drop-down menu). If you don't know how to do that: Tutorial quickly explaining how to set a property in the editor. Be sure to name it "note", or else replace any code referencing "note" with whatever you named your property. Once you make your property (the editor should add a line in the script with the property) just remove the first line in my Code A.
  10. That's mostly irrelevant since you're recalculating and re-applying all damage anyway, so an individual doesn't need to deal damage the normal way. If you want to disable the effect for a single person one would only need to set their chance to hit at 100%. That being said I don't know if hit events work while ethereal/ghost, which AFAIK would be the only way to detect a hit ever happens. The best option if neither ethereal nor ghost works is probably to just use some sort of 100% damage reduction and have a sound effect play when a miss happens to help it stand out from a hit.
  11. Aha, I think I know why my code failed for you. It seems that I didn't take my own advice in accounting for if the translation failed, because from what I can tell your translations are in fact failing. Is there something in the objects way that is stopping them, or are there any other bits of code that's interacting with the objects? If they in any way stop the translation it will result in a failed translation and thus TranslateComplete() doesn't activate. Regardless, this bit of code should cause the object to return to it's start position and translate regardless of whether it successfully translates or not. StopTranslation() is used here to make doubly sure the object isn't translating when setposition() is called, though that shouldn't happen. Try this: Scriptname ___ZugImUnterfuhrung extends ObjectReference Int END = 1152 Int START = -8832 Event OnCellLoad() Move() EndEvent Event OnTranslationComplete() Move() EndEvent Event OnTranslationFailed() Move() EndEvent function Move() ;To be called on first load and on translation completion. StopTranslation() setPosition(START, 0, 0) Utility.Wait(0.1) ;replaces delay previously set when registering for a single update if Is3DLoaded() TranslateTo(END, GetPositionY(), GetPositionZ(), GetAngleX(), GetAngleY(), GetAngleZ(), 100, 0.0) endif endFunction
  12. I don't think that's what crypto was talking about, I think he wants to remove any changes his mod makes to vanilla Skyrim. Cleaning a mod with TES5Edit doesn't remove all changes to vanilla, that would break a lot of mods. Cleaning only removes "Identical to Master" records (entries that don't change anything in vanilla and thus don't need to exist) and un-deletes and disables "Deleted Records" (vanilla records that the mod deleted, which you should never do). Any actual changes or additions the mod makes to vanilla records are unaffected by cleaning. Not all wild edits are the same. If you create an entry that is an actual change to a vanilla record, it always shows up as yellow. Some wild edits appear as new records and those show up un-highlighted (or white).
  13. When I say fog I specifically mean simple fog; that is, on a very basic level, a constantly moving "sheet of white" that always sits in the distance (as opposed to volumetric fog or smoke which are visual effects). It's the haze, and eventually pure white that you see looking off into the distance of any open-world game. Simple fog helps with performance in two ways: 1. It's easier for a GPU to render simple fog than the textures that are hidden by it. 2. It obfuscates LOD, so that it can be made a bit more aggressive without being too noticeable by the player. In skyrim, simple fog acts like a 3d filter, getting more and more hazy the farther away it is until it ends in an opaque sheet. In short, simple fog is basically exactly what you're asking for: A "break" in a very large space that isn't too noticeable by the player because it's constantly both obscuring, and marking the edge of their view. And yes, if you can make it a worldspace I would. As long as you've set the mipmaps for your textures right, LOD can make a big difference and fog can help make LOD less obvious. I don't know what kind of options there are for interior fog in Skyrim, but I'm pretty sure exterior fog can be easily controlled and altered.
  14. I believe that when the note goes into the player's inventory it has no object reference, only an entry in the player's inventory containing the base object id and an amount. You can do either one of two things, A. Instead of adding the note directly to the player's inventory place the note in the world and then use note.activate(player) where note is the object reference of the placed note. form note = ;;here goes the form of your note in the CK, not the object reference player = Game.GetPlayer() player.PlaceAtMe(note).Activate(player) Or B. Place the note in the player's inventory and as far as I know you should be able to simply equip it to cause the player to open it up (once they're out of menus of course) form note = ;;form of your note player = Game.GetPlayer() player.AddItem(note, 1, false) player.EquipItem(note, false, true)
  15. That would work, but would require a bit of scripting knowledge and I don't know if the OP wants to get into scripting. It might be easier for them to just manually change the references in the quests.
  16. Is there any reason you are disabling the object before setting it's position? That might be causing your problems. Replacing that with Peter's suggestion might work but if it doesn't you can always use TranslateTo() with a ridiculously high speed.
  17. Bit of an old topic to resurface, but I guess that's okay since it can be answered easily. Short Answer: Learn to use TES5Edit. Long Answer: The "details" window in the CK is obscenely limited compared to what TES5Edit can do. What you want to do is download that program, load up Skyrim.esm, update.esm and your mod ONLY. Then when it's finished you can expand the sections and see all the things your mod does in extreme detail and in a categorized, searchable format. Of particular interest is that any entries that affect or override skyrim.esm or update.esm are either highlighted in yellow or in green. Yellow means that it modifies or overwrites something, and green means that the added entry is entirely identical to the original (ie. it changes nothing). Now some entries, like cells, might appear green if you haven't changed anything about the form's properties (making it identical to the master entry), but it may have some dependencies (like items in the cell) that have been changed and thus require an entry in the plugin. So don't simply remove that entry without looking to see if any other changes are contained within. If a change is listed that is highlighted red, then you have another plugin loaded after the one you're looking at that is overriding the change. It can either be a vanilla change or one added by the overwritten plugin and for that reason, I don't suggest loading more than one plugin when you want to check for changes to vanilla items. If you have two plugins, one dependent on the other, I would first load the master alone, remove the vanilla changes, save, and then load the dependent plugin. This way any red highlighted items should only be additions by the master. Finally if an entry isn't highlighted at all, it is a new addition by the plugin.
  18. Hmm there's a few things wrong with the code from what I can see, and while it's unlikely that all of them contribute to the problem they do make it a bit difficult to diagnose the problem. First, I do not recommend calling an event as if it were a function. It shouldn't usually cause any problems, but it makes the code hard to follow and can lead to some mistakes if you aren't careful. I would put the OnTranslationAlmostComplete() code into a separate function and have the desired events call that function. Second, I assume this is all the code which would mean nothing ever changes START and END. As such, they should be made constants, or at least initialized and declared outside of any functions. No need to have the game do the extra work of setting that variable every time it needs to do an operation with it. Third, I don't know what you're using On3DLoaded() for, but putting a TranslateTo() inside an OnTranslateAlmostComplete() event would result in an infinite loop where the object is always translating. I don't think SetPosition() will work when the object is translating but even if it did, looping it this way is not ideal. You should probably put your TranslateTo() function in the same scope (event, function, etc.) as and right after the SetPosition() call. Fourth, you have no catch to detect if the object fails to finish translating. This is especially important because when you send a request to translate an object while it's already translating, it never sends the OnTranslateComplete() event, but instead sends the OnTranslateFail() event. Thus, because you're creating a loop whereby each translation is being interrupted it never calls OnTranslateComplete(), which never activates with SetPosition(). Because of this, OnUpdate() is never called and the fact that TranslateTo() is self repeating makes OnUpdate() entirely superfluous. You should get into the habit of learning to debug these kinds of errors. On a simple level, just putting Debug.Notification() several places in the code with simple messages would show a message in the top-left while playing and can tell you a lot about what events are activating and when. For instance, putting a debug message in the OnTranslationComplete() event and then playing the game so that it runs the script. If it showed the message then you know that the game is sending that event and that something in that event isn't working. If you don't see a message, then you know that the event is never being called. Debug messages like this are crucial when diagnosing your own code and for larger segments and more complicated systems are a necessity. Modified Code: Scriptname ___ZugImUnterfuhrung extends ObjectReference Int END = 1152 Int START = -8832 Event OnCellLoad() Move() EndEvent Event OnTranslationComplete() Move() EndEvent function Move() ;To be called on first load and on translation completion. disable() setPosition(START, 0, 0) enable() Utility.Wait(0.1) ;replaces delay previously set when registering for a single update if Is3DLoaded() TranslateTo(END, GetPositionY(), GetPositionZ(), GetAngleX(), GetAngleY(), GetAngleZ(), 100, 0.0) endif endFunction
  19. Not quite what we're talking about. That mod forces npc's to equip underwear when you take all their armor off. What we're talking about is underwear being worn underneath armor, as in visible where the armor would normally show skin.
  20. I'm gonna need more information from you two if you want these made. Fair enough. Sorry, I read the OP and just completely failed to follow it. I was tired. >.< Second this, though Breton would probably be better than wood elf. Make her slightly shorter than a normal breton as well if you can. http://hdqwalls.com/walls/thumb/dva-overwatch-to.jpg For a 3D representation of her.
  21. AFAIK you should be able to make a worldspace have no lighting, and then control the lighting from there. At worst you can always modify the lighting manually with scripts etc. As for optimization, you might consider some type of fog. If you put it far enough away, it shouldn't be too noticeable and can allow you more aggressive LOD without looking too jarring. I don't know if you can modify LOD stepping, but if you can having more aggressive LOD with very light fog may be a good solution. You also might consider making the space look bigger but actually scaling it down. I know that interior decorating has a lot of interesting techniques for making a space look bigger or smaller. You probably won't be able to scale it down too much with that, but every little bit helps.
  22. If you just want to do subtitles, I'm pretty sure they can all be modified in their appropriate "dialog" windows or by copying dialog text as an override into a new plugin and TES5Edit and editing them directly from there. If you want to modify all text seen in the game (like for item names) you can use this mod. I don't know if it can also modify the dialog.
  23. Except any stealth build would be overpowered because all your hits are from out of combat, and archery/magic would bypass a "near the player" system (magic might not be able to be cast at all while ethereal). In fact, I think that the ethereal effect ends combat, which is obviously a problem. As for other times when npc's take damage outside of player combat, dragons attacking a city within the area, the brawl in jorvaskr when you first enter, and any other scripted fights between NPC's including those added by mods (spectating an arena fight for instance) would all be unaffected by an "in combat only" system. There are other potential side effects to the ethereal effect, but another way to cause misses is to set every relevant actor's weapons' reach to zero (or close to 0) and then do the damage through scripts. This, of course, would not affect bows, magic, or unarmed damage including that of creatures. If you want to do something similar for missile magic and arrows and are willing to get super intense, you could theoretically set up a system where by you have a small "zone" around relevant actors that checks constantly for any projectiles that enter it and when they do, delete them and re-make them on the other side of the zone going the same direction and speed. This might be rather difficult, but I'm pretty sure it's not impossible. There is one last possibility. There is a function (and CK flag) for making an actor a "ghost". Supposedly it makes attacks on an actor not register, but I don't know to what extent it does this (does it work on magic as well, does it negate fall damage, etc.) nor do I know if there are any side-effects. But this is a very promising possibility and one worth looking at.
  24. D.Va from overwatch. Prob some kind of face paint in the game or another mod that would work but if not, I can probably add that in myself.
  25. Most of your work won't be in the CK it will be in an audio editor. AFAIK there isn't yet a resource that contains word parts of the dialog, so you'll have to create your own "word pool". To do that, you'd need to find audio files that contain words you want and basically start to chop them up into pieces where words start and end. Voice File Reference Tool is great to determine what sound files you might want to do this with. After you have a bunch of sound files each containing words (or pieces of words in some cases) you can simply shove them back together in whatever order and amount you desire, export them from the audio program, and then put them in the game. However, if you're industrious once you have the word pool you can put them into a music making program (depending on the program) as an instrument and piece them together as you would write notes on a page. This might be a bit more work at first, but if you intend to make a lot of dialog it would pay off in the long run and depending on the music program, can let you add variety and smooth the transitions between words without a whole lot of work in an audio editor. For audio editors, Audacity comes recommended by just about everyone including me. For music writing, if you have an apple product garage band is the way to go. Otherwise, it depends on if you already have/are familiar with one, or not. For windows, just google alternatives to garage band. Personally, I use FLStudio, but that's expensive and the demo has some limitations. At the end of the day it's not a super easy task. Maybe someday someone will release a modder's resource with a bunch of sound files containing words. Or, maybe someday I'll just make a program using a bunch of word parts from the game's sound files that works sort of like a text-to-speech program (like microsoft sam, for those of you who remember that guy). That is, if I ever get Visual Studio working so that I can actually even make a program. :pinch:
×
×
  • Create New...