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

📄 gamemain.pas

📁 这是天翼外挂的源代码
💻 PAS
字号:
unit gamemain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,qsocket2,winsock,DePacket,packetstruct,unit2,unit1,recvmessage,
  sendmessage,idmessgae;


type
  TGamemain = class(TObject)
  private

  public
    blone:boolean;
    buffer1:array [0..BUFFERSIZE] of char;
    constructor Create;
    destructor Destroy;override;
    procedure selcetloga;//初始化与服务器连接
    procedure longin(username:pchar;password:pchar);//选择服务器和用户登陆
    procedure startgame;
  end;
var
  Fsock:TSocket;
  leng:integer;

implementation

procedure messagepro;//消息循环
var
  p:TGamemain;
  err,j:integer;
begin
  p:=TGamemain.Create;
  p.blone:=true;
  j:=0;
  if Fsock=-1 then exit;
  form2.Memo2.Lines.Add('接受游戏信息');
  while p.blone do
    begin
      sleep(1);
      fillchar(p.buffer1,BUFFERSIZE,$00);
      fillchar(buff,BUFFERSIZE,$00);
      err:=recv(Fsock,p.buffer1,BUFFERSIZE,0);
        if  err=0 then
          begin
            break;
          end;
        if  err<>-1  then
          begin
            leng:=err;
            for j:=0 to err do
              begin
                char(buff[j]):=p.buffer1[j];
              end;
            msgrecv;
          end;
    end;
    StopNet(Fsock);
    form2.Memo2.Lines.Add('消息接受停止');
    form2.Memo2.Lines.Add('游戏结束');
end;

constructor TGamemain.Create;//初始化类
begin
  Inherited Create;
  fillchar(buffer1,BUFFERSIZE,$00);
  blone:=true;
end;

destructor  TGamemain.Destroy;
begin
  StopNet(Fsock);
end;

procedure TGamemain.selcetloga;//初始化与主服务器连接
var
  rr:boolean;
  i,j:integer;
begin
  i:=0;
  rr:=setbet;
  if  rr=false then
    begin
      messagebox(form2.Handle,'初始化SOCKET失败','Error',MB_OK);
      exit;
    end;
  setup('210.51.35.136',40000,Fsock);
  connenctsend(Fsock);
  form2.Memo2.Lines.Add('正在打开游戏,请等待');
  sleep(1);
  i:=recv(Fsock,buff,BUFFERSIZE,0);
  form2.Memo2.Lines.Add('正在连接,请等待');
  publicrecv1(Fsock);
  msgsend(Fsock,buf_4,3); //送给服务器的第二个
  publicrecv2(Fsock);
  StopNet(Fsock);
  form2.Button3.Enabled:=true;
end;


procedure TGamemain.longin(username:pchar;password:pchar);//选择服务器和用户登陆
var
  rr:boolean;
begin
  rr:=setbet;
    if  rr=false then
      begin
        messagebox(form2.Handle,'初始化SOCKET失败','Error',MB_OK);
        exit;
        end
    else
      begin
        setup('210.51.35.136',40000,Fsock);
        msgsend(Fsock,send3,5);
        recv(Fsock,buff,BUFFERSIZE,0);
        recv(Fsock,buff,BUFFERSIZE,0);
        form2.Button3.Enabled:=true;
      end;
  logoname(username,password);
  msgsend(Fsock,coded,strlen(coded));
  into(Fsock);
  {send_1(Fsock);
  recv1(Fsock);
  StopNet(Fsock);}
  form2.Button1.Enabled:=true;
end;

procedure TGamemain.startgame;//开始进入游戏
var
  err,i:integer;
  PID,dwtime: Dword;
  eror,rr:boolean;
begin
  send_1(Fsock);
  recv1(Fsock);
  MyList:= TList.Create;
  lpList:= TList.Create;
  rr:=setbet;
  if  rr=false then
    begin
      messagebox(form2.Handle,'初始化SOCKET失败','Error',MB_OK);
      exit;
    end;
  eror:=setup('210.51.35.136',40011,Fsock);
  if  eror=false then
    begin
      form2.Memo2.Lines.Add('网络连接错误');
      exit;
    end
  else
    form2.Button1.Enabled:=false;
    dwtime:=gettickcount;
    SetNoBlock(Fsock);
    N:=$10;
  msgsend(Fsock,coco,strlen(coco));
  CreateThread(nil, 1024, @messagepro, nil, 0, PID);
  form2.Timer1.Enabled:=true;
end;

end.

⌨️ 快捷键说明

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