0 of 0

File information

Last updated

Original upload

Created by

LarannKiar

Uploaded by

LarannKiar

Virus scan

Safe to use

584 comments

  1. LarannKiar
    LarannKiar
    • premium
    • 1,567 kudos
    Locked
    Sticky
    Fallout 4 Next-Gen Update Support Has Arrived
    (2024-05-15)

    


    Next-Gen release

    The "Next-Gen version" was being worked on since end of April. It entered beta (as v18.0, 2024-05-10) to give time for modders to test it. (The beta was only a test build).

    The first final release for the Next-Gen game patch has finally arrived (v18.1, 2024-05-15).

    Over 150 new native functions and 6 event dispatchers were added to both the Next-Gen and the "non-Next-Gen" versions of Garden of Eden SE. Several bugs were fixed for the Next-Gen version during beta.


    The non Next-Gen version of Garden of Eden SE structurally did not change (beyond minor code optimization, including new compiler settings for faster code execution and a bit more informative logger).

    I'd like to confirm that both the main (i.e. non Next-Gen) and the Next-Gen versions of Garden of Eden will continue being supported.
  2. Crazydeal
    Crazydeal
    • member
    • 24 kudos
    Hey, it's been a minute but I'm back with more requests if you're still up for it! I was wondering if you'd be able to make RemoveNthItem(), DropNthItem(), TransferNthItem have a Bool to be Silent like RemoveItem()? It'd be nice to move things around without the audio. SuppressHudMessages() is useful for the visual cues, but audio cues are another story. Having the dropped item be disabled from the start would also be nice.

    Also, it'd be nice to have AttachModToNthItem() replace a mod that is already present. I've noticed some odd behavior where if the item already has a mod it'll attach the mod you want it to, but it will still have the old mod. The new mod is greyed out at the workbench and it claims you can't build it while the actual craftable mod is also present. This doesn't happen with the vanilla AttachMod() to ObjectReference. It fully removes the mod and displays properly at a workbench.

    It'd also be real handy if we had some way of marking and tracking an inventory item so that we can do things with it repeatedly without having to find it again. Maybe this is a skill issue on my part. Also, in a similar way to SortFormsByForms(), it'd be nice to be able to compare the integer arrays produced by various GetItemIndex Functions(). So a SortIntByInt(), I guess.

    I've also been needing a EquipObjectReference() Function where you can equip an item from the world. Preferably with the option for it to be silent. And it'd be even better if it removed the previous equipped item from your inventory, but that might be a bit specific for my use case.

    And finally, I was hoping to get some more functions for changing the properties of inventory items if possible? For instance, I was really hoping for a way to repair power armor health via script.

    Sorry for the text wall. I've been meaning to ask about some of these for months. I only just decided to finally get around to it. Hope you are well!
    1. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      Sorry for the late reply, Starfield received an update with new compiler settings last month and I had to restore all native plugins..

      I can add "SuppressInventoryAudio" to the next update.

      I just replaced the Two-Shot weapon mod with Mighty with AttachModToNthItem and the Two-Shot was properly removed. Are you sure abRemoveInvalidMods was true when you called it?

      I added EquipObjectReference to the feature notes.

      Added SetNthItemHealth to the feature notes as well.
    2. Crazydeal
      Crazydeal
      • member
      • 24 kudos
      It's all good, thank you for your dedication! I'm sure you have a lot on your plate with so many mods.

      I'm pretty sure I tested it with abRemoveInvalidMods both ways and it behaved the same. I'm not sure what it could be. Funny enough, that was pretty close to the use case as I've rewritten the LegendaryItemQuestScript to have it select an item in the NPC's inventory. I ended up just dropping the item I want and using the vanilla function. I wouldn't be surprised if it's something on my end as the amount of times I've created my own issues is at least 9 out of 10 times.

      As per the usual, I have another request. I was wondering if I could get a function to change the workbench type of a furniture? I'm trying to open the CookingMenu using the Weapons Workbench and the best method I've found is placing a new bench that's set to Alchemy and activating that... But I'd prefer to just use the original bench if possible. In Skyrim, I used SetBaseObject() from PowerOfThree's papyrus extender to "swap" ore veins and that worked there. However the version provided in Papyrus Common Library doesn't seem to function the same for a workbench. Alternatively, if you know of a better way to do this I'm all ears.

      Or perhaps a function to open the CookingMenu with this workbench as the source?

      Thank you!
  3. Pokepunch
    Pokepunch
    • premium
    • 21 kudos
    I'm modifiying weapon instance ammo when equipping / unequipping them. But the info in the Pipboy doesn't seem to update the ammo values. I tried to use RefreshPipBoyMenuData() but as per the comment it doesn't have a visible effect. Do you know how I could do this or if a function could be added for to refresh with visible changes?
    1. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      Unfortunately the name of RefreshPipBoyMenuData is a bit misleading.. it only refreshes a few Scaleform data so I should need to add an extra note it in the .psc.

      I added this to v19.6 beta. (Tested it with F4SE's InstanceData.SetWeight and it works).

      Bool Function UpdateInventoryItemData(ObjectReference akReference, Int aiItemIndex) native global
    2. Pokepunch
      Pokepunch
      • premium
      • 21 kudos
      Sounds like that would work perfectly. 

      Is the beta available to download? Would like to try this out. 
  4. BlahBlahDEEBlahBlah
    BlahBlahDEEBlahBlah
    • premium
    • 446 kudos
    Hello,

    I was planning out a way to use the GetNthNodeDistanceFromReference function for two nodes on the same reference.
    I ran into a problem trying to understand how to fill aiNodeIndex1 and aiNodeIndex2 when (both) the nodes I want/need to track are in an attached OMOD.
    Can't reference the OMOD itself and using the number from the OMODs NIF would just return whatever falls under that number on the reference-that-it's-attached-to's nif.

    Any tips on how would/if could move forward in a case like that?

    Thank you.
    1. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      Sorry for the late reply. I looked into it and it appears there's a bug in some of the Get/SetNthNode functions. They don't find certain nodes while GetModelNodes do. I fixed it in the beta of the upcoming update.
  5. Pokepunch
    Pokepunch
    • premium
    • 21 kudos
    I think I'm missing something obvious here, but how do I recieve the added events? I'm registering for them like so
    Event OnPlayerLoadGame()
        RegisterForNativeEvent("GardenOfEdenEvents","OnEquipUnequip")
    EndEvent

    Function OnEquipUnequip(Actor akSender) global
        Debug.Trace("Hit OnEquipUnequip event")
    EndFunction
    But I never seem to recieve the event, any advice?

    EDIT: Nevermind, it needs to be the name of MY script!
  6. SolidSunny954
    SolidSunny954
    • member
    • 0 kudos
    Should I use MO2 for the install? Cause I mostly use NMM.
  7. Alasador
    Alasador
    • premium
    • 2 kudos
    When it comes to .dll files I am a fish out of water and could use some help.
    I tried to launch f4se through the button on vortex and got an error window saying.

    GardenOfEdenPapyrusExtender.dll

    REL/Relocation.h(629): failed to open:
    data/f4se/plugins/version-1-10-984-0.bin

    It gave me an OK button and that's it. Would someone be so kind as to tell me how I fucked up.
    1. Alasador
      Alasador
      • premium
      • 2 kudos
      Never mind I figured it out.

      If curious my mistake was trying to launch through Vortex.
    2. SirModAlott
      SirModAlott
      • member
      • 0 kudos
      I can't get this error to go away.
    3. Zachthememelord
      Zachthememelord
      • premium
      • 0 kudos
      I'm also having this error, your solution has unfortunately not worked for me
    4. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      You need to install the Address Library for F4SE Plugins. The .bin file from the downloaded .zip should be in your Fallout 4/Data/F4SE/Plugins folder.
    5. NutsackWhak
      NutsackWhak
      • member
      • 5 kudos
      i had the same issue. i solved it by installing the address library AIO (all in one). Then i first purged and then deployed all my mods. 
  8. NiavaiN
    NiavaiN
    • member
    • 0 kudos
    Hi. Does the average user need this?
    1. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      Only if you have a mod that requires it.
  9. Sranger
    Sranger
    • premium
    • 211 kudos
    Hi Larann,
    have you ever looked into removing the "muted audio" during dialogue scenes?
    AFT/AFT Plus calls a npc.say() call  after pausing  the scene in order to get more followers to interject during dialogue, but since it's in a scene, it makes all audio outside of the actors in the scene very muted.
    1. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      You mean the audio ducking behavior, when all sounds/voices except the speaker's voice is ducked? I think I can add SuppressSoundDucking() to the next update.
    2. Sranger
      Sranger
      • premium
      • 211 kudos
      thanks, I had no idea it was called audio ducking!
  10. SoleVaultBoy
    SoleVaultBoy
    • premium
    • 188 kudos
    Hey, sorry to bother you with another request, but would it be possible to add a function that equips an item only visually?
    It should function similar to `EquipNthItem`, but the previously equipped item stays active and the new item replaces only the old one's visual appearance.
    1. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      I'll see what I can do. If I understand correctly, it'd be something like RenderNthItem(Actor akActor, Int aiItemIndex, Bool abRendered)?
    2. SoleVaultBoy
      SoleVaultBoy
      • premium
      • 188 kudos
      Yes, but now that I think of it, having an additional function that does the same but with an item from another container would be great.
      bool Function RenderNthItem(Actor akActor, int aiItemIndex, bool abRendered) native global
      bool Function RenderNthExternalItem(Actor akActor, ObjectReference akContainer, int aiItemIndex, bool abRendered) native global
  11. SoleVaultBoy
    SoleVaultBoy
    • premium
    • 188 kudos
    Hi, would it be possible to add functions to return the ID of an inventory object?
    Currently there's no good way to uniquely identify an inventory object.
    The following functions would be helpful in this regard:
    int Function GetNthItemInventoryID(ObjectRefernce akRef, int aiIndex) native global
    int Function GetItemIndexByInventoryID(ObjectRefernce akRef, int aiID) native global

    Thanks in advance. :)
    1. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      Yes, I'll add these to the next update.
    2. Seallv
      Seallv
      • member
      • 1 kudos
      -
    3. LarannKiar
      LarannKiar
      • premium
      • 1,567 kudos
      Sorry, it's not possible to uniquely identify stacked items. Inventory item stacks (e.g. of weapons and armors) don't appear to have persisting IDs that could be used to identify them. As soon as the player equips or modifies an item in the stack, the ID changes. I can write a unique key generator for stacked items to quickly lookup each one during a game session for script optimization purposes but the hashes won't persist across saves (unless I save them but I'd like to avoid that).
    4. SoleVaultBoy
      SoleVaultBoy
      • premium
      • 188 kudos
      Hmmm, I suppose this is somewhat fine, since there are already item stack functions, I could use them to detect stack changes.
      Do the keys/IDs change when reloading a save? It sounds like, as long as the inventory stays the same, the IDs will not change.