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

📄 gmain.pas

📁 原版翎风(LF)引擎(M2)源码(Delphi)
💻 PAS
📖 第 1 页 / 共 5 页
字号:

procedure TfrmMain.GenRunGateConfig;
var
  IniGameConf:TIniFile;
  sIniFile:String;
  SaveList:TStringList;
begin
  sIniFile:=g_sGameDirectory + g_sRunGate_Directory;
  if not DirectoryExists(sIniFile) then begin
    CreateDir(sIniFile);
  end;
  IniGameConf:=TIniFile.Create(sIniFile + g_sRunGate_ConfigFile);
  IniGameConf.WriteString('GameGate','Title',g_sGameName + '(' + IntToStr(g_nRunGate_GatePort) + ')');
  IniGameConf.WriteInteger('GameGate','ServerPort',g_nM2Server_GatePort{g_nRunGate_ServerPort});
  IniGameConf.WriteString('GameGate','GateAddr',g_sRunGate_GateAddr);
  IniGameConf.WriteInteger('GameGate','GatePort',g_nRunGate_GatePort);

  IniGameConf.Free;
end;


procedure TfrmMain.RefGameConsole;
begin
  m_boOpen:=False;
  EditM2ServerProgram.Text:=g_sGameDirectory + g_sM2Server_Directory + g_sM2Server_ProgramFile;
  EditDBServerProgram.Text:=g_sGameDirectory + g_sDBServer_Directory + g_sDBServer_ProgramFile;
  EditDBServerGatePort.Text:=IntToStr(g_nDBServer_Config_GatePort);
  EditDBServerServerPort.Text:=IntToStr(g_nDBServer_Config_ServerPort);
  CheckBoxDBServerGetStart.Checked:=g_boDBServer_GetStart;

  EditLoginSrvProgram.Text:=g_sGameDirectory + g_sLoginServer_Directory + g_sLoginServer_ProgramFile;
  EditLogServerProgram.Text:=g_sGameDirectory + g_sLogServer_Directory + g_sLogServer_ProgramFile;
  EditLoginGateProgram.Text:=g_sGameDirectory + g_sLoginGate_Directory + g_sLoginGate_ProgramFile;
  EditSelGateProgram.Text:=g_sGameDirectory + g_sSelGate_Directory + g_sSelGate_ProgramFile;
  EditRunGateProgram.Text:=g_sGameDirectory + g_sRunGate_Directory + g_sRunGate_ProgramFile;
  EditRunGate1Program.Text:=g_sGameDirectory + g_sRunGate_Directory + g_sRunGate_ProgramFile;
  EditRunGate2Program.Text:=g_sGameDirectory + g_sRunGate_Directory + g_sRunGate_ProgramFile;

  CheckBoxM2Server.Checked:=g_boM2Server_GetStart;
  CheckBoxM2Server.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sM2Server_ProgramFile]);
  CheckBoxDBServer.Checked:=g_boDBServer_GetStart;
  CheckBoxDBServer.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sDBServer_ProgramFile]);
  CheckBoxLoginServer.Checked:=g_boLoginServer_GetStart;
  CheckBoxLoginServer.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sLoginServer_ProgramFile]);
  CheckBoxLogServer.Checked:=g_boLogServer_GetStart;
  CheckBoxLogServer.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sLogServer_ProgramFile]);
  CheckBoxLoginGate.Checked:=g_boLoginGate_GetStart;
  CheckBoxLoginGate.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sLoginGate_ProgramFile]);
  CheckBoxSelGate.Checked:=g_boSelGate_GetStart;
  CheckBoxSelGate.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sSelGate_ProgramFile]);
  CheckBoxRunGate.Checked:=g_boRunGate_GetStart;
  CheckBoxRunGate.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sRunGate_ProgramFile]);
  CheckBoxRunGate1.Checked:=g_boRunGate1_GetStart;
  CheckBoxRunGate1.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sRunGate_ProgramFile]);
  CheckBoxRunGate2.Checked:=g_boRunGate2_GetStart;
  CheckBoxRunGate2.Hint:=format('程序所在位置: %s%s%s',[g_sGameDirectory,g_sDBServer_Directory,g_sRunGate_ProgramFile]);

  EditGameDir.Text:=g_sGameDirectory;
  EditHeroDB.Text:=g_sHeroDBName;
  EditGameName.Text:=g_sGameName;
  EditGameExtIPaddr.Text:=g_sExtIPaddr;
  CheckBoxDynamicIPMode.Checked:=g_boDynamicIPMode;
  EditGameExtIPaddr.Enabled:=not g_boDynamicIPMode;

  EditLoginGate_MainFormX.Value:=g_nLoginGate_MainFormX;
  EditLoginGate_MainFormY.Value:=g_nLoginGate_MainFormY;
  CheckBoxboLoginGate_GetStart.Checked:=g_boLoginGate_GetStart;
  EditLoginGate_GatePort.Text:=IntToStr(g_nLoginGate_GatePort);

  EditSelGate_MainFormX.Value:=g_nSelGate_MainFormX;
  EditSelGate_MainFormY.Value:=g_nSelGate_MainFormY;
  CheckBoxboSelGate_GetStart.Checked:=g_boSelGate_GetStart;
  EditSelGate_GatePort.Text:=IntToStr(g_nSelGate_GatePort);
  EditSelGate_GatePort1.Text:=IntToStr(g_nSelGate_GatePort1);

  EditRunGate_Connt.Value:=g_nRunGate_Count;
  EditRunGate_GatePort1.Text:=IntToStr(g_nRunGate_GatePort);
  EditRunGate_GatePort2.Text:=IntToStr(g_nRunGate1_GatePort);
  EditRunGate_GatePort3.Text:=IntToStr(g_nRunGate2_GatePort);
  EditRunGate_GatePort4.Text:=IntToStr(g_nRunGate3_GatePort);
  EditRunGate_GatePort5.Text:=IntToStr(g_nRunGate4_GatePort);
  EditRunGate_GatePort6.Text:=IntToStr(g_nRunGate5_GatePort);
  EditRunGate_GatePort7.Text:=IntToStr(g_nRunGate6_GatePort);
  EditRunGate_GatePort8.Text:=IntToStr(g_nRunGate7_GatePort);

  EditLoginServer_MainFormX.Value:=g_nLoginServer_MainFormX;
  EditLoginServer_MainFormY.Value:=g_nLoginServer_MainFormY;
  EditLoginServerGatePort.Text:=IntToStr(g_nLoginServer_GatePort);
  EditLoginServerServerPort.Text:=IntToStr(g_nLoginServer_ServerPort);
  CheckBoxboLoginServer_GetStart.Checked:=g_boLoginServer_GetStart;


  EditDBServer_MainFormX.Value:=g_nDBServer_MainFormX;
  EditDBServer_MainFormY.Value:=g_nDBServer_MainFormY;
  CheckBoxAutoBackupHumData.Checked:=g_boDBServer_AutoBackup;
  EditBackupTime.Value:=g_dwDBServer_BackupTime div (60 * 1000);
  
  EditLogServer_MainFormX.Value:=g_nLogServer_MainFormX;
  EditLogServer_MainFormY.Value:=g_nLogServer_MainFormY;
  EditLogServerPort.Text:=IntToStr(g_nLogServer_Port);
  CheckBoxLogServerGetStart.Checked:=g_boLogServer_GetStart;

  EditM2Server_MainFormX.Value:=g_nM2Server_MainFormX;
  EditM2Server_MainFormY.Value:=g_nM2Server_MainFormY;
  EditM2Server_TestLevel.Value:=g_nM2Server_TestLevel;
  EditM2Server_TestGold.Value:=g_nM2Server_TestGold;
  EditM2ServerGatePort.Text:=IntToStr(g_nM2Server_GatePort);
  EditM2ServerMsgSrvPort.Text:=IntToStr(g_nM2Server_MsgSrvPort);

  CheckBoxM2ServerGetStart.Checked:=g_boM2Server_GetStart;

  m_boOpen:=True;
end;
procedure TfrmMain.CheckBoxDBServerClick(Sender: TObject);
begin
  g_boDBServer_GetStart:=CheckBoxDBServer.Checked;
end;

procedure TfrmMain.CheckBoxLoginServerClick(Sender: TObject);
begin
  g_boLoginServer_GetStart:=CheckBoxLoginServer.Checked;
end;

procedure TfrmMain.CheckBoxM2ServerClick(Sender: TObject);
begin
  g_boM2Server_GetStart:=CheckBoxM2Server.Checked;
end;

procedure TfrmMain.CheckBoxLogServerClick(Sender: TObject);
begin
  g_boLogServer_GetStart:=CheckBoxLogServer.Checked;
end;

procedure TfrmMain.CheckBoxLoginGateClick(Sender: TObject);
begin
  g_boLoginGate_GetStart:=CheckBoxLoginGate.Checked;
end;

procedure TfrmMain.CheckBoxSelGateClick(Sender: TObject);
begin
  g_boSelGate_GetStart:=CheckBoxSelGate.Checked;
end;

procedure TfrmMain.CheckBoxRunGateClick(Sender: TObject);
begin
  g_boRunGate_GetStart:=CheckBoxRunGate.Checked;
end;

procedure TfrmMain.CheckBoxRunGate1Click(Sender: TObject);
begin
  g_boRunGate1_GetStart:=CheckBoxRunGate1.Checked;
end;

procedure TfrmMain.CheckBoxRunGate2Click(Sender: TObject);
begin
  g_boRunGate2_GetStart:=CheckBoxRunGate2.Checked;
end;
procedure TfrmMain.ButtonStartGameClick(Sender: TObject);
begin
  SetWindowPos(Self.Handle,Self.Handle,Self.Left,Self.Top,Self.Width,Self.Height,$40);
  case m_nStartStatus of
    0: begin
      if Application.MessageBox('是否确认启动游戏服务器 ?','确认信息',MB_YESNO + MB_ICONQUESTION) = mrYes then begin
        StartGame();
      end;
    end;
    1: begin
      if Application.MessageBox('是否确认中止启动游戏服务器 ?','确认信息',MB_YESNO + MB_ICONQUESTION) = mrYes then begin
        TimerStartGame.Enabled:=False;
        m_nStartStatus:=2;
        ButtonStartGame.Caption:=g_sButtonStopGame;
        Exit;
      end;
    end;
    2: begin
      if Application.MessageBox('是否确认停止游戏服务器 ?','确认信息',MB_YESNO + MB_ICONQUESTION) = mrYes then begin
        StopGame();
      end;
    end;
    3: begin
      if Application.MessageBox('是否确认中止启动游戏服务器 ?','确认信息',MB_YESNO + MB_ICONQUESTION) = mrYes then begin
        TimerStopGame.Enabled:=False;
        m_nStartStatus:=2;
        ButtonStartGame.Caption:=g_sButtonStopGame;
      end;
    end;
  end;
  {
  if CreateProcess(nil,
                   PChar(sProgamFile),
                   nil,
                   nil,
                   False,
                   IDLE_PRIORITY_CLASS,
                   nil,
                   nil,
                   StartUpInfo,
                   ProcessInfo) then begin
  }
end;

procedure TfrmMain.StartGame;
var
  nRetCode:Integer;
begin
  FillChar(DBServer,SizeOf(TProgram),#0);
  DBServer.boGetStart:=g_boDBServer_GetStart;
  DBServer.boReStart:=True;
  DBServer.sDirectory:=g_sGameDirectory + g_sDBServer_Directory;
  DBServer.sProgramFile:=g_sDBServer_ProgramFile;
  DBServer.nMainFormX:=g_nDBServer_MainFormX;
  DBServer.nMainFormY:=g_nDBServer_MainFormY;  

  FillChar(LoginServer,SizeOf(TProgram),#0);
  LoginServer.boGetStart:=g_boLoginServer_GetStart;
  LoginServer.boReStart:=True;
  LoginServer.sDirectory:=g_sGameDirectory + g_sLoginServer_Directory;
  LoginServer.sProgramFile:=g_sLoginServer_ProgramFile;
  LoginServer.nMainFormX:=g_nLoginServer_MainFormX;
  LoginServer.nMainFormY:=g_nLoginServer_MainFormY;  

  FillChar(LogServer,SizeOf(TProgram),#0);
  LogServer.boGetStart:=g_boLogServer_GetStart;
  LogServer.boReStart:=True;
  LogServer.sDirectory:=g_sGameDirectory + g_sLogServer_Directory;
  LogServer.sProgramFile:=g_sLogServer_ProgramFile;
  LogServer.nMainFormX:=g_nLogServer_MainFormX;
  LogServer.nMainFormY:=g_nLogServer_MainFormY;

  FillChar(M2Server,SizeOf(TProgram),#0);
  M2Server.boGetStart:=g_boM2Server_GetStart;
  M2Server.boReStart:=True;
  M2Server.sDirectory:=g_sGameDirectory + g_sM2Server_Directory;
  M2Server.sProgramFile:=g_sM2Server_ProgramFile;
  M2Server.nMainFormX:=g_nM2Server_MainFormX;
  M2Server.nMainFormY:=g_nM2Server_MainFormY;

  FillChar(RunGate,SizeOf(TProgram),#0);
  RunGate.boGetStart:=g_boRunGate_GetStart;
  RunGate.boReStart:=True;
  RunGate.sDirectory:=g_sGameDirectory + g_sRunGate_Directory;
  RunGate.sProgramFile:=g_sRunGate_ProgramFile;

  FillChar(RunGate1,SizeOf(TProgram),#0);
  RunGate1.boGetStart:=g_boRunGate1_GetStart;


  RunGate1.boReStart:=True;
  RunGate1.sDirectory:=g_sGameDirectory + g_sRunGate_Directory;
  RunGate1.sProgramFile:=g_sRunGate_ProgramFile;

  FillChar(RunGate2,SizeOf(TProgram),#0);
  RunGate2.boGetStart:=g_boRunGate2_GetStart;

  RunGate2.boReStart:=True;
  RunGate2.sDirectory:=g_sGameDirectory + g_sRunGate_Directory;
  RunGate2.sProgramFile:=g_sRunGate_ProgramFile;

  FillChar(RunGate3,SizeOf(TProgram),#0);
  RunGate3.boGetStart:=g_boRunGate3_GetStart;

  RunGate3.boReStart:=True;
  RunGate3.sDirectory:=g_sGameDirectory + g_sRunGate_Directory;
  RunGate3.sProgramFile:=g_sRunGate_ProgramFile;

  FillChar(RunGate4,SizeOf(TProgram),#0);
  RunGate4.boGetStart:=g_boRunGate4_GetStart;

  RunGate4.boReStart:=True;
  RunGate4.sDirectory:=g_sGameDirectory + g_sRunGate_Directory;
  RunGate4.sProgramFile:=g_sRunGate_ProgramFile;

  FillChar(RunGate5,SizeOf(TProgram),#0);
  RunGate5.boGetStart:=g_boRunGate5_GetStart;

  RunGate5.boReStart:=True;
  RunGate5.sDirectory:=g_sGameDirectory + g_sRunGate_Directory;
  RunGate5.sProgramFile:=g_sRunGate_ProgramFile;

  FillChar(RunGate6,SizeOf(TProgram),#0);
  RunGate6.boGetStart:=g_boRunGate6_GetStart;

  RunGate6.boReStart:=True;
  RunGate6.sDirectory:=g_sGameDirectory + g_sRunGate_Directory;
  RunGate6.sProgramFile:=g_sRunGate_ProgramFile;

  FillChar(RunGate7,SizeOf(TProgram),#0);
  RunGate7.boGetStart:=g_boRunGate7_GetStart;

  RunGate7.boReStart:=True;
  RunGate7.sDirectory:=g_sGameDirectory + g_sRunGate_Directory;
  RunGate7.sProgramFile:=g_sRunGate_ProgramFile;          

  FillChar(SelGate,SizeOf(TProgram),#0);
  SelGate.boGetStart:=g_boSelGate_GetStart;
  SelGate.boReStart:=True;
  SelGate.sDirectory:=g_sGameDirectory + g_sSelGate_Directory;
  SelGate.sProgramFile:=g_sSelGate_ProgramFile;
  SelGate.nMainFormX:=g_nSelGate_MainFormX;
  SelGate.nMainFormY:=g_nSelGate_MainFormY;

  FillChar(SelGate1,SizeOf(TProgram),#0);
//  if g_boRunGate4_GetStart then begin //如果设置了4开游戏网关以上则打开第二个角色网关
//    SelGate1.boGetStart:=g_boSelGate_GetStart;
//  end else SelGate1.boGetStart:=False;

  SelGate1.boReStart:=True;
  SelGate1.sDirectory:=g_sGameDirectory + g_sSelGate_Directory;
  SelGate1.sProgramFile:=g_sSelGate_ProgramFile;
  SelGate1.nMainFormX:=g_nSelGate_MainFormX;
  SelGate1.nMainFormY:=g_nSelGate_MainFormY;


  FillChar(LoginGate,SizeOf(TProgram),#0);
  LoginGate.boGetStart:=g_boLoginGate_GetStart;
  LoginGate.boReStart:=True;
  LoginGate.sDirectory:=g_sGameDirectory + g_sLoginGate_Directory;
  LoginGate.sProgramFile:=g_sLoginGate_ProgramFile;
  LoginGate.nMainFormX:=g_nLoginGate_MainFormX;
  LoginGate.nMainFormY:=g_nLoginGate_MainFormY;

  ButtonStartGame.Caption:=g_sButtonStopStartGame;
  m_nStartStatus:=1

⌨️ 快捷键说明

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