📄 mainform.pas
字号:
procedure yuanqi0Change(Sender: TObject);
procedure yuanqi1Change(Sender: TObject);
procedure neigong0Change(Sender: TObject);
procedure neigong1Change(Sender: TObject);
procedure waigong0Change(Sender: TObject);
procedure waigong1Change(Sender: TObject);
procedure wugong0Change(Sender: TObject);
procedure wugong1Change(Sender: TObject);
procedure life0Change(Sender: TObject);
procedure life1Change(Sender: TObject);
procedure lowerlife0Change(Sender: TObject);
procedure lowerlife1Change(Sender: TObject);
procedure usegest1Change(Sender: TObject);
procedure usegest2Change(Sender: TObject);
procedure usegest3Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure ListView2DblClick(Sender: TObject);
procedure CheckBox15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
procedure CheckBox16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N51Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure CheckBox17Click(Sender: TObject);
procedure OBThread1Execute(Sender: TObject; params: Pointer);
procedure OBThread2Execute(Sender: TObject; params: Pointer);
procedure RzTrayIcon1LButtonDblClick(Sender: TObject);
procedure IdTCPServerConnect(AThread: TIdPeerThread);
procedure IdTCPServerDisconnect(AThread: TIdPeerThread);
procedure IdTCPServerExecute(AThread: TIdPeerThread);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CheckBox20Click(Sender: TObject);
procedure CheckBox21Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure OBThread3Execute(Sender: TObject; params: Pointer);
procedure CheckBox18Click(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure OBThread4Execute(Sender: TObject; params: Pointer);
procedure OBThread5Execute(Sender: TObject; params: Pointer);
procedure gooddrugChange(Sender: TObject);
procedure N19Click(Sender: TObject);
private
FirstFlag:Boolean;
INIPath:String;
function ReadmainfrmIni():boolean; //读取配置信息
procedure WriteIniStr(FileName:String;section:string;Ident:string;StringValue:string);//写系统信息
procedure WriteIniinteger(FileName:String;section:string;Ident:string;Value:integer);//写系统信息
{ Private declarations }
public
{ Public declarations }
end;
function seize:string;
function gameconnect:string;
var
mainfrm : Tmainfrm;
answerstop : bool;
answerok : bool;
clientwork : integer;
str1 : string;
saynum : integer;
filepath : string;
mapx,mapy: integer;
renwushuju: string;
clientack: string; //发给客户端的数据1
clientack1: string; //发给客户端的数据2
serveraddr: tstringlist;
testi : integer;
clientexe : string;
ackmonster : bool;
clientconnect: bool;
clienttoserver:bool;
pt: TIdPeerThread; //发给客户端的连接
MI : TMapInfor; //地图信息
runeat : bool; //吃药还是坐心法补
// pt:TIdPeerThread; //连接服务器得连接
//武功检测的2行
geststr1,geststr2,geststr3:integer;
gestset1,gestset2,gestset3,i:integer;
implementation
{$R *.DFM}
//读取配置文件
function Tmainfrm.ReadmainfrmIni():boolean;
var ti:TiniFile;
begin
ti:=TIniFile.Create(INIPath+'backup.ini');
myserver1.ItemIndex:=ti.ReadInteger('setting','server',0);//服务器设定
edit3.Text:=ti.ReadString('setting','accounts',''); //帐号设定
combobox1.ItemIndex:=ti.ReadInteger('setting','part',0);//角色选择
combobox4.ItemIndex:=ti.ReadInteger('setting','edition',0);//版本选择
yuanqi0.Text:=ti.ReadString('eating','yuanqi','');
yuanqi1.Text:=ti.ReadString('eating','yuanqi1','');
neigong0.Text:=ti.ReadString('eating','neigong','');
neigong1.Text:=ti.ReadString('eating','neigong1','');
waigong0.Text:=ti.ReadString('eating','waigong','');
waigong1.Text:=ti.ReadString('eating','waigong1','');
wugong0.Text:=ti.ReadString('eating','wugong','');
wugong1.Text:=ti.ReadString('eating','wugong1','');
life0.Text:=ti.ReadString('eating','life','');
life1.Text:=ti.ReadString('eating','life1','');
lowerlife0.Text:=ti.ReadString('eating','lowerlife','');
lowerlife1.Text:=ti.ReadString('eating','lowerlife1','');
edit2.Text:=ti.ReadString('eating','timer','');
gooddrug.Text:=ti.ReadString('eating','gooddrug','');//大药的读取设定
usegest1.Text:=ti.ReadString('gest','kongfu','');
usegest2.Text:=ti.ReadString('gest','recovery','');
usegest3.Text:=ti.ReadString('gest','wind','');
clientexe:=ti.ReadString('exe','client','');
end;
procedure Tmainfrm.WriteIniStr(FileName:String;Section:string;Ident:string;StringValue:string);
var ti:TiniFile;
begin
ti:=TIniFile.Create(FileName);
ti.writestring(section,Ident,StringValue);
ti.Free;
end;
procedure Tmainfrm.WriteIniinteger(FileName:String;Section:string;Ident:string;Value:integer);
var ti:TiniFile;
begin
ti:=TIniFile.Create(FileName);
ti.WriteInteger(section,Ident,Value);
ti.Free;
end;
function sendfb(fbstr:string):string;
begin
if mainfrm.clientsocket1.Socket.Connected then
try
mainfrm.clientsocket1.Socket.SendText(fbstr);
except
end;
end;
//发送帐号密码
function lianjie:string;
begin
sendfb(sendname(mainfrm.edit3.text,mainfrm.edit4.text));
end;
function discover(goodsstr:string):string; //清除显示showgoods list 里面得
var i:integer;
begin
for i:=0 to mainfrm.ListView2.Items.Count-1 do
begin
if pos(goodsstr,mainfrm.ListView2.Items.Item[i].SubItems.text )>0 then
begin
mainfrm.ListView2.Items.Item[i].Delete;
exit;
end;
end;
end;
function doanything:string;
var i,j:integer;
px,py:real;
zhitiaohufu:string;
ts:TStringList;
saylimit:string;
sfgetgoods:integer;
hthread:thandle;
threadid:dword;
self:TObject;
begin
case numbertest of
2: begin
if clientconnect=true then
begin
lianjie;
mainfrm.Timer1.Enabled:=true;
clientconnect:=false;
end
else
if pos('此密码不适用',queren1)>0 then
begin
mainfrm.OBThread3.Execute(self);
end;
if pos('未储值使用者无法进行游戏。',queren1)>0 then
begin
mainfrm.OBThread3.Execute(self);
end;
if pos('已解除连线',queren1)=1 then
begin
mainfrm.OBThread3.Execute(self);
end;
if pos('【TIMEOUT】请再试一次',queren1)=1 then
begin
mainfrm.RichView1.Addnl('['+TimeToStr(now)+'] '+queren1,2,0);
mainfrm.RichView1.Format;
if mainfrm.checkbox13.Checked=true then
begin
SendMessage(mainfrm.richview1.Handle,WM_VSCROLL, SB_PAGEDOWN,0) ;
end;
end
else
begin
mainfrm.RichView1.AddNL('['+TimeToStr(now)+'] '+queren1,2,0);
mainfrm.RichView1.Format;
if mainfrm.checkbox13.Checked=true then
begin
SendMessage(mainfrm.richview1.Handle,WM_VSCROLL, SB_PAGEDOWN,0) ;
end;
end;
end;
3: begin //返回的人物
mainfrm.RichView1.AddNL('['+TimeToStr(now)+'] '+renwu,1,0);
mainfrm.RichView1.Format;
ts := TStringList.Create ;
ts.clear;
ts.Delimiter:= ',' ;
ts.DelimitedText:=renwu;
mainfrm.basicattribe.Items.Item[0].caption:='呢称';
mainfrm.basicattribe.Items.Item[0].SubItems.clear;
mainfrm.basicattribe.Items.Item[0].SubItems.add(copy(ts.Strings[strtoint(mainfrm.ComboBox1.text)-1],0,pos(':',ts.Strings[strtoint(mainfrm.ComboBox1.text)-1])-1));
ts.Clear;
application.Title:=mainfrm.basicattribe.Items.Item[0].SubItems[0];
mainfrm.RzTrayIcon1.Hint:=application.Title;
mainfrm.CheckBox3.Enabled:=true;
sleep(1000);
sendfb(xuanrenwu(renwu,mainfrm.ComboBox1.Text));
if mainfrm.checkbox5.Checked=true then
hthread:=CreateThread(nil,0,@seize,nil,0,ThreadID);
end;
4: begin
i:=0;
saylimit:=copy(goods1,1,1);
if saylimit='[' then i:=1;
if saylimit='<' then i:=2;
if saylimit='{' then i:=3;
case i of
1:if mainfrm.nahan.Checked=false then
begin
mainfrm.RichView1.AddNL('['+TimeToStr(now)+'] '+goods1,1,0);
mainfrm.RichView1.Format;
if mainfrm.checkbox13.Checked=true then
begin
SendMessage(mainfrm.richview1.Handle,WM_VSCROLL, SB_PAGEDOWN,0) ;
end;
end;
2:if mainfrm.menpai.Checked=false then
begin
mainfrm.RichView3.AddNL('['+TimeToStr(now)+'] '+goods1,2,0);
mainfrm.RichView3.Format;
if mainfrm.checkbox13.Checked=true then
begin
SendMessage(mainfrm.richview3.Handle,WM_VSCROLL, SB_PAGEDOWN,0) ;
end;
end;
3:if mainfrm.menpai.Checked=false then
begin
mainfrm.RichView1.AddNL('['+TimeToStr(now)+'] '+goods1,2,0);
mainfrm.RichView1.Format;
if mainfrm.checkbox13.Checked=true then
begin
SendMessage(mainfrm.richview1.Handle,WM_VSCROLL, SB_PAGEDOWN,0) ;
end;
end;
else
begin
if mainfrm.others.Checked=false then
begin
mainfrm.RichView1.AddNL('['+TimeToStr(now)+'] '+goods1,3,0);
mainfrm.RichView1.Format;
if mainfrm.checkbox13.Checked=true then
begin
SendMessage(mainfrm.richview1.Handle,WM_VSCROLL, SB_PAGEDOWN,0) ;
end;
end;
end;
end;
end;
5: begin //三功 活力等
mainfrm.basicattribe.Items.Item[1].Caption:='年龄';
mainfrm.basicattribe.Items.Item[1].SubItems.clear;
mainfrm.basicattribe.Items.Item[1].SubItems.add(agenow);
mainfrm.basicattribe.Items.Item[5].Caption:='元气';
mainfrm.basicattribe.Items.Item[5].SubItems.clear;
mainfrm.basicattribe.Items.Item[5].SubItems.add(yuanqi);
mainfrm.basicattribe.Items.Item[6].Caption:='内功';
mainfrm.basicattribe.Items.Item[6].SubItems.clear;
mainfrm.basicattribe.Items.Item[6].SubItems.add(neigong);
mainfrm.basicattribe.Items.Item[7].Caption:='外功';
mainfrm.basicattribe.Items.Item[7].SubItems.clear;
mainfrm.basicattribe.Items.Item[7].SubItems.add(waigong);
mainfrm.basicattribe.Items.Item[8].Caption:='武功';
mainfrm.basicattribe.Items.Item[8].SubItems.clear;
mainfrm.basicattribe.Items.Item[8].SubItems.add(wugong);
mainfrm.basicattribe.Items.Item[9].Caption:='活力';
mainfrm.basicattribe.Items.Item[9].SubItems.clear;
mainfrm.basicattribe.Items.Item[9].SubItems.add(life);
end;
6: begin //物品栏显示
if mainfrm.goodsview.Items.Count-1 <goods42 then
mainfrm.goodsview.Items.Add;
mainfrm.goodsview.items.item[goods42].caption:=goods4;
mainfrm.goodsview.Items.Item[goods42].SubItems.clear;
mainfrm.goodsview.Items.Item[goods42].SubItems.Add(goods41);
end;
7: begin //一层武功显示
if mainfrm.onegestView.Items.Count-1<gongfu1 then
mainfrm.onegestView.Items.Add;
mainfrm.onegestview.items.item[gongfu1].caption:=gongfu;
if gongfulevel='0' then gongfulevel:='';
mainfrm.onegestview.Items.Item[gongfu1].SubItems.clear;
mainfrm.onegestview.Items.Item[gongfu1].SubItems.Add(gongfulevel);
end;
//人物装备
8: begin
mainfrm.listview9.items.item[equipnum].caption:=equipdata;
end;
9: begin //地图信息
mainfrm.statusbar1.Panels[4].Text:=mapdata;
mainfrm.ListView2.Clear;
ExtractFilePath(filepath);
mainfrm.statusbar1.Panels[2].Text:=makex;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -