Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[HELP]Delphi Pixel Potter.

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
alexNx
Master Cheater
Reputation: 0

Joined: 23 Nov 2008
Posts: 313

PostPosted: Sat Feb 28, 2009 2:12 pm    Post subject: [HELP]Delphi Pixel Potter. Reply with quote

Okay so i got a source code for pixel potting but i don't know how to use it.

I got the source code from Anden100.

This is my hole source with the code that Anden100 gave me . Also his source code is in yellow the green is what i made. I placed the code into the source and it worked when i built but i don't know how to turn on and setup hotkeys for this. I can setup hotkeys for all my other things just not the pixel potter and how to turn on or show.

Code:
unit botts;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Timer1: TTimer;
    Timer2: TTimer;
    Timer3: TTimer;
    Timer4: TTimer;
    Timer5: TTimer;
    Timer6: TTimer;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Zkey: TEdit;
    Nkey: TEdit;
    Mkey: TEdit;
    GroupBox2: TGroupBox;
    Label15: TLabel;
    Timer8: TTimer;
    press: TEdit;
    Label4: TLabel;
    Label11: TLabel;
    Timer7: TTimer;
    Timer9: TTimer;
    GroupBox3: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure Timer5Timer(Sender: TObject);
    procedure Timer6Timer(Sender: TObject);
    procedure ZkeyChange(Sender: TObject);
    procedure Timer8Timer(Sender: TObject);
    procedure Timer9Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function PostMessageX(
hWnd:HWND;
MSG:UINT;
WPARAM:wParam;
LPARAM:lParam):BOOL;stdcall;
external 'PMX.dll' name 'PostMessageX'


function GPX(hdc: HDC; nXPos: integer; nYPos: Integer):COLORREF;stdcall;
var
Neeeew:DWORD;
hHandle:THandle;
begin
hHandle:=LoadLibrary('gdi32.dll');
Neeeew:=DWORD(GetProcAddress(hHandle,'GetPixel'))+5;
asm
mov edi,edi
push ebp
mov esp,ebp
jmp [Neeeew]
end;
end;


Code:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if odd(GetAsyncKeyState(VK_F1)) then  //When u press f1 it will begin
begin
label1.caption:='On';
label1.font.color:=clLime;
Timer2.Enabled:=true;
end;
if odd(GetAsyncKeyState(VK_F2)) then  //when u press f2 it will stop
begin
label1.caption:='On';
label1.font.color:=clRed;
Timer2.Enabled:=false;
end;

end;

procedure TForm1.Timer2Timer(Sender: TObject);
var
MS: HWND;
A:DWORD;
begin
A:=MapVirtualKey($5A,0);
A:=A shl 16;
MS := FindWindow('MapleStoryClass', nil);
  if MS <>0 then  begin
PostMessageX(MS,WM_KEYDOWN, $5A, A);
  end;

end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
if odd(GetAsyncKeyState(VK_F3)) then  //When u press f1 it will begin
begin
label2.caption:='On';
label2.font.color:=clLime;
Timer4.Enabled:=true;
end;
if odd(GetAsyncKeyState(VK_F4)) then  //when u press f2 it will stop
begin
label2.caption:='On';
label2.font.color:=clRed;
Timer4.Enabled:=false;
end;

end;

procedure TForm1.Timer4Timer(Sender: TObject);
var
MS: HWND;
A:DWORD;
begin
A:=MapVirtualKey($4E,0);
A:=A shl 16;
MS := FindWindow('MapleStoryClass', nil);
  if MS <>0 then  begin
PostMessageX(MS,WM_KEYDOWN, $4E, A);
  end;

end;

procedure TForm1.Timer5Timer(Sender: TObject);
begin
if odd(GetAsyncKeyState(VK_F5)) then  //When u press f1 it will begin
begin
label3.caption:='On';
label3.font.color:=clLime;
Timer6.Enabled:=true;
end;
if odd(GetAsyncKeyState(VK_F6)) then  //when u press f2 it will stop
begin
label3.caption:='On';
label3.font.color:=clRed;
Timer6.Enabled:=false;
end;

end;

procedure TForm1.Timer6Timer(Sender: TObject);
var
MS: HWND;
A:DWORD;
begin
A:=MapVirtualKey($4D,0);
A:=A shl 16;
MS := FindWindow('MapleStoryClass', nil);
  if MS <>0 then  begin
PostMessageX(MS,WM_KEYDOWN, $4D, A);
  end;

end;

procedure TForm1.ZkeyChange(Sender: TObject);
begin
Timer2.Interval := (StrToInt(Zkey.Text));
Timer4.Interval := (StrToInt(Nkey.Text));
Timer6.Interval := (StrToInt(Mkey.Text));
Timer8.Interval := (StrToInt(press.Text));

end;
procedure TForm1.Timer8Timer(Sender: TObject);
var
h:hwnd;
Point:TPoint;
x,y:integer;
begin
GetCursorPos(Point);
x:=Point.X;
y:=Point.Y;
h:=FindWindowA('MapleStoryClass',nil);
if h<>0 then
begin
PostMessageX(h,WM_LBUTTONDBLCLK,0,MakeLong(X,Y)) ;
PostMessageX(h,WM_LBUTTONUP,0,MakeLong(X,Y));
Application.ProcessMessages
end;

end;

procedure TForm1.Timer9Timer(Sender: TObject);
begin
if odd(GetAsyncKeyState(VK_F7)) then  //When u press f1 it will begin
begin
label4.caption:='On';
label4.font.color:=clLime;
Timer8.Enabled:=true;
end;
if odd(GetAsyncKeyState(VK_F8)) then  //when u press f2 it will stop
begin
label4.caption:='On';
label4.font.color:=clRed;
Timer8.Enabled:=false;
end;
end;
end.

_________________
[BELLOCAN]


Bellocan:
10x Priest 1month banned.
5x Sin Active.
3x Bow Active.
Back to top
View user's profile Send private message
dnsi0
I post too much
Reputation: 0

Joined: 04 Jan 2007
Posts: 2674

PostPosted: Sat Feb 28, 2009 2:36 pm    Post subject: Reply with quote

Code:
function GPX(hdc: HDC; nXPos: integer; nYPos: Integer):COLORREF;stdcall;
var
Neeeew:DWORD;
hHandle:THandle;
begin
hHandle:=LoadLibrary('gdi32.dll');
Neeeew:=DWORD(GetProcAddress(hHandle,'GetPixel'))+5;
asm
mov edi,edi
push ebp
mov esp,ebp
jmp [Neeeew]
end;
end;


This is a no no. Do the address finding stuff outside the function call.

I disassembled this before and theres alot of stuff that needs to be poped before that jump so it will mess up your stack.
Back to top
View user's profile Send private message
alexNx
Master Cheater
Reputation: 0

Joined: 23 Nov 2008
Posts: 313

PostPosted: Sat Feb 28, 2009 2:41 pm    Post subject: Reply with quote

dnsi0 wrote:
Code:
function GPX(hdc: HDC; nXPos: integer; nYPos: Integer):COLORREF;stdcall;
var
Neeeew:DWORD;
hHandle:THandle;
begin
hHandle:=LoadLibrary('gdi32.dll');
Neeeew:=DWORD(GetProcAddress(hHandle,'GetPixel'))+5;
asm
mov edi,edi
push ebp
mov esp,ebp
jmp [Neeeew]
end;
end;


This is a no no. Do the address finding stuff outside the function call.

I disassembled this before and theres alot of stuff that needs to be poped before that jump so it will mess up your stack.


So what can i do to make a simple pixel potter on it own just a pixel potter program .

_________________
[BELLOCAN]


Bellocan:
10x Priest 1month banned.
5x Sin Active.
3x Bow Active.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites