PAY ATTENTION TO PIXEL DETECTION its the most important for your bot.
i will not help you, use your brain
"repost" originally posted by MERUxOMG for MS
It is totally safe. I guarantee it. If you want to even run a bot, use this. But don’t blame me if you get banned. You need some common sense as to not bot in channel 1 perion…
Alright, lets start.
ONE - basic
Code:
Send (“LCTRL”) Send (“RIGHT down”) Sleep (2000) Send (“RIGHT up”)
Now for most of us, we would use {insert} {home} {pgdn} {pgup} for the potion hotkeys. Then {CTRL} for ctrl, {SHIFT} for shift, and {ALT} for alt. Now these three are a little different. It requires {L or R~~~} for it to work. So basically {LCTRL} would be left control. And finally {LEFT} {RIGHT} {UP} and stuff for all that movement.
‘DOWN’ is a special code put after all the normal syntax. It tells the computer to keep holding down {blah} until it receives code {~~~UP} which it will lift it’s imaginary finger.
‘Sleep’is always put between ‘senddown and sendup’. It delays the ‘down’ so that the pc will actually hold down the {blah} key for more than a split millisecond. Basically ‘Sleep(2000)’ stops giving the pc commands for 2 seconds. (notice 1 = 1/1000 of a second) Very useful if you actually want to have an interval between attacks, which ms HAVE to have...
TWO - basic
Those keys we learned above are basic of the basic of the basic. Now we need to have it repeat a crap load of times so it will kill more than 1 monster. We have 2 simple ways of doing it, a few others, but these are the easiest.
Code:
While 1=1 (your other code here) WEnd
Now for ‘stopping While’ loop
Code:
$i = 0 While $i <= 10 $i = $i + 1 WEnd
So this part, we start working with variable “i”. Study the code a little, you will see that the code shows that while ‘i’ “is less than or equal to” 10, the while loop will continue. The ‘i=i+1’ means that ‘i’ will go up by 1 every time the code changes. This will make the while loop, loop 11 times, not 10, because ‘i’ will still be equal to 10 after 10 loops, so it will loop 1 last time after the 10th time.
Now the fun part, we get to integrate loop and key. Woohoo.
Code:
WinWaitActive (“MapleStory”); While 1=1 $i = 0 While $i < 30 Send (“{LEFT down}”) Sleep (500) Send (“{LCTRL}”) Sleep (2000) Send (“{LEFT up}”) $i = $i + 1 WEnd $i = 0 While $i < 30 Send (“{RIGHT down}”) Sleep (500) Send (“{LCTRL}”) Sleep (2000) Send (“{RIGHT up}”) $i = $i + 1 WEnd Send (“{HOME}”) End
The first line ‘WinWaitActive (“MapleStory”); means the bot won’t start until “maplestory” is the window on top.
Now heres the beauty of AutoIT compared to ACTool.
It would start moving left, then tap left control after half a second, and continue moving left for another 2 seconds. (That’s so amazing, less time wasted = more pot efficiency and more kills :-D) Then Do the same thing but move right after 30 attacks instead of left. This will cause the bot to go to the other side after a while because there is no map in MS where it continuously goes one way forever.
Notice that after it has looped 30 ways left and right, it does keys {home} This is useful for either A) Recharging a powerup like “soul arrow” or B) Using a potion. Obviously, this is not the most effective way of potioning as you could get hurt more or less after a single run, besides if it is hurt less, you waste some pot power.
The While loop on top ‘while 1=1’ means that the stuff between while and end will loop forever cause when did 1 not equal 1?
THREE - intermediate
The Ok, now we got all the simple stuff out of the way, here is a few more lines of code to learn.
Code:
$move = Random (1, 100, 1) If $move < 50 Send (“{RIGHT down}”) Sleep (500) Send (“{LCTRL}”) Sleep (2000) Send (“{RIGHT up}”) Else Send (“{LEFT down}”) Sleep (500) Send (“{LCTRL}”) Sleep (2000) Send (“{LEFT up}”) EndIf
“Random (min, max, flag)”
Min meaning the lowest number we want, and max meaning the maximum number we want. Flag 1 means that we want the numbers in intervals of 1, not 0.0000001 as that is what would happen if we didn’t put a flag there. The ‘If $time <50’ means that if the computer generated a number for ‘time’ that is lower than 50, then we will move to the {right} for 1 second. The ‘else’ statement means that if it is a number over 50, then it will move {LEFT}. And of course we got ‘EndIf’ at the end of the statement.
If you do not see the obvious advantage of this compared to the Basic bot, then you are either very impractical or just plain dumb. I’ll say it for you people anyways. The randomizer basically gives the computer a 50% chance of going left and a 50% chance of going right. It causes less people to see that you are botting if you are not going in the same direction for like 30 times then turning. It also stops you from attacking the wall after a while, cause it will randomly go right or left, thus will mostly stay in the same area.
FOUR – Advanced
Ok, now that you know the basic stuff, here is the stuff that even some pro’s are not very good at. PIXEL DETECTION. DA DAA DAAA DAAAA TADAAAA
Code:
$coor = PixelSearch( lt, rt, lb, rb, col, dif, sk ) While @error = 0 (Movement/attack Code) $coor = PixelSearch( tlx, tly, brx, bry, col, dif, sk ) Wend
PixelSearch is comprised of 7 numbers that need to be imputed. The first 4 are for coordinates and the last 3 are for color detection settings. The four coordinates define a rectangle for the computer to detect the color of the pixel
Btw, you should know some basic algebraic graphing…
The legend for the symbols after “pixelsearch”
Tlx = the top left pixel’s X coordinate. IE (240)
Tly = the top left pixel’s Y coordinate. IE (150)
bry = bottom right pixel’s X coordinate. IE (260) (Bigger than the TLX #... duh… its more to the right…)
bry = bottom right pixel’s Y coordinate. IE (110) (Less than the TLY #... duh…its down more…)
Col = the color you want. (Go down to ‘code tidbits’ to find out how to get color)
Dif = the color variation that the pixel search will detect, like if the color is a little different, a high number might detect the pixel as well. 0 = only that color)
Sk = the pixels you want to skip. This is good for slower pcs. If you want the detection to go faster, just have it only take every 5 pixels. IE (5)
So a sample code would be ‘$coor = PixelSearch( 240, 150, 260, 110, 0x02938, 2, 2 )’
(Btw, if anyones wondering how to get your pixel coordinates and color coordinates, go to ‘code tidbits’ on the bottom.)
PixelSearch basically finds a pixel of that color, and tells you where the coordinate of that said pixel is in (X,Y) terms. It is not useful to us, BUT the new variable ‘@error’ that it generates is very useful to us. It will become ‘@error = 1’ IF there is no color that you wanted in that rectangle.
So the ‘While @error = 0’ means that if there is a pixel in the rectangle in that area, it will do the (Movement/attack code). The second pixeldetect is inside the while loop, so you can do the process over and check for new monsters.
Alright, im done with 4 lessons. Didn’t you learn a lot? XD
Now you can make your own detection bots. Don’t use in a crowded area, cause people are bound to see you attacking left and right so regularly. Don’t bitch to me when your account gets banned. That’s just common sense.
FIVE – Intermediate
Now lets work with functions. Functions are basically code snippets that let you do the same thing over and over without having to rewrite the code again. Read the code, maybe understand better.
Code:
WinWaitActive (“MapleStory”); While 1=1 $move = Random (1, 100, 1) If $move < 5 AttackMove() Else ChangeChannel() EndIf WEnd Func AttackMove() (Attack & movement commands) EndFunc Func ChangeChannel() (Change channel snippet, found below) EndFunc
This is very useful for organizing complicated scripts (like 100+ lines… ZOMG 100…) It also lets you call on the function it whenever you want to, it is very useful when you get into more complicated scripts.
How to change to .exe
Ok, it seems there’s some confusion as to how to change the AutoIT files into .exe executables.
Just go to your start menu, then go to AutoIT folder. Inside there is a program called compile to .exe Compile basically means, change the autoit code into computer exe code. It is that simple. Then double click the exe file just like any other and it will work.
Heres a few extras that I think is pretty useful and SIMPLE.
Code Tidbits
Sins attack
Code:
Send (“{LALT}”) Sleep (85) Send (“LCTRL”)
Random movement
Code:
$move = Random (200, 1500, 1) Send (“{RIGHTdown}”) Sleep (500) Send (“{LCTRL}”) Sleep ($move) Send (“{RIGHTup}”)
NOTICE: If you just copy and paste these codes into an editor, you might have to delete the (“)’s and rewrite them. For some reason SciTe doesn’t accept some of them