Jump to content

Haravikk

Members
  • Posts

    82
  • Joined

  • Last visited

Everything posted by Haravikk

  1. So I'm working on a mod with some basic dialogue, and what I'm hoping to do is structure the dialogue such that I should only need a handful of generic responses reflecting agreement, disagreement, outrage etc., basically a lot of conversation topics will be question based, such that simple answers should fit for most (or even all) of it. What I'm wondering is, does any such dialogue already exist in a way that would be easy for me to integrate, e.g- as a set of shared topics perhaps? Yes/no responses alone would be sufficient, though ideally I'd like some more severe negative responses (insult or outrage).
  2. CK and SKSE were both installed via Steam. It seems this may be an issue with Mod Organizer 2 though, and use of its overwrite folder, I've reported the issue on Github here. I have however discovered a workaround; since the issue appears to be specific to saving into the overwrite folder, it's possible to bypass it by editing the executables list in order to set Creation Kit to save files directly into a specific mod folder. This setting is profile specific, so what I'm doing is creating a profile for each mod I'm working on, which has the side benefit of not having to move new files from overwrite, but also of speeding up CK's load times since each profile only has the bare minimum mods enabled. So now CK loads in seconds rather than minutes on an SSD, so the bug has been a blessing in disguise.
  3. Wasn't sure whether to post this as Skyrim technical support or mod troubleshooting, but opted for here as it seems more modding related as it's the Creation Kit. Please let me know if this is the wrong place! The issue I'm experiencing is incredibly frustrating; basically each time I load my mod in Creation Kit, it will allow me to save one, and only one, script, whether new or edited it doesn't matter. After this all future attempts to save a script will result in the following error: Unable to write source to temporary location or Unable to create or write temporary file for compilation Or slight variants of this. The first message is actually misleading as I can save the source just fine, it just won't compile. At this point I have to close down Creation Kit and reopen it before I can save one more script, rinse and repeat. Needless to say, if I have to do this every time it's going to approximately 83 billion years to complete a simple mod! Any ideas why this might be happening? I'm running Creation Kit through Mod Organizer 2; I've used it with Mod Organizer 1 in the past without issues, but have had to upgrade as MO1 won't seem to connect to the Nexus anymore. Are there any fixes or workarounds I can use to prevent this issue?
  4. Hmm, so if I understand the side-effect right, would it be easier if my head quest was nothing but a placeholder for the head topic? Thanks for the tip though, I've been completely ignoring that sidebar the entire time as none of the tutorials I've found ever mention it! So if I were to do this via quest stages how would that look? Would it be something like: 1. All my basic branching dialogue is in quest stage 1, excluding bribe/persuade/intimidate, instead each branch eventually sets some variables then triggers a later stage. 2. Later quest stage has bribe/persuade/intimidate as head topics, and uses variables to trigger some action (or fail and go back). Something like that? When triggering dialogue with quest stages like that is it still seamless or will I have to dump the player back out to the head topics, do I need to use forced dialogue? I guess I'm a bit unclear on how you continue to give the illusion of drilling down into the dialogue tree when splitting it between stages. Are there are any guides anywhere that show this, or quests that do this that I could refer to? Sorry if any of these questions are a bit basic; most of my modding so far has been confined to placing objects or tweaking values, the only dialogue I've done has been extremely basic, and I've found available guides don't into much more detail than that, though I may have missed some. Normally I'd try to just do everything with trial and error but it takes so long to reload Skyrim and the creation kit that it wastes a lot of time just to see what changing a value did! Thanks again!
  5. I'm no expert, but do you actually need to copy the quest? If your dialogue is identical then all you should surely need to do is add the new voice files to the existing quest, and maybe double check (or add) conditions?
  6. So I'm back to working on some unfinished mods of mine, but I have two possibly advanced questions regarding dialogue that I think I need to get help with first. Shared Dialogue Topic(s) First question is whether it's possible for dialogue from different quests to share the same initial topic? Basically what I want to do is add a topic to innkeepers such as "I'm looking for work" which several different quests can then add their own sub-topics to. Normally I'd do this with a quest with all the dialogue under it, but these quests really ought to be in their own plugins which makes this more complicated. So is there more a modular way that I can do this? I tried just having two different quests with the same opening topic, but this gave me two different identical topics when speaking to an innkeeper. I suppose it's possible I did something wrong, so first up, should that have worked? If not, is there a neat way to do this such that multiple plugins can have their options grouped together neatly under one topic, or are there some clever alternatives? I'm hoping to avoid having to maintain an "index" quest supporting every possible mod under it if I can, as I'd love for others to be able to add to it as well (plus make it as easy for me to do so as possible). Reusing Dialogue Options Next up is, can I reuse dialogue options under multiple headings without having to duplicate them? Basically in one dialogue tree I'm going to have a bunch of different options, most of which eventually lead to very similar bribe/persuade/intimidate choices (with similar outcomes). What I'd like to do is maintain just one set of bribe/persuade/intimidate options and somehow reuse them, for example by setting a variable before displaying them, so that I know what on success. To complicate matters I may also need to set different levels of speech check, though I can live with maintaining duplicates for easy/medium/hard variants so long as I don't have to maintain copies for every possible path. Is there a clever way to reuse dialogue for multiple branches? I was thinking perhaps I might have to use mini-quests for this purpose, e.g- player selects a branch, setting some variables and triggering a quest with the bribe/persuade/intimidate options, before triggering some result. Would it need to be that complicated or is there a simpler method? Thanks in advance for any help!
  7. So basically I'm trying to create a togglable magic effect without the use of a script; I figured I could do this by simply creating a magic effect with a keyword, and then another magic effect that dispels effects with the same keyword. Simple enough, and I'm pretty sure it should work, the only problem is; what archetype do I use? I essentially want a magic effect that does nothing, besides specify some casting animations, and which is applied to the player without leaving any kind of impact. I suppose I could just do something with a really short magnitude, but I'm wondering if there might be a cleaner archetype I can use that doesn't do anything, but will still trigger the keyword base dispel behaviour? Obviously the Dispel archetype is out as it dispels everything with a time. There are a few types on the creation kit wiki that seems like they're unimplemented/vestigial, but I'm unclear on whether they'd be safe to use a "do nothing except dispel these keywords" effect? So is there anything that would be the best fit (i.e- least impact/side-effects) for doing nothing?
  8. So I'm playing as a lightning focused mage, and naturally have the Disintegrate perk, but one thing that really annoys me about it is that when it triggers for a dragon, giant, mammoth etc. they're reduced to the same puny ash pile as a humanoid or smaller, which just doesn't seem right. I'm curious though; do any mods exist to create larger ash piles for such creatures? I've tried searching for all the combinations of terms that seem sensible to me, but haven't had any luck. If no such mod does exist, does anyone know what it might take to make one? I've been trying my hand at modding a few other things, though I haven't figured out how Disintegrate works yet (possibly I'm looking in the wrong place)?
  9. Thanks for replying! I think I actually found and removed the offending effect already, it looks like my confusion comes from reusing a save that already had the spell rather than starting from a clean one and adding the spell fresh; the save which already had the spell appears to have the visual effect in some kind of weird disembodied state such that it is being applied to all spells in the right hand (even if Dragonhide isn't active, or is even removed from the player)! Such is the fun of Skyrim modding I suppose!
  10. So I'm trying to modify the Dragonhide spell to be a bit more like regular Ebonyflesh but with some unique additional effects instead. In order to do this I've removed the RitualSpell keyword from the magic effect (ArmorFFSelf75) and set the Dragonhide spell to allow casting from either hand. This works okay, except that when I ready the spell I get the same ritual glowing effect that the original has; not a big deal, except that this effect is ALSO applied to any other spell that I ready while Dragonhide is active, and in first person mode this makes many spells a lot harder to cast (as the visuals disrupt the entire first person viewpoint). I'm completely bewildered as to where this effect is coming from, as I haven't even added my custom effects yet, all I've done is modified Dragonhide to match Ebonyflesh so far. I'd have just copied Ebonyflesh directly if I could, but I really need to reuse the form IDs to ensure the vanilla version is replaced. Does anyone know where Dragonhide actually applies its custom visual effect? It's one that radiates outwards from the player as they're readying/casting the spell. I'd set everything under the Visual Effects section of the Magic Effect to the same as Ebonyflesh uses (there was an Image Space Mod under Dragonhide that I thought might be the culprit, but that's gone and it's still doing it!).
  11. Sorry to bump this, but I still haven't found a way to replicate setnpcweight's face resetting; are there any other functions that I can use? I know the console commands are, for some bewildering reason, totally independent of Papyrus, but it seems strange that I wouldn't be able to trigger the same behaviour that setnpcweight does. Is there really no way at all to do it?
  12. Sorry to bump this, but are there any good ways to do something like this? Is it possible to get a total shout cooldown reduction for the player in any way?
  13. I'm running from a good SSD (Samsung 850 EVO with 550mb/read speed) so load-times shouldn't be an issue. It's an odd occurrence because it doesn't always happen when something should clearly be getting loaded, e.g- it can happen indoors with small numbers of NPCs nearby. I guess I may have to do it the hard way, I was just hoping it might indicate a possible cause or type of cause, as I have just shy of 200 mods installed. Like I say though, none are mods I've never used before, but I've ported over manually from Nexus Mod Manager. Basically I used my NMM folder of mods and just reinstalled everything fresh from the Nexus with a few tweaks for MO (e.g- installing all patches then disabling ones I don't currently need under optional ESPs). The game does run smoothly for the most part, it just randomly does this, but there's very little consistency to when it does it which is the bewildering part; if it were always at the same place or doing the same thing(s) it be so much easier to track down :(
  14. So I've started encountering a weird issue, and I'm hoping someone might be able to give me an idea where I should start looking for a culprit. While I suspect it may be mod related to some degree, the issue is a weird one, because I'm not getting proper crashes to desktop, freezes, stuttering etc. like I normally would with a bad mod combination. Instead what happens is that sometimes, for no obvious cause that I can find, Skyrim will go black, the hint of a window will appear in the top left corner, and then it will either recover after a few seconds or crash as normal. I'm running Skyrim through Mod Organizer, with ENBoost (fixes only) and SKSE; since this doesn't seem like normal behaviour for Skyrim itself I'm assuming one of these is responsible for the odd black-screen-that-might-recover behaviour, so I'm hoping that if someone knows then this will help me narrow down the cause a bit. For example, if it's SKSE then it would be more likely to be script-related, so I could try to figure out what scripts might be misbehaving when the sort-of-crashes occur. That said, sometimes (very rarely) this sort-of-crash occurs after a graphical glitch such as textures appearing screwy; this is usually when Skyrim will recover and I can continue playing quite happily. So perhaps it's ENBoost related? So yeah, like I say, I'm hoping this odd behaviour might narrow down where the errors are occurring so I have a better idea of what mods or settings I might look into. I should note, in the past I've run Skyrim through Nexus Mod Manager, using basically the same set of mods (I haven't changed much, and what I have changed seems pretty minor) and I never experienced anything like this. If a mod misbehaved I'd just get the usually CTD or the game would lock-up until I used task manager to close it. It's weird, as I have mods like Immersive Patrols and Immersive Creatures, which can together result in some huge battles (four or five dozen NPCs fighting simultaneously as Empire vs. Stormcloaks gets mixed up with warring Goblin tribes, and usually a dragon attacks for good measure) and the game will remain totally smooth, but enter a cell near Windhelm and I get this weird sort-of-crash. And no, it's not always Windhelm and it doesn't always happen, so not fun to diagnose!
  15. So I think most people are familiar with the fact that effects like spell resistance and armour damage reduction have a cap (presumably hard-coded?), however some things that really should do not. One is the fortify shouts effect; in the vanilla game this isn't a problem as there are a finite number of sources so it can only be stacked so high. However, when you add mods to the equation it becomes possible to have an effective 100% cooldown reduction, enabling a player to trigger Storm Call, Odahving and Durnevir simultaneously if they want to. Anyway, in a mod I'm making I have a set of items that will have the fortify shout effect; when used alone this should not allow an excessive cooldown (as there are trade-offs to wearing the full set), but when combined with mods it will still be too high. Obviously I can't prevent a player abusing this if they really want to, but I'd like for my items to be self-balancing if possible, by simulating a cap. So what I'm wondering is; is there any way that I can set a condition for my fortify shout effect(s) such that I can prevent them from applying if the player already has a cooldown reduction of X%? For example, is there any way that could I set a fortify shouts 10% effect that only applies if the player has a less than 80% cooldown reduction? The idea is that, combined together, these should be able to take the player up to some limit, but never above it, if I can.
  16. So I've made a mod that can change the race of arbitrary NPCs as part of a quest, changing them in a similar fashion to vampirism. Now, it's supposed to leave their face completely unchanged (to prevent any loss of tattoos, face gen data etc.) by using the same head mesh and parts, and works fine on most NPCs, but for some NPCs their face-tint is removed (but everything else is fine, they just suddenly have a light grey-ish skin tone on their face). Thing is, I can trivially fix this in the console by using the setnpcweight command, which restores the NPC's facial tint to normal. What I need is some way to do this via Papyrus, but it seems like setnpcweight is doing something that the Papyrus methods I'm aware of do not. Here's my current code to try to replicate it: Function FixHead(Actor akActor) ActorBase akActorBase = akActor.GetActorBase() akActorBase.SetWeight(akActorBase.GetWeight()) akActor.QueueNiNodeUpdate() EndFunction I've also tried changing the weight to a different value, then changing it back (in case setting the same value doesn't result in an update), but neither of these seems to work. So there's obviously something going on with the setnpcweight console command that changing the weight in Papyrus doesn't do, but I'm at a loss as to what that might be. I've also already tried SKSE's .RegenerateHead() method but this doesn't appear to work either (I assume it's just the same as .QueueNiNodeUpdate() but only for the head). Anyone know of what Papyrus method(s) I can use to reset an NPC's facial tint in the same way that setnpcweight does in the console?
  17. Okay, so I have a quest that I want triggered via the New Voice Power event, so that I can look for a specific voice power given during a main quest, as it's a good point at which to start mine without having to edit parts of the main quest itself. So my quest simply has the New Voice Power event selected and a script like so: Scriptname MyQuestScript extends Quest Shout Property ClearSkiesShout Auto Auto State Waiting Event OnStoryNewVoicePower(ObjectReference akActor, Form akVoicePower) Actor PlayerRef = Game.GetPlayer() if (akActor == PlayerRef) && (akVoicePower == ClearSkiesShout) ; Do some stuff GotoState("Done") else Self.Stop() endif EndEvent EndState State Done ; No event EndState Basically the quest should start each time the player receives a new shout, if it isn't the one I want then the quest is stopped (so it can be started again) otherwise we do some stuff and leave the quest running with the script in the empty Done state to ignore all future events. My concern is that once I do get the shout I want, the quest is still there even though all it is now doing is ignoring events. Is there a cleaner way to tidy up my quest? Does marking it as complete prevent it from being restarted by the story manager?
  18. Okay, so I've got the spell working as expected by setting it up as an ability, with an effect limited to the same cell as the player that runs a reset race function from the OnEffectStart() event. This seems to work as expected if I add it manually to an NPC using AddSpell. However, I'm not clear on how to add this to NPCs using a quest alias; is this something that I need to do dynamically somehow? I tried adding an alias using Find Matching Reference In Loaded Area, with a GetInFaction condition for the faction that I've added all changed NPC's to, and with my spell set under Alias Spells, however they don't appear to be receiving the spell. Perhaps I'm misunderstanding how/when the quest aliases are actually applied? I've only ever used them before to target specific objects/actors, not anything dynamic like a faction (and not to apply a spell) :)
  19. Thanks for the detailed explanations! I should have said I am actually a programmer, but it seems I have a lot to learn about what Papyrus does and does not optimise; I guess I've been hideously spoiled by languages where a call to something like Game.GetPlayer() has effectively zero cost ;) I do have another question related to my teleporter though; in my own version of the script I use VisualEffect.Play(akActionRef, 0.1) to play the summoning effect on anyone using the teleporter. This works well enough since NPCs pause after teleporting anyway, so the effect appears to occur at the centre of the teleporter at either end. However, it's actually bound to the actor itself so moves with them, making it a little jarring and also, in the case of the player, will move with them if they move immediately after teleporting. It's not a major issue, but I considered switching to instead play the effect on the markers I'm using as the teleportation targets, so the effect would be at a fixed location at both ends, and play without interruption; unfortunately this doesn't seem to work since the markers are invisible, so the visual effect is likewise invisible (though the sound still plays). I'm wondering whether there might be an alternative? Can I force the visual effect to be visible despite the marker being hidden? Alternatively, is there a way to play a visual effect at a fixed coordinate rather than an object reference? Another alternative might be if I could duplicate the effect and somehow raise its height above the target; this way I could target the teleporters themselves (rather than having to add extra properties, since I already have the target pad as a property, to make it glow), but this isn't an option with the standard effect as the teleporters are at ground height, so the effect is too. But it doesn't look like there's much in the visual effect to customise, as it seems to just link to a .nif file.
  20. Thanks for the suggestion! So yes the lip-syncing does indeed work fine on a custom NPC set to one of the custom races, so the problem must be something to do with calling .SetRace() via script. Any ideas what I can do about it then? The only workaround I can think of is "resetting" their race somehow when the player enters the same cell (or the NPC does), i.e- setting them back to their original race, then to the custom race again, as this sorts the lip-syncing issue. If that's the only way, what would be the best way to do this? There doesn't look to be a reliable event for "NPC and player are in the same cell", and the workaround on the Creation Kit wiki looks to use a spell on the player which doesn't seem ideal (as the NPCs that need "resetting" should be relatively uncommon). It looks like Skyrim doesn't have the distance less than/greater than events (unless I've missed them somewhere?) as that seemed like it would have been a good way, as the events could be registered and handled by a single quest script. The only obvious alternative I could find was Line of Sight tracking but that seems like it could be a very inefficient way to do it. What are the other options? Attach a script to the NPC, use a spell? Could an AI package work somehow? This is where my general unfamiliarity with all of these is going to slow me down a bit. :D So I guess this thread is now about how to most efficiently detect when an NPC and the player are in the same cell, and trigger an event/function so I can "reset" them.
  21. Wow, thanks for the sample script! It's a shame there's no way to use the existing teleport markers, but 16 new markers later and I've got this up and running like a charm! Even added a little bonus by adding a VisualEffect property, assigned to DA07SummonTargetFX (the summoning effect) by default. Calling .Play(akTargetRef) on it just before moving/activating gives a nice and easy teleport effect. Might be a tad overkill but I like it :smile: So my finished script looks like: Scriptname CWINSTeleporter extends ObjectReference ObjectReference Property DestinationMarker Auto VisualEffect Property TeleportEffect Auto Event OnInit() BlockActivation() EndEvent Event OnLoad() BlockActivation() EndEvent Event OnActivate(ObjectReference akActionRef) Actor PlayerRef = Game.GetPlayer() TeleportEffect.Play(akActionRef, 0.1) if akActionRef == PlayerRef PlayerRef.MoveTo(DestinationMarker) else Activate(akActionRef, true) endif EndEvent As an aside; I noticed you store PlayerRef as a property, but I thought pulling from Game.GetPlayer() might be better as it avoids storing it with the script/object, are there any particular advantages/disadvantages either way?
  22. Won't blocking activation also prevent NPC's from being able to use the teleport? Or do you mean attempting to block activation in the OnActivate method? Because on the creation kit wiki it sounds like it may be too late to do it within that event. I'll give it a try anyway when I get a chance, but if slow scripting could result in inconsistent behaviour it may not work all the time.
  23. I've created for myself a simple interior teleport using the College of Winterhold gate stone (the circular college symbol) as a pair of load doors so that I (and NPCs when the nav meshes are connected) can teleport between them easily. This occurs entirely within the same cell, so there's no need to autosave each time the player teleports; is it possible to suppress autosaving on my teleporters, if so, how? I know some people prefer to turn off autosaving entirely, but I actually like having autosaves generated when I exit/enter a cell, so I'd rather not turn it off entirely if I can; I like having those auto-saves so I don't lose what I did in an area just because it turns out a dragon is outside waiting to eat me :) Also, rather than posting a separate topic, what is the easiest way to trigger an effect when someone uses the door? I was thinking of triggering the summon/banish style effects at each end of the teleporter, how easy would that be to do? Is this something that will need to be scripted or is there another way to do it?
  24. So I'm making a mod which adds custom "races" which are actually just variants like vampires are in the vanilla game, with one for each vanilla race. I've based my custom races on the RaceCompatibility for Skyrim and Dawnguard mod, with some minor appearance changes that should not affect the head (I'm using the vanilla head models, textures etc., and altering the head appearance minimally using a custom "helmet" instead). To switch NPC's to these custom "races" I then simply use akActor.SetRace(customRace), plus adding them to a faction and form list for easier handling later, and giving and equipping the helmet. Now, the problem I'm encountering is that lip-syncing stops working after switching them; they don't move their mouth at all, even though they should be perfectly compatible. In fact I can prove this because if I switch their race while they're in the same cell as me, their mouth moves correctly, but only for as long as we are in the same cell, if either of us leaves then the mouth movement stops working. If I change them back to their original race the mouth movements immediately start working again. I'm at a bit of a loss as to what the problem might be; at first I thought that it might be because my custom races aren't on the appropriate form lists, which the mouth parts make reference to, however the elven races aren't either and yet they work just fine, despite using a mouth part that only references human races. It's also strange that the mouth movement works fine in the same cell (proving that it can work) but then stops if any cell transition is involved. I've also tried disabling the "helmet" part to see if that was the cause, but it made no difference. I've found a few similar threads from a while back with similar sounding issues, but no conclusive solutions (except one to manually export and reimport NPC's, but this is a no-go for me as arbitrary NPCs can be affected). I'm hoping someone might know why this issue occurs, and whether I can fix it somehow? I've already tried adding my races to the form lists used by the mouth parts, and I've also tried calling the SKSE akActor.RegenerateFace() function but neither makes a difference. The only workaround I can think of would be to have the NPC's reapply the custom race each time they enter a cell with the player (or vice versa), but this seems an incredibly heavy workaround (and I'm not of the best way to do it). Are there any alternatives? If not, can anyone suggest the most efficient way to detect this same cell condition so I can switch the races with as little impact as possible?
  25. No, uninstalling mods is what corrupts peoples savegame files and even with the various "cleaners" not all of the corruption can be removed. People need to finally accept that once you've starting using a mod you have to keep using that mod, go back to a save made before it was added, or start a new character. Every time someone creates a mod with an "uninstall" option it just perpetuates the myth that there's a safe way to uninstall mods and continue playing with that same character. Is that really the case? My mod is fairly light overall; the meat of it is in the new races, and all scripting is contained within the quest that triggers the race changes (among other things, there'll be more of a quest to it in future). Surely once the race changes are undone, removing the quest will, at worst, leave behind an orphaned script that doesn't do anything (it is only triggered through the quest), and which a save cleaner should tidy up quite happily? I realise that more complex mods that attach a bunch of stuff to the player or to other NPCs might be another matter, but my mod shouldn't need to do any of that.
×
×
  • Create New...