📄 fsrvvalue.pas
字号:
unit FSrvValue;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Spin, M2Share;
type
TFrmServerValue = class(TForm)
BitBtn1: TBitBtn;
CbViewHack: TCheckBox;
CkViewAdmfail: TCheckBox;
GroupBox1: TGroupBox;
Label8: TLabel;
Label7: TLabel;
Label9: TLabel;
Label10: TLabel;
EGateLoad: TSpinEdit;
EAvailableBlock: TSpinEdit;
ECheckBlock: TSpinEdit;
ESendBlock: TSpinEdit;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
EHum: TSpinEdit;
EMon: TSpinEdit;
EZen: TSpinEdit;
ESoc: TSpinEdit;
ENpc: TSpinEdit;
EDec: TSpinEdit;
GroupBox3: TGroupBox;
Label15: TLabel;
EditZenMonRate: TSpinEdit;
Label16: TLabel;
EditProcessTime: TSpinEdit;
EditZenMonTime: TSpinEdit;
Label17: TLabel;
Label18: TLabel;
ButtonDefault: TButton;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure EditZenMonRateChange(Sender: TObject);
procedure EditZenMonTimeChange(Sender: TObject);
procedure EditProcessTimeChange(Sender: TObject);
procedure ESendBlockChange(Sender: TObject);
procedure ECheckBlockChange(Sender: TObject);
procedure EGateLoadChange(Sender: TObject);
procedure EHumChange(Sender: TObject);
procedure EMonChange(Sender: TObject);
procedure EZenChange(Sender: TObject);
procedure ESocChange(Sender: TObject);
procedure ENpcChange(Sender: TObject);
procedure EAvailableBlockChange(Sender: TObject);
procedure CbViewHackClick(Sender: TObject);
procedure CkViewAdmfailClick(Sender: TObject);
procedure ButtonDefaultClick(Sender: TObject);
private
boOpened:Boolean;
boModValued:Boolean;
procedure ModValue();
procedure uModValue();
procedure RefShow();
{ Private declarations }
public
function AdjuestServerConfig():Boolean;
{ Public declarations }
end;
var
FrmServerValue: TFrmServerValue;
implementation
uses HUtil32;
{$R *.dfm}
{ TFrmServerValue }
procedure TFrmServerValue.ModValue;
begin
boModValued:=True;
BitBtn1.Enabled:=True;
end;
procedure TFrmServerValue.uModValue;
begin
boModValued:=False;
BitBtn1.Enabled:=False;
end;
function TFrmServerValue.AdjuestServerConfig: Boolean;
begin
boOpened:=False;
uModValue();
RefShow();
boOpened:=True;
ShowModal;
Result:=True;
end;
procedure TFrmServerValue.BitBtn1Click(Sender: TObject);
var
tBool:String;
begin
Config.WriteInteger('Server','HumLimit',g_dwHumLimit);
Config.WriteInteger('Server','MonLimit',g_dwMonLimit);
Config.WriteInteger('Server','ZenLimit',g_dwZenLimit);
Config.WriteInteger('Server','SocLimit',g_dwSocLimit);
Config.WriteInteger('Server','DecLimit',nDecLimit);
Config.WriteInteger('Server','NpcLimit',g_dwNpcLimit);
Config.WriteInteger('Server','SendBlock',g_Config.nSendBlock);
Config.WriteInteger('Server','CheckBlock',g_Config.nCheckBlock);
Config.WriteInteger('Server','GateLoad',g_Config.nGateLoad);
if g_Config.boViewHackMessage then
tBool:='TRUE'
else tBool:='FLASE';
Config.WriteString('Server','ViewHackMessage',tBool);
if g_Config.boViewAdmissionFailure then
tBool:='TRUE'
else tBool:='FLASE';
Config.WriteString('Server','ViewAdmissionFailure',tBool);
Config.WriteInteger('Setup','GenMonRate',g_Config.nMonGenRate);
Config.WriteInteger('Server','ProcessMonstersTime',g_Config.dwProcessMonstersTime);
Config.WriteInteger('Server','RegenMonstersTime',g_Config.dwRegenMonstersTime);
uModValue();
end;
procedure TFrmServerValue.FormCreate(Sender: TObject);
begin
ESendBlock.Hint:='与网关之间一次传输数据块大小(字节)。';
ECheckBlock.Hint:='与网关之间传输指定大小数据后,进行一次自检。';
EGateLoad.Hint:='设置与网关传输负载测试数据量大小。';
EHum.Hint:='处理人物数据分配时间。';
EMon.Hint:='处理怪物数据分配时间。';
EZen.Hint:='刷新怪物数据分配时间。';
ESoc.Hint:='处理网关数据分配时间。';
ENpc.Hint:='处理NPC数据分配时间。';
EditZenMonRate.Hint:='刷怪倍率,倍率除以10为实际倍率(设置为10则为1:1),此倍率以刷怪文件设置为准,数字越大,刷怪数量越小。';
EditZenMonTime.Hint:='刷怪间隔控制,数字越大,刷怪速度越慢。';
EditProcessTime.Hint:='处理怪物间隔时间,此设置数字越大,怪物行动越慢。';
end;
procedure TFrmServerValue.EditZenMonRateChange(Sender: TObject);
begin
if not boOpened then exit;
g_Config.nMonGenRate:=EditZenMonRate.Value;
ModValue();
end;
procedure TFrmServerValue.EditZenMonTimeChange(Sender: TObject);
begin
if not boOpened then exit;
g_Config.dwRegenMonstersTime:=EditZenMonTime.Value;
ModValue();
end;
procedure TFrmServerValue.EditProcessTimeChange(Sender: TObject);
begin
if not boOpened then exit;
g_Config.dwProcessMonstersTime:=EditProcessTime.Value;
ModValue();
end;
procedure TFrmServerValue.ESendBlockChange(Sender: TObject);
begin
if not boOpened then exit;
g_Config.nSendBlock:=_MAX(10,ESendBlock.Value);
ModValue();
end;
procedure TFrmServerValue.ECheckBlockChange(Sender: TObject);
begin
if not boOpened then exit;
g_Config.nCheckBlock:=_MAX(10,ECheckBlock.Value);
ModValue();
end;
procedure TFrmServerValue.EGateLoadChange(Sender: TObject);
begin
if not boOpened then exit;
g_Config.nGateLoad:=EGateLoad.Value;
ModValue();
end;
procedure TFrmServerValue.EHumChange(Sender: TObject);
begin
if not boOpened then exit;
g_dwHumLimit:=_MIN(150,EHum.Value);
ModValue();
end;
procedure TFrmServerValue.EMonChange(Sender: TObject);
begin
if not boOpened then exit;
g_dwMonLimit:=_MIN(150,EMon.Value);
ModValue();
end;
procedure TFrmServerValue.EZenChange(Sender: TObject);
begin
if not boOpened then exit;
g_dwZenLimit:=_MIN(150,EZen.Value);
ModValue();
end;
procedure TFrmServerValue.ESocChange(Sender: TObject);
begin
if not boOpened then exit;
g_dwSocLimit:=_MIN(150,ESoc.Value);
ModValue();
end;
procedure TFrmServerValue.ENpcChange(Sender: TObject);
begin
if not boOpened then exit;
g_dwNpcLimit:=_MIN(150,ENpc.Value);
ModValue();
end;
procedure TFrmServerValue.EAvailableBlockChange(Sender: TObject);
begin
if not boOpened then exit;
g_Config.nAvailableBlock:=_MAX(10,EAvailableBlock.Value);
ModValue();
end;
procedure TFrmServerValue.CbViewHackClick(Sender: TObject);
begin
if not boOpened then exit;
g_Config.boViewHackMessage:=CbViewHack.Checked;
ModValue();
end;
procedure TFrmServerValue.CkViewAdmfailClick(Sender: TObject);
begin
if not boOpened then exit;
g_Config.boViewAdmissionFailure:=CkViewAdmfail.Checked;
ModValue();
end;
procedure TFrmServerValue.RefShow;
begin
EHum.Value:=g_dwHumLimit;
EMon.Value:=g_dwMonLimit;
EZen.Value:=g_dwZenLimit;
ESoc.Value:=g_dwSocLimit;
EDec.Value:=nDecLimit;
ENpc.Value:=g_dwNpcLimit;
ESendBlock.Value:=g_Config.nSendBlock;
ECheckBlock.Value:=g_Config.nCheckBlock;
EAvailableBlock.Value:=g_Config.nAvailableBlock;
EGateLoad.Value:=g_Config.nGateLoad;
CbViewHack.Checked:=g_Config.boViewHackMessage;
CkViewAdmfail.Checked:=g_Config.boViewAdmissionFailure;
EditZenMonRate.Value:=g_Config.nMonGenRate;
EditZenMonTime.Value:=g_Config.dwRegenMonstersTime;
EditProcessTime.Value:=g_Config.dwProcessMonstersTime;
end;
procedure TFrmServerValue.ButtonDefaultClick(Sender: TObject);
begin
if Application.MessageBox('是否确认恢复默认设置?', '确认信息', MB_YESNO + MB_ICONQUESTION) <> IDYES then begin
exit;
end;
g_dwHumLimit:=30;
g_dwMonLimit:=10;
g_dwZenLimit:=5;
g_dwSocLimit:=10;
nDecLimit:=20;
g_dwNpcLimit:=5;
g_Config.nSendBlock:=1024;
g_Config.nCheckBlock:=8000;
g_Config.nAvailableBlock:=8000;
g_Config.nGateLoad:=0;;
g_Config.boViewHackMessage:=False;
g_Config.boViewAdmissionFailure:=False;
g_Config.nMonGenRate:=10;
g_Config.dwRegenMonstersTime:=200;
g_Config.dwProcessMonstersTime:=50;
RefShow();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -