Jump to content

[WIP] Weapon Addition and Replacement Suite (WARS)


antistar

Recommended Posts

Is it possible it has something to do with the fact that you are trying to reload a magazine currently loaded into a firearm?

 

As in I have 1x ppk in my hands, go to ammo swap while 1x ppk in my inventory with a mag equipped. Ammo script goes to swap mags finds one already part of weapon and can't process the return?

 

I know literally zero about creating mods so bully me at your own peril

Well I was wondering if it could be something along those lines - though not so much concerning mags specifically that are currently in weapons in the inventory; those are just OMODs attached to weapons at that point, same as any other. I was wondering if it could be due to having two weapons in inventory that have the exact same OMODs overall - so that they would stack in inventory.

 

But no - I've done a bunch of testing; it's not that. I haven't been able to intentionally reproduce the issue; it's only happened those ~3 times.

 

 

Something I did see at another point that might be related is the "Extra Weapon Info" message-box coming up twice in quick (instant, really) succession for both the weapon I just equipped (a combat knife) and the previous weapon I'd had equipped (a PPK or a Skorpion, I think it was). It... shouldn't do that. The manager script used by weapons in WARS specifically unregisters for the (hotkey) event that brings that up when the weapon is unequipped.

 

So maybe there's occasionally some hiccup and these events (like the "OnUnequipped" event) aren't getting sent and/or received? I.e. the script engine is tripping over itself sometimes? That's been a perpetual problem in Clockwork - for maybe <0.001% of users, but still; sometimes the script engine seems to just decide to not work. Some script - or some part of some script - just doesn't run, and someone gets stuck with a quest not advancing, or something.

 

 

I don't think I've talked about the Extra Weapon Info function much, actually. I'll paste in the bit on it from the readme, for anyone that's wondering what I'm talking about:

 

- Extra Weapon Info:

--- Pressing the Show Extra Weapon Info button shows a message-box with info on the equipped weapon:

----- Current Strength and STR REQ for the weapon.

----- Weapon COND: current and max. (As literal values, not a percentage. Useful for comparing the reliability of different weapons.)

----- Wear Rate, in COND loss per shot/hit.

----- COND Thresholds: The COND values at which the weapon enters different condition levels.

----- Penalties for not meeting the STR REQ for this weapon.

 

 

Anyway, I'll keep testing and see if I can find a way to reproduce the weapons getting "stuck" issue. If I can't, it might have to remain as a rare known issue unless someone comes along who knows Papyrus - and the game engine generally - better than I do (and there are definitely a bunch of people who do)... and maybe they'd be able to work it out.

Link to comment
Share on other sites

  • Replies 2.7k
  • Created
  • Last Reply

Top Posters In This Topic

Hey sir! One question in your PEACE thread you've mentioned the following:

Probably the most obvious example of that is the infamous need to sleep to save your game. (Made worse by then hanging several other mechanics off this key decision.) This obviously makes no sense in terms of creating a convincing world - and is arguably actively harmful to that endeavour, in fact - since it requires a character to change their behaviour in order to affect something outside the fiction/simulation.

 

There's a mod that I think it's kind of interesting:

https://www.nexusmods.com/fallout4/mods/1250

 

It's kind of an interesting mechanic, at least an optional one, kind of reminds me of the old Resident Evil games, do you think that would be something worth implementing?

Link to comment
Share on other sites

Hey sir! One question in your PEACE thread you've mentioned the following:

 

Probably the most obvious example of that is the infamous need to sleep to save your game. (Made worse by then hanging several other mechanics off this key decision.) This obviously makes no sense in terms of creating a convincing world - and is arguably actively harmful to that endeavour, in fact - since it requires a character to change their behaviour in order to affect something outside the fiction/simulation.

 

There's a mod that I think it's kind of interesting:

 

https://www.nexusmods.com/fallout4/mods/1250

 

It's kind of an interesting mechanic, at least an optional one, kind of reminds me of the old Resident Evil games, do you think that would be something worth implementing?

Using in-game holotapes to save the game is still having the player character do something in order to affect something outside the simulation, so that's not something I'd do, no. It's fine if other people want to use a mod that does something like that, though. :)

 

(Also it's fine to post things re: PEACE in the PEACE WIP thread. I'm set up to get notifications for both threads.)

 

What I'm personally using (and what I'm including in the recommended mod list for both WARS and PEACE) when it comes to saving in Survival Mode is Unlimited Survival Mode. Having access to the console is essential in these games - even if you're not a mod author. For example I went to the area added by Vault 1080 yesterday, and the terrain in the exterior was all messed up - some kind of compatibility issue, I guess. (Not with WARS or PEACE.) I had to use the TCL console command to get in.

 

I also use the console to save the game - have done for... decades in BGS' games, probably, since that way you can actually name your saves. They haven't bothered to let you do that in the regular interface since... Morrowind, maybe? I can't remember if you can do it in Oblivion and FO3/FNV.

 

It's also very fast; you just pop the console open and type in:

 

save charactername01

 

... And that's it. (Obviously you can name it whatever.) For subsequent saves, you can hit the up arrow in the console to get the previous command, and then just change the number. I'm rotating through twenty hard saves like that in my current playthrough.

 

 

Speaking of that test playthrough:

 

I haven't had that "ammo swap getting stuck" bug come up again yet. I've figured out though (and this is possibly related in some way, but who knows) that ammo reference "fragmentation" can interfere with the Physical Mags system a little bit. This "fragmentation" (don't know if anyone else calls it that) is what Kentington is talking about re: the "Inventory Management Brain" in Manufacturing Extended. Stackable items like ammo can be regarded as multiple separate stacks if you found them sitting in the game world like that (i.e. not in a container) - or if they were produced in a factory - even if they look like a single stack in your inventory.

 

You can observe this if you drop a stack of ammo from your inventory that contains ammo you picked up in the game world, or was produced in a factory setup: it will drop as multiple separate stacks. When I was testing this, it actually seemed like the game was sometimes losing a couple of rounds in the process, too; that or they were getting dropped as single rounds, and they were so small that I missed them.

 

This seems to only be a minor issue for the Physical Mags system; the worst it seems to do is occasionally make a magazine drop with only one round of ammo in it, when it should be dropping with more. Still, I'm thinking about ways I might be able to fix it. Maybe consolidating stacks of ammo in the player's inventory (a bit like the Inventory Management Brain), if I can find a safe way to do so.

Link to comment
Share on other sites

I don't know if it's related to your problem but a big issue in the game is that there's no way for scripts to tell the difference between two of same guns in your inventory since they're all still same form IDs. This creates issue with stuff like ammo type implementation since it essentially means to reliably swap ammo types in say, a AK47, you're allowed to only have one copy of said weapon in your inventory. The time you have 2 or more, the script will often hang since it doesnt actually know which weapon to point at. I could be making an idiot out of myself since I know you're a scripter, but that's my experience with it across multiple mods trying to do the same. Isn't that one of the reasons ammotweaks v2 never made it out? Cheers, sounds great regarding all the updates! I would hold off on SS2 however, it's an amazing mod with tons of innovations but brutally put, there's no way papyrus can handle it. Even the official readme says you're supposed to stay in a settlement for at least 5 minutes, if you pass by it when travelling - otherwise all the new scripts have a chance to hang (assuming you have lots of SS2 content in said settlement). I've never been able to complete a long savegame while using SS2, on a clean game, cause once you build enough stuff the saves just die overtime due to script bloat.

Link to comment
Share on other sites

I touched on this in a recent post, but having multiple of the same weapon in your inventory isn't an issue when it comes to the extended features from AmmoTweaks/WARS, as far as I've seen - at least for the player. There's the potential for NPCs swapping ammo sub-types to get a bit mixed up if they have multiple copies of a weapon in their inventory, but from memory that only manifests as them switching between weapons a few extra times when doing a swap.

 

 

Haha well... I'm nominally a scripter, at least. I've said it before, but I consider myself average at best when it comes to scripting.

 

I expanded the AmmoTweaks scripts quite a lot, but something I didn't add (or even change that much) is how it identifies which weapon in your inventory to operate on (i.e. your equipped weapon) - so I don't recall ever having trouble with having multiple copies of a weapon, and I can't take credit for that either.

 

 

I can't really take SS2 out of my test playthrough now that it's in there, so I'll have to see how it goes. I'm not using Rise of the Commonwealth - and I am using this Long Save Bug Fix - so hopefully that will result in SS2 being gentler on my saves.

 

I'm enjoying SS2 so far - doing the quests, unlocking things - but it is true that I've never been that interested in Rise of the Commonwealth (or Conqueror), so it may be that I won't use SS2 in future playthroughs? I'll see how I find the rest of it... and whether or not it destroys my saves, I guess.

Link to comment
Share on other sites

Hey, here's something I'd like to ask people reading this, if they happen to know:

 

What kind of load times do you get in FO4? Loading a save from the main menu, I mean. Do you notice load times increasing as the playtime on the save increases? And do you notice certain mods causing increased load times?

 

Right now my test playthrough is apparently 56 hours in - level 22 - and it's taking 2.5 to 3 minutes to load from the main menu into a small interior cell. 4.5 to 5 minutes to load from the main menu into a complex exterior, like down-town Boston. Load times have increased as the game has gone on. In contrast, using "coc qasmoke" from the main menu takes less than 30 seconds.

 

 

As a test, I used Resaver to remove changes to active characters in one of my saves, and that dropped the load time to ~30 seconds. (It also borked all the characters of course; it was just a test.) I'm thinking it means that NPC inventories are causing the long load times.

 

People might remember me talking about how the relatively complex levelled list (LVLI) setup required by WARS to spawn weapons with different ammo types and spare mags - and alongside backup melee weapons and potentially sidearms - was causing the game to take a long time to load; even just using coc qasmoke from the main menu. I mentioned a while back that I was able to "solve" this by clearing out the LVLIs used by NPCs to spawn weapons, and adding their contents back in via script.

 

At the time I'd wondered if load times would go right back up as soon as this script injection was baked into a save, but it didn't. I also wondered - though I can't remember if I mentioned it - if load times would creep up again as a result of running into progressively more NPCs as a playthrough went on, and their inventories get... evaluated, or whatever. I think that may be what's happening; just delaying the problem.

 

 

This LVLI stuff has been a real thorn in my side. I come up with an elegant LVLI setup that's efficient and flexible to work with, but the game chokes on it. I've already refactored the LVLI setup in WARS two or three times to try to optimise load times, and it's always a huge, time-consuming pain.

 

I may have to do it yet again, though. Uuuuuurrrrrgh. I think I know how I can simplify the LVLI setup even more, but it won't be pretty. (Less nesting of LVLIs.) People who open up the plugin and don't know the reason for it will probably wonder what the hell I was doing.

 

 

Anyway, that's what I've been looking at the last few days; optimisation. Yesterday I improved the NPC ammo-swapping system so that the non-playable dummy weapons it uses are removed from an NPC's inventory on death. (If the associated "real" weapon is equipped at the time.) No idea if it will make a significant difference, but it should reduce save file size a bit, I guess?

Link to comment
Share on other sites

Following on from the above:

 

I just did a test where I loaded into one of my current saves (in Valentine Detective Agency) before and after clearing out the contents of the weapon loadout LVLIs in WARS that are script-injected into NPC weapon LVLIs.

 

Load time before: 3.5 minutes

Load time after: 45 seconds

 

 

Oof. I am going to have to try simplifying all those LVLIs. That will mean overhauling/adding a loadout LVLI for every variant (short/long/semi/auto/sniper/etc - plus some faction variants) of every ranged weapon, so... oof.

Link to comment
Share on other sites

There is the Revert script function that removes any script-added items from a LVLI, but I don't think it would be a practical way to combat this load time issue. Something like requiring people to run a script (via a hotkey or consumable trigger or whatever) that cleared those LVLIs before saving their game, and then the LVLIs were set to be injected into every time a save was loaded? No way.

 

I mean maybe if it was presented as a custom save system it wouldn't be as bad (assuming it would work); a hotkey that reverts the LVLIs, does a scripted save, then re-injects the LVLIs. That'd still be asking a lot of people, I think.

 

 

Fortunately, I don't think any weird stuff like that will be necessary. I started refactoring the "loadout" LVLIs in a less dramatic way than I'd thought might be necessary, to begin with - basically just changing the part that spawns different ammo sub-types - and even just doing that is making a significant difference so far.

 

Load time for that save in Valentine Detective Agency went from ~3m30s down to ~1m50s, and I haven't even finished going through all the loadout LVLIs yet. Still to go are (among others) the loadouts that are arguably the most commonly used; those for low-tier weapons like Pipe Guns and Walther PPKs. Since those can show up on more NPCs, I think it will mean (based on my experience fiddling with this stuff) that changing those loadout LVLIs will have an even more significant impact on load times.

 

I doubt I'll be able to get these load times right down to being comparable with these LVLIs being literally empty, unsurprisingly - but these are some pretty significant improvements. Much better than I expected.

 

Hopefully I won't need to really overhaul the loadout LVLIs in the way I thought earlier - and I'm currently not planning to. It'd be a huge pain to do, and would either make the loadouts less interesting (e.g. this primary weapon always spawns with this backup melee weapon), or incredibly sprawling and unwieldy behind the scenes. (E.g. a unique, special-cased loadout for every combination of primary, sidearm and melee weapon I wanted to include.)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...