📄 fstate.pas
字号:
dsurface: TDirectDrawSurface);
procedure DBotPlusAbilClick(Sender: TObject; X, Y: Integer);
procedure DPlusDCClick(Sender: TObject; X, Y: Integer);
procedure DMinusDCClick(Sender: TObject; X, Y: Integer);
procedure DAdjustAbilOkClick(Sender: TObject; X, Y: Integer);
procedure DBotPlusAbilDirectPaint(Sender: TObject;
dsurface: TDirectDrawSurface);
procedure DAdjustAbilityMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure DUserState1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DEngServer1Click(Sender: TObject; X, Y: Integer);
procedure DGDAllyClick(Sender: TObject; X, Y: Integer);
procedure DGDBreakAllyClick(Sender: TObject; X, Y: Integer);
private
DlgTemp: TList;
magcur, magtop: integer;
EdDlgEdit: TEdit;
Memo: TMemo;
ViewDlgEdit: Boolean;
msglx, msgly: integer;
MenuTop: integer;
MagKeyIcon, MagKeyCurKey: integer;
MagKeyMagName: string;
MagicPage: integer;
BlinkTime: longword;
BlinkCount: integer; //0..9荤捞甫 馆汗
procedure HideAllControls;
procedure RestoreHideControls;
procedure PageChanged;
procedure DealItemReturnBag (mitem: TClientItem);
procedure DealZeroGold;
public
StatePage: integer;
MsgText: string;
DialogSize: integer;
MerchantName: string;
MerchantFace: integer;
MDlgStr: string;
MDlgPoints: TList;
RequireAddPoints: Boolean;
SelectMenuStr: string;
LastestClickTime: longword;
SpotDlgMode: TSpotDlgMode;
MenuList: TList; //list of PTClientGoods
MenuIndex: integer;
CurDetailItem: string;
MenuTopLine: integer;
BoDetailMenu: Boolean;
BoStorageMenu: Boolean;
BoNoDisplayMaxDura: Boolean;
BoMakeDrugMenu: Boolean;
NAHelps: TStringList;
NewAccountTitle: string;
DlgEditText: string;
UserState1: TUserStateInfo;
Guild: string;
GuildFlag: string;
GuildCommanderMode: Boolean;
GuildStrs: TStringList;
GuildStrs2: TStringList;
GuildNotice: TStringList;
GuildMembers: TStringList;
GuildTopLine: integer;
GuildEditHint: string;
GuildChats: TStringList;
BoGuildChat: Boolean;
procedure Initialize;
procedure OpenMyStatus;
procedure OpenUserState (ustate: TUserStateInfo);
procedure OpenItemBag;
procedure ViewBottomBox (visible: Boolean);
procedure CancelItemMoving;
procedure DropMovingItem;
procedure OpenAdjustAbility;
procedure ShowSelectServerDlg;
function DMessageDlg (msgstr: string; DlgButtons: TMsgDlgButtons): TModalResult;
procedure ShowMDlg (face: integer; mname, msgstr: string);
procedure ShowGuildDlg;
procedure ShowGuildEditNotice;
procedure ShowGuildEditGrade;
procedure ResetMenuDlg;
procedure ShowShopMenuDlg;
procedure ShowShopSellDlg;
procedure CloseDSellDlg;
procedure CloseMDlg;
procedure ToggleShowGroupDlg;
procedure OpenDealDlg;
procedure CloseDealDlg;
procedure SoldOutGoods (itemserverindex: integer);
procedure DelStorageItem (itemserverindex: integer);
procedure GetMouseItemInfo (var iname, line1, line2, line3: string; var useable: boolean);
procedure SetMagicKeyDlg (icon: integer; magname: string; var curkey: word);
procedure AddGuildChat (str: string);
end;
var
FrmDlg: TFrmDlg;
implementation
uses
ClMain;
{$R *.DFM}
{
## MovingItem.Index
1~n : 啊规芒狼 酒捞袍 鉴辑
-1~-8 : 厘馒芒俊辑狼 酒捞袍 鉴辑
-97 : 背券芒狼 捣
-98 : 捣
-99 : 迫扁 芒俊辑狼 酒捞袍 鉴辑
-20~29: 背券芒俊辑狼 酒捞袍 鉴辑
}
procedure TFrmDlg.FormCreate(Sender: TObject);
begin
StatePage := 0;
DlgTemp := TList.Create;
DialogSize := 1; //扁夯 农扁
magcur := 0;
magtop := 0;
MDlgPoints := TList.Create;
SelectMenuStr := '';
MenuList := TList.Create;
MenuIndex := -1;
MenuTopLine := 0;
BoDetailMenu := FALSE;
BoStorageMenu := FALSE;
BoNoDisplayMaxDura := FALSE;
BoMakeDrugMenu := FALSE;
MagicPage := 0;
NAHelps := TStringList.Create;
BlinkTime := GetTickCount;
BlinkCount := 0;
SellDlgItem.S.Name := '';
Guild := '';
GuildFlag := '';
GuildCommanderMode := FALSE;
GuildStrs := TStringList.Create;
GuildStrs2 := TStringList.Create; //归诀侩
GuildNotice := TStringList.Create;
GuildMembers := TStringList.Create;
GuildChats := TStringList.Create;
EdDlgEdit := TEdit.Create (FrmMain.Owner);
with EdDlgEdit do begin
Parent := FrmMain; Color := clBlack; Font.Color := clWhite; Font.Size := 10; MaxLength := 30;
Height := 16; Ctl3d := FALSE;
BorderStyle := bsSingle; {OnKeyPress := EdDlgEditKeyPress;} Visible := FALSE;
end;
Memo := TMemo.Create (FrmMain.Owner);
with Memo do begin
Parent := FrmMain; Color := clBlack; Font.Color := clWhite; Font.Size := 10;
Ctl3d := FALSE;
BorderStyle := bsSingle; {OnKeyPress := EdDlgEditKeyPress;} Visible := FALSE;
end;
end;
procedure TFrmDlg.FormDestroy(Sender: TObject);
begin
DlgTemp.Free;
MDlgPoints.Free; //埃窜洒..
MenuList.Free;
NAHelps.Free;
GuildStrs.Free;
GuildStrs2.Free;
GuildNotice.Free;
GuildMembers.Free;
GuildChats.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
FrmMain.DWinMan.ClearAll;
DBackground.Left := 0;
DBackground.Top := 0;
DBackground.Width := SCREENWIDTH;
DBackground.Height := SCREENHEIGHT;
DBackground.Background := TRUE;
FrmMain.DWinMan.AddDControl (DBackground, TRUE);
{-----------------------------------------------------------}
//通用对话框
d := FrmMain.WProgUse.Images[360];
if d <> nil then begin
DMsgDlg.SetImgIndex (FrmMain.WProgUse, 360);
DMsgDlg.Left := (SCREENWIDTH - d.Width) div 2;
DMsgDlg.Top := (SCREENHEIGHT - d.Height) div 2;
end;
DMsgDlgOk.SetImgIndex (FrmMain.WProgUse, 361);
DMsgDlgYes.SetImgIndex (FrmMain.WProgUse, 363);
DMsgDlgCancel.SetImgIndex (FrmMain.WProgUse, 365);
DMsgDlgNo.SetImgIndex (FrmMain.WProgUse, 367);
DMsgDlgOk.Top := 126;
DMsgDlgYes.Top := 126;
DMsgDlgCancel.Top := 126;
DMsgDlgNo.Top := 126;
{-----------------------------------------------------------}
///登录对话框
d := FrmMain.WProgUse.Images[60];
if d <> nil then begin
DLogIn.SetImgIndex (FrmMain.WProgUse, 60);
DLogIn.Left := (SCREENWIDTH - d.Width) div 2;
DLogIn.Top := (SCREENHEIGHT - d.Height) div 2;
end;
DLoginNew.SetImgIndex (FrmMain.WProgUse, 61);
DLoginNew.Left := 24;
DLoginNew.Top := 207;
DLoginOk.SetImgIndex (FrmMain.WProgUse, 62);
DLoginOk.Left := 171;
DLoginOk.Top := 165;
DLoginChgPw.SetImgIndex (FrmMain.WProgUse, 53);
DLoginChgPw.Left := 111;
DLoginChgPw.Top := 207;
DLoginClose.SetImgIndex (FrmMain.WProgUse, 64);
DLoginClose.Left := 252;
DLoginClose.Top := 28;
{-----------------------------------------------------------}
if not EnglishVersion then begin
//韩文对话框
//选择服务器
d := FrmMain.WProgUse.Images[160]; //81];
if d <> nil then begin
DSelServerDlg.SetImgIndex (FrmMain.WProgUse, 160);
DSelServerDlg.Left := (SCREENWIDTH - d.Width) div 2;
DSelServerDlg.Top := (SCREENHEIGHT - d.Height) div 2;
end;
DSSrvClose.SetImgIndex (FrmMain.WProgUse, 64);
DSSrvClose.Left := 448;
DSSrvClose.Top := 33;
DSServer1.SetImgIndex (FrmMain.WProgUse, 161); //82);
DSServer1.Left := 134;
DSServer1.Top := 102;
DSServer2.SetImgIndex (FrmMain.WProgUse, 162); //83);
DSServer2.Left := 236;
DSServer2.Top := 101;
DSServer3.SetImgIndex (FrmMain.WProgUse, 163);
DSServer3.Left := 87;
DSServer3.Top := 190;
DSServer4.SetImgIndex (FrmMain.WProgUse, 164);
DSServer4.Left := 280;
DSServer4.Top := 190;
DSServer5.SetImgIndex (FrmMain.WProgUse, 165);
DSServer5.Left := 134;
DSServer5.Top := 280;
DSServer6.SetImgIndex (FrmMain.WProgUse, 166);
DSServer6.Left := 236;
DSServer6.Top := 280;
DEngServer1.Visible := FALSE;
end else begin
//英(中)文对话框:选择服务器
d := FrmMain.WProgUse.Images[256]; //81];
if d <> nil then begin
DSelServerDlg.SetImgIndex (FrmMain.WProgUse, 256);
DSelServerDlg.Left := (SCREENWIDTH - d.Width) div 2;
DSelServerDlg.Top := (SCREENHEIGHT - d.Height) div 2;
end;
DSSrvClose.SetImgIndex (FrmMain.WProgUse, 64);
DSSrvClose.Left := 245;
DSSrvClose.Top := 31;
DEngServer1.SetImgIndex (FrmMain.WProgUse, 257);
DEngServer1.Left := 65;
DEngServer1.Top := 204;
DSServer1.Visible := FALSE;
DSServer2.Visible := FALSE;
DSServer3.Visible := FALSE;
DSServer4.Visible := FALSE;
DSServer5.Visible := FALSE;
DSServer6.Visible := FALSE;
end;
{-----------------------------------------------------------}
//新用户对话框
d := FrmMain.WProgUse.Images[63];
if d <> nil then begin
DNewAccount.SetImgIndex (FrmMain.WProgUse, 63);
DNewAccount.Left := (SCREENWIDTH - d.Width) div 2;
DNewAccount.Top := (SCREENHEIGHT - d.Height) div 2;
end;
DNewAccountOk.SetImgIndex (FrmMain.WProgUse, 62);
DNewAccountOk.Left := 160;
DNewAccountOk.Top := 417;
DNewAccountCancel.SetImgIndex (FrmMain.WProgUse, 52);
DNewAccountCancel.Left := 448;
DNewAccountCancel.Top := 419;
DNewAccountClose.SetImgIndex (FrmMain.WProgUse, 64);
DNewAccountClose.Left := 587;
DNewAccountClose.Top := 33;
{-----------------------------------------------------------}
//修改密码对话框
d := FrmMain.WProgUse.Images[50];
if d <> nil then begin
DChgPw.SetImgIndex (FrmMain.WProgUse, 50);
DChgPw.Left := (SCREENWIDTH - d.Width) div 2;
DChgPw.Top := (SCREENHEIGHT - d.Height) div 2;
end;
DChgpwOk.SetImgIndex (FrmMain.WProgUse, 62);
DChgPwOk.Left := 182;
DChgPwOk.Top := 252;
DChgpwCancel.SetImgIndex (FrmMain.WProgUse, 52);
DChgPwCancel.Left := 277;
DChgPwCancel.Top := 251;
{-----------------------------------------------------------}
//选择角色对话框
DSelectChr.Left := 0;
DSelectChr.Top := 0;
DSelectChr.Width := SCREENWIDTH;
DSelectChr.Height := SCREENHEIGHT;
DscSelect1.SetImgIndex (FrmMain.WProgUse, 66);
DscSelect2.SetImgIndex (FrmMain.WProgUse, 67);
DscStart.SetImgIndex (FrmMain.WProgUse, 68);
DscNewChr.SetImgIndex (FrmMain.WProgUse, 69);
DscEraseChr.SetImgIndex (FrmMain.WProgUse, 70);
DscCredits.SetImgIndex (FrmMain.WProgUse, 71);
DscExit.SetImgIndex (FrmMain.WProgUse, 72);
DscSelect1.Left := 134;
DscSelect1.Top := 454;
DscSelect2.Left := 685;
DscSelect2.Top := 454;
DscStart.Left := 367;
DscStart.Top := 457;
DscNewChr.Left := 321;
DscNewChr.Top := 488;
DscEraseChr.Left := 311;
DscEraseChr.Top := 509;
DscCredits.Left := 362;
DscCredits.Top := 529;
DscExit.Left := 379;
DscExit.Top := 559;
{-----------------------------------------------------------}
//创建角色对话框
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -