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

📄 fstate.pas

📁 原版翎风(LF)引擎(M2)源码(Delphi)
💻 PAS
📖 第 1 页 / 共 5 页
字号:
   DFrdClose.Top:=5;
   DFrdPgUp.SetImgIndex(g_WMainImages, 373);
   DFrdPgUp.Left:=259;
   DFrdPgUp.Top:=102;
   DFrdPgDn.SetImgIndex(g_WMainImages, 372);
   DFrdPgDn.Left:=259;
   DFrdPgDn.Top:=154;
   DFrdFriend.SetImgIndex(g_WMainImages, 540);
   DFrdFriend.Left:=15;
   DFrdFriend.Top:=35;
   DFrdBlackList.SetImgIndex(g_WMainImages, 573);
   DFrdBlackList.Left:=130;
   DFrdBlackList.Top:=35;
   DFrdAdd.SetImgIndex(g_WMainImages, 554);
   DFrdAdd.Left:=90;
   DFrdAdd.Top:=233;
   DFrdDel.SetImgIndex(g_WMainImages, 556);
   DFrdDel.Left:=124;
   DFrdDel.Top:=233;
   DFrdMemo.SetImgIndex(g_WMainImages, 558);
   DFrdMemo.Left:=158;
   DFrdMemo.Top:=233;
   DFrdMail.SetImgIndex(g_WMainImages, 560);
   DFrdMail.Left:=192;
   DFrdMail.Top:=233;
   DFrdWhisper.SetImgIndex(g_WMainImages, 562);
   DFrdWhisper.Left:=226;
   DFrdWhisper.Top:=233;

   d := g_WMainImages.Images[457];
   if d <> nil then begin
      DMailListDlg.SetImgIndex (g_WMainImages, 457);
      DMailListDlg.Left := 512;
      DMailListDlg.Top := 0;
   end;
   DMailListClose.SetImgIndex(g_WMainImages, 371);
   DMailListClose.Left:=247;
   DMailListClose.Top:=5;
   DMailListPgUp.SetImgIndex(g_WMainImages, 373);
   DMailListPgUp.Left:=259;
   DMailListPgUp.Top:=102;
   DMailListPgDn.SetImgIndex(g_WMainImages, 372);
   DMailListPgDn.Left:=259;
   DMailListPgDn.Top:=154;
   DMLReply.SetImgIndex(g_WMainImages, 564);
   DMLReply.Left:=90;
   DMLReply.Top:=233;
   DMLRead.SetImgIndex(g_WMainImages, 566);
   DMLRead.Left:=124;
   DMLRead.Top:=233;
   DMLDel.SetImgIndex(g_WMainImages, 556);
   DMLDel.Left:=158;
   DMLDel.Top:=233;
   DMLLock.SetImgIndex(g_WMainImages, 568);
   DMLLock.Left:=192;
   DMLLock.Top:=233;
   DMLBlock.SetImgIndex(g_WMainImages, 570);
   DMLBlock.Left:=226;
   DMLBlock.Top:=233;

   d := g_WMainImages.Images[458];
   if d <> nil then begin
      DBlockListDlg.SetImgIndex (g_WMainImages, 458);
      DBlockListDlg.Left := 512;
      DBlockListDlg.Top := 0;
   end;
   DBlockListClose.SetImgIndex(g_WMainImages, 371);
   DBlockListClose.Left:=247;
   DBlockListClose.Top:=5;
   DBLPgUp.SetImgIndex(g_WMainImages, 373);
   DBLPgUp.Left:=259;
   DBLPgUp.Top:=102;
   DBLPgDn.SetImgIndex(g_WMainImages, 372);
   DBLPgDn.Left:=259;
   DBLPgDn.Top:=154;
   DBLAdd.SetImgIndex(g_WMainImages, 554);
   DBLAdd.Left:=192;
   DBLAdd.Top:=233;
   DBLDel.SetImgIndex(g_WMainImages, 556);
   DBLDel.Left:=226;
   DBLDel.Top:=233;

   d := g_WMainImages.Images[459];
   if d <> nil then begin
      DMemo.SetImgIndex (g_WMainImages, 459);
      DMemo.Left := 290;
      DMemo.Top := 0;
   end;
   DMemoClose.SetImgIndex(g_WMainImages, 371);
   DMemoClose.Left:=205;
   DMemoClose.Top:=1;
   DMemoB1.SetImgIndex(g_WMainImages, 544);
   DMemoB1.Left:=58;
   DMemoB1.Top:=114;
   DMemoB2.SetImgIndex(g_WMainImages, 538);
   DMemoB2.Left:=126;
   DMemoB2.Top:=114;

   DButtonHP.Left   := 40;
   DButtonHP.Top    := 91;
   DButtonHP.Width  := 45;
   DButtonHP.Height := 90;

   DButtonMP.Left   := 40 + 47;
   DButtonMP.Top    := 91;
   DButtonMP.Width  := 45;
   DButtonMP.Height := 90;
   {
   //背包物品窗口
   DItemBag.SetImgIndex (g_WMain3Images, 6);
   DItemBag.Left := 0;
   DItemBag.Top := 0;

   DItemGrid.Left := 29;
   DItemGrid.Top  := 41;
   DItemGrid.Width := 286;
   DItemGrid.Height := 162;

   DClosebag.SetImgIndex (g_WMainImages, 372);
   DClosebag.Downed:=True;
   DCloseBag.Left := 336;
   DCloseBag.Top := 59;
   DCloseBag.Width := 14;
   DCloseBag.Height := 20;

   DGold.Left := 18;
   DGold.Top  := 218;

   d := g_WMain3Images.Images[207];  //惑怕
   if d <> nil then begin
      DStateWin.SetImgIndex (g_WMain3Images, 207);
      DStateWin.Left := SCREENWIDTH - d.Width;
      DStateWin.Top := 0;
   end;
     }
end;




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



//声音 窗口
procedure TFrmDlg.OpenSoundOption;
begin
  g_boSound := not g_boSound;
  if g_boSound then begin
    DScreen.AddChatBoardString ('[音乐打开]',clWhite, clBlack);
  end else begin
    DScreen.AddChatBoardString ('[音乐关闭]',clWhite, clBlack);
  end;
end;
//打开/关闭我的属性对话框
procedure TFrmDlg.OpenMyStatus;
begin
   DStateWin.Visible := not DStateWin.Visible;
   PageChanged;
end;
//显示玩家信息对话框
procedure TFrmDlg.OpenUserState (UserState: TUserStateInfo);
begin
   UserState1 := UserState;
   DUserState1.Visible := TRUE;
end;

//显示/关闭物品对话框
procedure TFrmDlg.OpenItemBag;
begin
   DItemBag.Visible := not DItemBag.Visible;
   if DItemBag.Visible then
      ArrangeItemBag;
end;

//底部状态框
procedure TFrmDlg.ViewBottomBox (visible: Boolean);
begin
   DBottom.Visible := visible;
end;


// 取消物品移动
procedure TFrmDlg.CancelItemMoving;
var
   idx, n: integer;
begin
   if g_boItemMoving then begin
      g_boItemMoving := FALSE;
      idx := g_MovingItem.Index;
      if idx < 0 then begin
         if (idx <= -20) and (idx > -30) then begin
            AddDealItem (g_MovingItem.Item);
         end else begin
            n := -(idx+1);
            if n in [0..12] then begin
               g_UseItems[n] := g_MovingItem.Item;
            end;
         end;
      end else
         if idx in [0..MAXBAGITEM-1] then begin
            if g_ItemArr[idx].S.Name = '' then begin
               g_ItemArr[idx] := g_MovingItem.Item;
            end else begin
               AddItemBag (g_MovingItem.Item);
            end;
         end;
      g_MovingItem.Item.S.Name := '';
   end;
   ArrangeItemBag;
end;

//把移动的物品放下
procedure TFrmDlg.DropMovingItem;
var
   idx: integer;
begin
   if g_boItemMoving then begin
      g_boItemMoving := FALSE;
      if g_MovingItem.Item.S.Name <> '' then begin
         FrmMain.SendDropItem (g_MovingItem.Item.S.Name, g_MovingItem.Item.MakeIndex);
         AddDropItem (g_MovingItem.Item);
         g_MovingItem.Item.S.Name := '';
      end;
   end;
end;
//打开属性调整对话框
procedure TFrmDlg.OpenAdjustAbility;
begin
   DAdjustAbility.Left := 0;
   DAdjustAbility.Top := 0;
   g_nSaveBonusPoint := g_nBonusPoint;
   FillChar (g_BonusAbilChg, sizeof(TNakedAbility), #0);
   DAdjustAbility.Visible := TRUE;
end;

procedure TFrmDlg.DBackgroundBackgroundClick(Sender: TObject);
var
   dropgold: integer;
   valstr: string;
begin
   if g_boItemMoving then begin
      DBackground.WantReturn := TRUE;
      if g_MovingItem.Item.S.Name = g_sGoldName{'金币'} then begin
         g_boItemMoving := FALSE;
         g_MovingItem.Item.S.Name := '';
         //倔付甫 滚副 扒瘤 拱绢夯促.
         DialogSize := 1;
         DMessageDlg ('' +g_sGoldName+ ' 你想放下多少金币?', [mbOk, mbAbort]);
         GetValidStrVal (DlgEditText, valstr, [' ']);
         dropgold := Str_ToInt (valstr, 0);
         //
         FrmMain.SendDropGold (dropgold);
      end;
      if g_MovingItem.Index >= 0 then //酒捞袍 啊规俊辑 滚赴巴父..
         DropMovingItem;
   end;
end;

procedure TFrmDlg.DBackgroundMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   if g_boItemMoving then begin
      DBackground.WantReturn := TRUE;
   end;
end;

procedure TFrmDlg.DBottomMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
   function ExtractUserName (line: string): string;
   var
      uname: string;
   begin
      GetValidStr3 (line, line, ['(', '!', '*', '/', ')']);
      GetValidStr3 (line, uname, [' ', '=', ':']);
      if uname <> '' then
         if (uname[1] = '/') or (uname[1] = '(') or (uname[1] = ' ') or (uname[1] = '[') then
            uname := '';
      Result := uname;
   end;
var
   n: integer;
   str: string;
begin
   //当鼠标点在底部状态栏的消息上时
   if (X >= 208) and (X <= 308+374) and (Y >= SCREENHEIGHT-130) and (Y <= SCREENHEIGHT-130 + 12*9) then begin
      n := DScreen.ChatBoardTop + (Y - (SCREENHEIGHT-130)) div 12;
      if (n < DScreen.ChatStrs.Count) then begin
         if not PlayScene.EdChat.Visible then begin
            PlayScene.EdChat.Visible := TRUE;
            PlayScene.EdChat.SetFocus;
         end;
         PlayScene.EdChat.Text := '/' + ExtractUserName (DScreen.ChatStrs[n]) + ' ';
         PlayScene.EdChat.SelStart := Length(PlayScene.EdChat.Text);
         PlayScene.EdChat.SelLength := 0;
      end else
         PlayScene.EdChat.Text := ''; 
   end;
end;





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

////显示通用对话框


function  TFrmDlg.DMessageDlg (msgstr: string; DlgButtons: TMsgDlgButtons): TModalResult;
const
   XBase = 324;
var
  I: Integer;
   lx, ly: integer;
   d: TDirectDrawSurface;
  procedure ShowDice();
  var
    I: Integer;
    bo05:Boolean;
  begin
    if m_nDiceCount = 1 then begin
      if m_Dice[0].n67C < 20 then begin
        if GetTickCount - m_Dice[0].dwPlayTick > 100 then begin
          if m_Dice[0].n67C div 5 = 4 then begin
            m_Dice[0].nPlayPoint:=Random(6) + 1;
          end else begin
            m_Dice[0].nPlayPoint:=m_Dice[0].n67C div 5 + 8;
          end;
          m_Dice[0].dwPlayTick:=GetTickCount();
          Inc(m_Dice[0].n67C);
        end;
        exit;
      end;//
      m_Dice[0].nPlayPoint:= m_Dice[0].nDicePoint;
      if GetTickCount - m_Dice[0].dwPlayTick > 1500 then begin
        DMsgDlg.Visible:=False;
      end;
      exit;
    end;//
    
    bo05:=True;
    for I := 0 to m_nDiceCount - 1 do begin
      if m_Dice[I].n67C < m_Dice[I].n680 then begin
        if GetTickCount - m_Dice[I].dwPlayTick > 100 then begin
          if m_Dice[I].n67C div 5 = 4 then begin
            m_Dice[I].nPlayPoint:=Random(6) + 1;
          end else begin
            m_Dice[I].nPlayPoint:=m_Dice[I].n67C div 5 + 8;
          end;
          m_Dice[I].dwPlayTick:=GetTickCount();
          Inc(m_Dice[I].n67C);
        end;
        bo05:=False;
      end else begin  //004915E4
        m_Dice[I].nPlayPoint:= m_Dice[I].nDicePoint;
        if GetTickCount - m_Dice[I].dwPlayTick < 2000 then begin
          bo05:=False;
        end;
      end;
    end; //for
    if bo05 then begin
      DMsgDlg.Visible:=False;
    end;
      
  end;
begin
   if DConfigDlg.Visible  then begin //打开提示框时关闭选项框
     DOptionClick();
   end;
     
   lx := XBase;
   ly := 126;
   case DialogSize of
      0:  //小对话框
         begin
            d := g_WMainImages.Images[381];
            if d <> nil then begin
               DMsgDlg.SetImgIndex (g_WMainImages, 381);
               DMsgDlg.Left := (SCREENWIDTH - d.Width) div 2;
               DMsgDlg.Top := (SCREENHEIGHT - d.Height) div 2;
               msglx := 39;
               msgly := 38;
               lx := 90;
               ly := 36;
            end;
         end;
      1:  //大对话框(横)
         begin
            d := g_WMainImages.Images[360];
            if d <> nil then begin
               DMsgDlg.SetImgIndex (g_WMainImages, 360);
               DMsgDlg.Left := (SCREENWIDTH - d.Width) div 2;
               DMsgDlg.Top := (SCREENHEIGHT - d.Height) div 2;
               msglx := 39;
               msgly := 38;
               lx := XBase;
               ly := 126;
            end;
         end;
      2:  //大对话框(竖)
         begin
            d := g_WMainImages.Images[380];
            if d <> nil then begin
               DMsgDlg.SetImgIndex (g_WMainImages, 380);
               DMsgDlg.Left := (SCREENWIDTH - d.Width) div 2;
               DMsgDlg.Top := (SCR

⌨️ 快捷键说明

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