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

📄 gameconfig.pas

📁 原版翎风(LF)引擎(M2)源码(Delphi)
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 High(g_Config.dwNeedExps) do begin
        if (26 + I) > High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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 High(g_Config.dwNeedExps) 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;    //nicky
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.dwNeedExps:=NeedExps;

  ExpConf.WriteInteger('Exp','KillMonExpMultiple',g_Config.dwKillMonExpMultiple);
  ExpConf.WriteBool('Exp','HighLevelKillMonFixExp',g_Config.boHighLevelKillMonFixExp);
  for I := 1 to high(g_Config.dwNeedExps) do begin
    ExpConf.WriteString('Exp','Level' + IntToStr(I),IntToStr(g_Config.dwNeedExps[I]));
  end;
  uModValue();
end;

procedure TfrmGameConfig.EditRepairDoorPriceChange(Sender: TObject);
begin
  if EditRepairDoorPrice.Text = '' then begin
    EditRepairDoorPrice.Text:='0';
    exit;
  end;
  if not boOpened then exit;
  g_Config.nRepairDoorPrice:=EditRepairDoorPrice.Value;
  ModValue();
end;

procedure TfrmGameConfig.EditRepairWallPriceChange(Sender: TObject);
begin
  if EditRepairWallPrice.Text = '' then begin
    EditRepairWallPrice.Text:='0';
    exit;
  end;
  if not boOpened then exit;
  g_Config.nRepairWallPrice:=EditRepairWallPrice.Value;
  ModValue();
end;

procedure TfrmGameConfig.EditHireArcherPriceChange(Sender: TObject);
begin
  if EditHireArcherPrice.Text = '' then begin
    EditHireArcherPrice.Text:='0';
    exit;
  end;
  if not boOpened then exit;
  g_Config.nHireArcherPrice:=EditHireArcherPrice.Value;
  ModValue();
end;

procedure TfrmGameConfig.EditHireGuardPriceChange(Sender: TObject);
begin
  if EditHireGuardPrice.Text = '' then begin
    EditHireGuardPrice.Text:='0';
    exit;
  end;
  if not boOpened then exit;
  g_Config.nHireGuardPrice:=EditHireGuardPrice.Value;
  ModValue();
end;

procedure TfrmGameConfig.EditCastleGoldMaxChange(Sender: TObject);
begin
  if EditCastleGoldMax.Text = '' then begin
    EditCastleGoldMax.Text:='0';
    exit;
  end;
  if not boOpened then exit;
  g_Config.nCastleGoldMax:=EditCastleGoldMax.Value;
  ModValue();
end;

procedure TfrmGameConfig.EditCastleOneDayGoldChange(Sender: TObject);
begin
  if EditCastleOneDayGold.Text = '' then begin
    EditCastleOneDayGold.Text:='0';
    exit;
  end;
  if not boOpened then exit;
  g_Config.nCastleOneDayGold:=EditCastleOneDayGold.Value;
  ModValue();
end;

procedure TfrmGameConfig.EditCastleHomeMapChange(Sender: TObject);
begin
  if not boOpened then exit;
  g_Config.sCastleHomeMap:=Trim(EditCastleHomeMap.Text);
  ModValue();
end;

procedure TfrmGameConfig.EditCastleHomeXChange(Sender: TObject);
begin
  if EditCastleHomeX.Text = '' then begin
    EditCastleHomeX.Text:='0';
    exit;
  end;
  if not boOpened then exit;
  g_Config.nCastleHomeX:=EditCastleHomeX.Value;
  ModValue();
end;

procedure TfrmGameConfig.EditCastleHomeYChange(Sender: TObject);
begin
  if EditCastleHomeY.Text = '' then begin
    EditCastleHomeY.Text:='0';
    exit;
  end;
  if not boOpened then exit;
  g_Config.nCastleHomeY:=EditCastleHomeY.Value;
  ModValue();
end;

⌨️ 快捷键说明

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