From 02fcd22d8cde355aa898a8c6bb4773d9434b8e9a Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Fri, 10 Oct 2008 16:41:38 +0000 Subject: adds KeyPress, DevInfo and Stats widgets --- src/core/gameserver.cc | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) (limited to 'src/core/gameserver.cc') diff --git a/src/core/gameserver.cc b/src/core/gameserver.cc index 4037c70..b6767ad 100644 --- a/src/core/gameserver.cc +++ b/src/core/gameserver.cc @@ -35,7 +35,18 @@ void func_who(std::string const &args) void func_time(std::string const &args) { - server()->showtime(); + using namespace std; + + int minutes = (int) floorf(server()->time() / 60.0f); + int seconds = (int) floorf(server()->time() - (float) minutes* 60.0f); + + int syshours = sys::time() / 3600; + int sysminutes = (sys::time() - syshours * 3600) / 60; + int sysseconds = sys::time() % 60; + + con_print << + "Uptime " << minutes << ":" << setfill('0') << setw(2) << seconds << + " Local time " << setfill(' ') << setw(2) << syshours << ":" << setfill('0') << setw(2) << sysminutes << ":" << setw(2) << sysseconds << setfill(' ') << std::endl; } void func_mute(std::string const &args) @@ -220,7 +231,7 @@ void GameServer::abort() server_running = false; } -bool GameServer::interactive() +bool GameServer::interactive() const { if (!server_module) { return false; @@ -229,22 +240,6 @@ bool GameServer::interactive() } } -void GameServer::showtime() -{ - using namespace std; - - int minutes = (int) floorf(server_time / 60.0f); - int seconds = (int) floorf(server_time - (float) minutes* 60.0f); - - int syshours = sys::time() / 3600; - int sysminutes = (sys::time() - syshours * 3600) / 60; - int sysseconds = sys::time() % 60; - - con_print << - "Uptime " << minutes << ":" << setfill('0') << setw(2) << seconds << - " Server localtime " << setfill(' ') << setw(2) << syshours << ":" << setfill('0') << setw(2) << sysminutes << ":" << setw(2) << sysseconds << setfill(' ') << std::endl; -} - Player *GameServer::find_player(std::string const search) { using aux::lowercase; @@ -497,20 +492,20 @@ void GameServer::exec(Player *player, std::string const & cmdline) if ((function ->flags() & Func::Game) == Func::Game) { function->exec(player, args); return; + } else if ((function->flags() & Func::Shared) == Func::Shared) { // enable rcon buffering - console()->buffer_rcon(true); + console()->set_rcon(true); function->exec(args); char line[MAXCMDSIZE]; - while(console()->buffer().getline(line, MAXCMDSIZE-1)) { send(player, std::string(line)); } // disable rcon buffering - console()->buffer_rcon(false); + console()->set_rcon(false); return; } } -- cgit v1.2.3