Cody (Preview) (Feedback)

Discussion in 'MapleStory Global & Europe' started by CodyBot, May 21, 2020.

  1. CodyBot

    CodyBot Canada The New Guy

    Post Count:
    35
    Likes Received:
    156
    Stats
    Cody: MapleStory GMS v179+ OpenCV-Based and ioctl-Based Bot.

    Removed YouTube video to try to make my character not be reported.

    I've been really bored due to COVID-19. I occasionally lurked this forum, and I stumbled across the Keystroke Bot. @Naveh seems like a really cool guy, so I spent some time implementing my own version of his bot.

    My high-level goals for the bot were to be noninvasive to the MapleStory process and to be rich in scripting semantics. Accordingly, I implemented the bot in Java to prevent myself from using invasive techniques such as DLL injection and reading pointers from memory. Cody "sees" MapleStory by relying on OpenCV to detect stuff. The keyboard and mouse are instrumented without relying on Win32 APIs. Finally, to support rich scripting semantics, I adapted an open-source scripting language to create CodyScript. CodyScript looks like JavaScript with built-in functions and variables for pathfinding and keyboard/mouse actions.

    The following is an example of CodyScript shown in the YouTube video.
    Code:
    // Singing Mushroom Forest: Spore Hill
    #pragma mapId 100020000
    #pragma allowDoubleJumps true
    
    var hpKey = $KK_LEFT_SHIFT;
    var mpKey = $KK_CONTROL;
    var attackKey = $KK_X;
    
    var leftAttack = function() {
        // 1. Turn Left.
        cody:keyTap($KK_LEFT, 1);
        cody:sleep(250);
        // 2. Attack.
        cody:keyTap(attackKey, 1);
        cody:sleep(1000);
    };
    var rightAttack = function() {
        // 1. Turn Right.
        cody:keyTap($KK_RIGHT, 1);
        cody:sleep(250);
        // 2. Attack.
        cody:keyTap(attackKey, 1);
        cody:sleep(1000);
    };
    
    cody:chatMessage("This is Cody!");
    cody:sleep(1000);
    
    cody:move(1, 24, 90);
    cody:sleep(1000);
    
    var footholdKeys = [
        cody:footholdKey(1, 1, 11),
        cody:footholdKey(1, 20, 32),
        cody:footholdKey(1, 30, 49),
        cody:footholdKey(1, 37, 62)
    ];
    
    for (footholdKey : footholdKeys) {
        // If HP is less than 80%, tap the HP key.
        if ($hpPercentage < 80) {
            cody:keyTap(hpKey, 1);
            cody:sleep(500);
        }
        // If MP is less than 80%, tap the MP key.
        if ($mpPercentage < 80) {
            cody:keyTap(mpKey, 1);
            cody:sleep(500);
        }
        // Move to next foothold.
        cody:move(footholdKey);
        // Attack.
        leftAttack();
        rightAttack();
    }
    
    cody:sleep(30000);
    After finishing this demo, I don't really know what I want to do with this project anymore. I'm interested in hearing what the community's feedback/opinion is regarding Cody, and what feature would the community like to have in a potential "legit" bot?
     
    Last edited: May 29, 2020

    Mr. Ad Advertisement

     
  2. dmttrip

    dmttrip United States Informed Hacker

    Post Count:
    75
    Likes Received:
    16
    Stats
  3. Chai

    Chai United States StressedNDepressed.wz

    Post Count:
    794
    Likes Received:
    59
    Stats
    This is awesome.
    Please add a feature for attack when mob count = greater than 0, auto login, auto rune, and d/c recovery (auto log after a d/c).
    Auto cc when people = greater than 0.
    Maybe add auto rune too?
    like this:
     
    Last edited: May 22, 2020
    deathsecrets likes this.
  4. CodyBot

    CodyBot Canada The New Guy

    Post Count:
    35
    Likes Received:
    156
    Stats
    Thanks for the feedback! I have Auto Rune experimentally. It can detect runes, traverse to them, and attempt to solve them. I don’t know the accuracy since I never ran it live. Only on test screenshots.

    Auto Login and Auto CC are interesting. The UI would need to change, but that’s negligible. I’ll investigate that.

    I’m not sure if I can get mob detection to ever run efficiently. There are public neural networks that could be trained on Wz sprites to detect mob locations relative to the user at a decent frame rate. Or, I could try to detect if a sprite is covering a background tile to have some guess if a mob is there. Suggestions on Wz mob/map data I could explore would be nice.

    Also, any other Wz recommendations would be nice.
     
  5. Chai

    Chai United States StressedNDepressed.wz

    Post Count:
    794
    Likes Received:
    59
    Stats
    Basic features of a bot, like auto pot, auto attack, auto CC, auto cash shop.
    Unlimited attack would be nice via just moving left and right.
    It'd be cool to have a macro recorder.

    Also. It looks like you're reading data from MS to get the map ID and character XY right?
    Can't you do that to get the exact mob count? Like other bots in the past?
     
  6. shibal-seki

    shibal-seki Malaysia Prominent Hacker

    Post Count:
    529
    Likes Received:
    129
    Stats
    Tbh, everything look great for the.
    But agree with @Chai ,if you implement these few thing, I think it can become a great bot.

    Suggestion, you can try creating a thing to move to other map
     
    deathsecrets likes this.
  7. Naveh

    Naveh Israel Veteran Hacker

    Post Count:
    163
    Likes Received:
    2,681
    Stats
    This is really cool it has a lot of potential. I didn’t know about openCV, my life would’ve been much more easier and the bot would’ve been better. Plus the platform recognizing is really cool, wonder how does that work.

    Relogin and moving cc is pretty easy.
    In high version you can control it via the keyboard itself, no mouse needed, so just do a script that will manage to do it and add it somewhere.

    Message me on discord.
     
  8. CodyBot

    CodyBot Canada The New Guy

    Post Count:
    35
    Likes Received:
    156
    Stats
    I actually created an embedded database file of preprocessed Map.wz data. It's about 50 MBs. I extrapolate mini-map data visually with the Map.wz data to perform pathfinding. So like Naveh's bot, I don't touch the MapleStory process. I do have all the platforms that can spawn mobs though.
     
  9. Chai

    Chai United States StressedNDepressed.wz

    Post Count:
    794
    Likes Received:
    59
    Stats
    I'd like to be apart of this chat. Chai#5765
     
  10. CodyBot

    CodyBot Canada The New Guy

    Post Count:
    35
    Likes Received:
    156
    Stats
    @Chai @Naveh I made a new Discord account CodyBot#9944

    My personal one is on my phone, so I'll only be able to respond on my computer with this new account.
     
  11. shibal-seki

    shibal-seki Malaysia Prominent Hacker

    Post Count:
    529
    Likes Received:
    129
    Stats
    Promising bot,but all the best. Not good at creating bot sadly.
     
  12. Ret1C

    Ret1C United States Lurker

    Post Count:
    4
    Likes Received:
    4
    Stats
    No there's a difference, hes using a vision based bot concept using the .wz as the initial training inputs to dictate his bot's logic and flow. His Character x/y seems to use the map.wz as a base to and the relative pixel location to calculate the x/y position of the character.

    Reading other mobs x/ys like the ones out side of your visual range won't be possible for this concept, old bots in the old days read the pointers to get game data. If he hooked the game it would be fine but he would have build up a bypass.
     
    Last edited: May 22, 2020
    Chai and CodyBot like this.
  13. Mariopk2019

    Mariopk2019 France Banned banned

    Post Count:
    29
    Likes Received:
    5
    Stats
    With Auto rune, and for the character moves and kill mobs or be so easy of config it (Just write name of monsters what want attack and add something like record and record the waypoints where character move, for repeat it all time.,I would pay monthly for that.


    Edit: Didnt see the video, wow thats pretty nice, only with auto rune would be fking good.
     
    Last edited: May 22, 2020
  14. CodyBot

    CodyBot Canada The New Guy

    Post Count:
    35
    Likes Received:
    156
    Stats
    Thanks for the feedback, suggestions, and tests. I'm a try in my spare time to streamline Cody a bit with automatic MapleStory window detection, Map Name detection with OCR and potentially visual Mob detection using YOLO v3 NN (highly unlikely though).
     
  15. Mariopk2019

    Mariopk2019 France Banned banned

    Post Count:
    29
    Likes Received:
    5
    Stats
    Thanks u for u working.
    The rune detector and rune breaker would be the most important thing, and when he make it go back to her position.
    With that u can put bot afk, and we all want bots for stay afk.

    When u tought u'll have it done? Im really waiting it.
     
  16. CodyBot

    CodyBot Canada The New Guy

    Post Count:
    35
    Likes Received:
    156
    Stats
    No idea. It's really not user friendly, and mob detection is a huge obstacle especially because of Elite Bosses.
     
  17. Chai

    Chai United States StressedNDepressed.wz

    Post Count:
    794
    Likes Received:
    59
    Stats
    Yeah, gotta work on the UI/make some precripted stuff and add check boxes for it.
     
  18. Mariopk2019

    Mariopk2019 France Banned banned

    Post Count:
    29
    Likes Received:
    5
    Stats
    But u tought u need mob detected?
    Just with rune destroy and like u have the script is perfect.
    Just like a beta or smthing would be good.
    Or u need mob detect for do rune destroy?
    ^^ Thx I rlly admire ppl like u, maybe im too old and I dont understand how ppl can do things like u do.
     
  19. Chai

    Chai United States StressedNDepressed.wz

    Post Count:
    794
    Likes Received:
    59
    Stats
    He is working on a few different mob detection methods and I helped him find a potential method this morning.
     
  20. CodyBot

    CodyBot Canada The New Guy

    Post Count:
    35
    Likes Received:
    156
    Stats
    Anyone know how I can get contact with a moderator to help me approve a new thread? I want to release v1.0.0 of Cody, but my account is too new. :/
     

Share This Page

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies.
    Dismiss Notice
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies.
    Dismiss Notice