<edit>
How do I make the code box smaller?!
</edit>
I had some spare time today, so I made this:
Code:
import java.awt.event.InputEvent;
import java.awt.Robot;
import java.awt.Color;
import java.awt.AWTException;
import java.lang.String;
public class bots {
/* easier_botting intended for use with java.awt.Robot in some cases.
This should shorten the number of commands need. For example, it should
no longer be necessary to type mousePress, mouseRelease and mouseMove to
click on a location.*/
// presses mouse button at any given location
public static void Click(int x, int y, int button) throws AWTException{
Robot mouseclick = new Robot();
mouseclick.mouseMove(x, y); //moves mouse
if (button == 1){
mouseclick.mousePress(InputEvent.BUTTON1_MASK);
mouseclick.mouseRelease(InputEvent.BUTTON1_MASK);
}
if (button == 2){
mouseclick.mousePress(InputEvent.BUTTON2_MASK);
mouseclick.mouseRelease(InputEvent.BUTTON2_MASK);
}
if (button == 3){
mouseclick.mousePress(InputEvent.BUTTON3_MASK);
mouseclick.mouseRelease(InputEvent.BUTTON3_MASK);
}
}
// presses mouse button, moves mouse to location, releases mouse button, commonly called "dragging"
public static void drag(int x_init, int y_init, int x_fin, int y_fin, int button) throws AWTException{
Robot drag = new Robot();
drag.mouseMove(x_init, y_init);
if (button == 1){
drag.mousePress(InputEvent.BUTTON1_MASK);
drag.mouseMove(x_fin, y_fin);
drag.mouseRelease(InputEvent.BUTTON1_MASK);
}
if (button == 2){
drag.mousePress(InputEvent.BUTTON2_MASK);
drag.mouseMove(x_fin, y_fin);
drag.mouseRelease(InputEvent.BUTTON2_MASK);
}
if (button == 3){
drag.mousePress(InputEvent.BUTTON3_MASK);
drag.mouseMove(x_fin, y_fin);
drag.mouseRelease(InputEvent.BUTTON3_MASK);
}
}
// Identifies colors
public static int Red(int x, int y)throws AWTException{
Robot pixel_finder = new Robot();
Color colour;
colour = pixel_finder.getPixelColor(x, y);
int redness = colour.getRed();
return redness;
}
public static int Blue(int x, int y) throws AWTException{
Robot pixel_finder = new Robot();
Color colour= pixel_finder.getPixelColor(x, y);;
int redness = colour.getBlue();
return redness;
}
public static int Green(int x, int y) throws AWTException{
Robot pixel_finder = new Robot();
Color colour;
colour = pixel_finder.getPixelColor(x, y);
int redness = colour.getGreen();
return redness;
}
public static void key(String a/*, int num_letters <-- I'm gonna work on that part*/) throws AWTException{
Robot k = new Robot();
//int i = num_letters - 1;
//num_letters = 0;
<---And this part!
//while (num_letters <= i){
char letter = a.charAt(0);
//Start lowercase letters
if (letter == 'a'){
k.keyPress(65); //press key, 65 is the key code
k.keyRelease(65);
}
if (letter == 'b'){
k.keyPress(66);
k.keyRelease(66);
}
if (letter == 'c'){
k.keyPress(67);
k.keyRelease(67);
}
if (letter == 'd'){
k.keyPress(68);
k.keyRelease(68);
}
if (letter == 'e'){
k.keyPress(69);
k.keyRelease(69);
}
if (letter == 'f'){
k.keyPress(70);
k.keyRelease(70);
}
if (letter == 'g'){
k.keyPress(71);
k.keyRelease(71);
}
if (letter == 'h'){
k.keyPress(72);
k.keyRelease(72);
}
if (letter == 'i'){
k.keyPress(73);
k.keyRelease(73);
}
if (letter == 'j'){
k.keyPress(74);
k.keyRelease(74);
}
if (letter == 'k'){
k.keyPress(75);
k.keyRelease(75);
}
if (letter == 'l'){
k.keyPress(76);
k.keyRelease(76);
}
if (letter == 'm'){
k.keyPress(77);
k.keyRelease(77);
}
if (letter == 'n'){
k.keyPress(78);
k.keyRelease(78);
}
if (letter == 'o'){
k.keyPress(79);
k.keyRelease(79);
}
if (letter == 'p'){
k.keyPress(80);
k.keyRelease(80);
}
if (letter == 'q'){
k.keyPress(81);
k.keyRelease(81);
}
if (letter == 'r'){
k.keyPress(82);
k.keyRelease(82);
}
if (letter == 's'){
k.keyPress(83);
k.keyRelease(83);
}
if (letter == 't'){
k.keyPress(84);
k.keyRelease(84);
}
if (letter == 'u'){
k.keyPress(85);
k.keyRelease(85);
}
if (letter == 'v'){
k.keyPress(86);
k.keyRelease(86);
}
if (letter == 'w'){
k.keyPress(87);
k.keyRelease(87);
}
if (letter == 'x'){
k.keyPress(88);
k.keyRelease(88);
}
if (letter == 'y'){
k.keyPress(89);
k.keyRelease(89);
}
if (letter == 'z'){
k.keyPress(90);
k.keyRelease(90);
}
//Start capital letters
if (letter == 'A'){
k.keyPress(16); //16 is the keycode for "shift". Must be pressed before and released after press of other key for intended effect
k.keyPress(65);
k.keyRelease(65);
k.keyRelease(16);
}
if (letter == 'B'){
k.keyPress(16);
k.keyPress(66);
k.keyRelease(66);
k.keyRelease(16);
}
if (letter == 'C'){
k.keyPress(16);
k.keyPress(67);
k.keyRelease(67);
k.keyRelease(16);
}
if (letter == 'D'){
k.keyPress(16);
k.keyPress(68);
k.keyRelease(68);
k.keyRelease(16);
}
if (letter == 'E'){
k.keyPress(16);
k.keyPress(69);
k.keyRelease(69);
k.keyRelease(16);
}
if (letter == 'F'){
k.keyPress(16);
k.keyPress(70);
k.keyRelease(70);
k.keyRelease(16);
}
if (letter == 'G'){
k.keyPress(16);
k.keyPress(71);
k.keyRelease(71);
k.keyRelease(16);
}
if (letter == 'H'){
k.keyPress(16);
k.keyPress(72);
k.keyRelease(72);
k.keyRelease(16);
}
if (letter == 'I'){
k.keyPress(16);
k.keyPress(73);
k.keyRelease(73);
k.keyRelease(16);
}
if (letter == 'J'){
k.keyPress(16);
k.keyPress(74);
k.keyRelease(74);
k.keyRelease(16);
}
if (letter == 'K'){
k.keyPress(16);
k.keyPress(75);
k.keyRelease(75);
k.keyRelease(16);
}
if (letter == 'L'){
k.keyPress(16);
k.keyPress(76);
k.keyRelease(76);
k.keyRelease(16);
}
if (letter == 'M'){
k.keyPress(16);
k.keyPress(77);
k.keyRelease(77);
k.keyRelease(16);
}
if (letter == 'N'){
k.keyPress(16);
k.keyPress(78);
k.keyRelease(78);
k.keyRelease(16);
}
if (letter == 'O'){
k.keyPress(16);
k.keyPress(79);
k.keyRelease(79);
k.keyRelease(16);
}
if (letter == 'P'){
k.keyPress(16);
k.keyPress(80);
k.keyRelease(80);
k.keyRelease(16);
}
if (letter == 'Q'){
k.keyPress(16);
k.keyPress(81);
k.keyRelease(81);
k.keyRelease(16);
}
if (letter == 'R'){
k.keyPress(16);
k.keyPress(82);
k.keyRelease(82);
k.keyRelease(16);
}
if (letter == 'S'){
k.keyPress(16);
k.keyPress(83);
k.keyRelease(83);
k.keyRelease(16);
}
if (letter == 'T'){
k.keyPress(16);
k.keyPress(84);
k.keyRelease(84);
k.keyRelease(16);
}
if (letter == 'U'){
k.keyPress(16);
k.keyPress(85);
k.keyRelease(85);
k.keyRelease(16);
}
if (letter == 'V'){
k.keyPress(16);
k.keyPress(86);
k.keyRelease(86);
k.keyRelease(16);
}
if (letter == 'W'){
k.keyPress(16);
k.keyPress(87);
k.keyRelease(87);
k.keyRelease(16);
}
if (letter == 'X'){
k.keyPress(16);
k.keyPress(88);
k.keyRelease(88);
k.keyRelease(16);
}
if (letter == 'Y'){
k.keyPress(16);
k.keyPress(89);
k.keyRelease(89);
k.keyRelease(16);
}
if (letter == 'Z'){
k.keyPress(16);
k.keyPress(90);
k.keyRelease(90);
k.keyRelease(16);
}
//start numbers
if (letter == '1'){
k.keyPress(49);
k.keyRelease(49);
}
if (letter == '2'){
k.keyPress(50);
k.keyRelease(50);
}
if (letter == '3'){
k.keyPress(51);
k.keyRelease(51);
}
if (letter == '4'){
k.keyPress(52);
k.keyRelease(52);
}
if (letter == '5'){
k.keyPress(53);
k.keyRelease(53);
}
if (letter == '6'){
k.keyPress(54);
k.keyRelease(54);
}
if (letter == '7'){
k.keyPress(55);
k.keyRelease(55);
}
if (letter == '8'){
k.keyPress(56);
k.keyRelease(56);
}
if (letter == '9'){
k.keyPress(57);
k.keyRelease(57);
}
if (letter == '0'){
k.keyPress(48);
k.keyRelease(48);
}
//start punctuation without shift key
if (letter == '`'){
k.keyPress(192);
k.keyRelease(192);
}
if (letter == ','){
k.keyPress(44);
k.keyRelease(44);
}
if (letter == '.'){
k.keyPress(46);
k.keyRelease(46);
}
if (letter == '\\'){
k.keyPress(92);
k.keyRelease(92);
}
if (letter == '/'){
k.keyPress(47);
k.keyRelease(47);
}
if (letter == ';'){
k.keyPress(59);
k.keyRelease(59);
}
if (letter == '\''){
k.keyPress(222);
k.keyRelease(222);
}
if (letter == '-'){
k.keyPress(45);
k.keyRelease(45);
}
if (letter == '='){
k.keyPress(61);
k.keyRelease(61);
}
if (letter == '['){
k.keyPress(91);
k.keyRelease(91);
}
if (letter == ']'){
k.keyPress(93);
k.keyRelease(93);
//start punctuation with shift key
if (letter == '!'){
k.keyPress(16);
k.keyPress(49);
k.keyRelease(49);
k.keyPress(16);
}
if (letter == '@'){
k.keyPress(16);
k.keyPress(50);
k.keyRelease(50);
k.keyRelease(16);
}
if (letter == '#'){
k.keyPress(16);
k.keyPress(51);
k.keyRelease(51);
k.keyRelease(16);
}
if (letter == '$'){
k.keyPress(16);
k.keyPress(52);
k.keyRelease(52);
k.keyRelease(16);
}
if (letter == '%'){
k.keyPress(16);
k.keyPress(53);
k.keyRelease(53);
k.keyRelease(16);
}
if (letter == '^'){
k.keyPress(16);
k.keyPress(54);
k.keyRelease(54);
k.keyRelease(16);
}
if (letter == '&'){
k.keyPress(16);
k.keyPress(55);
k.keyRelease(55);
k.keyRelease(16);
}
if (letter == '*'){
k.keyPress(16);
k.keyPress(56);
k.keyRelease(56);
k.keyRelease(16);
}
if (letter == '('){
k.keyPress(16);
k.keyPress(57);
k.keyRelease(57);
k.keyRelease(16);
}
if (letter == ')'){
k.keyPress(16);
k.keyPress(58);
k.keyRelease(58);
k.keyRelease(16);
}
if (letter == '~'){
k.keyPress(16);
k.keyPress(192);
k.keyRelease(192);
k.keyRelease(16);
}
if (letter == '<'){
k.keyPress(16);
k.keyPress(44);
k.keyRelease(44);
k.keyRelease(16);
}
if (letter == '>'){
k.keyPress(16);
k.keyPress(46);
k.keyRelease(46);
k.keyRelease(16);
}
if (letter == '|'){
k.keyPress(16);
k.keyPress(92);
k.keyRelease(92);
k.keyRelease(16);
}
if (letter == '?'){
k.keyPress(16);
k.keyPress(47);
k.keyRelease(47);
k.keyRelease(16);
}
if (letter == ':'){
k.keyPress(16);
k.keyPress(59);
k.keyRelease(59);
k.keyRelease(16);
}
if (letter == '"'){
k.keyPress(16);
k.keyPress(222);
k.keyRelease(222);
k.keyRelease(16);
}
if (letter == '_'){
k.keyPress(16);
k.keyPress(45);
k.keyRelease(45);
k.keyRelease(16);
}
if (letter == '+'){
k.keyPress(16);
k.keyPress(61);
k.keyRelease(61);
k.keyRelease(16);
}
if (letter == '{'){
k.keyPress(16);
k.keyPress(91);
k.keyRelease(91);
k.keyRelease(16);
}
if (letter == '}'){
k.keyPress(16);
k.keyPress(93);
k.keyRelease(93);
k.keyRelease(16);
}
//(space)
if (letter == ' '){
k.keyPress(32);
k.keyRelease(32);
}
//num_letters ++;
//}
}
}
}
What it is is a class that makes it easier to make bots. Save it as "bots".
Functions:
Click(int x, int y, int button) : moves mouse to X, Y and presses button 1, 2, 3.
drag(int x_init, int y_init, int x_fin, int y_fin, int button) : Moves mouse to X, Y (initial), presses a mouse button, moves mouse to X, Y (final), releases mouse button
Red(X, Y) : Returns red value for position X, Y
Blue(X, Y) : Same as above with blue. Go figure
Green(X, Y) : Guess :P
key(String a) : Presses the keys to make the first letter of String a. Took 500 lines. Means you no longer have to go search for keycodes!
If anyone has anything to add, go for it.
This works really well as a substitute for Robot, but only on simple codes. If you want to just plain old move the mouse, you'll have to use Robot. I think I'll add in a pointer location finder at some point.