📄 gmain.~pas
字号:
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 + -