⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolpop.pas

📁 热血江湖游戏辅助工具原代码 学习delphi开发游戏外挂的好例子
💻 PAS
字号:
unit ToolPop;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, jpeg, RzCmboBx, Mask, RzEdit,StrUtils,IniFiles,
  RzSpnEdt, RzRadChk, RzButton, RzTabs, RzPanel, RzRadGrp,ShareDat,
  RzStatus, ImgList;

type
  TFrm_Pop = class(TForm)
    ToolPage: TRzPageControl;
    TabDef: TRzTabSheet;
    TabTool: TRzTabSheet;
    Edit_SkillValue: TRzSpinEdit;
    Check_Skill: TRzCheckBox;
    Check_DefendMp: TRzCheckBox;
    Edit_DefendMpValue: TRzSpinEdit;
    Edit_DefendHpValue: TRzSpinEdit;
    Check_DefendHp: TRzCheckBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ComboBox_skill: TRzComboBox;
    ComboBox_MP: TRzComboBox;
    ComboBox_HP: TRzComboBox;
    ComboBox_Back: TRzComboBox;
    Label4: TLabel;
    chkAutoBack: TRzCheckBox;
    TabSpeak: TRzTabSheet;
    Radio_Mouse: TRzRadioGroup;
    Label5: TLabel;
    MouseClkTime: TRzSpinEdit;
    Label7: TLabel;
    Label8: TLabel;
    ComboBox_MouseClk: TRzComboBox;
    EdSay1: TLabeledEdit;
    EdSay2: TLabeledEdit;
    EdSay3: TLabeledEdit;
    EdSay4: TLabeledEdit;
    Radio_Say: TRzRadioGroup;
    Label9: TLabel;
    SayTextNum: TRzSpinEdit;
    Label10: TLabel;
    SayTextTime: TRzSpinEdit;
    Label6: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    ChkFOnline: TRzCheckBox;
    ChkMost: TRzCheckBox;
    TabSheet1: TRzTabSheet;
    RzFieldStatus1: TRzFieldStatus;
    RzFieldStatus2: TRzFieldStatus;
    RzFieldStatus3: TRzFieldStatus;
    RzFieldStatus4: TRzFieldStatus;
    MemoGetItem: TMemo;
    StatusBar: TRzStatusBar;
    ImageList1: TImageList;
    StatusTimer: TTimer;
    DefLifeStatus: TRzGlyphStatus;
    AutoSayStatus: TRzGlyphStatus;
    MouseStatus: TRzGlyphStatus;
    AttackStatus: TRzGlyphStatus;
    Label13: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormHide(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure CheckChange(Sender: TObject);
    procedure StatusTimerTimer(Sender: TObject);
  private
  public
  procedure ChangeValue;
  end;

var
  Frm_Pop: TFrm_Pop;
  MyIni:TIniFile;
  MyPath:String;

implementation

uses MyThreads;

{$R *.dfm}

procedure TFrm_Pop.FormCreate(Sender: TObject);
begin
GetWindowThreadProcessId(DllData^.GameHwnd, @PID);
PHandle:=OpenProcess(PROCESS_VM_READ or PROCESS_VM_WRITE or PROCESS_VM_OPERATION, false,PID);
Application.Handle:=DllData^.GameHwnd;
MyPath:=ExtractFilePath(Application.ExeName);
end;

procedure TFrm_Pop.FormHide(Sender: TObject);
begin
ToolShow:=False;
MyIni:=TiniFile.Create(MyPath+'..\RxStar.ini');
MyIni.WriteInteger('Main','DefHp',Edit_DefendHpValue.IntValue);
MyIni.WriteInteger('Main','DefMp',Edit_DefendMpValue.IntValue);
MyIni.WriteInteger('Main','SkillTime',Edit_SkillValue.IntValue);
MyIni.WriteBool('Main','UseDefHp',Check_DefendHp.Checked);
MyIni.WriteBool('Main','UseDefMp',Check_DefendMp.Checked);
MyIni.WriteBool('Main','UseSkill',Check_Skill.Checked);
MyIni.WriteInteger('Main','DefHpKey',ComboBox_HP.ItemIndex);
MyIni.WriteInteger('Main','DefMpKey',ComboBox_MP.ItemIndex);
MyIni.WriteInteger('Main','SkillKey',ComboBox_skill.ItemIndex);
MyIni.WriteInteger('Main','BackKey',ComboBox_Back.ItemIndex);
MyIni.WriteInteger('AutoSay','SayType',Radio_Say.ItemIndex);
MyIni.WriteInteger('AutoSay','SayTime',SayTextTime.IntValue);
MyIni.WriteInteger('AutoSay','SayNum',SayTextNum.IntValue);
MyIni.WriteString('AutoSay','Say1',EdSay1.Text);
MyIni.WriteString('AutoSay','Say2',EdSay2.Text);
MyIni.WriteString('AutoSay','Say3',EdSay3.Text);
MyIni.WriteString('AutoSay','Say4',EdSay4.Text);
MyIni.WriteInteger('Mouse','Type',Radio_Mouse.ItemIndex);
MyIni.WriteInteger('Mouse','Time',MouseClkTime.IntValue);
MyIni.WriteInteger('Mouse','EmuKey',ComboBox_MouseClk.ItemIndex);
MyIni.Free;
end;

procedure TFrm_Pop.FormShow(Sender: TObject);
begin
ToolShow:=True;
MyIni:=TiniFile.Create(MyPath+'..\RxStar.ini');
Edit_DefendHpValue.Value:=MyIni.ReadInteger('Main','DefHp',50);
Edit_DefendMpValue.Value:=MyIni.ReadInteger('Main','DefMp',50);
Edit_SkillValue.Value:=MyIni.ReadInteger('Main','SkillTime',1000);
Check_DefendHp.Checked:=MyIni.ReadBool('Main','UseDefHp',False);
Check_DefendMp.Checked:=MyIni.ReadBool('Main','UseDefMp',False);
Check_Skill.Checked:=MyIni.ReadBool('Main','UseSkill',False);
ComboBox_HP.ItemIndex:=MyIni.ReadInteger('Main','DefHpKey',8);
ComboBox_MP.ItemIndex:=MyIni.ReadInteger('Main','DefMpKey',9);
ComboBox_skill.ItemIndex:=MyIni.ReadInteger('Main','SkillKey',4);
ComboBox_Back.ItemIndex:=MyIni.ReadInteger('Main','BackKey',1);
Radio_Say.ItemIndex:=MyIni.ReadInteger('AutoSay','SayType',0);
SayTextTime.IntValue:=MyIni.ReadInteger('AutoSay','SayTime',1);
SayTextNum.IntValue:=MyIni.ReadInteger('AutoSay','SayNum',1);
EdSay1.Text:=MyIni.ReadString('AutoSay','Say1','');
EdSay2.Text:=MyIni.ReadString('AutoSay','Say2','');
EdSay3.Text:=MyIni.ReadString('AutoSay','Say3','');
EdSay4.Text:=MyIni.ReadString('AutoSay','Say4','');
Radio_Mouse.ItemIndex:=MyIni.ReadInteger('Mouse','Type',1);
MouseClkTime.IntValue:=MyIni.ReadInteger('Mouse','Time',1);
ComboBox_MouseClk.ItemIndex:=MyIni.ReadInteger('Mouse','EmuKey',1);
MyIni.Free;
end;

procedure TFrm_Pop.FormDestroy(Sender: TObject);
begin
CloseHandle(PHandle);
end;

procedure TFrm_Pop.ChangeValue;
begin
DefHp:=Edit_DefendHpValue.IntValue;
DefMp:=Edit_DefendMpValue.IntValue;
ChkHp:=Check_DefendHp.Checked;
ChkMp:=Check_DefendMp.Checked;
ChkMedBack:=chkAutoBack.Checked;
ChkSkill:=Check_Skill.Checked;
KeyHP:=ComboBox_HP.ItemIndex;
KeyMp:=ComboBox_MP.ItemIndex;
KeyBack:=ComboBox_Back.ItemIndex;
DefSkillTime:=Edit_SkillValue.IntValue;
DefMouseTime:=MouseClkTime.IntValue*1000;
DefSayTime:=SayTextTime.IntValue*1000;
SayNum:=SayTextNum.IntValue;
SayType:=Radio_Say.ItemIndex;
MouseType:=Radio_Mouse.ItemIndex;
SayText1:=EdSay1.Text;
SayText2:=EdSay2.Text;
SayText3:=EdSay3.Text;
SayText4:=EdSay4.Text;
KeySkill:=ComboBox_skill.ItemIndex;
case ComboBox_MouseClk.ItemIndex of
0:byMouseKey:=VK_F1;
1:byMouseKey:=VK_F2;
2:byMouseKey:=VK_F3;
3:byMouseKey:=VK_F4;
4:byMouseKey:=VK_F5;
5:byMouseKey:=VK_F6;
6:byMouseKey:=VK_F7;
7:byMouseKey:=VK_F8;
8:byMouseKey:=VK_F9;
9:byMouseKey:=VK_F10;
end;
end;

procedure TFrm_Pop.CheckChange(Sender: TObject);
begin
ChangeValue;
end;

procedure TFrm_Pop.StatusTimerTimer(Sender: TObject);
begin
if (HpThread<>0) or (MpThread<>0) or (MedThread<>0) or (KeyThread<>0) then
DefLifeStatus.ImageIndex:=0 else DefLifeStatus.ImageIndex:=1;
if SayThread<>0 then
AutoSayStatus.ImageIndex:=0 else AutoSayStatus.ImageIndex:=1;
if MouseThread<>0 then
MouseStatus.ImageIndex:=0 else MouseStatus.ImageIndex:=1;
if AttAckThread<>0 then
AttackStatus.ImageIndex:=0 else AttackStatus.ImageIndex:=1;
label13.Caption:='红药:'+IntToStr(UseRed)+' 蓝药: '+IntToStr(UseBlue);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -