Every thing is in dutch, so if you want to know what its mean. Ask me.
It is not 100% finisht.
The only thing what needs to be done is optimising the code.
Its 100% made by me.
First the aim "engine":
Code:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <time.h>
using namespace std;
int fcollerfind(int kleur1,int kleur2,int kleur3,COLORREF CR1, int bij, int af, int code,int y, int x);
void leftclick();
int main() {
POINT p;
GetCursorPos(&p);
HDC hdc = GetDC(HWND_DESKTOP); //het scherm
COLORREF CR1; //3 kleuren
int gevoelig = 30;
int loop = 5;
int loop2 = 1;
int y = 0;
int get = 0;
int hoeveel = 0;
int hx = 0;
int hy = 0;
int hx2 = 0;
int hy2 = 0;
int geschoten = 0;
int welke = 0;
bool aimer = false;
while(1) {
if ((GetAsyncKeyState(VK_RBUTTON)&1) || (GetAsyncKeyState(VK_F3)&1) ) {
cout << "Aan\n";
aimer = true;
GetCursorPos(&p);
}
if ((GetAsyncKeyState(VK_F11)&1)) {
//cout << "stop\n";
aimer = false;
}
if ((GetAsyncKeyState(VK_F9)&1)) {
//cout << "stop\n";
leftclick();
}
if ( aimer == true ) {
GetCursorPos(&p);
loop2++;
//cout << loop << " " << loop2 << " ";
if ( loop < loop2 ) {
aimer = false;
loop2 = 0;
}
time_t start;
start = time(NULL);
int hoeveel = 0;
int hx = 0;
int hy = 0;
//cout << "start";
welke = 1;
hoeveel = 0;
GetCursorPos(&p);
hx = 0;
hy = 0;
for(int y=-2;y<2;y++) {
if ( hoeveel > gevoelig ) { continue; }
for(int x=-2;x<2;x++) {
CR1 = GetPixel(hdc,p.x+x,p.y+y);
GetCursorPos(&p);
if ( hoeveel > gevoelig ) { continue; }
#include "kleur1.txt"
#include "kleur2.txt"
//#include "kleur3.txt"
}
}
//cout << hoeveel;
if ( hoeveel > gevoelig ) {
geschoten++;
//cout << geschoten;
//cout << "Gevonden: " << hoeveel << "\n";
cout << "\nSCHIET\n";
SetCursorPos(hx/hoeveel,hy/hoeveel);
Sleep(1);
leftclick();
}
time_t end;
end = time(NULL);
//cout << "Sec: " << end - start << "\n";
//cout << "hoeveel= " << hoeveel << "\n" ;
//aimer = false;
}
//aimer = false;
Sleep(100);
}
system("pause");
return 0;
}
int fcollerfind(int kleur1,int kleur2,int kleur3,COLORREF CR1, int bij, int af, int code,int y, int x) {
int get = 0;
int hoeveel = 0;
int hx = 0;
int hy = 0;
int hx2 = 0;
int hy2 = 0;
int acode = 0;
POINT p;
GetCursorPos(&p);
//onderstaande opnieuw maken zonder bkleur
for(int bkleur1 = kleur1 - af; bkleur1<kleur1 + bij; bkleur1++) { //RGB waarde die steeds verandert
for(int bkleur2 = kleur2 - af; bkleur2<kleur2 + bij; bkleur2++) { //RGB waarde die steeds verandert
for(int bkleur3 = kleur3 - af; bkleur3<kleur3 + bij; bkleur3++) { //RGB waarde die steeds verandert
//cout << kleur1 << " " << kleur2 << " " << kleur3 << "\n";
if(CR1==RGB(bkleur1,bkleur2,bkleur3)) { //hier laat je steeds een pixel kleur oplopen, als her is is gaat de muis er heen
//cout << code << "\n";
return true;
}
get = CR1 - RGB(kleur1,kleur2,kleur3);
if(get < 1000 && get > -1000) {
//cout << code << "\n";
return true;
}
}
}
}
return false;
}
void leftclick() {
mouse_event(MOUSEEVENTF_LEFTDOWN, 1, 1, 1, 1);
Sleep(500);
mouse_event(MOUSEEVENTF_LEFTUP, 1, 1, 1, 1);
while ((GetAsyncKeyState(VK_RBUTTON)&1) ) {
mouse_event(MOUSEEVENTF_LEFTDOWN, 1, 1, 1, 1);
Sleep(500);
mouse_event(MOUSEEVENTF_LEFTUP, 1, 1, 1, 1);
}
}
This one reads from kleur1.txt (color1) kleur2.txt kleur3.txt the colors. They's call the fcollerfind function. It looks like this:
Code:
if( fcollerfind(67,56,41,CR1,3,2,welke,y,x) ) {
hx = hx + p.x+x;
hy = hy + p.y+y;
hoeveel++;
}
2nd, the function that can searth for colers so you don't need to type them:
Code:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <time.h>
#include <fstream>
using namespace std;
int main() {
POINT p;
GetCursorPos(&p);
HDC hdc = GetDC(HWND_DESKTOP); //het scherm
COLORREF CR1; //3 kleuren
int y = 0;
int get = 0;
int hoeveel = 0;
int hx = 0;
int hy = 0;
int hx2 = 0;
int hy2 = 0;
char FileName[20];
//cout << "\nFilename: ";
//cin >> FileName;
cout << "\n";
bool aimer = false;
while(1) {
if ((GetAsyncKeyState(VK_RBUTTON)&1) || (GetAsyncKeyState(VK_F10)&1) ) {
aimer = true;
GetCursorPos(&p);
}
if ((GetAsyncKeyState(VK_F9)&1)) {
GetCursorPos(&p);
SetCursorPos(p.x-7,p.y-7);
Sleep(1000);
SetCursorPos(p.x+7,p.y+7);
Sleep(1000);
SetCursorPos(p.x,p.y);
aimer = false;
}
if ( aimer == true ) {
time_t start;
start = time(NULL);
int hoeveel = 0;
int hx = 0;
int hy = 0;
//cout << "start";
cout << "\nFilename: ";
cin >> FileName;
cout << "\n";
for(int y=-7;y<7;y++) {
for(int x=-7;x<7;x++) {
CR1 = GetPixel(hdc,p.x+x,p.y+y);
int R = GetRValue(CR1);
int G = GetGValue(CR1);
int B = GetBValue(CR1);
ofstream Students(FileName, ios::app);
Students << " if( fcollerfind(" << R << "," << G << "," << B << ",CR1,3,2,welke,y,x) ) { \n hx = hx + p.x+x; \n hy = hy + p.y+y; \n hoeveel++; \n } \n welke++; \n\n";
cout << R << " " << G << " " << B << " | ";
}
}
time_t end;
end = time(NULL);
cout << "\n Sec: " << end - start ;
}
aimer = false;
Sleep(100);
}
system("pause");
return 0;
}
pres f9 and you can see what colors he is going to scan (range).
Press f10 and enter a file name. There he is going to save the colors.
I was making a area color part.
So the script can searth for colors in an area.
Also I was making that the script makes a screenshot of a area and scan the screenshot for the pixels. becouse I think this is faster.
And if the script is finisht then it is bether to make it a dll.
If you need help with this ask me.
If you want my color database ask it
I added this triger bot

F3/richt mouse buton to enable 5 "rounds"
I only added a database for the blue enemy's
http://img827.imageshack.us/img827/9...0810190445.png
Open the screen shot. Put your mouse on the solder and press f3.