Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in /home/iano/public_html/tpforums-vb5/forum/includes/class_core.php on line 5842

PHP Warning: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 588

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 612

PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1

PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1

PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1

PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85
AutoUpdate project - Page 3
Page 3 of 3 FirstFirst 123
Results 21 to 27 of 27

Thread: AutoUpdate project

  1. #21
    As I know byte is unsigned, so it's not negative, and as I said, I changed it to a int array, the 0xFFF was just to explain my idea hahahaha

  2. #22
    Quote Originally Posted by DarkstaR View Post
    Now my competitors know my secret to 30-minute updates, though >
    Integrate this process with any CI, and you will get 5-minute update.

  3. #23
    Quote Originally Posted by szulak View Post
    Integrate this process with any CI, and you will get 5-minute update.
    This method doesn't always work (assembly code can change), and it's very hard to test with CI.
    e.g. how can my CI test cases known that my healer worked without relying on the fact that my health address is right, which is 50% of the healer working? Maybe I could use CV to detect the current health and health % and make sure it heals..Okay. So what about the walker, how do I verify that it is working? How smart would my CV need to be? How do my CV based test-cases deal with the fact that Tibia is stochastic, not deterministic? etc etc

    Verifying updates need to be done by hand unless you really hate your customers and give 0 shits about their characters. My update system will automatically download and install new Tibia updates, then automatically run the address locator and commit the new file to a new branch, but beyond that, it needs to be manual. That's why my update system very graciously wakes up me when there is an update.

  4. #24
    Quote Originally Posted by DarkstaR View Post
    This method doesn't always work (assembly code can change), and it's very hard to test with CI.
    e.g. how can my CI test cases known that my healer worked without relying on the fact that my health address is right, which is 50% of the healer working? Maybe I could use CV to detect the current health and health % and make sure it heals..Okay. So what about the walker, how do I verify that it is working? How smart would my CV need to be? How do my CV based test-cases deal with the fact that Tibia is stochastic, not deterministic? etc etc

    Verifying updates need to be done by hand unless you really hate your customers and give 0 shits about their characters. My update system will automatically download and install new Tibia updates, then automatically run the address locator and commit the new file to a new branch, but beyond that, it needs to be manual. That's why my update system very graciously wakes up me when there is an update.
    You're most likely right. However, this process can be improved a lot - I don't know how does your design and implementation of your bot's internals looks like - but the proper design would allow (or should allow) very high test coverage - which can be run by CI. Assuming your design is pretty flexible and you have very high test coverage, upon new client version CI could perform an auto-update, run unit tests and then - the hard bit comes. But firstly, I would wonder what tests you're performing in this moment to say "it works" - and wonder, if this can be automated - pretty sure, it could (by faking game server etc etc).
    Last edited by szulak; 05-15-2015 at 06:53 PM.

  5. #25
    Senior Member
    Join Date
    Jan 2012
    Posts
    417
    Quote Originally Posted by DarkstaR View Post
    My update system will automatically download and install new Tibia updates, then automatically run the address locator
    That's a really cool idea.

    After running the address locator, if the tool was able to find most of the key structures, a message could be sent to users like "keep calm, because our automated process was able to update critical structures"

  6. #26
    Quote Originally Posted by szulak View Post
    and wonder, if this can be automated - pretty sure, it could (by faking game server etc etc).
    But if Tibia changes their protocol (not too rare), your tests break. I'm all for CI, and I use it in my day job and love how powerful it is.. but most CI isn't testing very specific interactions with stochastic closed-source systems.


    Quote Originally Posted by Blequi View Post
    That's a really cool idea.

    After running the address locator, if the tool was able to find most of the key structures, a message could be sent to users like "keep calm, because our automated process was able to update critical structures"
    I'm normally done updating by the time anyone notices, and XenoBot pulls the updates in the background. Many of my users don't even realize when updates happen, nowadays

  7. #27
    Super Moderator klusbert's Avatar
    Join Date
    Dec 2007
    Posts
    1,201
    How to find battlelist address --> http://tpforums.org/forum/thread-8146.html
    Updating addresses --> http://tpforums.org/forum/thread-8625.html
    DataReader --> http://tpforums.org/forum/thread-10387.html

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •