Jump to content

vendor not paying glitch


Dumbbus

Recommended Posts

Anytime a merchant has caps above 30000 caps (I think 32767 is the actual number), it bugs up and you won't get your caps.

 

is there any permanent fix for this,

 

I had 2 vendors that had this problem in a game where I was using a Money Mod that I have disabled and I was able to fix it for my game by forcing them to reload or respawn there inventory's that in NV takes waiting for 4 days.

 

 

Link to comment
Share on other sites

The 32767 limit is due to the 8-bit word size used in 32-bit games. They would have to be changed to "double-word" size variables (16-bits) to exceed that, which would require both rewriting part of the game and increased demand on system resources to permanently fix. I don't like to say "never", but it's highly unlikely to happen at this point in time.

 

You can try using a mod like "Daily Vendor Restock" to speed up the inventory refresh rate. Requires NVSE and supposedly fixes some vendors known to "glitch".

 

-Dubious-

Link to comment
Share on other sites

The 32767 limit is due to the 8-bit word size used in 32-bit games. They would have to be changed to "double-word" size variables (16-bits) to exceed that, which would require both rewriting part of the game and increased demand on system resources to permanently fix. I don't like to say "never", but it's highly unlikely to happen at this point in time.

 

You can try using a mod like "Daily Vendor Restock" to speed up the inventory refresh rate. Requires NVSE and supposedly fixes some vendors known to "glitch".

 

-Dubious-

 

 

That sounds about right, I've heard that obsidian wasn't allowed to alter the game engine or something and were thus disabled from fixing it. I'm already using NVSE, but I did noticed on my refresh one vendor glitched, they had gotten like 320000 caps. so that mod probably fixes some them from going way over like that.. is worth a try..

 

thanks for the Info, all the best..

 

4 days is a long time.. lol

Edited by Dumbbus
Link to comment
Share on other sites

 

The 32767 limit is due to the 8-bit word size used in 32-bit games. They would have to be changed to "double-word" size variables (16-bits) to exceed that, which would require both rewriting part of the game and increased demand on system resources to permanently fix. I don't like to say "never", but it's highly unlikely to happen at this point in time.

 

You can try using a mod like "Daily Vendor Restock" to speed up the inventory refresh rate. Requires NVSE and supposedly fixes some vendors known to "glitch".

 

-Dubious-

 

 

That sounds about right, I've heard that obsidian wasn't allowed to alter the game engine or something and were thus disabled from fixing it. I'm already using NVSE, but I did noticed on my refresh one vendor glitched, they had gotten like 320000 caps. so that mod probably fixes some them from going way over like that.. is worth a try..

 

thanks for the Info, all the best..

 

4 days is a long time.. lol

 

 

http://www.nexusmods.com/newvegas/mods/35035/?

 

This vendor has a terminal next to him that resets his caps, it's quicker than waiting 4 days.

Link to comment
Share on other sites

  • 2 years later...

Uncertain of whether or not how obvious this is. Using the Console couldn't you simply disable or zap the Bugged vendor(s) and Inventory chest(s). save, exit and reload save game and play for say 15 to 20 in-game days. Then once more using the console (hopefully you have retained the ref or base Id's) enable or spawn the vendor(s) and inventory chest(s). I would like to know if this would reset them and un-glitch them.

Link to comment
Share on other sites

I wanted to make a mod that fixed this, but I was never able to determine how the total number of vendor caps was calculated. If I added up the number of caps in the vendor chest with the number of caps on the vendor's person, there was still a discrepancy where the total that shows when you open the barter menu was slightly higher (~50-100 caps or so) than the total of the caps in their chest and on their person. Otherwise, it's a pretty simple matter to write a script that checks each of the vendor chests and if it has over 30,000 caps, to remove the excess and only leave 30,000.

Link to comment
Share on other sites

FYI regarding the caps they get, the mod author of "Double Vendor Money" replies to a comment:

 

The vendor inventories use money packages such as ("mediumvendorcaps") etc... This mod doubles the number of those packages IN the inventory, the other doubles the money IN each package.
This is covered in the description of "More Merchant Money"

 

 

-Dubious-

Link to comment
Share on other sites

@Dubious - I haven't checked recently, but I seem to recall that when I was working on this proposed mod, the vendor caps packages are all just leveled item lists, which means that whatever the random number generator rolls should end up in the vendor chest, right? But there would still be a small amount of "phantom caps" that I couldn't account for, and had no idea where they were coming from.

 

EDIT: Although, it may not be as complicated as I'm making it out to be. Instead of a limit of 30,000 caps, I could set the script to cull anything over 25,000 caps, and that should leave plenty of leeway for what the vendor has in their personal inventory as well as any "phantom caps"

 

EDIT 2: Is there a way to run a script on a persistent reference that doesn't have a Reference Editor ID? None of the chests in the buried vendor chests cell have Editor IDs, although they're persistent references. Using the numerical HexID in a script doesn't work.

Edited by user826
Link to comment
Share on other sites

The problem is that they coded the vendor caps to be in a signed short int.

 

The standard definitions for c and C++ (and all other languages I have learned):

 

short int = 2 bytes = 16 bits = half word (this is what they used for the vendor caps)

int = 4 bytes = 32 bits = word (this is what they should have used)

long int = 8 bytes = 64 bits = double word

 

*All of these can be defined as signed or unsigned, which changes the range of possible values.

 

This has nothing to do with the 32-bit CPU limit of the OS, or (in the case where we are using a 64-bit CPU and OS) the fact that they still compiled the program for 32-bit. The problem would still exist if they recompiled the program for 64-bits, if they left it as a 2-byte short. Bethesda could have fixed it by changing the value to an int in any of their recompiles of the source code for consoles and the PC.

 

I doubt that this can be changed with a NVSE plugin.

Edited by GamerRick
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...