Maths Posted November 1, 2020 Share Posted November 1, 2020 (edited) Hey everyone! I'd like to introduce myself, I am Maths, and I am new to botting. I offer my first script as my first , but hopefully not last contribution to the community. I think creating bots has a lot to offer me. I am a physicist, mathematician, engineer, and general nerd. I have really developed an interest in optimal control theory and have tried developing bipedal robots, but my work in neural networks needs to improve, but I have a solid background in machine learning. I would like to create a human like bot that can accomplish complex tasks using AI, and I love Runescape, so I figured it would be the best way to do real life practical problems. I have the technical background to do it properly, but I know better to think that I can do it in a vacuum. I would like to join the community so that I can get further faster, and maybe I can help you guys out along the way as well. I am currently learning C# and .NET framework, but I know C++, Python, R, SQL, and a couple other languages. So I was leveling my thieving and thought ardy knights were awful. I would just grade papers and tap the mousepad. I could totally feel fine about creating a program to do the tapping mouse pad part for me. For work I just wrote an AHK script to analyze some pictures quickly, and figured a similar program would work for thieving. The following is the how/why of my script. When I am doing thieving my mouse doesn't move, so I didn't have to worry about that. I figured that AHK was fine because my mouse wouldn't really be moving so no abnormal mouse movement would be noticed. Not that I know anything about RS bot detection. So all I needed was an auto clicker with a random time delay variable on it that seemed realistic to what I click. So I recorded myself clicking and found the range of my clicks, shortened it down to two standard deviations from the mean, and then just rounded it to make neat numbers. This gave me my time delays. Then writing the program was just a loop to activate and deactivating the auto clicker when told to do so. I borrowed some code from Nimda to make an auto clicker with a toggle ( https://autohotkey.com/board/topic/64576-the-definitive-autofire-thread/ ). So everything is pretty self explanatory to me except for the #maxthreadsperhotkey. So when I remove it, I can't turn it off unless I open up ctrl alt delete, because AHK can't manipulate on this screen. So the Maxthreadsperhotkey allows us to untoggle the program, by from my understanding making the ^w public allowing us to access it even though we are stuck in the clicking loop. Its simple, but I don't see why Jagex would ban me for this if they didn't ban me for thieving while grading. I don't know how to properly put code on here, on LateX I usually use the verbatim command, but for now I'll just post as is. Bests, Maths #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. toggle = 0 #MaxThreadsPerHotkey 2 ;~ Ctrl w activates the autoclicker ^w:: Toggle := !Toggle ;~ turns 0 into a 1 While Toggle{ Click Random, rand, 100, 400 ;~ generates a random number between 100 and 400ms saving it to rand variable sleep rand ;~ waits rand ms } return Edited November 1, 2020 by Maths Quote Link to comment Share on other sites More sharing options...
Culturalism Posted November 1, 2020 Share Posted November 1, 2020 You say all that intelligent stuff and post a autoclicker XDD Quote Link to comment Share on other sites More sharing options...
Hawk Posted November 1, 2020 Share Posted November 1, 2020 1 hour ago, Maths said: So I was leveling my thieving and thought ardy knights were awful. I would just grade papers and tap the mousepad. When you were grading papers did you tap exactly every 100-400ms? Did you ever not tap for a few seconds from time to time, for example, when putting down one paper and picking up another? Have you ever been distracted and end up afking for 5 min and logging out? Clicking at a random interval of 100-400ms consistently over a long period of time with no deviation is not human-like behavior. Quote Link to comment Share on other sites More sharing options...
Tka619 Posted November 1, 2020 Share Posted November 1, 2020 nice Quote Link to comment Share on other sites More sharing options...
Maths Posted November 1, 2020 Author Share Posted November 1, 2020 7 hours ago, Culturalism said: You say all that intelligent stuff and post a autoclicker XDD Haha I know, its nothing crazy but I figured I should atleast take the first step. Quote Link to comment Share on other sites More sharing options...
Maths Posted November 1, 2020 Author Share Posted November 1, 2020 7 hours ago, Hawk said: When you were grading papers did you tap exactly every 100-400ms? Did you ever not tap for a few seconds from time to time, for example, when putting down one paper and picking up another? Have you ever been distracted and end up afking for 5 min and logging out? Clicking at a random interval of 100-400ms consistently over a long period of time with no deviation is not human-like behavior. It wasn't exactly 100-400ms, but I rounded the bounds. But yes I did not tap for a few seconds occasionally, so at the very end I have to upload their grades and it requires me to minimize the rs window. So the program is more of an assistant to click while I grade because I get those coin pouches due to rogue's outfit. I also ended up afking and logging randomly many times. I think I can remove my rogues outfit and program this into it. What if I put an if statement in the loop, that said if 103< rand < 130 then take a 3000 + rand sleep. Or I can create a new rand, rand2 that is within the bounds of 30,000, 60,000 to take a couple minute break. 2 hours ago, Tka619 said: nice Thank you! Quote Link to comment Share on other sites More sharing options...
Hawk Posted November 1, 2020 Share Posted November 1, 2020 (edited) 1 hour ago, Maths said: What if I put an if statement in the loop, that said if 103< rand < 130 then take a 3000 + rand sleep. Or I can create a new rand, rand2 that is within the bounds of 30,000, 60,000 to take a couple minute break. I don't really know the full context of your botting habits, so it's hard to say what a good solution is; I don't even fully understand yet what a "good" solution is. But I'm 99% sure sleeps like that are bad if you wanted to create something more than an assistance tool. From my own experience with assistance tools, I've been banned for simply clicking a widget with a delay interval upon it appearing. This was on multiple accounts though, not just one. If you're only going to be botting for a total of 10-20 hours total over the course of a few weeks, the botting is paused frequently to perform manual actions such as opening the pouches, and you also do other stuff manually in the game, then you're probably fine without any sleeps. However, if you were to add a sleep like that and you were to bot for 50+ hours in a row, you're 100% going to get banned. Especially if you wanted to bot thieving on multiple accounts. With a 26/300 chance for a 3 second sleep, you're only modifying the average clicks per minute from 240 to 228(?). There are a lot of nuances to human behavior. You aren't doing anything beyond that to create a unique behavior profile. Every time you go to thieve you're using the exact same profile. I guess a question that needs to be answered is how similar does a human behave between different sessions? Is it sufficient to create a model of multiple sessions from the same human and use a deviation of that mean for each account? I suppose that would work for a few accounts, but if you're botting 10+ accounts, they're still going to have the same behavior clusters based off of that one human's data. I think the actual challenge is in generating a unique human-like profile for each account, you ideally wouldn't want it based off of one. I think that may be what the OSB team is trying to do with their AI implementations coming sometime next year, but I'm not entirely sure what their approach entails. Edited November 1, 2020 by Hawk Quote Link to comment Share on other sites More sharing options...