Daily EXP Gold Cap Function

Posts 110 of 10 · Page 1 of 1
Daily EXP Gold Cap Function
Does anybody know the formulas for daily EXP, and those for gold cap? I know they're functions based on your level, and different level ranges have different functions. I swear they were released at one point, but I can't seem to find it now.
What do you mean formula? You can use sothink to grab and decompile the swf to look up whatever you need to know. There is no actual gold/xp "cap" in terms of daily amount gained. There is however an integer overflow when you get too much gold/xp, which is then self corrected the next day.
These numbers are just completely made-up, but it's to demonstrate the idea.

If the cap for a lvl 50 is 1000 exp, then after you get 1000 exp, you can no longer play for the day. You can log in and start quests, but not finish them and have it save properly. I presume this is the reason that one cannot get from lvl 1 to 85 in a single day.
Quote Originally Posted by Gam3Player View Post
These numbers are just completely made-up, but it's to demonstrate the idea.

If the cap for a lvl 50 is 1000 exp, then after you get 1000 exp, you can no longer play for the day. You can log in and start quests, but not finish them and have it save properly. I presume this is the reason that one cannot get from lvl 1 to 85 in a single day.
It's not a "level cap" it's a integer overflow.

To go from lvl1 to lvl50 you need X amount of experience. Your total amount of experience is stored in game for the day, and if it exceeds a certain amount of digits then it will "overflow". So let's say the integer for XP gained only stores 6 digits, that means once you hit 999,999 exp you will no longer gain any XP until it resets the next day.

The amount of XP needed to cause this condition is only obtainable through cheating. Therefor they never handled the expectation of this happening, and most likely their XP integer is tied together with others that dictate the save system, and other things. They have it setup so in case of an error occurring, everything will be reset in 24 hours instead of them needing to manually fix whatever. The guy who programmed DF, Mechquest, AQ, AQ3D, is called Zhoom. I've spoken to him a few times, and this seems like the type of thing he'd do. More focused on keeping the game actually functional than worrying about cheaters artificially modifying values.
Ah, I see. So it effectively functions the same way as the cap I was imagining. Would you happen to know what this overflow is? I've hit it a couple of times, but never bothered to check it out. And is there one for gold as well? Or is gold gain unrestricted?
Quote Originally Posted by Gam3Player View Post
Ah, I see. So it effectively functions the same way as the cap I was imagining. Would you happen to know what this overflow is? I've hit it a couple of times, but never bothered to check it out. And is there one for gold as well? Or is gold gain unrestricted?
https://en.wikipedia.org/wiki/Integer_overflow
Quote Originally Posted by Dab View Post
It's not a "level cap" it's a integer overflow.

To go from lvl1 to lvl50 you need X amount of experience. Your total amount of experience is stored in game for the day, and if it exceeds a certain amount of digits then it will "overflow". So let's say the integer for XP gained only stores 6 digits, that means once you hit 999,999 exp you will no longer gain any XP until it resets the next day.

The amount of XP needed to cause this condition is only obtainable through cheating. Therefor they never handled the expectation of this happening, and most likely their XP integer is tied together with others that dictate the save system, and other things. They have it setup so in case of an error occurring, everything will be reset in 24 hours instead of them needing to manually fix whatever. The guy who programmed DF, Mechquest, AQ, AQ3D, is called Zhoom. I've spoken to him a few times, and this seems like the type of thing he'd do. More focused on keeping the game actually functional than worrying about cheaters artificially modifying values.
Not accurate, the amount of xp to overflow is easily possible with highly farmable things like the TA challenge. In fact I regularly hit that when leveling without trainers.
Yes, I know what integer overflow means, but do you know how it is implemented in DF? I can get 2 mil gold but not 2.5 mil gold without triggering it, and 4.5 mil exp but not 5 mil exp. So it didn't seem to be an digit overflow, or a binary bit overflow, as 2^16 - 1 is 65K and 2^32 is 4.3 bil. The triggers are happening at around the 22nd bit (which I supposed could be possible but immensely unusual), so I thought it had to be by design.

And I checked, it's calculated by EXP gained, and not effective EXP gained. So getting 100,000 exp when you only need 10 to level up, will put 100,000 exp towards the cap, but only adds 10 to your character.
Quote Originally Posted by Gam3Player View Post
Yes, I know what integer overflow means, but do you know how it is implemented in DF? I can get 2 mil gold but not 2.5 mil gold without triggering it, and 4.5 mil exp but not 5 mil exp. So it didn't seem to be an digit overflow, or a binary bit overflow, as 2^16 - 1 is 65K and 2^32 is 4.3 bil. The triggers are happening at around the 22nd bit (which I supposed could be possible but immensely unusual), so I thought it had to be by design.
Did you take into account the existing XP/Gold you have earned within the past 24 hours? I know they've updated the game several times and did a lot of stupid things like adding additional values to the damage calculator which by default add two 0s to the end of the variable. In the case what you say is true then they could have did this to prevent people from going to max level in a day, but didn't want to risk banning legit users so they just had the XP/quest saving shut off after a certain point then reset after 24 hours.
Yah, I created a testing account and character, skipped the intro, and just spammed a quest until it wouldn't save. From previous experience, I know it's what you're describing, and I can save quest progress after midnight. I suppose I could do this method with another quest to get a better range. That's how I figured out it's calculated by EXP gained, and not effective EXP gained, since I could reach lvl 22 with a different quest, but only 10 with this quest.

But I was almost certain that the cap formula was different for different level ranges, so there'd be a lot of testing to do. Something along the lines of
lvl 50-60 : Can only earn 5x^2+2x+3 per day, where x = lvl at the start of the day - 50.

I know for certain there's similar formulas used to calculate how much exp you need to level up, and I was fairly sure they also existed for the daily cap calculation. But might have just been a foggy memory.
Posts 110 of 10 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?