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

📄 gmain.~pas

📁 飘飘的传奇服务端院代码 能编译的 要控件 老大就让我传上去吧
💻 ~PAS
📖 第 1 页 / 共 5 页
字号:
  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;
        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;
  TimerStartGame.Enabled := True;
end;

procedure TfrmMain.StopGame;
begin
  ButtonStartGame.Caption := g_sButtonStopStopGame;
  MainOutMessage('正在开始停止服务器...');
  TimerCheckRun.Enabled := False;
  TimerStopGame.Enabled := True;
  m_nStartStatus := 3;
end;

procedure TfrmMain.TimerStartGameTimer(Sender: TObject);
var
  nRetCode: Integer;
begin
  if DBServer.boGetStart then begin
    case DBServer.btStartStatus of //
      0: begin
          nRetCode := RunProgram(DBServer, IntToStr(Self.Handle), 0);
          if nRetCode = 0 then begin
            DBServer.btStartStatus := 1;
            DBServer.ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, DBServer.ProcessInfo.dwProcessId);
          end else begin
            //ShowMessage(IntToStr(nRetCode));
          end;
          exit;
        end;
      1: begin //如果状态为1 则还没启动完成
          //        DBServer.btStartStatus:=2;
          exit;
        end;
    end;
  end;
  if LoginServer.boGetStart then begin
    case LoginServer.btStartStatus of //
      0: begin
          nRetCode := RunProgram(LoginServer, IntToStr(Self.Handle), 0);
          if nRetCode = 0 then begin
            LoginServer.btStartStatus := 1;
            LoginServer.ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, LoginServer.ProcessInfo.dwProcessId);
          end else begin
            LoginServer.btStartStatus := 9;
            ShowMessage(IntToStr(nRetCode));
          end;
          exit;
        end;
      1: begin //如果状态为1 则还没启动完成
          //        LoginServer.btStartStatus:=2;
          exit;
        end;
    end;
  end;

  if LogServer.boGetStart then begin
    case LogServer.btStartStatus of //
      0: begin
          nRetCode := RunProgram(LogServer, IntToStr(Self.Handle), 0);
          if nRetCode = 0 then begin
            LogServer.btStartStatus := 1;
            LogServer.ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, LogServer.ProcessInfo.dwProcessId);
          end else begin
            LogServer.btStartStatus := 9;
            //ShowMessage(IntToStr(nRetCode));
          end;
          exit;
        end;
      1: begin //如果状态为1 则还没启动完成
          //        LogServer.btStartStatus:=2;
          exit;
        end;
    end;
  end;

  if M2Server.boGetStart then begin
    case M2Server.btStartStatus of //
      0: begin
          nRetCode := RunProgram(M2Server, IntToStr(Self.Handle), 0);
          if nRetCode = 0 then begin
            M2Server.btStartStatus := 1;
            M2Server.ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, M2Server.ProcessInfo.dwProcessId);
          end else begin
            M2Server.btStartStatus := 9;
            //ShowMessage(IntToStr(nRetCode));
          end;
          exit;
        end;
      1: begin //如果状态为1 则还没启动完成
          //        M2Server.btStartStatus:=2;
          exit;
        end;
    end;
  end;

  if RunGate.boGetStart then begin
    case RunGate.btStartStatus of //
      0: begin
          GetMutRunGateConfing(0);
          nRetCode := RunProgram(RunGate, IntToStr(Self.Handle), 2000);
          if nRetCode = 0 then begin
            RunGate.btStartStatus := 1;
            RunGate.ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, RunGate.ProcessInfo.dwProcessId);
          end else begin
            RunGate.btStartStatus := 9;
            //ShowMessage(IntToStr(nRetCode));
          end;
          exit;
        end;
      1: begin //如果状态为1 则还没启动完成
          RunGate.btStartStatus := 2;
          //        exit;
        end;
    end;
  end;

  if RunGate1.boGetStart then begin
    case RunGate1.btStartStatus of //
      0: begin
          GetMutRunGateConfing(1);
          nRetCode := RunProgram(RunGate1, IntToStr(Self.Handle), 2000);
          if nRetCode = 0 then begin
         

⌨️ 快捷键说明

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