Jump to content

Martimius

Premium Member
  • Posts

    85
  • Joined

  • Last visited

Everything posted by Martimius

  1. Hey everyone, I wanted to document something weird and super frustrating I’ve run into while working in the Creation Kit, and hopefully get some input from others if they’ve experienced anything like it. I’m building a mod that edits an exterior cell in Tamriel - specifically formID 00000713B (mainly adding a woodcutting hut). For a while everything was working fine. The cell was rendering properly in the CK, I could see all my references, and everything behaved as expected both in the CK and in-game. At some point, after adding a bunch of new references (mainly firewood, torches, containers - things that were set to be toggled via scripts later), stuff just started vanishing in the CK render window. At first it was just the new objects. Then I realized even vanilla references I hadn’t touched - like a trough that was there for a while (before I added in the new references) - were no longer visible. They were still listed in the Cell View → Objects tab, I could click them (but upon clicking them I was just shown an empty spot where the object should have been) and everything still showed up and functioned properly in-game. But in the CK Render Window? Gone. I double-checked everything obvious: they weren’t marked “Initially Disabled,” (though the CK does display these in the render window usually without issue) they weren’t hidden behind enable parent logic, nothing in the render window was set to be filtered or hidden. I toggled the disabled object visibility (B key), reloaded the CK, loaded and reloaded the cell - nothing. I even deleted a bunch of the objects I had added, thinking maybe something had gone wrong with the edit batch. No change. Objects still invisible. Then I noticed something weird. If I selected one of the invisible objects via the Cell View list and dragged it upward, it suddenly popped back into view. Move it downward again - poof, it disappears. It didn’t matter what object I tried it with, or if it was new or old. Even dragging a new object (like a fresh static trough) into that exact area made it vanish instantly once it hit a certain height. I could select it again in the list, drag it upwards slightly - it would reappear. It's like there's this dead zone in the cell where the CK's renderer just refuses to display anything. At this point it seems pretty clear that it’s not an issue with the references themselves, but with the CK’s render logic for that part of the cell. The game loads everything fine, no crashes, no visual bugs, everything behaves exactly how it should. It’s only the CK that’s breaking. I checked my logs - no real errors. Some texture and facegen warnings, terrain .BTR load failures, the usual CK noise, but nothing pointing to missing references or broken forms. What’s wild is that I can load an old version of the plugin (from before I added the recent references) and everything displays correctly again in the CK. But even if I take that clean version and just start editing it again - adding even unrelated stuff - I eventually run into the same render bug. So whatever is going wrong seems to be cumulative. It’s like CK silently breaks the render bounds or occlusion culling in that part of the cell and never recovers. For reference, if it wasn't clear already, this is a vanilla exterior cell in Tamriel. I know you can’t duplicate exterior cells like you can interiors, and I’ve also confirmed that the CK won’t let me fully “reset” this cell’s data without jumping through major xEdit hoops. So it’s not like I can just wipe the record clean and start over. At best, I can work around the problem by dragging everything slightly north or up into a neighboring chunk of the cell. That seems to work — stuff renders normally outside of that cursed zone. I’ve seen old posts from 2012-ish describing similar problems, usually mentioning “Full LOD” as a workaround (which didn’t help in my case), or talking about large objects disappearing when scaled up or moved too far from the origin. This doesn’t seem to be related to object scale or LOD though - even small statics disappear just from being in the wrong spot. It really seems like a CK frustum/culling/occlusion failure. I've also set ugrids to astronomically high values (like 21) to no avail. So yeah - has anyone else run into something like this? I’d love to know if there’s a way to cleanly refresh a cell’s render bounds, or repair the cell record via xEdit without completely recreating the scene. I’m currently working around it by nudging objects out of the bugged zone and continuing development, but its still not optimal especially since some items in the cell are effectively invisible and I basically just have to remember they're there. Anyway, hope this helps anyone else who hits this problem. If you’ve dealt with this and found a fix, or even just have more info about what causes it, please let me know. Would love to crowdsource some answers on this because I feel like I’ve reached the limits of what I can test on my own.
  2. Had the same issue, in my case it was due to the tool not being able to process "&" characters. I fixed it by replacing "&" with "&".
  3. Hey y'all, if you didn't know already, I'm the author of the Serana Dialogue Add-On mod. Unfortunately my mod was one of those which unfortunately got bonked by the AE Update (not specifically the AE Edition). SDA was preventing a game load, with black screen issues. There was a fix I tried for it (thought of by Lucien's Joseph Russell) where he added a 3 second delay to his mod checker script- and I did the same with mine (we have identical scripts, at least for that part). However, while that part of my mod seems to have been fixed, it's not fully stable yet. In my own testing and with other users as well, we can load up the game, save, but loading it up again results in a black screen. I have narrowed the cause for this other bug down to one script (it's a silent teleport/follower catchup script). However, here's the doozy part: 1. The script doesn't even frickin' load on a new game (I verified this by typing sqv for the owning quest on the console) but removing the script seems to fix the issue and allows me to save and reload normally, without black screens. 2. For some reason, deleting ALL the contents of the script (just deleting everything other than the script name at the start) doesn't seem to work for some reason too. Even the script, empty, doesn't allow you to save and reload. 3. The script (and I can post the source here) just defines functions and doesn't do anything anyway, unless called for. No way that can be done, since on a new save Serana hasn't even been met yet. I'm stumped. Any tips?
  4. Nope. I kinda just lived with it for that playthrough. Two playthroughs later and I have yet to experience it again though. Not sure why, but I probably did something right at least on my end- maybe it's because I reduced the amount of script-heavy mods I had in my LO?
  5. I suspect it's something to do with the fact that the killmove only occurs after the attacking event, when the damage has already been calculated and the NPC (by the game's standards) has already been considered dead?
  6. I did some testing on this, and while my quest init script does give the player the ability (I checked the console), the MGEF script isn't successfully firing. I put a debug notification for whenever the MGEF should fire, but it isn't appearing and the scene where my follower comments isn't starting.
  7. Thanks, gotcha. I've been trying to research this online, but I can't seem to find anything: is it possible for a Papyrus script to check if a dialogue line is currently valid and/or on cooldown? Let's say I've conditioned a dialogue line to only be said every 12 in-game hours. If the countdown timer hasn't already been met, how do I make this killmove detect script not trigger the dialogue?
  8. Hey everyone, Is there a practical way to get follower NPCs to recognize and comment whenever a player has just finished a killmove on an NPC? I did some of my own research on the Creation Kit wiki and found this, Which is a Function which basically tells whether or not a specific actor (in my case, PlayerRef) is in a killmove. However, since this would have to be fired on an event, I wasn't able to find anything related- at least going through all the existing Papyrus events for Skyrim: https://www.creationkit.com/index.php?title=Category:Events. I don't want to use RegisterForSingleUpdate as much as possible since I don't want to hog up Papyrus resources and performance unecessarily. Any thoughts?
  9. It seems to work, finally! 100% of the time. Thanks for all your help! How could I add a condition for it to only run on locked containers though? It even runs when I lock pick a door to a new cell. Tried looking up possible papyrus conditions but I haven’t found a result so far.
  10. Ok, I might just use it with the quest I already made; I never saved with that quest active anyway.
  11. As for the lockpicking issue, I've had some progress with troubleshooting, I guess. In the CK, I re-added/auto-filled all the script properties for both the init and magic spell script. So at least now 100% of the time in-game the lockpick detect spell shows up, along with the magic effect. Problem is, the lockpick dialogue scene fires at completely random times, even when I haven't lockpicked anything yet. The scene fires off once, and then never again. @IshadaMeradin, I also may consider going with the SKSE route instead as it does seen at least somewhat simpler. With the RegisterForMenu command, the wiki says I have to register for a calling form. What's the best way to implement that?
  12. So therefore I should just run this once, like EVENT onInit() when the SEQ quest is run? I was thinking though that we wouldn't have to force the alias to be filled necessarily, since it is filled on a new save (where the mod wasn't installed previously). I was thinking that the quest could be stopped, cleared, restarted in some way? That might mean having the quest restarted on the game startup each time. Edit: Fixed! Since the game had trouble filling aliases on a SEQ already run before, I just made a new quest and the alias filled properly
  13. This may be something I should hold off now, since it's been giving me more headaches than anything. And this may not strictly be related to the first issue I encountered in this thread, but what should I do when a scripted scene isn't firing? I basically have a scene (with the same NPC) which should occur after she has said a particular dialogue line to the player. This should be triggered through an "End" fragment in the Topic Info, scripted like this. The scene doesn't have any prerequisites, and is basically just multiple consecutive dialogue actions said by one NPC. The reference alias for it doesn't have anything special ticked for it, other than choosing the unique actor DLC1Serana. The quest does start and the alias fills (since the alias does not have an "Optional" flag checked) but the appropriate scene doesn't trigger after the topic info is said. Also, no errors with the Papyrus script compile. EDIT: Turns out the alias was not filling. sqv in the console for this quest points to NONE for this alias. EDIT 2: Ok I think I've solved part of my problem. The aliases did fill on a new testing save (which didn't have the mod installed prior; I was able to tell via the sqv command) and the scripted scene properly fired after the dialogue topic info. My problem now I guess is what to do with existing saves which already had the mod installed- since alias won't be filling on those ones. I also do think a filled alias attached to a scene could possibly fix the problems I've been having with the first lockpick thing. The problem just is getting to fill the quest alias on an existing mod save.
  14. Tried testing in a different cell (this time in the Dragonsreach Jarl's Quarters, as its the first place I thought of with stuff to lockpick) and still I'm getting the same result.
  15. The testing save was done after the Dawnguard questline. No quest-related stuff currently running in relation to her mental model. Gotcha. Will try going to some NPC's house and try picking a lock there.
  16. No, I didn’t. I also can’t see how conflicting scripts could prevent this one from running successfully. I did all my testing in the “RiftenThievesGuildHeadquarters” cell, and I don’t think there’s particularly much going on there.
  17. Ok, so I tried dylbill's exact test esp (no modifications, I just added a Normal Branch Type dialogue topic with the dialogue (no conditions, other than GetIsID DLC1Serana=1) and also filled the script with that dialogue topic's name. It seems to work at least partly. Clicking on Serana on the debug console, I can see that she at least has "LockPickDetectAbility", but upon picking a lock, there still is no dialogue.
  18. Clean saves didn't do any good. Will try just using the test esp dylbill provided, since what I did before was copy what he did (including the scripts) over to my main mod plugin.
  19. Yeah she is. Definitely less than 2000 units away from me, as per the conditions set on the script. And @IsharaMeradin, the closest I can possibly get to a new save is a clean Dawnguard testing save (previously made without mods) as unlike other followers, Serana just isn’t someone you can spawn with console commands and get her to act like normal. You have to awake her in Dimhollow Crypt as usual.
  20. Weird. The debug log isn't even firing. I made sure to remove the ":" comment. Also there aren't any preexisting conditions in either topic dialogue (both the normal and the idle). Just the dialogue itself. The global variable should be set to "Long" and a 0.00 value, right? Maybe the problem with the event probably not firing is an issue with the game trying to find the Serana actor. In your own testing, did you use this particular NPC, or just some random generic follower?
×
×
  • Create New...