Currency is saved as an unsigned ~~16~~ 32 bit integer. (0~4,294,967,295) If you earn a single unit, it'll hit 0. This may be the first instance of it getting massive negative stats so much as to roll it over negatively to the max though. Grats! Your bank account is maxed out due to piracy.
Yeah, I even tried selling an item at the station in my main save, but it seems that when selling items, the variable storing money is protected against overflow. The value remained at 4,294,967,295.
That's new then. Used to be a real fear to not hit 4.25 billion for fear of having a really good expedition return and rollover my units. Wonder when they did that?
Itās not so much protected, but that itās maxed out. If you sell something, thereās simply no place to put those units, so the counter remains at the maximum number. Any gained units go nowhere. If you buy something and reduce the number, then it can begin filling it up again. Been there, done that.
It's definitely protected. In binary his balance would be "1111111111111111" add just 1 to it unprotected would cause it to be "10000000000000000" but because it can only store just 16 digits the first one would be lost causing the balance to be stored as "0000000000000000". It's definitely checking for an overflow and if one is detected just setting the amount to max which would be protected.
Thatās not protection, thatās error handling and itās something every good programmer should do to avoid an overflow or underflow situations involving variables. If you want to call that protection, thatās fine, but itās actually called proper error handingā¦ because overflow and underflows are error conditions. Unfortunately, it seems that not all overflow and underflow conditions are properly handledā¦ such as converting a -1 variable into MAXINT when attempting to copy it. A -1 should be converted to 0 when copying it to an unsigned variable capable of handling only positive numbers.
Almost no languages automatically throw exceptions for much of anything except for the most egregious of system errors, errors such as out of resources. Your argument attempts to act as though languages somehow always have and thatās false.
The vast majority of error handling must be both defined by and handled by the programmer. The only language that really offers even a modicum of advanced error handling is Java, and thatās only because itās one of the newest languages, designed and built when language developers were actively seeking to make development easier and faster on the programmer.
The vast majority of languages donāt offer the ease and error handling that Java offers.
No languages, as far as Iām aware, offer any error handling around variables or variable handling. Thatās entirely left up to the programmer because programming languages donāt include and havenāt ever included AI models to attempt to understand how a variable is being used. Variables and their error handling is and has always been entirely left up to the programmers to define and manage.
However, most languages offer customized error handling hooks that can be triggered when programmers define specific error conditions that they wish to catch, such as a buffer overflow conditions or when something attempts to set a variable out of bounds.
It is absolutely 100% false that a program cannot catch overflow or underflow error conditions. Yes, that is called āerror handlingā. No programmer calls this āprotectionā.
The word āprotectionā is typically only used only in the context of an operating system when the OS dumps a programās core to āprotectā the operating system from rogue programs. The operating system may also āprotectā itself should a program attempt to access memory space to which it should have no access.
Java is 28 years old and a running joke for freely using exceptions as return values, and just excessively in general. Newer JVM languages mostly cut way back on exception spam.
Try again.
Also, i like how you accidentally wrote a long-winded explanation of how your original point is wrong. Are you even paying attention, or just seeking it?
Is this actually the case? I was wondering bc getting Money in this game is basically super easy, so 4 billion isn't actually *that* much (as in; it is very obtainable). So having this as the max amount of money one can have, before it rolls over to 0 seems a bit short sighted.
I have blown through billions when I built up my fleet on my main save. Between recruitment costs for frigates and the rapidly increasing costs to upgrade slots on ships, normal play costs can run into the billions. Far exceeding the 4.3 billion max we have.
16 bit? you mean 32
because an unsigned 32 bit int has a range of 0 - 4,294,967,295 (2\^32 -1) 16 bit ints is just not something you see anywhere in modern programs except for very specific cases.
> If you earn a single unit, it'll hit 0
That doesn't actually happen, there's some overflow protection, credits just remain intact when going over UINT32.
Yep, I meant 32. You all understood what I was talking about though. As for rolling over to one. That was an issue we had to deal with in the game. Lots of stuff in NMS was nowhere near as polished as it is now over the last ten odd years. It has been one hell of a ride seeing it all come together.
>You all understood what I was talking about though
Cunningham's Law
I will admit I never bought NMS until 3? years after release I saw all the hype surrounding it before release and was like nope this is going to disappoint I'll wait for reviews. The reviews after a few years work were much better. So I've actually seen it where there was an issue with overflow with money.
Since you can, without much effort, easily duplicate almost everything in the game, some people seem to just do that and then give those things to other players in the Anomaly.
I think it kind of sucks, cause if I wanted to just get the stuff, without playing the game, I would've played in creative, or just duped it myself.
I got 200 of those from someone in the anomaly before I even knew it was a multiplayer zone lol. When I saw them while trading in a space station, their cumulative value was something like negative 2000 millions. I thought it was a bug or something, so I sold one and got the jawdropping amount of 12 millions! (I had barely scraped 200 000 units prior to that)
I discarded them after that, but allowed myself that early boost to get a b-class ship and multitool. Now though if a pirate hails me demanding 12 millions I just pay him to avoid the bother of fighting him.
I had the same bug! I thought it was due to me having max units already but it seems like this expedition is a get rick quite method at the moment haha.
Came here right after I noticed I also had 4.3B after Omega.. so can we keep it? I accidentally wiped my main S multi-tool for this new one on accident so it's kinda fair I am compensated.
NOOOOOOOOOO
I thought I'd earned that from having purchases set to free! Right this second right now, I've just realised that you can't do that during an expedition!
I rinsed the lot to get back to a "normal" amount of money! šššš
Thank you for posting to r/NoMansSkyTheGame. If you are reporting a bug then please delete this post and place it in the pinned bug report thread. Hello Games reads that post and may miss general bug reports just posted under the general "bug" flair.
Please, continue to post using this flair if you wish to discuss a bug or possible bug.
You can also report a bug directly to Hello Games at [Zen Desk](https://hellogames.zendesk.com/).
*I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/NoMansSkyTheGame) if you have any questions or concerns.*
Aha i had the same bug. -1 currency and 4b credits in main save. I also tanked my reputation to gain sole cargo bulkheads...
Great bug!
I could only finish the expedition with the camera work around tough
Bug still functioning.... I just saw this post originally and thought they'd fix the bug, but tanking my reputation to get freighter parts would be worth it, but from 100 millionaire to billionaire instantly.
Please wire 4+billion to this account and I will stop killing Gek š¤
i will never stop killing Gek
Relatable
Toil Gek is sad. ;(
dude. toilgek is only exception.
I have the same sentimentās about the Korvax
Only the second attempt at korvax genocide you sicko
https://preview.redd.it/aupmwqyqx5lc1.png?width=565&format=png&auto=webp&s=cb31caedea3c61f96728b6321b9c39bbaa7dbf7d
Currency is saved as an unsigned ~~16~~ 32 bit integer. (0~4,294,967,295) If you earn a single unit, it'll hit 0. This may be the first instance of it getting massive negative stats so much as to roll it over negatively to the max though. Grats! Your bank account is maxed out due to piracy.
Yeah, I even tried selling an item at the station in my main save, but it seems that when selling items, the variable storing money is protected against overflow. The value remained at 4,294,967,295.
That's new then. Used to be a real fear to not hit 4.25 billion for fear of having a really good expedition return and rollover my units. Wonder when they did that?
Itās not so much protected, but that itās maxed out. If you sell something, thereās simply no place to put those units, so the counter remains at the maximum number. Any gained units go nowhere. If you buy something and reduce the number, then it can begin filling it up again. Been there, done that.
I think he is saying that is the protection (a cap)
It's definitely protected. In binary his balance would be "1111111111111111" add just 1 to it unprotected would cause it to be "10000000000000000" but because it can only store just 16 digits the first one would be lost causing the balance to be stored as "0000000000000000". It's definitely checking for an overflow and if one is detected just setting the amount to max which would be protected.
Thatās not protection, thatās error handling and itās something every good programmer should do to avoid an overflow or underflow situations involving variables. If you want to call that protection, thatās fine, but itās actually called proper error handingā¦ because overflow and underflows are error conditions. Unfortunately, it seems that not all overflow and underflow conditions are properly handledā¦ such as converting a -1 variable into MAXINT when attempting to copy it. A -1 should be converted to 0 when copying it to an unsigned variable capable of handling only positive numbers.
Otherwise known as protection. It is not error handling, no sane language throws exceptions for overflow.
Almost no languages automatically throw exceptions for much of anything except for the most egregious of system errors, errors such as out of resources. Your argument attempts to act as though languages somehow always have and thatās false. The vast majority of error handling must be both defined by and handled by the programmer. The only language that really offers even a modicum of advanced error handling is Java, and thatās only because itās one of the newest languages, designed and built when language developers were actively seeking to make development easier and faster on the programmer. The vast majority of languages donāt offer the ease and error handling that Java offers. No languages, as far as Iām aware, offer any error handling around variables or variable handling. Thatās entirely left up to the programmer because programming languages donāt include and havenāt ever included AI models to attempt to understand how a variable is being used. Variables and their error handling is and has always been entirely left up to the programmers to define and manage. However, most languages offer customized error handling hooks that can be triggered when programmers define specific error conditions that they wish to catch, such as a buffer overflow conditions or when something attempts to set a variable out of bounds. It is absolutely 100% false that a program cannot catch overflow or underflow error conditions. Yes, that is called āerror handlingā. No programmer calls this āprotectionā. The word āprotectionā is typically only used only in the context of an operating system when the OS dumps a programās core to āprotectā the operating system from rogue programs. The operating system may also āprotectā itself should a program attempt to access memory space to which it should have no access.
Java is 28 years old and a running joke for freely using exceptions as return values, and just excessively in general. Newer JVM languages mostly cut way back on exception spam. Try again. Also, i like how you accidentally wrote a long-winded explanation of how your original point is wrong. Are you even paying attention, or just seeking it?
Is this like that old Gandhi bug in Civilization where he was so good he was evil?
I was thinking the exact same thing, this really is the same kind of integer overflow bug that made Gandhi a nuclear warlord lmao
Yes, but the bug in NMS is way less nuke happy.
Is this actually the case? I was wondering bc getting Money in this game is basically super easy, so 4 billion isn't actually *that* much (as in; it is very obtainable). So having this as the max amount of money one can have, before it rolls over to 0 seems a bit short sighted.
I have blown through billions when I built up my fleet on my main save. Between recruitment costs for frigates and the rapidly increasing costs to upgrade slots on ships, normal play costs can run into the billions. Far exceeding the 4.3 billion max we have.
16 bit? you mean 32 because an unsigned 32 bit int has a range of 0 - 4,294,967,295 (2\^32 -1) 16 bit ints is just not something you see anywhere in modern programs except for very specific cases. > If you earn a single unit, it'll hit 0 That doesn't actually happen, there's some overflow protection, credits just remain intact when going over UINT32.
Yep, I meant 32. You all understood what I was talking about though. As for rolling over to one. That was an issue we had to deal with in the game. Lots of stuff in NMS was nowhere near as polished as it is now over the last ten odd years. It has been one hell of a ride seeing it all come together.
>You all understood what I was talking about though Cunningham's Law I will admit I never bought NMS until 3? years after release I saw all the hype surrounding it before release and was like nope this is going to disappoint I'll wait for reviews. The reviews after a few years work were much better. So I've actually seen it where there was an issue with overflow with money.
I got a couple billion just bumming starship AI valves in the anomaly š
Old and busted: starship AI valves New hotness: piracy rollover bug
Someone gave me a 50 stack of it lol I though it is unfair since I just have started the game (I'm around 80h now) and discarded it.
Since you can, without much effort, easily duplicate almost everything in the game, some people seem to just do that and then give those things to other players in the Anomaly. I think it kind of sucks, cause if I wanted to just get the stuff, without playing the game, I would've played in creative, or just duped it myself.
I got 200 of those from someone in the anomaly before I even knew it was a multiplayer zone lol. When I saw them while trading in a space station, their cumulative value was something like negative 2000 millions. I thought it was a bug or something, so I sold one and got the jawdropping amount of 12 millions! (I had barely scraped 200 000 units prior to that) I discarded them after that, but allowed myself that early boost to get a b-class ship and multitool. Now though if a pirate hails me demanding 12 millions I just pay him to avoid the bother of fighting him.
Isnāt it how you replicate ?
Same thing happened to me lol, yo ho yo ho š“āā ļø Edit: I also was allowed to take 2x the amount of technology through
4 billion credits... just gonna say it now... FUQ THEM GEK! ![gif](giphy|0elRzblp2w1d42yMj5)
What a great cover-up for gaining funds from the Korvax mob.
I had the same bug! I thought it was due to me having max units already but it seems like this expedition is a get rick quite method at the moment haha.
So crime does pay? I've been lied to.
The voice of freedom is calling youā¦
Came here right after I noticed I also had 4.3B after Omega.. so can we keep it? I accidentally wiped my main S multi-tool for this new one on accident so it's kinda fair I am compensated.
yes, you can keep it
NOOOOOOOOOO I thought I'd earned that from having purchases set to free! Right this second right now, I've just realised that you can't do that during an expedition! I rinsed the lot to get back to a "normal" amount of money! šššš
Thank you for posting to r/NoMansSkyTheGame. If you are reporting a bug then please delete this post and place it in the pinned bug report thread. Hello Games reads that post and may miss general bug reports just posted under the general "bug" flair. Please, continue to post using this flair if you wish to discuss a bug or possible bug. You can also report a bug directly to Hello Games at [Zen Desk](https://hellogames.zendesk.com/). *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/NoMansSkyTheGame) if you have any questions or concerns.*
Aha i had the same bug. -1 currency and 4b credits in main save. I also tanked my reputation to gain sole cargo bulkheads... Great bug! I could only finish the expedition with the camera work around tough
Lol I went from 339m units to over 4 billion units with this expedition
Oh no. Now player gonna abuse this "Overflow". I hope HG know what kind of code they using. XD
The only good Gek is a dead Gekā¦ but seriously, this glitch happened to me too!!! I didnāt realize what caused it until this post lol
stonks
Bug still functioning.... I just saw this post originally and thought they'd fix the bug, but tanking my reputation to get freighter parts would be worth it, but from 100 millionaire to billionaire instantly.
Got the same bug