fstate.pas

来自「2009最新 传奇汉化0599代码 传奇汉化」· PAS 代码 · 共 1,919 行 · 第 1/5 页

PAS
1,919
字号
   BlockList.Free;      
end;

procedure TFrmDlg.HideAllControls;
var
   i: integer;
   c: TControl;
begin
   DlgTemp.Clear;
   with FrmMain do
      for i:=0 to ControlCount-1 do begin
         c := Controls[i];
         if c is TEdit then
            if (c.Visible) and (c <> EdDlgEdit) then begin
               DlgTemp.Add (c);
               c.Visible := FALSE;
            end;
      end;
end;

procedure TFrmDlg.RestoreHideControls;
var
   i: integer;
   c: TControl;
begin
   for i:=0 to DlgTemp.Count-1 do begin
      TControl(DlgTemp[i]).Visible := TRUE;
   end;
end;

procedure TFrmDlg.Initialize;  //霸烙阑 府胶配绢且锭付促 龋免凳
var
   i: integer;
   d: TDirectDrawSurface;
begin
   g_DWinMan.ClearAll;

   DBackground.Left := 0;
   DBackground.Top := 0;
   DBackground.Width := SCREENWIDTH;
   DBackground.Height := SCREENHEIGHT;
   DBackground.Background := TRUE;
   g_DWinMan.AddDControl (DBackground, TRUE);

   {-----------------------------------------------------------}

   //皋技瘤 促捞倔肺弊 芒
   d := g_WMainImages.Images[361];
   if d <> nil then begin
      DMsgDlg.SetImgIndex (g_WMainImages, 361);
      DMsgDlg.Left := (SCREENWIDTH - d.Width) div 2;
      DMsgDlg.Top := (SCREENHEIGHT - d.Height) div 2;
   end;
   DMsgDlgOk.SetImgIndex (g_WMainImages, 350);
   DMsgDlgYes.SetImgIndex (g_WMainImages, 352);
   DMsgDlgCancel.SetImgIndex (g_WMainImages, 354);
   DMsgDlgNo.SetImgIndex (g_WMainImages, 356);
   DMsgDlgOk.Top := 106;
   DMsgDlgYes.Top := 106;
   DMsgDlgCancel.Top := 106;
   DMsgDlgNo.Top := 106;

   {-----------------------------------------------------------}

   //肺弊牢 芒
   d := g_WMainImages.Images[60];
   if d <> nil then begin
      DLogIn.SetImgIndex (g_WMainImages, 60);
      DLogIn.Left := 252;
      DLogIn.Top := 182;
   end;
   DLoginNew.SetImgIndex (g_WMainImages, 61);
   DLoginNew.Left := 93;
   DLoginNew.Top  := 144;
   DLoginOk.SetImgIndex (g_WMainImages, 42);
   DLoginOk.Left := 245;
   DLoginOk.Top := 77;
   DLoginChgPw.SetImgIndex (g_WMainImages, 53);
   DLoginChgPw.Left := 142;
   DLoginChgPw.Top  := 144;
   DLoginClose.SetImgIndex (g_WMainImages, 41);
   DLoginClose.Left := 141;
   DLoginClose.Top := 171;

   {-----------------------------------------------------------}
   //服务器选择窗口
   if not EnglishVersion then begin
      d := g_WMainImages.Images[160]; //81];
      if d <> nil then begin
         DSelServerDlg.SetImgIndex (g_WMainImages, 160);
         DSelServerDlg.Left := (SCREENWIDTH - d.Width) div 2;
         DSelServerDlg.Top := (SCREENHEIGHT - d.Height) div 2;
      end;
      DSSrvClose.SetImgIndex (g_WMainImages, 64);
      DSSrvClose.Left := 448;
      DSSrvClose.Top := 33;

      DSServer1.SetImgIndex (g_WMainImages, 161); //82);
      DSServer1.Left := 134;
      DSServer1.Top  := 102;
      DSServer2.SetImgIndex (g_WMainImages, 162); //83);
      DSServer2.Left := 236;
      DSServer2.Top  := 101;
      DSServer3.SetImgIndex (g_WMainImages, 163);
      DSServer3.Left := 87;
      DSServer3.Top  := 190;
      DSServer4.SetImgIndex (g_WMainImages, 164);
      DSServer4.Left := 280;
      DSServer4.Top  := 190;
      DSServer5.SetImgIndex (g_WMainImages, 165);
      DSServer5.Left := 134;
      DSServer5.Top  := 280;
      DSServer6.SetImgIndex (g_WMainImages, 166);
      DSServer6.Left := 236;
      DSServer6.Top  := 280;
      DEngServer1.Visible := FALSE;
   end else begin
      d := g_WMainImages.Images[256]; //81];
      if d <> nil then begin
         DSelServerDlg.SetImgIndex (g_WMainImages, 256);
         DSelServerDlg.Left := (SCREENWIDTH - d.Width) div 2;
         DSelServerDlg.Top := (SCREENHEIGHT - d.Height) div 2;
      end;
      DSSrvClose.SetImgIndex (g_WMainImages, 41);
      DSSrvClose.Left := 100;
      DSSrvClose.Top := 481;
{
      DEngServer1.SetImgIndex (g_WMainImages, 257);
      DEngServer1.Left := 65;
      DEngServer1.Top  := 204;
}

      DSServer1.SetImgIndex (g_WMain2Images, 2);
      DSServer1.Left := 40;
      DSServer1.Top  := 100;

      DSServer2.SetImgIndex (g_WMain2Images, 2);
      DSServer2.Left := 40;
      DSServer2.Top  := 145;

      DSServer3.SetImgIndex (g_WMain2Images, 2);
      DSServer3.Left := 40;
      DSServer3.Top  := 190;

      DSServer4.SetImgIndex (g_WMain2Images, 2);
      DSServer4.Left := 40;
      DSServer4.Top  := 235;

      DSServer5.SetImgIndex (g_WMain2Images, 2);
      DSServer5.Left := 40;
      DSServer5.Top  := 280;

      DSServer6.SetImgIndex (g_WMain2Images, 2);
      DSServer6.Left := 40;
      DSServer6.Top  := 325;

      DEngServer1.Visible := FALSE;
      DSServer1.Visible := FALSE;
      DSServer2.Visible := FALSE;
      DSServer3.Visible := FALSE;
      DSServer4.Visible := FALSE;
      DSServer5.Visible := FALSE;
      DSServer6.Visible := FALSE;

   end;

   {-----------------------------------------------------------}

   //登录窗口
   d := g_WMainImages.Images[63];
   if d <> nil then begin
      DNewAccount.SetImgIndex (g_WMainImages, 63);
      DNewAccount.Left := (SCREENWIDTH - d.Width) div 2;
      DNewAccount.Top := (SCREENHEIGHT - d.Height) div 2;
   end;
   DNewAccountOk.SetImgIndex (g_WMainImages, 47);
   DNewAccountOk.Left := 160;
   DNewAccountOk.Top := 417;
   DNewAccountCancel.SetImgIndex (g_WMainImages, 48);
   DNewAccountCancel.Left := 448;
   DNewAccountCancel.Top := 419;
   DNewAccountClose.SetImgIndex (g_WMainImages, 86);
   DNewAccountClose.Left := 587;
   DNewAccountClose.Top := 33;

   {-----------------------------------------------------------}

   //修改密码窗口
   d := g_WMainImages.Images[50];
   if d <> nil then begin
      DChgPw.SetImgIndex (g_WMainImages, 50);
      DChgPw.Left := (SCREENWIDTH - d.Width) div 2;
      DChgPw.Top  := (SCREENHEIGHT - d.Height) div 2;
   end;
   DChgpwOk.SetImgIndex (g_WMainImages, 47);
   DChgPwOk.Left := 182;
   DChgPwOk.Top := 252;
   DChgpwCancel.SetImgIndex (g_WMainImages, 48);
   DChgPwCancel.Left := 277;
   DChgPwCancel.Top := 251;




   {-----------------------------------------------------------}

   //选择角色窗口
   DSelectChr.Left := 0;
   DSelectChr.Top := 0;
   DSelectChr.Width := SCREENWIDTH;
   DSelectChr.Height := SCREENHEIGHT;
   DscSelect1.SetImgIndex (g_WMainImages, 66);
   DscSelect2.SetImgIndex (g_WMainImages, 66);
   DscSelect3.SetImgIndex (g_WMainImages, 66);   
   DscStart.SetImgIndex (g_WMainImages, 68);
   DscNewChr.SetImgIndex (g_WMainImages, 69);
   DscEraseChr.SetImgIndex (g_WMainImages, 70);
   DscCredits.SetImgIndex (g_WMainImages, 71);
   DscExit.SetImgIndex (g_WMainImages, 72);

      DscSelect1.Left := (SCREENWIDTH - 800) div 2 + 111{134};
      DscSelect1.Top := (SCREENHEIGHT - 600) div 2 + 393{454};
      DscSelect2.Left := (SCREENWIDTH - 800) div 2 + 345{685};
      DscSelect2.Top := (SCREENHEIGHT - 600) div 2 + 393{454};
      DscSelect3.Left := (SCREENWIDTH - 800) div 2 + 585{685};
      DscSelect3.Top := (SCREENHEIGHT - 600) div 2 + 393{454};
      DscStart.Left := (SCREENWIDTH - 800) div 2 + 414{385};
      DscStart.Top := (SCREENHEIGHT - 600) div 2 + 437{456};
      DscNewChr.Left := (SCREENWIDTH - 800) div 2 + 414{348};
      DscNewChr.Top := (SCREENHEIGHT - 600) div 2 + 466{486};
      DscEraseChr.Left := (SCREENWIDTH - 800) div 2 + 414{347};
      DscEraseChr.Top := (SCREENHEIGHT - 600) div 2 + 495{506};
      DscCredits.Left := (SCREENWIDTH - 800) div 2 + 414{362};
      DscCredits.Top := (SCREENHEIGHT - 600) div 2 + 522{527};
      DscExit.Left := (SCREENWIDTH - 800) div 2 + 414{379};
      DscExit.Top := (SCREENHEIGHT - 600) div 2 + 551{547};

   {-----------------------------------------------------------}

   //创建角色窗口
   d := g_WMainImages.Images[73];
   if d <> nil then begin
      DCreateChr.SetImgIndex (g_WMainImages, 73);
      DCreateChr.Left := (SCREENWIDTH - d.Width) div 2;
      DCreateChr.Top := (SCREENHEIGHT - d.Height) div 2;
   end;
   DccWarrior.SetImgIndex (g_WMainImages, 55);
   DccWizzard.SetImgIndex (g_WMainImages, 56);
   DccMonk.SetImgIndex (g_WMainImages, 57);
   //DccReserved.SetImgIndex (g_WMainImages.Images[76], TRUE);
   DccMale.SetImgIndex (g_WMainImages, 58);
   DccFemale.SetImgIndex (g_WMainImages, 59);
   DccOk.SetImgIndex (g_WMainImages, 47);
   DccClose.SetImgIndex (g_WMainImages, 48);
      DccWarrior.Left := 358;
      DccWarrior.Top := 205;
      DccWizzard.Left := 405;
      DccWizzard.Top := 205;
      DccMonk.Left := 455;
      DccMonk.Top := 205;
      //DccReserved.Left := 183;
      //DccReserved.Top := 157;
      DccMale.Left := 405;
      DccMale.Top := 297;
      DccFemale.Left := 455;
      DccFemale.Top := 297;
      DccOk.Left := 359;
      DccOk.Top := 399;
      DccClose.Left := 471;
      DccClose.Top := 399;


   {-----------------------------------------------------------}
   d := g_WMainImages.Images[50];
   if d <> nil then begin
      DChgGamePwd.SetImgIndex (g_WMainImages, 689);
      DChgGamePwd.Left := (SCREENWIDTH - d.Width) div 2;
      DChgGamePwd.Top  := (SCREENHEIGHT - d.Height) div 2;
   end;
   DChgGamePwdClose.Left := 291;// 399;
   DChgGamePwdClose.Top := 8;
   DChgGamePwdClose.SetImgIndex (g_WMainImages, 64);


   //人物状态窗口
   d := g_WMainImages.Images[370];  //惑怕
   if d <> nil then begin
      DStateWin.SetImgIndex (g_WMainImages, 370);
      DStateWin.Left := SCREENWIDTH - d.Width;
      DStateWin.Top := 0;
   end;
      DSWNecklace.Left := 38 + 130;
      DSWNecklace.Top  := 59 + 35;
      DSWNecklace.Width := 34;
      DSWNecklace.Height := 31;
      DSWHelmet.Left := 38 + 77;
      DSWHelmet.Top  := 59 + 41;
      DSWHelmet.Width := 18;
      DSWHelmet.Height := 18;
      DSWLight.Left := 38 + 130;
      DSWLight.Top  := 59 + 73;
      DSWLight.Width := 34;
      DSWLight.Height := 31;
      DSWArmRingR.Left := 38 + 4;
      DSWArmRingR.Top  := 59 + 124;
      DSWArmRingR.Width := 34;
      DSWArmRingR.Height := 31;
      DSWArmRingL.Left := 38 + 130;
      DSWArmRingL.Top  := 59 + 124;
      DSWArmRingL.Width := 34;
      DSWArmRingL.Height := 31;
      DSWRingR.Left := 38 + 4;
      DSWRingR.Top  := 59 + 163;
      DSWRingR.Width := 34;
      DSWRingR.Height := 31;
      DSWRingL.Left := 38 + 130;
      DSWRingL.Top  := 59 + 163;
      DSWRingL.Width := 34;
      DSWRingL.Height := 31;
      DSWWeapon.Left := 38 + 9;
      DSWWeapon.Top  := 59 + 28;
      DSWWeapon.Width := 47;
      DSWWeapon.Height := 87;
      DSWDress.Left := 38 + 58;
      DSWDress.Top  := 59 + 70;
      DSWDress.Width := 53;
      DSWDress.Height := 112;

      DSWBujuk.Left := 42;
      DSWBujuk.Top  := 261;
      DSWBujuk.Width := 34;
      DSWBujuk.Height := 31;

      DSWBelt.Left := 84;
      DSWBelt.Top  := 261;
      DSWBelt.Width := 34;
      DSWBelt.Height := 31;

      DSWBoots.Left := 126;
      DSWBoots.Top  := 261;
      DSWBoots.Width := 34;
      DSWBoots.Height := 31;

      DSWCharm.Left := 168;
      DSWCharm.Top  := 261;
      DSWCharm.Width := 34;
      DSWCharm.Height := 31;

      DStMag1.Left := 38 + 6; //8
      DStMag1.Top := 59 + 7+20;
      DStMag1.Width := 31;
      DStMag1.Height := 33;

      DStMag2.Left := 38 + 6;
      DStMag2.Top := 59 + 44+20;
      DStMag2.Width := 31;
      DStMag2.Height := 33;

      DStMag3.Left := 38 + 6;
      DStMag3.Top := 59 + 82+20;
      DStMag3.Width := 31;
      DStMag3.Height := 33;

      DStMag4.Left := 38 + 6;//38+8
      DStMag4.Top := 59 + 119+20;
      DStMag4.Width := 31;
      DStMag4.Height := 33;

      DStMag5.Left := 38 + 6;
      DStMag5.Top := 59 + 156+20;
      DStMag5.Width := 31;
      DStMag5.Height := 33;

      DStPageUp.SetImgIndex (g_WMainImages, 398);
      DStPageDown.SetImgIndex (g_WMainImages, 396);
      DStPageUp.Left := 213+4;
      DStPageUp.Top  := 113+32;
      DStPageDown.Left := 213+4;
      DStPageDown.Top  := 143+33;

   DCloseState.SetImgIndex (g_WMainImages, 86);
   DCloseState.Left := 208;
   DCloseState.Top := 5;
   DPrevState.SetImgIndex (g_WMainImages, 373);

⌨️ 快捷键说明

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