📄 heroconfig.pas
字号:
case I of
0: s01 := '20格';
1: s01 := '30格';
2: s01 := '35格';
3: s01 := '40格';
end;
ComboBoxBagItemCount.Items.AddObject(s01, TObject(g_Config.nHeroBagItemCount[I]));
end;
SpinEditWarrorAttackTime.Value := g_Config.dwHeroWarrorAttackTime;
SpinEditWizardAttackTime.Value := g_Config.dwHeroWizardAttackTime;
SpinEditTaoistAttackTime.Value := g_Config.dwHeroTaoistAttackTime;
CheckBoxKillByMonstDropUseItem.Checked := g_Config.boHeroKillByMonstDropUseItem;
CheckBoxKillByHumanDropUseItem.Checked := g_Config.boHeroKillByHumanDropUseItem;
CheckBoxDieScatterBag.Checked := g_Config.boHeroDieScatterBag;
CheckBoxDieRedScatterBagAll.Checked := g_Config.boHeroDieRedScatterBagAll;
ScrollBarDieDropUseItemRate.Min := 1;
ScrollBarDieDropUseItemRate.Max := 200;
ScrollBarDieDropUseItemRate.Position := g_Config.nHeroDieDropUseItemRate;
ScrollBarDieRedDropUseItemRate.Min := 1;
ScrollBarDieRedDropUseItemRate.Max := 200;
ScrollBarDieRedDropUseItemRate.Position := g_Config.nHeroDieRedDropUseItemRate;
ScrollBarDieScatterBagRate.Min := 1;
ScrollBarDieScatterBagRate.Max := 200;
ScrollBarDieScatterBagRate.Position := g_Config.nHeroDieScatterBagRate;
SpinEditEatHPItemRate.Value := g_Config.nHeroAddHPRate;
SpinEditEatMPItemRate.Value := g_Config.nHeroAddMPRate;
ComboBoxBagItemCount.ItemIndex := -1;
ComboBoxBagItemCount.Text := '选择包裹数';
SpinEditNeedLevel.Value := 1;
SpinEditNeedLevel.Enabled := False;
EditMaxFirDragonPoint.Value := g_Config.nMaxFirDragonPoint;
EditAddFirDragonPoint.Value := g_Config.nAddFirDragonPoint;
EditDecFirDragonPoint.Value := g_Config.nDecFirDragonPoint;
EditHeroAttackRate.Value := g_Config.nHeroAttackRate;
boOpened := True;
ShowModal;
end;
procedure TfrmHeroConfig.FormCreate(Sender: TObject);
var
I: Integer;
begin
GridLevelExp.ColWidths[0] := 30;
GridLevelExp.ColWidths[1] := 100;
GridLevelExp.Cells[0, 0] := '等级';
GridLevelExp.Cells[1, 0] := '经验值';
for I := 1 to GridLevelExp.RowCount - 1 do begin
GridLevelExp.Cells[0, I] := IntToStr(I);
end;
ComboBoxLevelExp.AddItem('原始经验值', TObject(s_OldLevelExp));
ComboBoxLevelExp.AddItem('标准经验值', TObject(s_StdLevelExp));
ComboBoxLevelExp.AddItem('当前1/2倍经验', TObject(s_2Mult));
ComboBoxLevelExp.AddItem('当前1/5倍经验', TObject(s_5Mult));
ComboBoxLevelExp.AddItem('当前1/8倍经验', TObject(s_8Mult));
ComboBoxLevelExp.AddItem('当前1/10倍经验', TObject(s_10Mult));
ComboBoxLevelExp.AddItem('当前1/20倍经验', TObject(s_20Mult));
ComboBoxLevelExp.AddItem('当前1/30倍经验', TObject(s_30Mult));
ComboBoxLevelExp.AddItem('当前1/40倍经验', TObject(s_40Mult));
ComboBoxLevelExp.AddItem('当前1/50倍经验', TObject(s_50Mult));
ComboBoxLevelExp.AddItem('当前1/60倍经验', TObject(s_60Mult));
ComboBoxLevelExp.AddItem('当前1/70倍经验', TObject(s_70Mult));
ComboBoxLevelExp.AddItem('当前1/80倍经验', TObject(s_80Mult));
ComboBoxLevelExp.AddItem('当前1/90倍经验', TObject(s_90Mult));
ComboBoxLevelExp.AddItem('当前1/100倍经验', TObject(s_100Mult));
ComboBoxLevelExp.AddItem('当前1/150倍经验', TObject(s_150Mult));
ComboBoxLevelExp.AddItem('当前1/200倍经验', TObject(s_200Mult));
ComboBoxLevelExp.AddItem('当前1/250倍经验', TObject(s_250Mult));
ComboBoxLevelExp.AddItem('当前1/300倍经验', TObject(s_300Mult));
end;
procedure TfrmHeroConfig.ButtonHeroExpSaveClick(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.SetFocus;
Exit;
end;
NeedExps[I] := dwExp;
end;
g_Config.dwHeroNeedExps := NeedExps;
for I := 1 to 1000 do begin
Config.WriteString('HeroExp', 'Level' + IntToStr(I), IntToStr(g_Config.dwHeroNeedExps[I]));
end;
Config.WriteInteger('HeroSetup', 'StartLevel', g_Config.nHeroStartLevel);
Config.WriteInteger('HeroSetup', 'KillMonExpRate', g_Config.nHeroKillMonExpRate);
for I := Low(g_Config.nHeroBagItemCount) to High(g_Config.nHeroBagItemCount) do begin
Config.WriteInteger('HeroSetup', 'BagItemCount' + IntToStr(I), g_Config.nHeroBagItemCount[I]);
end;
Config.WriteInteger('HeroSetup', 'WarrorAttackTime', g_Config.dwHeroWarrorAttackTime);
Config.WriteInteger('HeroSetup', 'WizardAttackTime', g_Config.dwHeroWizardAttackTime);
Config.WriteInteger('HeroSetup', 'TaoistAttackTime', g_Config.dwHeroTaoistAttackTime);
Config.WriteInteger('HeroSetup', 'HeroAddHPRate', g_Config.nHeroAddHPRate);
Config.WriteInteger('HeroSetup', 'HeroAddMPRate', g_Config.nHeroAddMPRate);
uModValue();
end;
procedure TfrmHeroConfig.EditStartLevelChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nHeroStartLevel := EditStartLevel.Value;
ModValue();
end;
procedure TfrmHeroConfig.EditKillMonExpRateChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nHeroKillMonExpRate := EditKillMonExpRate.Value;
ModValue();
end;
procedure TfrmHeroConfig.ComboBoxBagItemCountChange(Sender: TObject);
begin
SpinEditNeedLevel.Value := Integer(ComboBoxBagItemCount.Items.Objects[ComboBoxBagItemCount.ItemIndex]);
SpinEditNeedLevel.Enabled := True;
end;
procedure TfrmHeroConfig.SpinEditNeedLevelChange(Sender: TObject);
procedure RefBagcount;
var
I: Integer;
begin
for I := 0 to ComboBoxBagItemCount.Items.Count - 1 do begin
g_Config.nHeroBagItemCount[I] := Integer(ComboBoxBagItemCount.Items.Objects[I]);
end;
end;
begin
if not boOpened then Exit;
ComboBoxBagItemCount.Items.Objects[ComboBoxBagItemCount.ItemIndex] := TObject(SpinEditNeedLevel.Value);
RefBagcount;
ModValue();
end;
procedure TfrmHeroConfig.SpinEditWarrorAttackTimeChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.dwHeroWarrorAttackTime := SpinEditWarrorAttackTime.Value;
ModValue();
end;
procedure TfrmHeroConfig.SpinEditWizardAttackTimeChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.dwHeroWizardAttackTime := SpinEditWizardAttackTime.Value;
ModValue();
end;
procedure TfrmHeroConfig.SpinEditTaoistAttackTimeChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.dwHeroTaoistAttackTime := SpinEditTaoistAttackTime.Value;
ModValue();
end;
procedure TfrmHeroConfig.ButtonHeroDieSaveClick(Sender: TObject);
begin
Config.WriteBool('HeroSetup', 'KillByMonstDropUseItem', g_Config.boHeroKillByMonstDropUseItem);
Config.WriteBool('HeroSetup', 'KillByHumanDropUseItem', g_Config.boHeroKillByHumanDropUseItem);
Config.WriteBool('HeroSetup', 'DieScatterBag', g_Config.boHeroDieScatterBag);
Config.WriteBool('HeroSetup', 'DieRedScatterBagAll', g_Config.boHeroDieRedScatterBagAll);
Config.WriteInteger('HeroSetup', 'DieDropUseItemRate', g_Config.nHeroDieDropUseItemRate);
Config.WriteInteger('HeroSetup', 'DieRedDropUseItemRate', g_Config.nHeroDieRedDropUseItemRate);
Config.WriteInteger('HeroSetup', 'DieScatterBagRate', g_Config.nHeroDieScatterBagRate);
uModValue();
end;
procedure TfrmHeroConfig.CheckBoxKillByMonstDropUseItemClick(
Sender: TObject);
begin
if not boOpened then Exit;
g_Config.boHeroKillByMonstDropUseItem := CheckBoxKillByMonstDropUseItem.Checked;
ModValue();
end;
procedure TfrmHeroConfig.CheckBoxKillByHumanDropUseItemClick(
Sender: TObject);
begin
if not boOpened then Exit;
g_Config.boHeroKillByHumanDropUseItem := CheckBoxKillByHumanDropUseItem.Checked;
ModValue();
end;
procedure TfrmHeroConfig.CheckBoxDieScatterBagClick(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.boHeroDieScatterBag := CheckBoxDieScatterBag.Checked;
ModValue();
end;
procedure TfrmHeroConfig.CheckBoxDieRedScatterBagAllClick(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.boHeroDieRedScatterBagAll := CheckBoxDieRedScatterBagAll.Checked;
ModValue();
end;
procedure TfrmHeroConfig.ScrollBarDieDropUseItemRateChange(
Sender: TObject);
var
nPostion: Integer;
begin
nPostion := ScrollBarDieDropUseItemRate.Position;
EditDieDropUseItemRate.Text := IntToStr(nPostion);
if not boOpened then Exit;
g_Config.nHeroDieDropUseItemRate := nPostion;
ModValue();
end;
procedure TfrmHeroConfig.ScrollBarDieRedDropUseItemRateChange(
Sender: TObject);
var
nPostion: Integer;
begin
nPostion := ScrollBarDieRedDropUseItemRate.Position;
EditDieRedDropUseItemRate.Text := IntToStr(nPostion);
if not boOpened then Exit;
g_Config.nHeroDieRedDropUseItemRate := nPostion;
ModValue();
end;
procedure TfrmHeroConfig.ScrollBarDieScatterBagRateChange(Sender: TObject);
var
nPostion: Integer;
begin
nPostion := ScrollBarDieScatterBagRate.Position;
EditDieScatterBagRate.Text := IntToStr(nPostion);
if not boOpened then Exit;
g_Config.nHeroDieScatterBagRate := nPostion;
ModValue();
end;
procedure TfrmHeroConfig.SpinEditEatHPItemRateChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nHeroAddHPRate := SpinEditEatHPItemRate.Value;
ModValue();
end;
procedure TfrmHeroConfig.SpinEditEatMPItemRateChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nHeroAddMPRate := SpinEditEatMPItemRate.Value;
ModValue();
end;
procedure TfrmHeroConfig.ButtonHeroAttackSaveClick(Sender: TObject);
begin
Config.WriteInteger('HeroSetup', 'MaxFirDragonPoint', g_Config.nMaxFirDragonPoint);
Config.WriteInteger('HeroSetup', 'AddFirDragonPoint', g_Config.nAddFirDragonPoint);
Config.WriteInteger('HeroSetup', 'DecFirDragonPoint', g_Config.nDecFirDragonPoint);
Config.WriteInteger('HeroSetup', 'HeroAttackRate', g_Config.nHeroAttackRate);
uModValue();
end;
procedure TfrmHeroConfig.EditMaxFirDragonPointChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nMaxFirDragonPoint := EditMaxFirDragonPoint.Value;
ModValue();
end;
procedure TfrmHeroConfig.EditAddFirDragonPointChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nAddFirDragonPoint := EditAddFirDragonPoint.Value;
ModValue();
end;
procedure TfrmHeroConfig.EditDecFirDragonPointChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nDecFirDragonPoint := EditDecFirDragonPoint.Value;
ModValue();
end;
procedure TfrmHeroConfig.EditHeroAttackRateChange(Sender: TObject);
begin
if not boOpened then Exit;
g_Config.nHeroAttackRate := EditHeroAttackRate.Value;
ModValue();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -