Jump to content

Sparky88101

Premium Member
  • Posts

    36
  • Joined

  • Last visited

Nexus Mods Profile

About Sparky88101

Sparky88101's Achievements

Explorer

Explorer (4/14)

0

Reputation

  1. That is helpful! The thing about the kids in the house is that there is a period before the quest is finished where new children added by the mod are not yet ready to listen to you. Like one of them comes up to you and says "Your guards killed my parents!" and it would be awkward if next to your response there was an option to make her change into a different dress. That's the reason for the HouseQuest == 800 condition.
  2. If you're willing to do scripting, you could do this with a series of global variables. This might require SKSE. (1) For each recipe. create a global variable (such as AAAGlobalRecipe1) and set the initial value to 0. (2) Next, create a book. In the "scripts" section of the book add a new script by selecting the [new script] option at the top. Title your script something like "AAAScriptChangeGlobalOnRead" and hit OK. (3) In your script, add a new property. Your property is a global type and name it "GlobalToChange". (4) Fill the new property with the AAAGlobalRecipe1 that you just made. (5) Your script would be: Event OnRead() If AAAGlobalRecipe1.GetValue() == 0 AAAGlobalRecipe1.SetValue(1) Debug.Trace("You learned a new recipe from this book.") EndIfendEvent (6) Now in your recipe, you just need to make one of the conditions that the global variable be 1. You can make a global variable that controls each recipe, add the script to each book and fill in the property with the new globals. If that requires SKSE and you don't want to deal with that you can effectively do the same thing by making an empty cell with a series of XMarkers that enable when you read the book. I can walk you through that if you'd like.
  3. Hello friends! I am working on a mod that allows you to give your children new clothes and gifts from a variety of resource packs. To maximize compatibility, this is done using a separate dialogue system than the standard Hearthfire gift menu. Under normal circumstances, the dialogue is only available in the house added by the mod. However, I added an MCM menu that allows you to open the dialogue to any child and set their clothing. Because of that, I have two sets of scenarios that I want the dialogue to open under. The different conditions are as follows: Scenario 1: The kid is one of your adopted children inside your house. A) Subject IsChild ==1 B) Subject GetFactionRank DisallowChangeClothesFaction != 1 C) Subject GetStage HouseQuest == 800 D) Player GetInCurrentLoc, HouseInterior == 1 Scenario 2: You toggled the option to allow it for any child in the MCM A) Subject IsChild == 1 F) Subject GetGlobalValue, ChangeClothesMCMAllow == 1 What I would like is for the dialogue to open under: (A and B and C and D) OR (A and F) For the life of me I cannot figure out how to do it. I have looked at the discussions online and cannot seem to get them in the right order. Can anyone help me with this?
  4. Darkfox127 has a tutorial on Youtube that explains the gist of AI packages in more detail than I ever could. https://www.youtube.com/watch?v=E3Nd8LXYRA0 My guess is that you will need to use a mix of travel and forcegreet package templates. For my mod when I need a scene like this I generally have the NPC forcegreet the player first. That stops player motion and is less complicated to create than a full scripted scene.
  5. My mod Perkapalooza works like this. Thereâs a lot of other stuff with it, like expansions of the perk trees, but one of the core themes of the mod is that you need to kill bandits, draugr, and dragons to get enough perk points to keep up with the leveling potential. Hereâs the link: https://www.nexusmods.com/skyrim/mods/84962 If thatâs more than what you were looking for, I can dig up the script I used to make perk point potions for you or someone else whoâs interested.
  6. I'm also interested in this. There must be a way to do it because something similar happens with the bone dragon.
  7. For me some AI packages just don't work if you edit them while they are active in an NPC. If you remove it from the NPC, then edit it, then put it back in the NPC sometimes that fixes it. If not creating a new package that's identical then adding it to the NPC after you've completely finished editing it also works.
  8. You want to attach a script to the container that activates when it closes and detects if the player has the three pieces of armor in their inventory. I'm just free-handing this, but it would probably look like: [Have your three item properties as ArmorProperty, GlovesProperty, and BootsProperty, and your quest as QuestProperty, or whatever you want them as. Change the SetStage to the stage it goes to] Event OnClose(ObjectReference akActionRef) if (akActionRef == Game.GetPlayer()) if (Game.GetPlayer().GetItemCount(ArmorProperty) == 1) if (Game.GetPlayer().GetItemCount(GlovesProperty) == 1) if (Game.GetPlayer().GetItemCount(BootsProperty) == 1) QuestProperty.SetStage(50) endIf endIf endIf endIf endEvent The other option is a little more complicated because (I'm assuming) you can kill the four NPCs out of order. You could attach the script to all four of the NPCs that detects whether or not all four of them are dead. So something like. Event OnDeath(Actor akKiller) if (NPC1.GetDead == 1) if (NPC2.GetDead == 1) if (NPC3.GetDead == 1) if (NPC4.GetDead == 1) QuestProperty.SetStage(50) endIf endIf endIf endIf endEvent You can give that a try and see if either of those work. Hopefully they shouldn't create any issues.
  9. Sweet! I wasn't sure so I gave the alternative just to be safe.
  10. One issue is probably that OnActivate tends to be finicky with containers. You would be a lot better off using the OnOpen event. From there you should set a global variable with an OnClose event that detects the first time the chest is closed. I suspect that part of the issue with your script is that it is going to DoNothingState out of order. So your script could look something like this: Properties: Global1 (whatever you make it) Race1 (NordRace) (Other Race Properties) Item1 (What to add if your a Nord) Event OnOpen(ObjectReference akActionRef) if (akActionRef == Game.GetPlayer()) if (Global1 == 0) if Game.GetPlayer().GetRace() == Race1 Self.Additem(Item1) EndIf (Other race add item scenarios) EndIf EndIf EndEvent Then add a second script for the OnClose Event Event OnClose(ObjectReference akActionRef) if (akActionRef == Game.GetPlayer()) Global1.SetValue(1) EndIf EndEvent (I think this requires SKSE for changing a global variable, but you can accomplish the same thing by using the second script to enable/disable a marker instead and using IsEnabled and IsDisabled rather than if Global1 == 0)
  11. Yep. They worked stacked on top of each other as long as they're invisible (like the door markers and xmarkers are). As long as you only have one door active at a time you should always go to the ship that's enabled.
  12. That's a good idea! Thank you. I'll look into that and let you know if I can make it work.
  13. This is a cool idea! If the ship is just one piece, you could put a map in one of the interior rooms with flags above the cities you mentioned as activators. From there you would use the activators to enable/disable the different exterior ships in the different ports. Your interior would have four doors the exterior would have four different locations. You could just stick the four doors right on top of each other and only enable the one that's at the location you want. If the ship is more than one piece (I'm assuming it is) then you would link all of the exterior pieces to and x-marker as their enable parent. The script for each of the flags would look like this, with each of the doors and ships being an object reference property in the script: (Travelling to Dawnstar) Event OnActivate(ObjectReference akActionRef) Debug.Notification("Ship is sailing to Dawnstar") XmarkerDawnstarShipExt.Enable() DawnStarShipDoor.Enable() XmarkerWindhelmShipExt.Disable() WindhelmShipDoor.Disable() XmarkerSolitudeShipExt.Disable() SolitudeShipDoor.Disable() RavenRockDawnstarShipExt.Disable() RavenRockShipDoor.Disable() EndEvent Does that look like what you're going for? You wouldn't be sailing the ship necessarily but it would only be active in the area that you want it to be. For the other three flags you would just switch out which properties are enabled and disabled. You would only need to copy and paste the exterior in the locations you want it, which doesn't seem too bad. The four exterior doors could all go to markers that are stacked on top of each other as well without any issues.
  14. You can open up the source if you unpack the .bsa with an unpacking program (BSAOpt is probably the easiest http://www.nexusmods.com/skyrim/mods/247/? ). You just unpack the folder and move the scripts into your scripts folder, then you can look at them in the CK. I'm not sure how he did it but that you give you some insight.
  15. I'm looking into making a mod that disables the returning of perk points upon making a skill legendary. I want to have to go re-obtain the perk points through game mechanics (Deadly Dragon soul conversion, perk point potions, etc). I generally end a game with hundreds of available points that I don't want to spend and I want that process to remain something I have to work for instead of a given. I am aware of the Skill Increase Story Node, the WISkillIncrease01, and the WISkillIncrease02. What I am hoping to do is create a script that detects the number of available perk points upon making a skill legendary, saves it as a global variable, then returns the number of available perk points to that number after everything else has happened. What I know I can do so far: (Note: This Requires SKSE) Create a Global Variable (PerkPointReturnNumber) Script1: float NumberPerkPoints = Game.GetPerkPoints() PerkPointReturnValue.SetValue(NumberPerkPoints) (Rest of Skill Increase Things Happen) Script2: Game.SetPerkPoints(PerkPointReturnValue) So what I'm concerned about is that I'm unfamiliar with how the Story Nodes actually work and where I should place the scripts. If anyone is familiar with how to do this I would appreciate insight into if this is feasible and if I'm on the right track.
×
×
  • Create New...