Esempio n. 1
0
 public function CommandBroadcast($id, $command)
 {
     $servers = ServerList::getList();
     $message = join(" ", $command);
     foreach ($servers as $server) {
         ServerList::getServerRCon($server)->say($message, array(), FALSE);
     }
 }
Esempio n. 2
0
 public function RoutineMessages()
 {
     // We browse all servers
     $servers = ServerList::getList();
     foreach ($servers as $serv) {
         $server = ServerList::getServer($serv);
         $rcon = ServerList::getServerRCon($serv);
         $_messages = $server->get('msgs');
         $count = count($_messages);
         if ($this->config[$serv]['Active'] and $count) {
             $_lasttime = $server->get('lasttime');
             $_lastmsg = $server->get('lastmsg');
             $time = time();
             if ($time >= $_lasttime + $this->config[$serv]['EverySeconds']) {
                 $last = end($_messages);
                 $first = reset($_messages);
                 $msg = $first;
                 // If $_lastmsg is at the end of $_messages, we take the first value of $_messages
                 if ($last !== $_lastmsg) {
                     $while = TRUE;
                     while ($while) {
                         if ($msg == $_lastmsg) {
                             $while = FALSE;
                         }
                         $msg = next($_messages);
                     }
                 }
                 $rcon->say($msg, array(), FALSE);
                 $server->set('lastmsg', $msg);
                 $server->set('lasttime', $time);
             }
         }
     }
 }
Esempio n. 3
0
 /** Destroy function. Unloads the plugin properly.
  * This function cleans properly the plugin when it is unloaded.
  * 
  * \return Nothing.
  */
 public function destroy()
 {
     //We browse all servers
     $servers = ServerList::getList();
     foreach ($servers as $serv) {
         $server = ServerList::getServer($serv);
         $rcon = ServerList::getServerRCon($serv);
         $rcon->say("Stats stopped by plugin unload.");
         $server->set('stats', NULL);
         $server->set('statsConfig', NULL);
         $server->set('awards', NULL);
         $server->set('ratioList', NULL);
         $server->set('disableStatsReset', NULL);
     }
 }
Esempio n. 4
0
 public function IrcUrt($pseudo, $channel, $cmd, $message)
 {
     $server = LeelaBotIrc::nameOfServer($cmd[1]);
     if ($server !== false) {
         $rcon = ServerList::getServerRCon($server);
         $serverlist = ServerList::getList();
         if (in_array($cmd[1], $serverlist)) {
             $envoi = explode(' ', $message[2], 3);
             $i = 2;
         } else {
             $envoi = explode(' ', $message[2], 2);
             $i = 1;
         }
         if (isset($envoi[$i])) {
             $rcon->say('^4IRC : <$nick> $message', array('nick' => $pseudo, 'message' => LeelaBotIrc::standardize(rtrim($envoi[$i]))));
         }
     }
 }
Esempio n. 5
0
 public function IrcReload($pseudo, $channel, $cmd, $message)
 {
     $server = LeelaBotIrc::nameOfServer($cmd[1], FALSE);
     if ($server !== false) {
         $rcon = ServerList::getServerRCon($server);
         $rcon->reload();
     }
 }
Esempio n. 6
0
 public function RoutineWarns()
 {
     // We browse all servers
     $servers = ServerList::getList();
     foreach ($servers as $serv) {
         $server = ServerList::getServer($serv);
         $rcon = ServerList::getServerRCon($serv);
         $_warns = $server->get('warns');
         if (count($_warns)) {
             foreach ($_warns as $player => $warns) {
                 if ($warns['num'] >= $this->config['WarnsKick'] && time() >= $warns['last'] + $this->config['SecondsBeforeKick']) {
                     $rcon->tell($player, 'You have $warns warnings. You will be kicked', array('warns' => $warns['num']));
                     $this->_clearWarn($player, $server);
                     $rcon->kick($player);
                 }
             }
         }
     }
 }