📄 mainform.~pas
字号:
SellIsFinish:=GetBeiBaoInfo('出售','未用');
exit;
end;
end; //寻路END
end;
end
else
SellIsFinish:=SellFinish;
if CheckBox24.Checked then //购买物品
begin
if not BuyIsFinish then
begin
Timer2.Enabled :=False;
if IsXunLuStop(GoCityX,GoCityY) then
begin
if not BuyNpcIsOpen then //打开NPC
begin
NpcID:=GetGuaiWuInfo('怪物ID',ComboBox5.Text);
if NpcID>0 then
begin
Call.OpenNpc(NpcID);
BuyNpcIsOpen:=True;
exit;
end;
end;
if BuyNpcIsOpen then //如果NPC已经打开
begin
if BuyYaoPinFun=BuyFinish then
begin
BuyIsFinish:=True;
exit;
end;
end;
end; //寻路END
end;
end
else
BuyIsFinish:=True;
if CheckBox25.Checked then
begin
if not XiuLiIsFinish then
begin
if IsXunLuStop(GoCityX,GoCityY) then
begin
if not XiuLiNpcIsOpen then //打开NPC
begin
NpcID:=GetGuaiWuInfo('怪物ID',ComboBox5.Text);
if NpcID>0 then
begin
Call.OpenNpc(NpcID);
XiuLiNpcIsOpen:=True;
exit;
end;
end;
if XiuLiNpcIsOpen then
begin
Call.XiuLiZhuangBei;
Sleep(100);
XiuLiIsFinish:=True;
end;
end;
end;
end
else
XiuLiIsFinish:=True;
if (SellIsFinish=SellFinish)and(BuyIsFinish=True)and(XiuLiIsFinish=True) then
begin
StatusBar1.Panels[0].Text :='提示: 正在返回挂机点...';
YaoPinState:='有药';
if IsXunLuStop(BackX,BackY) then
begin
Timer3.Enabled :=False;
SellIsFinish:=NoSellFinish;
BuyIsFinish:=False;
XiuLiIsFinish:=False;
SellNpcIsOpen:=False;
BuyNpcIsOpen:=False;
XiuLiNpcIsOpen:=False;
StatusBar1.Panels[0].Text :='';
Timer2.Enabled :=True;
end;
end;
end;
Function GuaiIsDead:Boolean;
var
KillGuaiAddr,KillGuaiXue:Integer;
begin
Result:=False;
KillGuaiAddr:=0;
ReadProcessMemory(hProcess, Pointer(KillGuaiBase), @KillGuaiAddr, 4, ByteRead);
if KillGuaiAddr<>0 then
begin
ReadProcessMemory(hProcess, Pointer(KillGuaiAddr+$150), @KillGuaiXue, 4, ByteRead);
if (KillGuaiXue=0) then
begin
Result:=True;
exit;
end;
end
else
Result:=True;
end;
procedure TForm1.KillGuaiProc;
var
KillGuaiAddr,IsFull,IsNoYao,IsSunHuai:Integer;
KillGuaiXue:Integer;
ZhuangTai:Byte;
begin
if GuaiIsDead then
begin
if Form1.CheckBox23.Checked then //是否卖物
begin
IsFull:=GetBeiBaoInfo('包满','未用');
if IsFull=BaoMan then
begin
BackX:=Round(RenX);BackY:=Round(RenY); BackZ:=Round(RenZ);
Form1.Timer2.Enabled :=False;
Form1.Timer3.Enabled :=True;
StatusBar1.Panels[0].Text :='提示: 背包已满,正在回城卖物...';
exit;
end;
end;
if Form1.CheckBox24.Checked then //是否买药
begin
if YaoPinState='无药' then
begin
BackX:=Round(RenX);BackY:=Round(RenY); BackZ:=Round(RenZ);
Form1.Timer2.Enabled :=False;
Form1.Timer3.Enabled :=True;
StatusBar1.Panels[0].Text :='提示: 药品用完了,正在回城买药...';
YaoPinState:='有药';
exit;
end;
end;
if Form1.CheckBox25.Checked then //修理装备
begin
IsSunHuai:=GetBeiBaoInfo('耐久度','未用');
if IsSunHuai=ZhungBeiDamage then
begin
BackX:=Round(RenX);BackY:=Round(RenY); BackZ:=Round(RenZ);
Form1.Timer2.Enabled :=False;
Form1.Timer3.Enabled :=True;
StatusBar1.Panels[0].Text :='提示: 装备已经损坏,正在回城修理装备...';
exit;
end;
end;
end;
if not GuaiIsDead then
begin
ZhanDouBaoHu;
end;
end;
procedure TForm1.LoadInitFile(FName:string);
var
i:Integer;
FullName:string;
StrList:TStrings;
begin
if hProcess=0 then
exit;
FullName:=ExtractFilePath(Paramstr (0))+FName+'.ini';
FileName:=TIniFile.Create(FullName);
StrList:=TStringList.Create;
FileName.ReadSection('出售列表',StrList);
if StrList.Count <> 0 then
begin
for i:=0 to StrList.Count -1 do
Form1.ListBox3.Items.Add(FileName.ReadString('出售列表',StrList.Strings[i],''));
end;
StrList.Clear;
FileName.ReadSection('怪物过滤',StrList);
if StrList.Count <> 0 then
begin
for i:=0 to StrList.Count -1 do
Form1.ListBox2.Items.Add(FileName.ReadString('怪物过滤',StrList.Strings[i],''));
end;
StrList.Clear;
FileName.ReadSection('清理背包',StrList);
if StrList.Count <> 0 then
begin
for i:=0 to StrList.Count -1 do
Form1.ListBox4.Items.Add(FileName.ReadString('清理背包',StrList.Strings[i],''));
end;
StrList.Clear;
Form1.Edit5.Text:=FileName.ReadString('技能设置','skill1','选择技能');
Form1.LabeledEdit19.Text:=FileName.ReadString('技能设置','skill1Time','1');
Form1.Edit6.Text:=FileName.ReadString('技能设置','skill2','选择技能');
Form1.LabeledEdit20.Text:=FileName.ReadString('技能设置','skill2Time','1');
Form1.Edit7.Text:=FileName.ReadString('技能设置','skill3','选择技能');
Form1.LabeledEdit21.Text:=FileName.ReadString('技能设置','skill3Time','1');
Form1.Edit8.Text:=FileName.ReadString('技能设置','skill4','选择技能');
Form1.LabeledEdit22.Text:=FileName.ReadString('技能设置','skill4Time','1');
Form1.Edit9.Text:=FileName.ReadString('技能设置','skill5','选择技能');
Form1.LabeledEdit23.Text:=FileName.ReadString('技能设置','skill5Time','1');
Form1.Edit10.Text:=FileName.ReadString('技能设置','skill6','选择技能');
Form1.LabeledEdit24.Text:=FileName.ReadString('技能设置','skill6Time','1');
Form1.Edit3.Text:=FileName.ReadString('战斗保护','EatXueCount','0');
Form1.ComboBox3.Text:=FileName.ReadString('战斗保护','EatXue','回血脂');
Form1.LabeledEdit9.Text:=FileName.ReadString('战斗保护','SleepXueTime','30');
Form1.LabeledEdit10.Text:=FileName.ReadString('战斗保护','BuyXueNum','20');
Form1.Edit4.Text:=FileName.ReadString('战斗保护','EatLanCount','0');
Form1.ComboBox4.Text:=FileName.ReadString('战斗保护','EatLan','回灵脂');
Form1.LabeledEdit12.Text:=FileName.ReadString('战斗保护','SleepLanTime','30');
Form1.LabeledEdit11.Text:=FileName.ReadString('战斗保护','BuyLanNum','20');
Form1.Edit1.Text:=FileName.ReadString('非战斗保护','EatXueCount','0');
Form1.ComboBox1.Text:=FileName.ReadString('非战斗保护','EatXue','调息');
Form1.LabeledEdit5.Text:=FileName.ReadString('非战斗保护','SleepXueTime','30');
Form1.LabeledEdit7.Text:=FileName.ReadString('非战斗保护','BuyXueNum','20');
Form1.Edit2.Text:=FileName.ReadString('非战斗保护','EatLanCount','0');
Form1.ComboBox2.Text:=FileName.ReadString('非战斗保护','EatLan','调息');
Form1.LabeledEdit6.Text:=FileName.ReadString('非战斗保护','SleepLanTime','30');
Form1.LabeledEdit8.Text:=FileName.ReadString('非战斗保护','BuyLanNum','20');
Form1.Edit11.Text:=FileName.ReadString('装备保护','XiuLiNum','1');
Form1.LabeledEdit26.Text:=FileName.ReadString('装备保护','NaiJiuDu','20');
// Form1.ComboBox5.Text:=FileName.ReadString('回城NPC','NpcName','');
StrList.Free;
end;
procedure TForm1.SaveInitFile;
var
i:word;
StrList:TStrings;
begin
if hProcess=0 then
exit;
StrList:=TStringList.Create;
FileName.ReadSection('出售列表',StrList);
if StrList.Count <>0 then
begin
for i:=0 to StrList.Count -1 do
FileName.DeleteKey('出售列表','GoodsFilter'+inttostr(i));
end;
if Form1.ListBox3.Count<>0 then
begin
for i:= 0 to Form1.ListBox3.Count-1 do
FileName.WriteString('出售列表','GoodsFilter'+inttostr(i),Form1.ListBox3.Items[i]);
end;
StrList.Clear;
FileName.ReadSection('怪物过滤',StrList);
if StrList.Count <>0 then
begin
for i:=0 to StrList.Count -1 do
FileName.DeleteKey('怪物过滤','GuaiWu'+inttostr(i));
end;
if Form1.ListBox2.Count<>0 then
begin
for i:= 0 to Form1.ListBox2.Count-1 do
FileName.WriteString('怪物过滤','GuaiWu'+inttostr(i),Form1.ListBox2.Items[i]);
end;
StrList.Clear;
FileName.ReadSection('清理背包',StrList);
if StrList.Count <>0 then
begin
for i:=0 to StrList.Count -1 do
FileName.DeleteKey('清理背包','BeiBao'+inttostr(i));
end;
if Form1.ListBox4.Count<>0 then
begin
for i:= 0 to Form1.ListBox4.Count-1 do
FileName.WriteString('清理背包','BeiBao'+inttostr(i),Form1.ListBox4.Items[i]);
end;
StrList.Clear;
FileName.WriteString('技能设置','skill1',Form1.Edit5.Text);
FileName.WriteString('技能设置','skill1Time',Form1.LabeledEdit19.Text);
FileName.WriteString('技能设置','skill2',Form1.Edit6.Text);
FileName.WriteString('技能设置','skill2Time',Form1.LabeledEdit20.Text);
FileName.WriteString('技能设置','skill3',Form1.Edit7.Text);
FileName.WriteString('技能设置','skill3Time',Form1.LabeledEdit21.Text);
FileName.WriteString('技能设置','skill4',Form1.Edit8.Text);
FileName.WriteString('技能设置','skill4Time',Form1.LabeledEdit22.Text);
FileName.WriteString('技能设置','skill5',Form1.Edit9.Text);
FileName.WriteString('技能设置','skill5Time',Form1.LabeledEdit23.Text);
FileName.WriteString('技能设置','skill6',Form1.Edit10.Text);
FileName.WriteString('技能设置','skill6Time',Form1.LabeledEdit24.Text);
FileName.WriteString('战斗保护','EatXueCount',Edit3.Text);
FileName.WriteString('战斗保护','EatXue',Form1.ComboBox3.Text);
FileName.WriteString('战斗保护','SleepXueTime',LabeledEdit9.Text);
FileName.WriteString('战斗保护','BuyXueNum',LabeledEdit10.Text);
FileName.WriteString('战斗保护','EatLanCount',Edit4.Text);
FileName.WriteString('战斗保护','EatLan',Form1.ComboBox4.Text);
FileName.WriteString('战斗保护','SleepLanTime',LabeledEdit12.Text);
FileName.WriteString('战斗保护','BuyLanNum',LabeledEdit11.Text);
FileName.WriteString('非战斗保护','EatXueCount',Edit1.Text);
FileName.WriteString('非战斗保护','EatXue',Form1.ComboBox1.Text);
FileName.WriteString('非战斗保护','SleepXueTime',LabeledEdit5.Text);
FileName.WriteString('非战斗保护','BuyXueNum',LabeledEdit7.Text);
FileName.WriteString('非战斗保护','EatLanCount',Edit2.Text);
FileName.WriteString('非战斗保护','EatLan',Form1.ComboBox2.Text);
FileName.WriteString('非战斗保护','SleepLanTime',LabeledEdit6.Text);
FileName.WriteString('非战斗保护','BuyLanNum',LabeledEdit8.Text);
FileName.WriteString('装备保护','XiuLiNum',Form1.Edit11.Text);
FileName.WriteString('装备保护','NaiJiuDu',Form1.LabeledEdit26.Text);
// FileName.WriteString('回城NPC','NpcName',Form1.ComboBox5.Text);
StrList.Free;
end;
procedure EnableControl(Control:TControl);
begin
Control.Enabled :=not Control.Enabled;
end;
procedure TForm1.CheckBox35Click(Sender: TObject);
begin
if (Trim(LabeledEdit27.Text)='') then
begin
CheckBox35.Checked :=False;
StatusBar1.Panels[0].Text :='请输入回原点的时间。。。';
exit;
end;
if (Trim(LabeledEdit28.Text)='') or (Trim(LabeledEdit29.Text)='')then
begin
CheckBox35.Checked :=False;
StatusBar1.Panels[0].Text :='坐标未设置,请先设置坐标。。。';
exit;
end;
StatusBar1.Panels[0].Text:='';
EnableControl(SpeedButton13);
EnableControl(LabeledEdit27);
EnableControl(LabeledEdit28);
EnableControl(LabeledEdit29);
end;
procedure TForm1.CheckBox5Click(Sender: TObject);
begin
EnableControl(LabeledEdit13);
end;
procedure TForm1.CheckBox6Click(Sender: TObject);
begin
EnableControl(LabeledEdit14);
end;
procedure TForm1.CheckBox7Click(Sender: TObject);
begin
EnableControl(LabeledEdit15);
end;
procedure TForm1.CheckBox8Click(Sender: TObject);
begin
EnableControl(LabeledEdit16);
end;
procedure TForm1.CheckBox9Click(Sender: TObject);
begin
EnableControl(LabeledEdit17);
end;
procedure TForm1.CheckBox10Click(Sender: TObject);
begin
EnableControl(LabeledEdit18);
end;
procedure TForm1.CheckBox11Click(Sender: TObject);
begin
if hProcess=0 then
begin
CheckBox11.Checked :=False;
exit;
end;
EnableControl(Edit5);
EnableControl(LabeledEdit19);
EnableControl(SpeedButton2);
end;
procedure TForm1.CheckBox12Click(Sender: TObject);
begin
EnableControl(Edit6);
EnableControl(LabeledEdit20);
EnableControl(SpeedButton3);
end;
procedure TForm1.CheckBox13Click(Sender: TObject);
begin
EnableControl(Edit7);
EnableControl(LabeledEdit21);
EnableControl(SpeedButton4);
end;
procedure TForm1.CheckBox14Click(Sender: TObject);
begin
EnableControl(Edit8);
EnableControl(LabeledEdit22);
EnableControl(SpeedButton5);
end;
procedure TForm1.CheckBox15Click(Sender: TObject);
begin
EnableControl(Edit9);
EnableControl(LabeledEdit23);
EnableControl(SpeedButton6);
end;
procedure TForm1.CheckBox16Click(Sender: TObject);
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -