?? gameconfig.pas
字號:
ModValue();
end;
procedure TfrmGameConfig.CheckBoxShowExceptionMsgClick(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.boShowExceptionMsg := CheckBoxShowExceptionMsg.Checked;
ModValue();
end;
procedure TfrmGameConfig.CheckBoxCanOldClientLogonClick(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.boCanOldClientLogon := CheckBoxCanOldClientLogon.Checked;
ModValue();
end;
procedure TfrmGameConfig.CheckBoxSendOnlineCountClick(Sender: TObject);
var
boStatus: Boolean;
begin
boStatus := CheckBoxSendOnlineCount.Checked;
EditSendOnlineCountRate.Enabled := boStatus;
EditSendOnlineTime.Enabled := boStatus;
if not boOpened then Exit;
g_Config.boSendOnlineCount := boStatus;
ModValue();
end;
procedure TfrmGameConfig.EditSendOnlineCountRateChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nSendOnlineCountRate := EditSendOnlineCountRate.Value;
ModValue();
end;
procedure TfrmGameConfig.EditSendOnlineTimeChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.dwSendOnlineTime := EditSendOnlineTime.Value * 1000;
ModValue();
end;
procedure TfrmGameConfig.EditMonsterPowerRateChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nMonsterPowerRate := EditMonsterPowerRate.Value;
ModValue();
end;
procedure TfrmGameConfig.EditEditItemsPowerRateChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nItemsPowerRate := EditEditItemsPowerRate.Value;
ModValue();
end;
procedure TfrmGameConfig.EditItemsACPowerRateChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nItemsACPowerRate := EditItemsACPowerRate.Value;
ModValue();
end;
procedure TfrmGameConfig.CheckBoxDisableStruckClick(Sender: TObject);
begin
EditStruckTime.Enabled := not CheckBoxDisableStruck.Checked;
if not boOpened then Exit;
g_Config.boDisableStruck := CheckBoxDisableStruck.Checked;
ModValue();
end;
procedure TfrmGameConfig.CheckBoxDisableSelfStruckClick(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.boDisableSelfStruck := CheckBoxDisableSelfStruck.Checked;
ModValue();
end;
procedure TfrmGameConfig.EditStruckTimeChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.dwStruckTime := EditStruckTime.Value;
ModValue();
end;
procedure TfrmGameConfig.RefGameVarConf;
begin
EditSoftVersionDate.Text := IntToStr(g_Config.nSoftVersionDate);
EditConsoleShowUserCountTime.Value := g_Config.dwConsoleShowUserCountTime div 1000;
EditShowLineNoticeTime.Value := g_Config.dwShowLineNoticeTime div 1000;
ComboBoxLineNoticeColor.ItemIndex := _MAX(0, _MIN(3, g_Config.nLineNoticeColor));
EditLineNoticePreFix.Text := g_Config.sLineNoticePreFix;
CheckBoxShowMakeItemMsg.Checked := g_Config.boShowMakeItemMsg;
CbViewHack.Checked := g_Config.boViewHackMessage;
CkViewAdmfail.Checked := g_Config.boViewAdmissionFailure;
CheckBoxShowExceptionMsg.Checked := g_Config.boShowExceptionMsg;
CheckBoxSendOnlineCount.Checked := g_Config.boSendOnlineCount;
EditSendOnlineCountRate.Value := g_Config.nSendOnlineCountRate;
EditSendOnlineTime.Value := g_Config.dwSendOnlineTime div 1000;
CheckBoxSendOnlineCountClick(CheckBoxSendOnlineCount);
EditMonsterPowerRate.Value := g_Config.nMonsterPowerRate;
EditEditItemsPowerRate.Value := g_Config.nItemsPowerRate;
EditItemsACPowerRate.Value := g_Config.nItemsACPowerRate;
CheckBoxCanOldClientLogon.Checked := g_Config.boCanOldClientLogon;
end;
procedure TfrmGameConfig.ButtonGeneralSaveClick(Sender: TObject);
var
SoftVersionDate: Integer;
begin
SoftVersionDate := Str_ToInt(Trim(EditSoftVersionDate.Text), -1);
if (SoftVersionDate < 0) or (SoftVersionDate > High(Integer)) then begin
Application.MessageBox('客戶端版號設置錯誤!!!', '錯誤信息', MB_OK + MB_ICONERROR);
EditSoftVersionDate.SetFocus;
Exit;
end;
g_Config.nSoftVersionDate := SoftVersionDate;
{$IF SoftVersion <> VERDEMO}
Config.WriteInteger('Setup', 'SoftVersionDate', g_Config.nSoftVersionDate);
Config.WriteInteger('Setup', 'ConsoleShowUserCountTime', g_Config.dwConsoleShowUserCountTime);
Config.WriteInteger('Setup', 'ShowLineNoticeTime', g_Config.dwShowLineNoticeTime);
Config.WriteInteger('Setup', 'LineNoticeColor', g_Config.nLineNoticeColor);
StringConf.WriteString('String', 'LineNoticePreFix', g_Config.sLineNoticePreFix);
Config.WriteBool('Setup', 'ShowMakeItemMsg', g_Config.boShowMakeItemMsg);
Config.WriteString('Server', 'ViewHackMessage', BoolToStr(g_Config.boViewHackMessage));
Config.WriteString('Server', 'ViewAdmissionFailure', BoolToStr(g_Config.boViewAdmissionFailure));
Config.WriteBool('Setup', 'ShowExceptionMsg', g_Config.boShowExceptionMsg);
Config.WriteBool('Setup', 'SendOnlineCount', g_Config.boSendOnlineCount);
Config.WriteInteger('Setup', 'SendOnlineCountRate', g_Config.nSendOnlineCountRate);
Config.WriteInteger('Setup', 'SendOnlineTime', g_Config.dwSendOnlineTime);
Config.WriteInteger('Setup', 'MonsterPowerRate', g_Config.nMonsterPowerRate);
Config.WriteInteger('Setup', 'ItemsPowerRate', g_Config.nItemsPowerRate);
Config.WriteInteger('Setup', 'ItemsACPowerRate', g_Config.nItemsACPowerRate);
Config.WriteBool('Setup', 'CanOldClientLogon', g_Config.boCanOldClientLogon);
{$IFEND}
uModValue();
end;
procedure TfrmGameConfig.EditKillMonExpMultipleChange(Sender: TObject);
begin
if EditKillMonExpMultiple.Text = '' then begin
EditKillMonExpMultiple.Text := '0';
Exit;
end;
if not boOpened then Exit;
g_Config.dwKillMonExpMultiple := EditKillMonExpMultiple.Value;
ModValue();
end;
procedure TfrmGameConfig.CheckBoxHighLevelKillMonFixExpClick(
Sender: TObject);
begin
if not boOpened then Exit;
g_Config.boHighLevelKillMonFixExp := CheckBoxHighLevelKillMonFixExp.Checked;
ModValue();
end;
procedure TfrmGameConfig.GridLevelExpSetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: string);
begin
if not boOpened then Exit;
ModValue();
end;
procedure TfrmGameConfig.ComboBoxLevelExpClick(Sender: TObject);
var
I: Integer;
LevelExpScheme: TLevelExpScheme;
dwOneLevelExp: LongWord;
dwExp: LongWord;
begin
if not boOpened then Exit;
if Application.MessageBox('升級經驗計劃設置的經驗將立即生效,是否確認使用此經驗計劃?', '確認信息', MB_YESNO + MB_ICONQUESTION) = IDNO then begin
Exit;
end;
LevelExpScheme := TLevelExpScheme(ComboBoxLevelExp.Items.Objects[ComboBoxLevelExp.ItemIndex]);
case LevelExpScheme of //
s_OldLevelExp: g_Config.dwNeedExps := g_dwOldNeedExps;
s_StdLevelExp: begin
g_Config.dwNeedExps := g_dwOldNeedExps;
dwOneLevelExp := 4000000000 div High(g_Config.dwNeedExps);
for I := 1 to MAXCHANGELEVEL do begin
if (26 + I) > MAXCHANGELEVEL then Break;
dwExp := dwOneLevelExp * LongWord(I);
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[26 + I] := dwExp;
end;
end;
s_2Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 2;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_5Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 5;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_8Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 8;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_10Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 10;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_20Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 20;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_30Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 30;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_40Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 40;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_50Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 50;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_60Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 60;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_70Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 70;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_80Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 80;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_90Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 90;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_100Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 100;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_150Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 150;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_200Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 200;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_250Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 250;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
s_300Mult: begin
for I := 1 to MAXCHANGELEVEL do begin
dwExp := g_Config.dwNeedExps[I] div 300;
if dwExp = 0 then dwExp := 1;
g_Config.dwNeedExps[I] := dwExp;
end;
end;
end;
for I := 1 to GridLevelExp.RowCount - 1 do begin
GridLevelExp.Cells[1, I] := IntToStr(g_Config.dwNeedExps[I]);
end;
ModValue();
end;
procedure TfrmGameConfig.ButtonExpSaveClick(Sender: TObject);
var
I: Integer;
dwExp: LongWord;
NeedExps: TLevelNeedExp;
begin
for I := 1 to GridLevelExp.RowCount - 1 do begin
dwExp := Str_ToInt(GridLevelExp.Cells[1, I], 0);
if (dwExp <= 0) or (dwExp > High(LongWord)) then begin
Application.MessageBox(PChar('等級 ' + IntToStr(I) + ' 升級經驗設置錯誤!!!'), '錯誤信息', MB_OK + MB_ICONERROR);
GridLevelExp.Row := I;
GridLevelExp.Se
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -