xenaclone Posted January 12 Share Posted January 12 (edited) 3 hours ago, IsharaMeradin said: You need to re-register for a single update timer possibly at the same point as resetting the TimerGlobal value back to one. Where and when you re-register depends on your mod and its needs. You may also need to remotely call a function on your quest script that will do the re-registration. You do not want to use a continuous update timer as these can get baked into the save file and cause issues should the mod / script be changed or removed. Always use the single updates with a repeat registration when necessary. NICE!!!! I figured it out Ishara!!! I think I did it in the way you just suggested, I'm not sure. Basically, added two properties to the script which triggers at the moment the guy says "We have arrived". One property for the timer quest (which is separate from the dialog quest) and another, a Float, for DelayHours. And then I added the line TimerScriptQuest.RegisterForSingleUpdateGameTime(DelayHours) to the Papyrus Fragment box. It worked! It friggin' worked. This opens up whole new worlds. I have no idea how to make a continuous update timer but now I won't bother trying to learn, if that'll mess up the save. Edited January 12 by xenaclone Link to comment Share on other sites More sharing options...
xenaclone Posted January 27 Share Posted January 27 (edited) Is there a way to force/change a follower's clothing/armor via scripts / dialog? Like, "Here put this on" and they put on whatever we give them to wear? Problem is, they've got Outfits on. Let's say Farm Clothes, Iron Boots, Iron Greaves. Giving them stuff to wear doesn't work, even if their Armor Rating goes up. I have Amazing Follower Tweaks but I'm trying not to use it. I can't see how AFT does this, anyway. Edited January 27 by xenaclone Link to comment Share on other sites More sharing options...
xkkmEl Posted January 27 Share Posted January 27 There is no simple way. The base game wants to reapply the actorbase's outfit whenever something is removed. AFT, and all other outfit mods I know, apply an empty outfit and then use scripts to force equip armor and weapons found in inventory. This gets more complicated for non unique NPCs because the actorbase's outfit is shared by all instances. Link to comment Share on other sites More sharing options...
xenaclone Posted January 28 Share Posted January 28 Dang, well thanks for answering. Guess I'll continue to use the console. Link to comment Share on other sites More sharing options...
xenaclone Posted January 28 Share Posted January 28 (edited) AddScriptPackage is great in earlier games to make NPCs change behavior on-the-fly through dialog and quests. AddScriptPackage is listed in the CK wiki, but does not compile when I add it to script. What do ppl use nowadays? I don't see anything else listed. If Game.GetPlayer().GetDistance(WarriorRef) >= 1024 WarriorRef().AddScriptPackage(FollowPackage) EndIF ... Doesn't work. I've tried making properties using Actor as the Property Type (Warrior) and also ObjectReference (WarriorRef). Tried various ways of arranging parenthesis: WarriorRef.AddScriptPackage FollowPackage, WarriorRef().AddScriptPackage(FollowPackage) and so on. And I have made a property for the package. I'm getting the feeling that the wiki could be wrong, and everyone's using something other than AddScriptPackage... Or it just doesn't show how to arrange the script very well. Edited January 28 by xenaclone Link to comment Share on other sites More sharing options...
Surilindur Posted January 28 Share Posted January 28 The wiki makes it sound like you could use an alias in a quest, add the package to that alias entry, and fill the alias with the character reference that needs the package (the screenshot titled "Alias Package List" on the right side): https://ck.uesp.net/wiki/Package_Stack If I remember correctly, I was able to override the package for an actor that way a few years ago, but it required making sure that the quest (or the alias?) had a high enough priority, so that the package applied via the alias also had a higher priority than all other packages that may have been applied through other aliases. The upside was that no edits were needed to the actor, and the alias could be assigned somewhat freely. There does not seem to be an AddScriptPackage function anymore, but there is EvaluatePackage to make sure the actor is running the appropriate package if it does not update immediately. That one sounds really buggy, though: https://ck.uesp.net/wiki/EvaluatePackage_-_Actor Hopefully that helps a bit! Maybe someone else knows of a better way. Link to comment Share on other sites More sharing options...
xenaclone Posted January 28 Share Posted January 28 (edited) Thanks for the quick answer, wow. EvaluatePackage works for me just fine. I think AddScriptPackage on the wiki is an oversight. Ah, aliases. Can't get those things to work; I'm actually better at scripting! To be fair though, I haven't really spent a lot of time with aliases. You wouldn't happen to know of a good, thorough alias tutorial? Something other than Bethesda's wiki? Beth's wiki never goes very far, which leads to questions and guessing on my part. I'll also try the method you got to work in the past as well. That sounds like the ticket, actually. Edited January 28 by xenaclone Link to comment Share on other sites More sharing options...
IsharaMeradin Posted January 28 Share Posted January 28 AddScriptPackage is a console command. If you want to add an AI package to an NPC, you need to create a reference alias on a quest, assign the AI package to the reference alias and then assign the NPC to the reference alias via papyrus with ForceRefTo or ForceRefIfEmpty, via the Creation Kit with the following fill types: a unique actor, a specific selected NPC reference, a reference from another quest, and a matching reference that meets the designated conditions. For a follower NPC, ForceRefTo is often used since the alias would start out empty. Link to comment Share on other sites More sharing options...
xenaclone Posted January 28 Share Posted January 28 (edited) Cool, thanks Ishara. I found an alternate way, too. Made a global (AlternateFollowGlobal) and also a package. The package kicks in if AlternateFollowGlobal == 1. Added the package to the NPC. If the NPC falls behind a second NPC, I'm trying to get her to follow the player instead. So I simply added this to the script already attached to the NPC... ----------- If WarriorRef.GetDistance(Warrior2Ref) >= 1024 If AlternateFollowGlobal.GetValue() == 0 AlternateFollowGlobal.SetValue(1) EndIF EndIf --------------' ... gonna see if that works. The advantage of aliases is that they don't have to be attached directly to the NPC, right? Whereas with my method, it's yet another AI package in the stack. Edited January 28 by xenaclone Link to comment Share on other sites More sharing options...
xenaclone Posted January 28 Share Posted January 28 22 hours ago, xenaclone said: Is there a way to force/change a follower's clothing/armor via scripts / dialog? Like, "Here put this on" and they put on whatever we give them to wear? Alright, was finally able to give a cuirass to one of my followers and he actually upgraded from Hide to Imperial Mail. That seems to be the thing: it has to be an obvious upgrade. Still, it's odd that I wasn't able to do this with a woman wearing Farm Clothes. Gave her Hide Armor and she continued wearing her inferior clothing! Link to comment Share on other sites More sharing options...
Recommended Posts