I’m back here after long long long time… I tried LS’s idea but im not sure it’s good for me, so i back here to continue this topic.
Back to the way, the question is: why my cash back to $0 when my cash over $2.1b?
I believe that’s because the maximum of long int is 2147483647, if we over the nunmber, application will overflow, but because of mem protect, it be assign to 0 for safe. And the 0 will be save to your char file.
So the problem because of those overflow? I don’t think so. For test it, i change all of the value in 101 to 100,000,000 so we very hardly to touch $2.1b, but when i set 100,000,000 cashs to my char and sell some goods, i still be kick. Then i logon, the cash rollback to 100,000,000.
Let’s back to the question, you may found the step of sell-then-0 is:
Your worth over the limit in server.dll -> You sold something from your cargo in a base ->Log off / launch -> (FLServer save your profile) -> Kick you.
Notice that FLServer saved your profile, and if you really cheating, your profile will not be save when log off or launch.
Bases on this test, i believe there is something we not found. that things should like a safety nunmber to test if player’s cash will lead overflow i guess.
PS, i found something in Content.dll. Address is A9DE8 and A9F75 use Hex string searching(“FF C9 9A 3B”), the value in those address also “999999999” in longint, but nothing change after i edit them to my max cash nunmber. Is this just a coincidence?
EDIT, Found the address doing: HERE it is.
Continue test…
Worth 1501,081,572 Sell 1000 (Ammos) To 1501,080,572 Remain 1500,000,000 Good
Worth 1501,080,572 Sell 1400 (Ammos) To 1501,079,179 Remain 1500,000,000 Good
Worth 1501,079,179 Sell 1600 (Ammos) To 1501,077,572 Kicked
Worth [b]1501,079,172[/b] Sell 1520 (Ammos) To 1501,077,652 Remain 1500,000,000 Good
Worth 1501,077,652 Sell 1125 (Goods) To 1501,077,427 Kicked