Page 13 of 15

Re: Aion Bot

Posted: Wed Feb 06, 2013 12:28 pm
by rock5
I mean like what it was doing before, printing '2' instead of '@' and '4' instead of '$'.

I just tried changing the delay. You were right, that fixed it. So for now, alls good. :D

Re: Aion Bot

Posted: Wed Feb 06, 2013 5:56 pm
by Administrator
rock5 wrote:Cool. I'm lloking forward to trying it out later. I'm starting in rombot mod first.

I see Mention of the new function getConsoleAttributes(). Is there any chance we could change those values too? I was thinking of programs like getid and getpos. I quite often make those windows really small then make it stay on top (I have a program for that) and move it to a corner of the screen. Then I can have the game full screen and still see the small mm window. It would be nice to have it resize automatically as part of the program. Of course it would be nice if we could make it stay on top too if possible. Ideally it would be nice if we could place the window too. I could imagine, for normal botting, users adding coords to their profiles and code to size and place the mm window where the user wants it. Or for instance if they run 4 accounts then they could add code that places each of the mm windows based on which account it is, so they would get 4 evenly spaced mm windows automattically.

Just suggestions. Probably these ideas are too much trouble to implement if not impossible all together.
Two more functions: setConsoleAttributes() and setWindowPos()

setConsoleAttributes() lets you move the buffer and set it's width/height.
setWindowPos() lets you move the window, change it's width/height, and set always-on-top.

You wouldn't need setConsoleAttributes() in this case, so don't worry about that.

Try this:

Code: Select all

-- Set MicroMacro window's width/height to 800x40, always on top, set at 0,0
setWindowPos(getHwnd(), 0, 0, 800, 40, true);

-- Remove always on top
setWindowPos(getHwnd(), nil, nil, nil, nil, false);
Any unset vars are unchanged.

Re: Aion Bot

Posted: Thu Feb 07, 2013 12:27 am
by rock5
Wow. I didn't really think you would actually do all that.

Very cool. :)

While playing with it I thought about restoring the window after the program ends. I thought, "Get the attributes when the program starts then restore back to them after the program terminates, maybe in the errorcallback.

First question, what are the arguments for set/getConsoleAttributes?

Then I had a better idea. The mm console has properties and default settings. These commands modify the properties only. It would be good to have a command that just resets the window to the default settings.

Re: Aion Bot

Posted: Thu Feb 07, 2013 2:39 am
by Administrator
getConsoleAttributes() returns window width, window height, buffer x, buffer y, cursor x, cursor y.
setConsoleAttributes() accepts buffer x, buffer y and window width, window height (width/height are in characters, not pixels). I guess the order of this should be swapped around to match getConsoleAttributes().
setWindowPos() takes window HWND, window x, window y, window width, window height, and always-on-top bool.

Maybe any default settings should be in a globally accessible table. These should also be reset when the script terminates.

Re: Aion Bot

Posted: Thu Feb 07, 2013 7:20 am
by rock5
Damn, my last post didn't work. Let me try again. :(
Administrator wrote:Maybe any default settings should be in a globally accessible table.
I don't see any need to have access to the default settings of MM. All we need is to know the current windows settings and be able to change them. The only use for the default settings I can think of is to reset the window to them.
Administrator wrote:I guess the order of this should be swapped around to match getConsoleAttributes().
Yes of course. :P
Administrator wrote:Maybe any default settings should be in a globally accessible table. These should also be reset when the script terminates.
Having MM reset the window automatically after a script ends seems like a good idea to me even though we could just do it in the errorcallback if we had to and if we had the command.

Re: Aion Bot

Posted: Thu Feb 07, 2013 12:34 pm
by Administrator
I don't see any need to have access to the default settings of MM. All we need is to know the current windows settings and be able to change them. The only use for the default settings I can think of is to reset the window to them.
I was thinking of pushing a table of all (user-visible) default settings to global scope. Changing that table wouldn't affect anything; it would just be for informative purposes. It would be a lot easier than making 100 different functions to return specific things. As of right now, I don't see any useful information from the config that would be needed. Maybe somewhere down the line.

Re: Aion Bot

Posted: Fri Feb 08, 2013 11:06 am
by rock5
That's it. I give up trying to get the order of the jumbled pin numbers. I get tantalisingly close but can't find a pointer that sticks.

Now I'm considering reading the pixels on the screen to 'read' which numbers are in which position. Before I start doing this from scratch does anyone have some practical examples of reading a section of the screen and processing it, maybe some character recognition?

What I already have is, I'm able to get the coordinates of the pinbox frame and it's width/height so I should be able to pinpoint each of the numbers to scan.

If I don't get a response then I'll just have to start from scratch.

Re: Aion Bot

Posted: Fri Feb 08, 2013 11:09 am
by Administrator
Maybe you could use LuaTesseract or some other OCR plugin?

Re: Aion Bot

Posted: Fri Feb 08, 2013 11:49 am
by rock5
It might be overkill. An OCR plugin is probably designed to handle different things and different scenarios but I only need to read these few specifically sized, specific font numbers. But if I decide to use it, when I share, users will have to install it as well,right? And will it definitely work or will it be buggy? I might have a think about it and see if I can come up with something simple that will satisfy just his need. It might be as simple as rating the numbers by brightness, That assumes that no 2 numbers have the same amount of brightness. Anyway I'll sleep on it.

Re: Aion Bot

Posted: Fri Feb 08, 2013 1:04 pm
by Administrator
I see. I figured it was some sort of CAPTCHA. Well, it might still be difficult to do. You might get it working well for yourself, but you'll also need to account for different screen sizes (both position and coloring; perhaps from stretching and shading), brightness/contrast, GPU type and drivers, font styling (cleartype, truetype) etc. to get it to work for everybody.

Re: Aion Bot

Posted: Fri Feb 08, 2013 1:26 pm
by rock5
It's just a jumbled keypad that has to be clicked with a mouse. Looks like this.
pin_box.jpg
Like I said, I can get the frame position and dimensions so I should be able to pinpoint the keys. I expect it would only use the one font but it just occurred to me it might be in a different language. I'll have to think about how I would deal with that but I wont worry about that at the moment. Coloring, brightness and contrast I'll have to keep in mind and see if I can come up with a way that wont be affected by these.

Re: Aion Bot

Posted: Sat Feb 09, 2013 1:58 am
by nightclaw
rock5 wrote:It's just a jumbled keypad that has to be clicked with a mouse. Looks like this.
pin_box.jpg
Like I said, I can get the frame position and dimensions so I should be able to pinpoint the keys. I expect it would only use the one font but it just occurred to me it might be in a different language. I'll have to think about how I would deal with that but I wont worry about that at the moment. Coloring, brightness and contrast I'll have to keep in mind and see if I can come up with a way that wont be affected by these.

its moves the key set each time so keys dont stay the same spot

also hears bot i been runing the update v tell we get a good 1 hear if any 1 wants give it try

http://aionspot.akaike.de/index.php?pag ... 3&f6c18920

Re: Aion Bot

Posted: Sat Feb 09, 2013 4:26 am
by rock5
nightclaw wrote:its moves the key set each time so keys dont stay the same spot
Yes, I know, that's why I was talking about doing character recognition. To identify which numbers are where. I'm already part way through the code.
nightclaw wrote:also hears bot i been runing the update v tell we get a good 1 hear if any 1 wants give it try
I'm not interested in other bots no matter how good they are. I'm doing this bot because I want to make it, not because I want to use it. Also that bot and most I've seen look like they are just grinding bots. I'm trying to make a bot that is similar to rombot that can follow paths, talk to npcs, select options and quests, target object to use or harvest, check inventory items, etc. Lastly I'm wary of running bots that I can't see the source code, which I assume is the case here.

Re: Aion Bot

Posted: Sat Feb 09, 2013 5:57 am
by rock5
Awe. Goodbye cuddles. :(

Administrator I noticed that if I've left capslock on then the username is written in capital. Could you have that taken into account? The logic should be easy enough.

Code: Select all

If the key is a letter then
   if (it's a capital and caplock is off) or (it's lower case and capslock is on) then
      press shift and key
   else
      press just key
   end
end

Re: Aion Bot

Posted: Sat Feb 09, 2013 6:36 am
by nightclaw
This bot is having them all added in as released.. The other ver, testers like me get have full back door seen and ver i have currently can do all that bit buggy but it works and does all that ...i am waiting on your aionbot you working on thou i loved rombot and the freedom of what can be done with it ...i was just maybe giving you a progam you link in to serton issues you was having that it already does you lock on to that part it uses to run in game by doing a memory check as they run ...

just thought i help ...if it dont no biggy i tryed
i cant wait tell you get yours out me and bud mine that ran rom bot love your work is all :)

Re: Aion Bot

Posted: Sat Feb 09, 2013 10:57 am
by rock5
I finally mastered the pin box. Yay me!

I spent all day making a character scanner and debugging it until it worked. It captures each number and rates it by whiteness and if it's yellow. Then it sorts it. It initially worked but when the window was moved to another display it sorted them in a different order. I fiddle with the various thresholds but couldn't make it work.

So finally I gave up and started looking for pointers in memory again. After a few failures I found a pointer that pointed to the address of the frame (or button) under the mouse. They were familiar being all in the 0xF0000000 to 0xF2000000 range. That is where I'd been finding the pin numbers in the past but could never find a pattern or pointer for them. So I immediately knew what offset to look at, 0x304, and sure enough there was the pin number.

So I had a way to get the pin number of the button under the mouse. So all I had to do is scan the mouse over the buttons and read the pin numbers from memory. With all the work I'd already done it was quick to do and now I have a fully working function to enter the pin number. :)

Now I just have to tidy everything up, chain the userid and password code with the pinbox code and it should be able to log all the way in.

I just felt like sharing that.

Re: Aion Bot

Posted: Sat Feb 09, 2013 3:15 pm
by Administrator
rock5 wrote:Awe. Goodbye cuddles. :(
Hmm?
Administrator I noticed that if I've left capslock on then the username is written in capital. Could you have that taken into account? The logic should be easy enough.
I've made some changes to take care of this. I'm not entirely sure it'll work everywhere, but it seems to work for Notepad in both attached and unattached mode.

Re: Aion Bot

Posted: Sat Feb 09, 2013 9:06 pm
by nightclaw
rock5 wrote:I finally mastered the pin box. Yay me!

I spent all day making a character scanner and debugging it until it worked. It captures each number and rates it by whiteness and if it's yellow. Then it sorts it. It initially worked but when the window was moved to another display it sorted them in a different order. I fiddle with the various thresholds but couldn't make it work.

So finally I gave up and started looking for pointers in memory again. After a few failures I found a pointer that pointed to the address of the frame (or button) under the mouse. They were familiar being all in the 0xF0000000 to 0xF2000000 range. That is where I'd been finding the pin numbers in the past but could never find a pattern or pointer for them. So I immediately knew what offset to look at, 0x304, and sure enough there was the pin number.

So I had a way to get the pin number of the button under the mouse. So all I had to do is scan the mouse over the buttons and read the pin numbers from memory. With all the work I'd already done it was quick to do and now I have a fully working function to enter the pin number. :)

Now I just have to tidy everything up, chain the userid and password code with the pinbox code and it should be able to log all the way in.

I just felt like sharing that.
grats :)

Re: Aion Bot

Posted: Sat Feb 09, 2013 10:55 pm
by rock5
Administrator wrote:
rock5 wrote:Awe. Goodbye cuddles. :(
Hmm?
You mean you didn't know his name?


Cuddles.
http://images.wikia.com/happytreefriend ... uddles.jpg

Re: Aion Bot

Posted: Sat Feb 09, 2013 10:57 pm
by lisa
I spent about an hour trying to find something for the key sorting, best I could come up with was an Id for the way they were sorted but unless you know what the Id means then it was kind of useless, also concidering how many combinations even if you tried to use it you would need a table of the 1000's of combinations. So in the end I gave up.

grats on getting it working.

So rock do you know the name of mine?