亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.pas

?? 解元 傳奇2客戶端delphi源程序
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit Main;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,inifiles,winsock,
  Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus, ScktComp, ComCtrls,EDcode,Grobal2;

type
  //玩家信息:服務器端使用
  PPlayerInfo=^TPlayerInfo;
  TPlayerInfo=Record
     ip:pchar;
     port:integer;
     UserID:pchar;
     CharName:pchar;
     Job:Integer;
     ab:TAbility;                                 //屬性
     Gold:Integer;
     X,Y:integer;
     dir:integer;
     Map:pchar;
     server:pchar;
  end;

  TMainForm = class(TForm)
    StatusLine: TStatusBar;
    SSocket: TServerSocket;
    Memo1: TMemo;
    Panel1: TPanel;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Button1: TButton;
    Button3: TButton;
    Edit7: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit8: TEdit;
    Label3: TLabel;
    Edit9: TEdit;
    Label4: TLabel;
    Edit10: TEdit;
    Label5: TLabel;
    Edit11: TEdit;
    Label6: TLabel;
    Edit12: TEdit;
    Label7: TLabel;
    Edit13: TEdit;
    Label8: TLabel;
    Edit14: TEdit;
    Label9: TLabel;
    Edit15: TEdit;
    Label10: TLabel;
    Edit16: TEdit;
    Label11: TLabel;
    Edit17: TEdit;
    Label12: TLabel;
    Edit18: TEdit;
    Label13: TLabel;
    Edit19: TEdit;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure ShowHint(Sender: TObject);
    procedure SSocketClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure SSocketClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure FormDestroy(Sender: TObject);
  public
    procedure ProcMsg(Socket: TCustomWinSocket;msg:TDefaultMessage;data:String);
    procedure SendSocket (Socket: TCustomWinSocket;sendstr: string);
    procedure AddMsg(S:String);
    procedure ProcLogin(Socket:TCustomWinSocket;Data:String);
    procedure BroadcaseSay(ActorID:Integer;data:String);
    procedure QueryBag(Socket:TCustomWinSocket;Who:String);
    function CheckPassword(Userid,password:string):Integer;
    function QueryChar(LoginID:String):String;
    procedure GetCharAbility(var Playerinfo:TPlayerinfo);
  end;

var
  MainForm: TMainForm;
  UserInfo:TInifile;
  PlayerInfo:TPlayerInfo;
  light:integer=0;
implementation

{$r *.dfm}

procedure TMainForm.FormCreate(Sender: TObject);
begin
  //playerMan:=TPlayerManager.create;
  Application.OnHint := ShowHint;
  SSocket.Active:=true;
  UserInfo:=TInifile.Create('.\data\UserInfo.ini');
end;

procedure TMainForm.ShowHint(Sender: TObject);
begin
  StatusLine.SimpleText := Application.Hint;
end;

procedure TMainForm.SSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
   data, data2: string;
   dmsg: TDefaultMessage;
   tmpstr:String;
begin
   data := Socket.ReceiveText;
   delete(data,1,2);
   data:=copy(data,1,length(data)-1);
   Memo1.lines.add('Recv:'+data);
   tmpstr:=decodestring(data);
   if copy(tmpstr,1,2)='**' then
   begin
     ProcLogin(Socket,Tmpstr);
     exit;
   end;
   data2:=copy(data,1,DEFBLOCKSIZE);
   delete(data,1,DEFBLOCKSIZE);
   dmsg:=DecodeMessage(Data2);
   addMsg('Tran:Ident='+inttostr(dmsg.Ident)+',Recog='+inttostr(dmsg.Recog)+
     ',Para='+Inttostr(Dmsg.Param)+',Tag='+Inttostr(dmsg.tag)+
     ',Series='+Inttostr(Dmsg.Series)+',Data='+Data+' is'+DecodeString(Data));
   ProcMsg(Socket,dmsg,data);
end;

procedure TMainForm.Button2Click(Sender: TObject);
type
  TMapHeader =record
     Width  : word;                      //寬度      2
     Height : word;                      //高度      2
     Title: string[16];                  //標題      20
     UpdateDate: double;              //更新日期  8
     Reserved  : array[1..20] of char;   //保留      20
  end;

var
  dmsg: TDefaultMessage;
  s:TMapHeader;
  d:TDateTime;
begin
  //s.Title:='我們這里不管這些';
  Memo1.lines.add(inttostr(sizeof(s)));
end;     

Var
   code: byte = 1;
procedure TMainForm.SendSocket (Socket: TCustomWinSocket;sendstr: string);
var
 s:string;
begin
   if Socket.Connected then begin
      s:='#' + sendstr + '!';
      Socket.SendText (s);
      Inc (code);
      if code >= 10 then code := 1;
      Memo1.lines.Add('Send:'+s);
   end;
end;
procedure TMainForm.ProcMsg(Socket: TCustomWinSocket;msg: TDefaultMessage; data: String);
var
   dmsg :TDefaultMessage;
   s:string;
   LoginId,Certification:String;
   desc:TCharDesc;
   i:integer;
begin
  case Msg.Ident of
    CM_IDPASSWORD: begin
        data:=decodestring(data);
        LoginId:=copy(data,1,pos('/',data)-1);
        PlayerInfo.UserID:=pchar(LoginID);
        delete(data,1,pos('/',data));
        I:=CheckPassword(LoginID,data);
        if i=0 then
           dmsg := MakeDefaultMsg (SM_PASSOK_SELECTSERVER, 0, 0, 0, 0)
        else
           dmsg := MakeDefaultMsg (SM_PASSWD_FAIL, i, 0, 0, 0);
        SendSocket(Socket,EncodeMessage(dmsg));
      end;
    CM_SELECTSERVER:begin
       dmsg := MakeDefaultMsg (SM_SELECTSERVER_OK, 0, 0, 0, 0);
       s:='127.0.0.1/7000/0/';
       AddMsg('Select Server');
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeString(S));
    end;
    CM_NEWCHR:begin
       dmsg := MakeDefaultMsg (SM_NEWCHR_SUCCESS, 0, 0, 0, 0);
       AddMsg('New Chr');
       SendSocket(Socket,EncodeMessage(dmsg));
    end;
    CM_QUERYCHR:Begin
       Data:=DecodeString(Data);
       LoginID:=copy(data,1,pos('/',data)-1);
       delete(data,1,pos('/',data));
       Memo1.Lines.add('QueryChar:'+LoginID+',Certif:'+data);
       s:=QueryChar(LoginID);
       dmsg := MakeDefaultMsg (SM_QUERYCHR, 0, 0, 0, 0);
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeString(s));
    end;
    CM_DELCHR:Begin
      dmsg := MakeDefaultMsg (SM_DELCHR_SUCCESS, 0, 0, 0, 0);
      SendSocket(Socket,EncodeMessage(dmsg));
    end;
    CM_SELCHR:begin  //選擇了一個角色(用戶ID/角色名)
       //服務器
       Data:=DecodeString(Data);
       LoginID:=copy(data,1,pos('/',data)-1);   //ID
       Playerinfo.UserID:=pchar(LoginID);
       delete(data,1,pos('/',data));            //ChrName
       Playerinfo.CharName:=pchar(data);
       Playerinfo.Job:=UserInfo.ReadInteger(Playerinfo.CharName,'Job',0);
       dmsg := MakeDefaultMsg (SM_STARTPLAY, 0, 0, 0, 0);
       Playerinfo.server:=pchar(UserInfo.ReadString(Playerinfo.CharName,'server','127.0.0.1/7000'));
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeString(Playerinfo.server));
       //地圖
       Playerinfo.X:=UserInfo.ReadInteger(Playerinfo.CharName,'x',300);
       Playerinfo.Y:=UserInfo.ReadInteger(Playerinfo.CharName,'y',300);
       Playerinfo.dir:=UserInfo.ReadInteger(Playerinfo.CharName,'dir',0);
       Playerinfo.map:=pchar(UserInfo.ReadString(Playerinfo.CharName,'map','0'));
       dmsg := MakeDefaultMsg (SM_NEWMAP, 0, Playerinfo.X, Playerinfo.X, Playerinfo.dir);
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeString(Playerinfo.map));
    end;
    CM_QUERYBAGITEMS:begin  //After Log on
       QueryBag(Socket,'');
       Playerinfo.Gold:=200000;
       dmsg := MakeDefaultMsg (SM_ABILITY, Playerinfo.Gold, Playerinfo.job, 0, 0); //SM_ABILITY,金子數,職業
       GetCharAbility(PlayerInfo);
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeBuffer(@Playerinfo.ab,sizeof(TAbility)));

       dmsg := MakeDefaultMsg (SM_FEATURECHANGED,0,48,$FF,0);
       SendSocket(Socket,EncodeMessage(dmsg));
    end;
    CM_PICKUP:Begin

    end;
    CM_WANTMINIMAP:Begin
       dmsg := MakeDefaultMsg (SM_READMINIMAP_OK, 0, 1, 0, 0);
       s:='';
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeString(s));
    END;
    CM_SAY:Begin
       BroadcaseSay(0,decodestring(data));
    end;
    CM_DEALTRY:Begin
       dmsg := MakeDefaultMsg (SM_DEALMENU, 0, 0, 0, 0);
       s:='謝依凡';
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeString(s));
    end;
    CM_EAT:begin
       dmsg := MakeDefaultMsg (SM_EAT_OK, 0, 0, 0, 0);
       s:='';
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeString(s));
    end;
    CM_QUERYUSERNAME:begin
       dmsg := MakeDefaultMsg (SM_USERNAME, 0, 0, 0, 0);
       s:='謝依凡\';
       SendSocket(Socket,EncodeMessage(dmsg)+EncodeString(s));
    end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线云播放| 日本道色综合久久| 国产一区二区三区蝌蚪| 一本到高清视频免费精品| 久久久亚洲精华液精华液精华液| 奇米综合一区二区三区精品视频 | 日本高清不卡一区| 欧美日韩成人综合| 亚洲人成网站精品片在线观看| 麻豆91免费看| 欧美日韩精品欧美日韩精品| 亚洲三级视频在线观看| 亚洲夂夂婷婷色拍ww47| 91免费国产在线观看| 同产精品九九九| 国产婷婷色一区二区三区四区| 成人国产视频在线观看| 亚洲一区二区三区四区五区中文 | 欧美三电影在线| 日本午夜一区二区| 国产婷婷色一区二区三区| 色综合久久中文综合久久牛| 日韩影院在线观看| 亚洲图片欧美色图| 欧美一区二区高清| 国产成人精品影院| 午夜精品久久久| 久久久精品2019中文字幕之3| 久久66热re国产| 色又黄又爽网站www久久| 国产精品久久久久9999吃药| 成人免费看的视频| 国产精品美女久久久久高潮| 99视频热这里只有精品免费| 国产精品久线观看视频| 99久久国产综合精品麻豆| 国产精品嫩草久久久久| 91麻豆蜜桃一区二区三区| 亚洲日本青草视频在线怡红院 | 色婷婷亚洲精品| 日韩毛片在线免费观看| 91丨国产丨九色丨pron| 亚洲欧美一区二区久久| 91久久精品一区二区三| 午夜天堂影视香蕉久久| 日韩午夜小视频| 国产高清久久久| 中文字幕日本乱码精品影院| 色av一区二区| 日本怡春院一区二区| 26uuu色噜噜精品一区| 国产精品18久久久久久久久久久久 | 亚洲一二三专区| 91精品国产全国免费观看| 激情图片小说一区| 国产精品午夜在线观看| 在线观看三级视频欧美| 男女性色大片免费观看一区二区 | 欧美一区二区精品| 国产成人自拍高清视频在线免费播放| 国产精品美女久久久久久久久久久 | 成人免费视频app| 一区二区三区在线观看欧美| 日韩亚洲电影在线| 国产69精品久久久久毛片| 亚洲一区二区三区精品在线| 欧美刺激午夜性久久久久久久| 国产99久久久久| 图片区小说区国产精品视频 | 中文字幕国产精品一区二区| 99精品国产99久久久久久白柏| 在线中文字幕一区| 国产91丝袜在线18| 国产一二三精品| 国产老肥熟一区二区三区| 免费欧美日韩国产三级电影| 婷婷综合五月天| 蜜臀av一区二区在线观看| 免费久久精品视频| 精品一二三四在线| 国产成人精品免费一区二区| 韩国欧美国产1区| 国产精品一区二区在线观看不卡| 久久精品99国产精品| 国产一区二区三区香蕉| 国产成人免费xxxxxxxx| 国产乱码精品一区二区三区av| 国产精品一区二区你懂的| 国产精品123| 99国产精品久久久久久久久久| 91美女片黄在线观看91美女| 在线视频一区二区三区| 欧美高清视频一二三区| 欧美成人aa大片| 中文字幕电影一区| 一区二区三区四区在线播放| 香蕉乱码成人久久天堂爱免费| 日韩国产欧美在线观看| 国产在线播放一区二区三区| 成人教育av在线| 欧美午夜影院一区| 日韩欧美区一区二| 欧美激情一区二区| 亚洲综合精品自拍| 精品在线一区二区| 99久久99久久精品国产片果冻| 在线观看网站黄不卡| 日韩免费在线观看| 亚洲人亚洲人成电影网站色| 亚洲福利国产精品| 国内精品视频一区二区三区八戒| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩欧美亚洲一区二区| 亚洲国产精品二十页| 亚洲高清不卡在线| 国产高清不卡一区二区| 在线观看欧美黄色| 欧美日韩aaaaaa| 麻豆国产91在线播放| 91麻豆6部合集magnet| av电影一区二区| 91丨九色丨尤物| 欧美综合欧美视频| 欧美日本乱大交xxxxx| 在线综合视频播放| 欧美v日韩v国产v| 26uuu亚洲| 国产精品久久久久影院| 亚洲精品日韩专区silk| 久久噜噜亚洲综合| 亚洲一二三四在线观看| 成人综合婷婷国产精品久久| 欧美一区二区大片| 亚洲欧美一区二区三区孕妇| 美女网站一区二区| 在线亚洲免费视频| 国产欧美视频一区二区三区| 天天综合色天天综合色h| 91在线观看下载| 久久久久久久久久久黄色| 日本伊人午夜精品| 欧美私人免费视频| 中文字幕一区二区三区乱码在线 | 亚洲高清视频的网址| 99精品国产91久久久久久| 欧美mv日韩mv国产网站| 日日摸夜夜添夜夜添亚洲女人| 一本色道综合亚洲| 国产精品传媒视频| 国产69精品久久久久毛片| 亚洲主播在线播放| 免费看黄色91| 一本到不卡免费一区二区| 日韩视频免费观看高清在线视频| 国产欧美日韩综合| 日本vs亚洲vs韩国一区三区| 99国产精品久久久久久久久久| 51精品秘密在线观看| 综合久久久久久久| 久久精品久久精品| 欧美在线你懂得| 久久久国产精华| 午夜精品123| 粉嫩欧美一区二区三区高清影视| 欧美日韩中文另类| 欧美国产97人人爽人人喊| 三级不卡在线观看| 一本色道久久加勒比精品| 久久综合一区二区| 午夜电影网一区| 一本一道综合狠狠老| 国产婷婷一区二区| 久久精品国产99| 欧美日韩国产免费一区二区| 亚洲婷婷综合色高清在线| 国产老肥熟一区二区三区| 日韩一区二区麻豆国产| 一区二区三区**美女毛片| 99久免费精品视频在线观看 | 国产在线精品一区二区夜色| 在线观看一区二区视频| 国产精品热久久久久夜色精品三区| 日本aⅴ免费视频一区二区三区| 91蝌蚪porny成人天涯| 欧美日韩在线精品一区二区三区激情| 亚洲精品成人悠悠色影视| 欧美日韩一区中文字幕| 另类小说色综合网站| 国产日韩一级二级三级| 99国产精品久| 日韩在线一区二区| 国产亚洲一区二区在线观看| 97se亚洲国产综合在线| 亚洲宅男天堂在线观看无病毒| 制服丝袜在线91| 成人激情文学综合网| 国内成人免费视频| 亚洲欧美日韩中文字幕一区二区三区 | 久久蜜桃av一区精品变态类天堂 | 欧美剧情片在线观看|