📄 mainform.pas
字号:
{******************************************************************************}
{ 编码比较混乱,不符合规则,如果伤到你眼睛,还请见谅 ^_^ }
{ -----DeepBlue 12/11/2008 }
{ 如果有什么问题或者疑问,请与我联系 }
{ -----deepblueemail@163.com }
{******************************************************************************}
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, StdCtrls, Buttons,tlhelp32,shellapi, ImgList, IniFiles;
type
TForm1 = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
StatusBar1: TStatusBar;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
LabeledEdit1: TLabeledEdit;
LabeledEdit2: TLabeledEdit;
LabeledEdit3: TLabeledEdit;
LabeledEdit4: TLabeledEdit;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
CheckBox1: TCheckBox;
Edit1: TEdit;
ComboBox1: TComboBox;
LabeledEdit5: TLabeledEdit;
LabeledEdit7: TLabeledEdit;
Label1: TLabel;
CheckBox2: TCheckBox;
Edit2: TEdit;
ComboBox2: TComboBox;
LabeledEdit6: TLabeledEdit;
LabeledEdit8: TLabeledEdit;
Label2: TLabel;
CheckBox3: TCheckBox;
Edit3: TEdit;
ComboBox3: TComboBox;
LabeledEdit9: TLabeledEdit;
LabeledEdit10: TLabeledEdit;
Label3: TLabel;
Label4: TLabel;
LabeledEdit11: TLabeledEdit;
LabeledEdit12: TLabeledEdit;
ComboBox4: TComboBox;
CheckBox4: TCheckBox;
Edit4: TEdit;
Label5: TLabel;
PageControl2: TPageControl;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
CheckBox11: TCheckBox;
LabeledEdit19: TLabeledEdit;
Label6: TLabel;
CheckBox5: TCheckBox;
LabeledEdit13: TLabeledEdit;
CheckBox6: TCheckBox;
LabeledEdit14: TLabeledEdit;
LabeledEdit16: TLabeledEdit;
LabeledEdit18: TLabeledEdit;
CheckBox10: TCheckBox;
CheckBox8: TCheckBox;
LabeledEdit15: TLabeledEdit;
LabeledEdit17: TLabeledEdit;
CheckBox9: TCheckBox;
CheckBox7: TCheckBox;
GroupBox3: TGroupBox;
ListBox1: TListBox;
Edit5: TEdit;
CheckBox12: TCheckBox;
Edit6: TEdit;
LabeledEdit20: TLabeledEdit;
Label7: TLabel;
CheckBox13: TCheckBox;
Edit7: TEdit;
LabeledEdit21: TLabeledEdit;
Label8: TLabel;
CheckBox14: TCheckBox;
Edit8: TEdit;
LabeledEdit22: TLabeledEdit;
Label9: TLabel;
CheckBox15: TCheckBox;
Edit9: TEdit;
LabeledEdit23: TLabeledEdit;
Label10: TLabel;
CheckBox16: TCheckBox;
Edit10: TEdit;
LabeledEdit24: TLabeledEdit;
Label11: TLabel;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
Label12: TLabel;
GroupBox7: TGroupBox;
CheckBox23: TCheckBox;
CheckBox24: TCheckBox;
CheckBox25: TCheckBox;
GroupBox8: TGroupBox;
Label13: TLabel;
ComboBox5: TComboBox;
LabeledEdit25: TLabeledEdit;
LabeledEdit26: TLabeledEdit;
Edit11: TEdit;
PageControl3: TPageControl;
TabSheet10: TTabSheet;
TabSheet11: TTabSheet;
TabSheet12: TTabSheet;
ListBox2: TListBox;
CheckBox17: TCheckBox;
CheckBox18: TCheckBox;
SpeedButton8: TSpeedButton;
CheckBox19: TCheckBox;
CheckBox20: TCheckBox;
ListBox3: TListBox;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
GroupBox4: TGroupBox;
CheckBox21: TCheckBox;
CheckBox22: TCheckBox;
CheckBox26: TCheckBox;
CheckBox27: TCheckBox;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
ListBox4: TListBox;
GroupBox5: TGroupBox;
CheckBox28: TCheckBox;
CheckBox29: TCheckBox;
CheckBox30: TCheckBox;
GroupBox6: TGroupBox;
CheckBox31: TCheckBox;
CheckBox32: TCheckBox;
CheckBox33: TCheckBox;
CheckBox34: TCheckBox;
Memo1: TMemo;
GroupBox9: TGroupBox;
CheckBox35: TCheckBox;
LabeledEdit27: TLabeledEdit;
LabeledEdit28: TLabeledEdit;
LabeledEdit29: TLabeledEdit;
SpeedButton13: TSpeedButton;
FindZhTime: TTimer;
Timer1: TTimer;
Image1: TImage;
Image2: TImage;
Image3: TImage;
ListBox5: TListBox;
Timer2: TTimer;
Timer3: TTimer;
Button1: TButton;
Label15: TLabel;
CheckBox36: TCheckBox;
Button2: TButton;
Button3: TButton;
GroupBox10: TGroupBox;
CheckBox37: TCheckBox;
LabeledEdit30: TLabeledEdit;
CheckBox38: TCheckBox;
Button4: TButton;
GroupBox11: TGroupBox;
Memo2: TMemo;
Timer4: TTimer;
CheckBox39: TCheckBox;
procedure CheckBox35Click(Sender: TObject);
procedure CheckBox25Click(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure CheckBox6Click(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
procedure CheckBox8Click(Sender: TObject);
procedure CheckBox9Click(Sender: TObject);
procedure CheckBox10Click(Sender: TObject);
procedure CheckBox11Click(Sender: TObject);
procedure CheckBox12Click(Sender: TObject);
procedure CheckBox13Click(Sender: TObject);
procedure CheckBox14Click(Sender: TObject);
procedure CheckBox15Click(Sender: TObject);
procedure CheckBox16Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure GetMousePosHwndAndClassName(Sender:TPoint);
procedure FindZhTimeTimer(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure CheckBox33Click(Sender: TObject);
procedure CheckBox34Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure CheckBox31Click(Sender: TObject);
procedure TabSheet1Show(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure ListBox4DblClick(Sender: TObject);
procedure ListBox2DblClick(Sender: TObject);
procedure ListBox3DblClick(Sender: TObject);
procedure CheckBox19Click(Sender: TObject);
procedure CheckBox20Click(Sender: TObject);
procedure CheckBox26Click(Sender: TObject);
procedure CheckBox27Click(Sender: TObject);
procedure TabSheet4Show(Sender: TObject);
procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
procedure ComboBox5Click(Sender: TObject);
procedure Panel1DblClick(Sender: TObject);
procedure CheckBox23Click(Sender: TObject);
procedure CheckBox24Click(Sender: TObject);
procedure StatusBar1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure StatusBar1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure CheckBox37Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure CheckBox39Click(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure TabSheet6Show(Sender: TObject); //自定义过程
private
procedure HotKeyDown(var Msg: Tmessage); message WM_HOTKEY;
public
HotKeyId:Integer;
procedure AddtoList(AddName:String;ListBox:TListBox);
Function FindInList(FindStr:String;ListBox:TListBox):Boolean;
Function GoCity:Boolean;
procedure KillGuaiProc;
procedure LoadInitFile(FName:string);
procedure SaveInitFile;
end;
{$include ../Common/CommonType.inc }
const
{$include ../Common/CommonConst.inc }
GameBase=$833C5C;
XuanZhongGuaiBase=$833A3C; //直接写入怪ID可实现选怪
KillGuaiBase=$81D6E8;
WriteGuaiIDBase=$833BD0; //直接写入怪ID可实现选怪
//***********以下地址实现飞天功能***********//
Addr1=$42C69C;
Addr2=$42C6A0;
Addr3=$42C6B0;
//*****************************************//
BaoMan=0;
NoBaoMan=-1;
HaveYao=0;
NoHaveYao=-1;
SellFinish=0;
NoSellFinish=-1;
ZhungBeiDamage=0;
NoZhungBeiDamage=-1;
BuyFinish=0;
//****************自定义消息,负责与DLL通信*****************//
WM_GETMAXBLOODADDR=WM_USER+100;
WM_GETNPCLISTADDR=WM_USER+101;
WM_AOTOMOVE=WM_USER+102;
//****************自定义消息结束***************************//
SaveMaxXueAddr:Integer=$4EB476; //读取这个地址可获得最大血基址
SaveNpcListAddr:Integer=$4EB47B;
var
{$include ../Common/CommonVar.inc }
Form1: TForm1;
FileName:TIniFile;
ZhHwnd:THandle;
ZhPID:DWORD;
JiNengAddr:Pointer;
MaxXueAddr,ConstNpcListAddr:Integer;
//**************人物信息******************************//
CurXue,MaxXue,CurLan,MaxLan:Integer;
RenX,RenY,RenZ:Single;
BackX,BackY,BackZ:Integer;
DingDianX,DingDianY,DingDianZ:Integer;
GoCityX,GoCityY,GoCityZ:Integer;
YaoPinState:string;
YaoPin1ID,YaoPin2ID,YaoPin3ID,YaoPin4ID:Integer;
IsBhing:Boolean;
IsDingDian:Boolean;
Function GetPersonInfo:Boolean;
Function GetBeiBaoInfo(DoType:String;FindWuName:string):Integer;
Function GetGuaiWuInfo(DoType:String;FindGuaiName:string):Integer;
Function GetWuPinInfo:Integer; //得到箱子里物品的信息
Function SleepFun(TimeM:Integer;FirstTickCount:Integer):Boolean;
Function IsXunLuStop(MuDiX,MuDiY:Integer):Boolean;
Function BuyYaoPinFun:Integer;
Function NoZhanDouBaoHu:Boolean;
Function DingDianProc:Boolean;
procedure ZhanDouBaoHu;
procedure UseJiNeng;
procedure InitGameProcess;
Function GuaiIsDead:Boolean;
procedure Down;
procedure StartFeiTian;
procedure StopFeiTian;
Function StartHook(lpHwnd:HWND;aHandle:THandle):HHOOK;stdcall;external 'LM.dll' name 'StartHook';
Function EndHook:Boolean;stdcall;external 'LM.dll' name 'EndHook';
implementation
uses
Call,HotKeyUnit;
var
FormH,FormW:Integer;
HotKeyThread:THotKeyThread;
{$R *.dfm}
procedure TForm1.HotKeyDown(var Msg: Tmessage);
begin
if (Msg.LparamLo = 0) AND (Msg.LParamHi = VK_Insert) then // 假设热键为ALT+F8
begin
CheckBox31.Checked:=not CheckBox31.Checked;
end;
msg.Result:=1;
end;
procedure TForm1.GetMousePosHwndAndClassName(Sender: TPoint);
var
hWnd: THandle;
aName:array [0..255] of char;
TempaName:String;
begin
hWnd:=WindowFromPoint(Sender);
if Boolean(GetClassName(hWnd,aName,256)) then
begin
TempaName:= String(aName);
if Pos('纵横时空',Trim(TempaName))<>0 then
begin
ZhHwnd:=hWnd;
Form1.Caption :='获取成功,请松开鼠标';
Image1.Enabled :=False;
Image1.Visible :=False;
Timer1.Enabled :=True;
end;
end;
FlashWindow(hWnd,true);
end;
procedure XChangeCheckBox(ChkBox1,ChkBox2:TCheckBox);
begin
if ChkBox1.Checked then
begin
ChkBox2.Checked:=False;
end;
end;
procedure TForm1.AddtoList(AddName:String;ListBox:TListBox);
var
j,k:Integer;
begin
if ListBox.Count = 0 then
ListBox.Items.Add(AddName)
else
begin
j:=ListBox.Items.IndexOf(AddName);
k:=ListBox.Count;
if (j>=k)or(j<0) then
ListBox.Items.Add(AddName);
end;
end;
Function TForm1.FindInList(FindStr:String;ListBox:TListBox):Boolean;
var
j,k:DWORD;
begin
Result:=False;
if ListBox.Count <>0 then
begin
j:=ListBox.Items.IndexOf(FindStr);
k:=ListBox.Count;
if j<k then
Result:=True;
end;
end;
Function TForm1.GoCity:Boolean;
const
{$j+}SellIsFinish:Integer=NoSellFinish{$j-};
{$j+}BuyIsFinish:Boolean=False{$j-};
{$j+}XiuLiIsFinish:Boolean=False{$j-};
{$j+}SellNpcIsOpen:Boolean=False{$j-};
{$j+}XiuLiNpcIsOpen:Boolean=False{$j-};
{$j+}BuyNpcIsOpen:Boolean=False{$j-};
var
NpcID:Integer;
IsHaveYaoPin,XueLanPanDuan:Integer;
begin
XueLanPanDuan:=0;
if CheckBox23.Checked then //卖物
begin
if SellIsFinish=NoSellFinish then
begin
Timer2.Enabled :=False;
if IsXunLuStop(GoCityX,GoCityY) then
begin
if not SellNpcIsOpen then //打开NPC
begin
NpcID:=GetGuaiWuInfo('怪物ID',ComboBox5.Text);
if NpcID>0 then
begin
Call.OpenNpc(NpcID);
SellNpcIsOpen:=True;
exit;
end;
end;
if (SellNpcIsOpen)and(SellIsFinish=NoSellFinish) then //如果NPC已经打开
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -