File information

Last updated

Original upload

Created by

DAVER1971

Uploaded by

DaveR1971

Virus scan

Safe to use

Tags for this mod

11 comments

  1. DaveR1971
    DaveR1971
    • member
    • 3 kudos
    Sticky
    Thank you for checking out my mod. Please let me know what you think and experience.

    -DaveR1971
  2. Tobias44142
    Tobias44142
    • member
    • 10 kudos
    Been trying to make my own cloud chest setup.  I see you went with the Darkfox 127 setup.  Easy enough.  Problem is, the chests don’t animate.  I’m currently searching for a way to make a chest animate, then access cloud, then close.
    1. DaveR1971
      DaveR1971
      • member
      • 3 kudos
      Yes, I was disappointed with the lack of animation as well even though I could add "opening sound" to the container activator. Maybe add both open and closed chest models atop each other with the open model disabled until activated, then swap closed chest to disabled and then reverse the process when closed? The issue there I think is the activator is "one-way"... maybe there is a built-in method to check when activation was finished. hadn't really dug that deep into it to be honest, just dipping my toes into some light scripting.

      -DaveR1971 
    2. DaveR1971
      DaveR1971
      • member
      • 3 kudos
      Tobias,

      After getting the chest anim to open late yesterday (PST) without swapping closed and open form, I slept on it and this is what I came up with this morning:

      Scriptname TestAnimScript extends ObjectReference 
      {Test script for animation effects}
      ObjectReference Property closedChestObject auto
      Float gameTimePaused = 0.0
      ; OnActivate Event, do something here...
      Event OnActivate(ObjectReference akActionRef)
      gameTimePaused = Utility.GetCurrentGameTime()
      closedChestObject.PlayGamebryoAnimation("open") ; animation in the nif
      gameTimePaused = Utility.GetCurrentGameTime()
      getLinkedRef().activate(akActionRef) ; the 'dummy' chest script action
      ;gameTimePaused += 0.0005 ; buffer for delay is arbitrary, might be necessary playtest yourself
      ; 'pause' the script
      While(Utility.GetCurrentGameTime() <= gameTimePaused)
      Utility.Wait(1) ; yeah, wish this could go to decimal, but only slight 'in game' delay 
      EndWhile
      closedChestObject.PlayGamebryoAnimation("close") ; animation in the nif
      closedChestObject.Reset() ; Seems to be required after succesive play animation calls
      EndEvent

      ; NOTES:
      ; this script placed on the activator - use of DUMMY container script is not required only this script
      ; Your game must not eliminate any in-game menu pauses, specifically inventory-related screens
      ; Should be good on _any_ container .nif that contains 'gamebryo' anims (examine nif for controller and keywords)
      ; Free to use/patch/modify. 
      ; I will consider patching this into the mod at some point, but have other stuff to do right now
      ; prob best way to patch my mod - place this script over the three static chests, pass chest as ref,
      ; remove 'dummy' script, could probably all be done in SSEDIT... but idk.
      ; Enjoy -DaveR1971


      This tested on a freshly placed chest in my test cell. Animated, but unsure if there are any sounds yet as I did not place in the overworld and my boss chest was opening/closing in test cell with sound. I am thinking the "play sound" events or sounds can be added to the static in CK where it asks "play sound when anim"... I think it is properties, or edit base...

      A patch for my mod will be coming at some point --- just not this week, and hopefully no later than last week in May.

      Hope that is something you can work with.

      -DaveR1971
    3. Tobias44142
      Tobias44142
      • member
      • 10 kudos
      Hey man just wanted to respond to your work.  Thank you so much I’m finally getting some time off tomorrow and I’ll play around with this and hopefully be able to implement it to my years long (on and off) vanilla homes overhaul mod.

      Scripting just isn’t my thing and I’m always grateful to those who are for their help.
    4. Tobias44142
      Tobias44142
      • member
      • 10 kudos
      So this script gets placed on the activator.  Is there some requirement to link it to the local static chest that it sits over?  I’m just curious how it knows which static to animate.  Or am I misunderstanding.

      is the 
      closedChestObject auto
      where I select the static chest in the properties?

      UPDATE:
      yea it works pretty good in recognizing the cloud storage.  Only thing is the animation seems jittery.  Also I think I need to add a utility.wait before the the animation but before the inventory opens in order to better sync the chest animations.
    5. DaveR1971
      DaveR1971
      • member
      • 3 kudos
      Tobias,

      This is what I am "settling on" for now:

      Scriptname HBMCCSLinkedDummyChestVFXSFX extends ObjectReference  
      {Adds Visual and Sound effects to the linked dummy chest.}
      ObjectReference Property dummyChestAnimObject auto
      Float gameTimePaused = 0.0
      Sound Property openChestSFX Auto
      Sound Property closeChestSFX Auto
      ; OnActivate Event, do something here...
      Event OnActivate(ObjectReference akActionRef)
      gameTimePaused = Utility.GetCurrentGameTime()
      dummyChestAnimObject.PlayGamebryoAnimation("open") ; animation in the nif
      openChestSFX.Play(dummyChestAnimObject) ; sound effect
      gameTimePaused = Utility.GetCurrentGameTime()
      getLinkedRef().activate(akActionRef)
      ;gameTimePaused += 0.0005 ; buffer for delay is arbitrary, might be necessary
      ; 'pause' the script
      While(Utility.GetCurrentGameTime() <= gameTimePaused)
      Utility.Wait(1) ; yeah, wish this could go to decimal, but only slight 'in game' delay 
      EndWhile
      dummyChestAnimObject.PlayGamebryoAnimation("close") ; animation in the nif
      closeChestSFX.Play(dummyChestAnimObject)
      dummyChestAnimObject.Reset() ; Seems to be required after successive play animation calls
      EndEvent

      Agreed that the animation is not as smooth nor timed perfectly. I also renamed my static chest object... but his was scripted before reading your response in this thread.

      There will be an optional patch for my mod with the animations and sound effects uploaded soon.

      -DaveR1971
    6. Tobias44142
      Tobias44142
      • member
      • 10 kudos
      What about instead of using an activator we use an actual chest that is linked but insert a line
      Scriptname TobiasCloudChestScript extends ObjectReference  


      Event OnActivate(ObjectReference akActionRef)
          BlockActivation(true)
          Utility.wait(1)
          getLinkedRef().activate(akActionRef)
      EndEvent

      I'm not sure if the coding is correct but essentially I'm trying to block the default activation of the local inventory, wait while animation plays then access the linked cloud chest.

      Thoughts?
    7. PRieST47
      PRieST47
      • premium
      • 172 kudos
      To chime in and to get it right.
      The mod does not include the sound and animation fix yet, correct?
    8. Tobias44142
      Tobias44142
      • member
      • 10 kudos
      So what happens is this:
      you open the chest, it accesses your cloud chest but the animation is from closed to an instant open. No smooth normal chest crack open like you’d expect.  Then an instant close.  The sound effects are there however.
  3. blackkat9
    blackkat9
    • supporter
    • 3 kudos
    I haven't downloaded yet. I'm just asking to make sure I understand correctly, because you used terms I'm not familiar with. But since this mod is based on Hearthfire, I'm guessing it must be related to the Hearthfire homes. 

    Were talking about the quests that have to do with the Hearthfire homes? Like, the one where you have to talk to the Jarl in Falkreath or the one connected to the burnt down house in Morthal. If the answer is correct. Does it start the moment we accept those quest from the Jarl or the moment you read the letter from the Jarl? 
    1. DaveR1971
      DaveR1971
      • member
      • 3 kudos
      Blackkat9,

      Yes, sorry for the confusion, and delay in responding as I have been away for work this week.

      This mod is for the three "Build Your Own Homes" (BYOH) added by Heathfire DLC that require the use of building materials. These are specifically the Lakewood Manor, Heljarchen Hall and Windstad Manor homes.

      All three "BYOH" are heavily scripted and can start in different ways. In my playthroughs, I usually buy the home from the Jarls' steward before getting the letter from the Jarl... but that option exists. The Hearthfire scripting is written so that you can buy the home even though the courier has been dispatched with the letter. My mod does not change any of the base scripts... I only reference the current stage in each of the BYOH scripts to determine if the "base loot" provided in the "native" BYOH chests should be added to the cloud storage.

      The BYOH quests technically start at Stage 10 for each house, with the letter from the courier being stage 30, but the "purchase action" is also seen in the script (scriptname: BYOHHouseScript.pex) when the land is purchased (from the source file):

      function BuyProperty()
      ; set flag for owning property
      bOwnProperty = true
      ; remove gold
      Game.GetPlayer().RemoveItem(Gold001, BYOHHPCost.GetValueInt())
      ; tell master quest
      BYOHHouseBuilding.BuyProperty(iHouseIndex)
      ; enable basic building site
      SiteEnableMarker.Enable()
      ; map marker
      HouseMapMarker.Enable()
      HouseMapMarker.AddToMap()
      ; give player some logs to start with (since they can't be taken from chest)
      Game.GetPlayer().AddItem(BYOHMaterialLog, 20, true)
      endFunction

      You can see in this part of the script, when the land is purchased, the "SiteEnableMarker" is turned on and the building site with the drafting table, chest, workbench and anvil become visible in the overworld and the map marker is also added with the specific BYOH map marker appearing and in the Miscellaneous quest section the "Visit your new property (or whatever)" quest appears. You also get the logs -- so this is where I matched quest stage for the provisioning of the base chest materials to the cloud storage.

      For my current playthrough (both developing and testing this mod), I never received the letter from the Jarl, so my Stage 30 is incomplete for all three BYOH quests.

      Hope that helps to explain things.

      -DaveR1971