Skip to content

[Utility] EE Autoroller

1910111315

Comments

  • kaguanakaguana Member Posts: 1,328
    Thank you @Freche seem like it is working with both duel / triple class now
  • FrecheFreche Member Posts: 473
    Also a tip!
    If anyone that want it to roll much faster change scan_delay to 0 in the ini file (you can't lower it to zero with arrow keys).
    However there might be the occational missed roll due to the speed, but I'm not sure tbh. The speed should make up for it.
  • ThelsThels Member Posts: 1,422
    @Freche: Does it verify the results if you get a higher roll? If so, the increased speed could make up for it.

    If you don't verify the results, then the increased speed means the autoroller may think it's storing a really high value, but is in fact storing a really low value, replacing the semihigh value that you got earlier. And since it thinks it has a really high value stored, it will ignore all the pretty high ones, as it thinks it has better.
  • FrecheFreche Member Posts: 473
    It doesn't check a second time if current roll is indeed a higher roll, it always assumes the first check is correct.
    I havn't done any extensive tests, my current character rolled a 96 within 3 min, I let it run 5 more mins because I'm greedy but it had not overriten the 96 with anything in that time.
  • luskanluskan Member Posts: 269
    Freche said:

    I have looked a bit into it, I have already made a post in the UI thread with my version of that autoroller (a very simple version). I might look into this in the future, once this new UI modding is a bit more established and Beamdog has done some patching for their new UI.

    Thanks for that post. I played around with your version and the initial version @Dee posted and they both have their pros and cons. Dee's doesn't allow you to reroll once you hit the target total (so you can't try to get a higher strength modifier) and if set too high it can make to game freeze while it rolls.

    Yours seems a little slower (hard to measure though) and also doesn't distinguish the same roll with a higher exceptional strength but it can be interrupted and restarted easily and it can keep rolling while you switch out to another application (a huge plus, something that your current roller cannot do).

    So please keep up the good work and don't stop playing with the UI version yet. :smile:
  • ThelsThels Member Posts: 1,422
    @Freche: In that case, I would highly recommend NOT changing the scan_delay to 0, as it doesn't just skip some good rolls (that itself wouldn't be a problem, as the faster speed would make up for it). It instead saves the next roll, which could be anything really.

    Say you have a 96 stored, and then it rolls a 99 for you. Without the scan delay, it is entirely possible that it scans the previous value, ignoring it, then rerolls a 77, but due to no scan delay, thinks it's the 99. Then it stores the 77, thinking it's a 99, thereby ignoring all future rolls up to 99. If you let it run all night, you could wake up to a 77 roll in the morning.
  • MikeLeWattMikeLeWatt Member Posts: 4
    Thank you, used it this morning. Managed to roll a 95 for my sorcerer while I made coffee!
  • ThelsThels Member Posts: 1,422
    Scored a 99/100 paladin after letting it run overnight!
  • killerrabbitkillerrabbit Member Posts: 402
    Any plans to update? I tried using it with the latest patch and it rolls like crazy but doesn't store. Tried the method in the release notes but that just hangs the game.

    Also, belated thanks for making this!
  • FrecheFreche Member Posts: 473
    edited April 2016
    Hum, doesn't v3.3 work with the latest patch?
    @killerrabbit if you are using an old version (pre- SoD) of the roller try get the newest one from the op.

    I can't update my SoD since I'm in the middle of a run with mods and truth be told I have no idea when I gonna finish since I think it is quite bad and I have a lot more fun with Dark Souls atm.
  • killerrabbitkillerrabbit Member Posts: 402
    @Freche Obviously whenever you get to it or not :) Thanks again for making it.

    I've tried the 3.1 and 3.3. Beamdog version. Windows 7. With the patched BG1 it just re-rolls but you can't recall the score. Version 3.1 can't find the character. Trying to make a human sorcerer if that matters.
  • targantargan Member Posts: 3
    Hi all.

    I encountered the bad rolls storage problem with autoroller v3.3 as well.
    I modified the source code to correct that.

    I think it was due to the values being read from the game before the game had time to write them (since it's done asynchronously).
    What I did is I replaced the "hope-only" sleep, with comparing read value for the last stat with value read for previous roll: if it changed, that means the game had time to write it (and hopefully all other stats too), else I loop and retry later, using an exponential backoff (wait for 1ms, then 2ms, then 4ms, then 8ms, etc.) for just a few rounds, after which we can assume the value actually didn't change and go for it (usually takes only 1 or 2 reads to observe an actual value change).

    Now things are much more reliable, and also much faster (about 25 rolls per second!).

    I also added possibility to pause/resume rolls (for example to change the webpage I was reading during rolls flurry).

    @Freche How can I send you the modified source code (and ini file)? Is there a way to private-msg you in these forums?
  • targantargan Member Posts: 3
    Forgot to mention, also made the character detection more reliable (using a retry loop again).
    I had almost systematic error msg now I almost never get it.
  • OlderThan13YearsOlderThan13Years Member Posts: 79
    edited April 2016
    I'm trying to write a c++ autoroller. Maybe someone can explain me how the character detection works in this program. I'm not familiar with ahk. :/
    targan said:


    Now things are much more reliable, and also much faster (about 25 rolls per second!).

    Did you set the frame rate to 60 fps? 40 (reliable) rolls per second should be possible with an high frame rate.
    Post edited by OlderThan13Years on
  • Yulaw9460Yulaw9460 Member Posts: 634
    edited November 2018
    Deleted.
    Post edited by Yulaw9460 on
  • targantargan Member Posts: 3

    I'm trying to write a c++ autoroller. Maybe someone can explain me how the character detection works in this program. I'm not familiar with ahk. :/

    targan said:


    Now things are much more reliable, and also much faster (about 25 rolls per second!).

    Did you set the frame rate to 60 fps? 40 (reliable) rolls per second should be possible with an high frame rate.
    Didn't change the frame rate, maybe it could speed things up but it's messy enough like that and I prefer to make things work with default parameters (playing with values could cause troubles).
  • JumboWheat01JumboWheat01 Member Posts: 1,028
    I've been having problems with the latest version of the auto-roller. It's not that it SOMETIMES fails to find the character, but it does so nearly ALL the time. I have been running it with administration rights.
  • RatatoskrRatatoskr Member Posts: 726
    I don't know if anyone is still checking/updating this, but I'm getting the same issue as JumboWheat01 in BGEE 1.3 The autoroller just never works.
  • I joined the forums just to say THANK YOU for making this. I've been playing BG for almost 20 years now (I come back to it every year or so), and I've never rolled higher than a 96 - getting ready to do a full play-through of BG:EE, SoD, and BG:II EE with a Cavalier, and I setup the auto-roller to run all night.

    Highest roll: 100 (STR%91) - I didn't even know it was possible. Awesome.


  • mf2112mf2112 Member, Moderator Posts: 1,919
    Welcome to the forums! @3minutesofcompetence
  • Wise_GrimwaldWise_Grimwald Member Posts: 3,866
    Thanks for this new version (3.3) . With v3 I had to do character creation in basic EE without Dragonspear. Now it works with either set-up. This is important, for whilst it is possible to mod EE, it is not yet possible to mod SoD. (That could now have changed) There were some (modified) characters that v 3 didn't work for. I have yet to test them with v 3.3.
  • Wise_GrimwaldWise_Grimwald Member Posts: 3,866

    Not work for me...always Couldn't collect roll data....new offset don't work!!!

    I have had problems in the past and I think that they were caused by anti-virus software, for when I disconnected from the internet, the problem disappeared.
  • SpiritWardenSpiritWarden Member Posts: 10
    I've have a problem with the autoroller storing the wrong value on several occasions. Like all how just now it said it had rolled a 99 but when I stopped it the stored value in-game was 87.
  • Wise_GrimwaldWise_Grimwald Member Posts: 3,866

    I've have a problem with the autoroller storing the wrong value on several occasions. Like all how just now it said it had rolled a 99 but when I stopped it the stored value in-game was 87.

    That has always been a problem with the re-roller. I think that sometimes it misreads a number. i.e. it reads a 6 as an 8. It will therefore overwrite what was a perfectly good score with one that is incorrect. I enlarge the game area as much as I can to avoid that problem. It still has the occasional glitch though.

    It seems to be better now that it sometimes tells you to re-input the initial values for re-roll, store and recall, however, remember that it is trying to read your screen, so if you have a poor quality screen, (on a phone for instance) you will get poor quality results.
  • ThelsThels Member Posts: 1,422
    No, the issue is that there's sometimes lag between pressing the Reroll button, and the numbers being updated, which can cause the script to press Save on the correct time. If it tells you there was a 99, there really was a 99. The autoroller simply stored too late. You can slow it down to be more precise, but this is never guaranteed.

    If you run 2.x, you may want to try an autoroller mod, such as:
    https://forums.beamdog.com/discussion/50357/mod-dragonspear-ui-v2-14/p1

    Since it runs from within BG itself, rather than as an external program, it's a lot faster, and won't make that same error.
  • Is there a way to limit the ST%? Like, instead of a minimum, you can add an ST cap? Could it be possible to add something like that to the ini file?
  • CaloNordCaloNord Member Posts: 1,809
    Weirdly I'm still getting the 'Character not found' error every time?
  • xHaploxHaplo Member Posts: 1
    edited January 2017
    @CaloNord Are you running bgee in WINDOWED mode? [its a must]

    So, this just happened :D
    Thanks for this great proggy :)


  • Wise_GrimwaldWise_Grimwald Member Posts: 3,866
    edited February 2017

    Is there a way to limit the ST%? Like, instead of a minimum, you can add an ST cap? Could it be possible to add something like that to the ini file?

    If you don't want too much strength, all you have to do is transfer those points elsewhere.

    @3minutesofcompetence I have had rolls of 102 from time to time and I don't let it run overnight, just while I am eating a meal. Otherwise you could get ridiculous rolls. 108 is theoretically possible, but that is of course extremely unlikely, however the time must inevitably come when somebody somewhere will roll it.
  • CrimsonKaineCrimsonKaine Member Posts: 1
    CaloNord said:

    Weirdly I'm still getting the 'Character not found' error every time?

    I've been having problems with the latest version of the auto-roller. It's not that it SOMETIMES fails to find the character, but it does so nearly ALL the time. I have been running it with administration rights.

    I don't know if anyone is still checking/updating this, but I'm getting the same issue as JumboWheat01 in BGEE 1.3 The autoroller just never works.

    I think I found the problem. At least in my case, anyway. I was using the Steam overlay to show the frame-rate of the game. I know literally nothing about how the auto-roller works, but from what I could glean out of other comments in this thread, the program needs it's "vision" so-to-speak to be completely unobscured. Meaning that any program providing a visual overlay to the game (Steam in my case) keeps it from getting the information it needs.

    Could somebody who understands the software in greater detail please confirm?
Sign In or Register to comment.