Jump to content

adb3nj

Premium Member
  • Posts

    116
  • Joined

  • Last visited

Nexus Mods Profile

About adb3nj

Recent Profile Visitors

5002 profile views

adb3nj's Achievements

Enthusiast

Enthusiast (6/14)

3

Reputation

  1. What does that mean in practical terms? NifSkope is now as good for collision as 3DS Max, or not quite? Does the 128-vertex limit mentioned above still apply?
  2. There's a lot of NavMesh though. I think, potentially, if there's a 'preferred path' from point A to point B, NPCs will stick to it, but if at any point there's a break in the path, there's no telling when NPCs will abandon it.
  3. Thanks, I figured you'd have probably done the legwork on this! Once it had occurred to me to use a timer as a fallback, the issue seemed slightly moot, but it's still helpful to get a better idea of what NPCs are doing. Not entirely sure it's related, but while tracking one of them, I stumbled across an entire underwater graveyard of guards from my provisioner escort mod :') Half of them were naked, for some reason.
  4. I'm wondering if any of you have experimented with them enough to get a solid idea of how they actually work… I'm looking to update my Repopulate Military Checkpoints mod so, instead of waiting a random amount of time before spawning reinforcements, it spawns them at the appropriate faction base (the Castle, Boston Airport, Old North Church; Synths teleport in, which is simple enough) and they travel to the checkpoint that requires reinforcements. Basically, it works fine for some checkpoint locations, but not for others, e.g. I've been testing getting Minutemen to the checkpoint just north of Old North Church, and for some reason, as soon as they exit south out of the Castle, they turn left into the water and stay there. So I tried breaking the route into stages, and that gets them a little closer, but on my last attempt, they again decided to jump into the water and make themselves at home – this time at the irradiated site of the former Institute. It wouldn't be the worst thing in the world if they eventually just teleported to where I want them to go, but will they? Am I ruining their chances of reaching their destination by following them? Or am I attempting the impractical? Edit: I've added a timer to teleport them to their destination if they're still not there after 12 in-game hours ¯\_(ツ)_/¯
  5. Thank you! Apparently the Wiki page for that was already in my browser history, so I wonder why I missed it. Let's see if it serves its purpose…
  6. Sorry, I meant adding them to the workbench for storage.
  7. Does anyone know if it's possible to do this with a script?
  8. I guess so. The same mod uses non-persistent references that are consistently enabled though, and I've not had the same problem with those. Anyway, I've opted for the create/delete method for the time being, and so far, so good.
  9. Thanks, that was my other theory! Creating and deleting new references each time is probably the way to go then. Obviously I'll test it, but I can't see any benefit to making them persistent over doing it that way. Edit: Specifically I think the problem might be with disabled non-persistent references, rather than non-persistent references generally?
  10. I've made a mod to fix the decontamination arches in the Nucleus in Far Harbor. In the base game, they rely on aliases in a quest that stops shortly after you repair them, so I've outsourced the aliases to a quest that runs constantly. Specifically, they're location reference aliases with the Nucleus as the location and DLC03CoA_FFNucleus03_RadDamageHazard/RadHealHazard as the reference type. The problem is, sometimes I load the game and the aliases are empty, and I have to use the ClearQuestAliases and ResetQuestAliases console commands to refill them. Worse, sometimes they're not empty and GetReference() still returns null. Console commands are no help. The only fix seems to be saving the game while inside the Nucleus and then reloading. I could work around the problem with less efficient solutions – persistent references, creating and deleting a new reference every time, etc – but does anyone have any idea why either the references would be emptying or GetReference() would return a null value when they're filled? Is it something about location references that they have to be filled while you're in the referenced location?
  11. Grenades have a projectile override, which have an associated explosion. You can attach an object effect to the explosion, which has an enchantment, which has a base effect, and to the base effect you can attach a script that deploys a turret on impact. Yes, it's a bit of a head-spinner! The script itself should be relatively simple though. Edit – I don't think you need a script at all, actually! Or object effects or any of that. There's a field in the explosion for 'placed object'. Just fill that with your turret ID.
  12. Thanks for the tips! I was trying to build vanilla F4SE, not CommonLibF4 – I was only looking at Lighthouse and GoE for clues as to what I would need to do next. I had it configured to build as a static library. I've done a bit of C++ programming but a long, long time ago, and not with Visual Studio, so maybe I should go back to basics with a Visual Studio tutorial.
  13. You'll need to add an Enchantment (a.k.a. an Object Effect) to your attachment, which itself will need a Magic Effect added to it (casting type 'Fire and Forget', delivery 'Touch'). The Magic Effect is what you attach your script to, and it should look something like this: Event OnInit() Function RegisterForHitEvent(ScriptObject akTarget, ScriptObject akAggressorFilter = None, Form akSourceFilter = None, Form akProjectileFilter = None, int aiPowerFilter = -1, int aiSneakFilter = -1, int aiBashFilter = -1, int aiBlockFilter = -1, bool abMatch = true) native EndEvent Event OnHit(ObjectReference akTarget, ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked, string asMaterialName) If akTarget.GetLockLevel < 253 akTarget.Unlock() EndIf EndEvent That 'If akTarget.GetLockLevel < 253' should mean doors that require a key, terminal or game event aren't unlocked, although you'd be better off removing it and using Creation Kit conditions on your Enchantment if you can get that to work (sometimes Creation Kit is a bit fussy as to what it determines to be a subject, target, etc). Here are the lock level values, if you want to adjust the condition: 0 = Unlocked 25 = Novice 50 = Advanced 75 = Expert 100 = Master 251 = Barred 252 = Chained 253 = Terminal Only 254 = Inaccessible 255 = Requires Key
  14. I would like to take my modding to the next level by being able to expose some more of the game engine to Papyrus. I've tried following Ryan McKenzie's tutorial for setting up Visual Studio here: https://www.youtube.com/watch?v=FLRhsrQ8mqw I'm guessing I'll have a problem when trying to create a plugin for the OG version of the game though, since the version of F4SE on GitHub is the NG version? So I tried manually building the OG F4SE solution I already had on my laptop, but I keep getting build errors (image attached) regardless of whether I try building in Release mode or Debug Mode. The problematic line of code in this case was: noexcept(_Pred(_Left, _Right)) && noexcept(_Pred(_Right, _Left))) { Based on a Stack Overflow thread, I tried adding 'const' at the end of the line… but then when I try to build, Visual Studio wants me to save xutility somewhere, and I can't figure out where it's supposed to be located. Do I even need to be building F4SE to create a script extender? I've looked at the source code for the likes of Lighthouse and Garden of Eden, and they look much simpler than other types of F4SE plugin, but evidently I don't know what I'm doing! I've also tried building various example plugins, but they throw up their own problems. I'd like to get to a place where I can try to reverse engineer various engine functions.
  15. I've not looked in detail at what you're trying to do, but any edits you make in NifSkope and/or Blender won't allow you to go through it anyway, since the collision is generated separately. You can, theoretically, create new collision – KingGath has some YouTube tutorials – but I've always found it too much of a faff to bother with.
×
×
  • Create New...