pufthemajicdragon Posted August 24, 2012 Share Posted August 24, 2012 (edited) So I head back to Riverwood after a long time away, and while I'm there - woe is me! a dragon! At the end of the battle, half the town had died, including Sven, Alvor, and Sigrid. It broke my heart :( But I had a plan! I would make a mod that would give Dorthe the inheritance of her father's smithy in the event of his death. Easy, right? Not so. So I got the AI packages together, copying Alvor's work packages, modifying the durations for a shorter workday (come on, she's a kid!), and also created a new faction for her to join with the appropriate vendor settings, copying Alvor's and giving it a new name. I wanted to put an onDeath script on Alvor, but to avoid any incompatibility with other mods, I decided with the quest route. I've got a quest with priority 0 that starts the game running at stage 0, registers for updates, and waits for Alvor to die. On update, I move to stage 5 (for debugging purposes, really) and on Alvor's death, I change some of Dorthe's AI values and move the quest stage up to 10. Here's where it gets sticky. I created a reference alias that grabs Dorthe (fill type "unique actor") with condition quest stage > 5. This seemed to be the only route I could go to add her AI packages without editing her base directly, and it also allows me to add factions and some other fun things - if I can figure it out. But it's not working. As best as I can tell, with debug text popping out my ears, the quest starts on load and properly waits for Alvor's death. I have an alias script that also apparently starts on load rather than waiting for the conditions. If I load my save where Alvor is dead, I get all the right debug text showing me that each script is going through all of its stages correctly and Dorthe just stands there doing nothing. I can also verify that the quest reaches the proper stages via the console. If I resurrect and then kill Alvor, or load an earlier save and kill him via console, she comes running and cries over papa and follows her default "get away from me" my dad is dead package (which I can not seem to find!). For the life of me I can't seem to get my packages or other changes to take any visible effect. I can only assume that the alias isn't getting assigned correctly or it's being overridden by another quest/package. I set priority of the quest to 0, but the wiki doesn't tell me whether higher or lower values increase or decrease priority. About the only thing I haven't tested that I can think of and I only just now thought of it as I was typing this... Any other ideas while I go and try a different priority value? :edit:Also, I can type "Help Dorthe 4" into the console and I get this output:----Viewer strings not available--------Other Forms------------FACT: (0E000D64) 'Dorthe Services'QUST: aaDortheBlacksmithQuest (0E0012C7) 'aaDortheBlacksmithQuest'NPC_: (00013477) 'Dorthe' This would indicate she is in the correct faction and attached to the quest and alias. The output is the same whether or not Alvor is dead or which save game I load. :edit2:Quest priority of 1000 doesn't seem to make a difference. Edited August 24, 2012 by pufthemajicdragon Link to comment Share on other sites More sharing options...
RandomlyAwesome Posted August 24, 2012 Share Posted August 24, 2012 (edited) From what ı understood from your post there doesn't seem to any problem with The quest which means that the package is the problem.Problems with the package may be:The Package not pointing to her properly.The package not being high enough in the Package StackIt being overriden by another package(which shouldn't happen unless some mod plays with her packages or she is in combat) Also for future referance the higher the priority number is the more priority it has Edited August 24, 2012 by RandomlyAwesome Link to comment Share on other sites More sharing options...
JanusForbeare Posted August 24, 2012 Share Posted August 24, 2012 A few thoughts: -I suggest you script an EvaluatePackage function into the quest after Dorothe is slotted into the alias. Sometimes NPCs need a little kick in the butt to get them moving, and this is the way to do it. -In the future, you might want to consider triggering your quest through a KillActor event in the Story Manager. It sounds like your current strategy works, but it's a kind of a roundabout way to achieve the same goal. -Take a look at the "follower" alias in the quest "DialogueFollower" for an example of successful implementation of alias AI packages. I'm sorry I can't be of more help - it's hard to say what the problem is without being able to pore through the sequence of events in the CK. Link to comment Share on other sites More sharing options...
tetradite Posted August 24, 2012 Share Posted August 24, 2012 Is it possible that none of it will work just due to her being a child? I.e if children don't have the animations (I don't know if they do) for crafting her AI ignores the work package sending her to do that, and she won't use the merch setup because of lacking the dialogue required? Link to comment Share on other sites More sharing options...
JanusForbeare Posted August 24, 2012 Share Posted August 24, 2012 Is it possible that none of it will work just due to her being a child? I was considering that myself... however, children seem to be able to use most, if not all, animations that adults do - the only quirk is that they usually change size to that of an adult when using world objects like chairs and cooking pots :rolleyes: . Also, OP, make sure that "allow special furniture" is set to "true" in Dorothe's "working" package (section "public package data"), or she won't use the grindstone/forge. Link to comment Share on other sites More sharing options...
pufthemajicdragon Posted August 24, 2012 Author Share Posted August 24, 2012 A few thoughts: -I suggest you script an EvaluatePackage function into the quest after Dorothe is slotted into the alias. Sometimes NPCs need a little kick in the butt to get them moving, and this is the way to do it. -In the future, you might want to consider triggering your quest through a KillActor event in the Story Manager. It sounds like your current strategy works, but it's a kind of a roundabout way to achieve the same goal. -Take a look at the "follower" alias in the quest "DialogueFollower" for an example of successful implementation of alias AI packages. I'm sorry I can't be of more help - it's hard to say what the problem is without being able to pore through the sequence of events in the CK. I haven't tried an automatic EVP, but I have done EVP from the console with no effect. I scripted a few lines to try and pick up and report which package she currently has and it sort of works: Debug.Notification("Dorthe Quest: Alias Updating") package curPack = dorthe.GetCurrentPackage() Debug.Notification(curPack) Outputs: [Packagein the notification corner. Not totally useful, and of course the Package script doesn't appear to have a name property I can call from it (since it extends form, I ought to check that for a name property...). Out of all the possible packages she could run, I hate to script if/then statements for all of them. I do appreciate the suggestion on the story manager but that's so wildly different from OB that it's intimidating and confusing. To be honest, I don't even know what "story manager" refers to - I would assume it refers to a particular window in the editor, but it appears it only refers to a background process that is managed through several other doodads in the editor, none of which are very well documented on the wiki. But you do point me in a new direction that might get me what I want :) since looking through it briefly I did find the quests that manage the mourning dialogue (wiKill01-05). I think I can trace that and copy it for what I need to do. I'll report back after class when I've had some time to work on it. And from your other post, it looks like I might have to modify some idle anims to get this to a releasable state - at least if she inflates to grown up size when working at the forge. Link to comment Share on other sites More sharing options...
pufthemajicdragon Posted August 25, 2012 Author Share Posted August 25, 2012 (edited) OK so a few updates. I tried setting the quest to not start automatically and configured it on the kill actor event. I added it to the sm event node under kill actor event, under the node WIKillRunToCorpseSHARES, underneath and parallel to WIKill05, which appears to handle the "you killed my father" type dialogue. No change, the scripts all seem to still run on game load. So I started from scratch and simply created a quest that does not auto start, with an alias for Dorthe, and all of Alvor's appropriate factions and packages. No scripts, no conditions, no call to start the quest. I load the game and start the quest from the console and lo and behold! Dorthe heads straight to the forge and.... stands there. Not sure what the problem is, probably is an issue with her being a child. In any case, this at least is progress! I'll have to play around with custom packages that perhaps reference custom child animations. This is starting to get involved! :edit: I have not created custom packages or factions yet in this new from scratch mod, all vanilla from Alvor. And she still doesn't offer any merchant dialogue, which I'll also have to play with. Edited August 25, 2012 by pufthemajicdragon Link to comment Share on other sites More sharing options...
pufthemajicdragon Posted August 25, 2012 Author Share Posted August 25, 2012 (edited) I know I keep double posting - I think it's appropriate when enough time has passed and/or a major change has occurred. In this case - SUCCESS! With the working quest I had last post, I discovered a flag I can check on the interactive smithing furniture for "child can use". Checking this flag on all of the smithing furniture works like a charm! I then added a script fragment to the WIKill05 quest that checks if the victim was Alvor and starts my quest. Works like a charm :) I dislike some of these changes since they can conflict with other mods. And I'm not sure yet that setting that flag won't let any sandboxing child nearby start smithing for fun. And it is REALLY amusing watching Dorthe inflate when she goes to work at the forge. But I've got a working base now, something to be excited about :) As far as inflating actors - I think that might be related to either the animation that is being called (via a script on the interactive object) or by the furniture object's furniture marker itself, either of which could set the scale on the actor. As it stands, it's good enough for me to use, but not quite up to par for release. :edit:I should add that her merchant shop works as well :) not sure at all what the deal was with my first attempt, but starting over was probably a good idea anyway. Edited August 25, 2012 by pufthemajicdragon Link to comment Share on other sites More sharing options...
JanusForbeare Posted August 25, 2012 Share Posted August 25, 2012 Congrats! Glad to hear that you got it working. Link to comment Share on other sites More sharing options...
Recommended Posts