2013-12-30 13:10:26 +01:00
< ? php
2014-05-01 17:36:24 +02:00
2014-04-29 22:06:58 +02:00
namespace MCTeam ;
2013-12-30 13:10:26 +01:00
use ManiaControl\Commands\CommandListener ;
use ManiaControl\ManiaControl ;
use ManiaControl\Players\Player ;
2014-01-20 20:51:03 +01:00
use ManiaControl\Plugins\Plugin ;
2014-02-13 14:21:25 +01:00
use Maniaplanet\DedicatedServer\Xmlrpc\Exception ;
2013-12-30 13:10:26 +01:00
/**
* ManiaControl Chat - Message Plugin
*
2014-05-02 17:40:47 +02:00
* @ author kremsy < kremsy @ maniacontrol . com >
* @ copyright 2014 ManiaControl Team
2014-04-29 22:06:58 +02:00
* @ license http :// www . gnu . org / licenses / GNU General Public License , Version 3
2013-12-30 13:10:26 +01:00
*/
class ChatMessagePlugin implements CommandListener , Plugin {
/**
* Constants
*/
2014-02-25 18:53:43 +01:00
const PLUGIN_ID = 4 ;
2014-01-16 22:28:30 +01:00
const PLUGIN_VERSION = 0.1 ;
const PLUGIN_NAME = 'ChatMessagePlugin' ;
const PLUGIN_AUTHOR = 'kremsy' ;
2013-12-30 13:10:26 +01:00
const SETTING_AFK_FORCE_SPEC = 'AFK command forces spec' ;
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
/**
* Private properties
*/
2013-12-31 15:08:51 +01:00
/**
* @ var maniaControl $maniaControl
*/
2013-12-30 13:10:26 +01:00
private $maniaControl = null ;
2014-01-27 20:39:10 +01:00
/**
* Prepares the Plugin
*
* @ param ManiaControl $maniaControl
* @ return mixed
*/
public static function prepare ( ManiaControl $maniaControl ) {
2014-01-27 21:05:02 +01:00
//do nothing
2014-01-27 20:39:10 +01:00
}
2014-05-02 17:40:47 +02:00
/**
* Get plugin id
*
* @ return int
*/
public static function getId () {
return self :: PLUGIN_ID ;
}
/**
* Get Plugin Name
*
* @ return string
*/
public static function getName () {
return self :: PLUGIN_NAME ;
}
/**
* Get Plugin Version
*
* @ return float ,,
*/
public static function getVersion () {
return self :: PLUGIN_VERSION ;
}
/**
* Get Plugin Author
*
* @ return string
*/
public static function getAuthor () {
return self :: PLUGIN_AUTHOR ;
}
/**
* Get Plugin Description
*
* @ return string
*/
public static function getDescription () {
return " Plugin offers various Chat-Commands like /gg /hi /afk /rq... " ;
}
2013-12-30 13:10:26 +01:00
/**
* Load the plugin
*
* @ param \ManiaControl\ManiaControl $maniaControl
* @ return bool
*/
2013-12-31 15:08:51 +01:00
public function load ( ManiaControl $maniaControl ) {
2013-12-30 13:10:26 +01:00
$this -> maniaControl = $maniaControl ;
2014-01-16 22:28:30 +01:00
2014-05-01 01:50:52 +02:00
$this -> maniaControl -> commandManager -> registerCommandListener ( 'me' , $this , 'chat_me' , false , 'Can be used to express your feelings/ideas.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'hi' , $this , 'chat_hi' , false , 'Writes an hello message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( array ( 'bb' , 'bye' ), $this , 'chat_bye' , false , 'Writes a goodbye message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'thx' , $this , 'chat_thx' , false , 'Writes a thanks message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'gg' , $this , 'chat_gg' , false , 'Writes a good game message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'gl' , $this , 'chat_gl' , false , 'Writes a good luck message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'hf' , $this , 'chat_hf' , false , 'Writes an have fun message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'glhf' , $this , 'chat_glhf' , false , 'Writes a good luck, have fun message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'ns' , $this , 'chat_ns' , false , 'Writes a nice shot message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'n1' , $this , 'chat_n1' , false , 'Writes a nice one message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'lol' , $this , 'chat_lol' , false , 'Writes a lol message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'lool' , $this , 'chat_lool' , false , 'Writes a lool message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'brb' , $this , 'chat_brb' , false , 'Writes a be right back message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'bgm' , $this , 'chat_bgm' , false , 'Writes a bad game for me message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( 'afk' , $this , 'chat_afk' , false , 'Writes an away from keyboard message to the chat.' );
$this -> maniaControl -> commandManager -> registerCommandListener ( array ( 'bm' , 'bootme' ), $this , 'chat_bootme' , false , 'Gets you away from this server quickly!' );
$this -> maniaControl -> commandManager -> registerCommandListener ( array ( 'rq' , 'ragequit' ), $this , 'chat_ragequit' , false , 'Gets you away from this server in rage!' );
2014-04-13 12:00:08 +02:00
//TODO block commandlistener for muted people
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> settingManager -> initSetting ( $this , self :: SETTING_AFK_FORCE_SPEC , true );
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
return true ;
}
/**
* Unload the plugin and its resources
*/
2013-12-31 15:08:51 +01:00
public function unload () {
$this -> maniaControl -> commandManager -> unregisterCommandListener ( $this );
2013-12-30 13:10:26 +01:00
unset ( $this -> maniaControl );
}
2013-12-30 13:21:41 +01:00
/**
* Builds a chat message starting with the player ' s nickname , can used to express emotions
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:21:41 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_me ( array $chat , Player $player ) {
2014-01-09 21:49:23 +01:00
$message = substr ( $chat [ 1 ][ 2 ], 4 );
2014-01-16 22:28:30 +01:00
2013-12-31 15:08:51 +01:00
$msg = '$<' . $player -> nickname . '$>$s$i$fa0 ' . $message ;
2013-12-30 13:21:41 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
2013-12-30 13:10:26 +01:00
/**
* Hello Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_hi ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iHello $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iHello All!' ;
2013-12-30 13:10:26 +01:00
}
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
2014-05-02 17:40:47 +02:00
/**
* Checks if a Player is in the PlayerList and returns the nickname if he is , can be called per login , pid or nickname or lj for
* ( last joined )
*
* @ param $login
* @ return mixed
*/
private function getTarget ( $login ) {
/** @var Player $player */
$player = null ;
foreach ( $this -> maniaControl -> playerManager -> getPlayers () as $player ) {
if ( $login == $player -> login || $login == $player -> pid || $login == $player -> nickname ) {
return $player -> nickname ;
}
}
if ( $player && $login == 'lj' ) {
return $player -> nickname ;
}
//returns the text given if nothing matches
return $login ;
}
2013-12-30 13:10:26 +01:00
/**
* Bye Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_bye ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iBye $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iI have to go... Bye All!' ;
2013-12-31 15:08:51 +01:00
}
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Thx Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_thx ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iThanks $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iThanks All!' ;
2013-12-31 15:08:51 +01:00
}
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Good Game Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_gg ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iGood Game $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iGood Game All!' ;
2013-12-31 15:08:51 +01:00
}
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Good Luck Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_gl ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iGood Luck $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iGood Luck All!' ;
2013-12-31 15:08:51 +01:00
}
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Have Fun Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_hf ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iHave Fun $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iHave Fun All!' ;
2013-12-31 15:08:51 +01:00
}
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Good Luck and Have Fun Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_glhf ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iGood Luck and Have Fun $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iGood Luck and Have Fun All!' ;
2013-12-31 15:08:51 +01:00
}
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Nice Shot Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_ns ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iNice Shot $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iNice Shot!' ;
2013-12-31 15:08:51 +01:00
}
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Nice one Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_n1 ( array $chat , Player $player ) {
2013-12-30 13:10:26 +01:00
$command = explode ( " " , $chat [ 1 ][ 2 ]);
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( isset ( $command [ 1 ])) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iNice One $z$<' . $this -> getTarget ( $command [ 1 ]) . '$>$i!' ;
2014-01-16 22:28:30 +01:00
} else {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iNice One!' ;
2013-12-31 15:08:51 +01:00
}
2014-01-16 22:28:30 +01:00
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Lol ! Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_lol ( array $chat , Player $player ) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iLoL!' ;
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* LooOOooL ! Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_lool ( array $chat , Player $player ) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iLooOOooL!' ;
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Be right back Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_brb ( array $chat , Player $player ) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iBe Right Back!' ;
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Bad game for me Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_bgm ( array $chat , Player $player ) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iBad Game for me :(' ;
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
}
/**
* Leave the server with an Bootme Message
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_bootme ( array $chat , Player $player ) {
2014-01-09 22:01:00 +01:00
$msg = '$i$ff0 $<' . $player -> nickname . '$>$s$39f chooses to boot back to the real world!' ;
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , true );
2014-01-16 22:28:30 +01:00
2014-02-13 14:21:25 +01:00
$message = '$39F Thanks for Playing, see you around!$z' ;
2014-01-20 20:51:03 +01:00
try {
$this -> maniaControl -> client -> kick ( $player -> login , $message );
2014-05-02 17:40:47 +02:00
} catch ( Exception $e ) {
2014-03-01 11:11:50 +01:00
$this -> maniaControl -> errorHandler -> triggerDebugNotice ( " ChatMessagePlugin Debug Line 316: " . $e -> getMessage ());
2014-02-13 14:21:25 +01:00
// TODO: only possible valid exception should be "wrong login" - throw others (like connection error)
2014-01-20 20:51:03 +01:00
$this -> maniaControl -> chat -> sendError ( 'Error occurred: ' . $e -> getMessage (), $player -> login );
2013-12-30 13:10:26 +01:00
return ;
}
}
/**
* Leave the server with an Ragequit
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_ragequit ( array $chat , Player $player ) {
2014-01-09 22:01:00 +01:00
$msg = '$i$ff0 $<' . $player -> nickname . '$>$s$f00 said: "@"#!" and ragequitted!' ;
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , true );
2014-01-16 22:28:30 +01:00
2014-02-08 00:00:00 +01:00
$message = '$39F Thanks for Playing, please come back soon!$z ' ;
2014-01-20 20:51:03 +01:00
try {
$this -> maniaControl -> client -> kick ( $player -> login , $message );
2014-05-02 17:40:47 +02:00
} catch ( Exception $e ) {
2014-03-01 11:11:50 +01:00
$this -> maniaControl -> errorHandler -> triggerDebugNotice ( " ChatMessagePlugin Debug Line " . $e -> getLine () . " : " . $e -> getMessage ());
2014-02-13 14:21:25 +01:00
// TODO: only possible valid exception should be "wrong login" - throw others (like connection error)
2014-01-20 20:51:03 +01:00
$this -> maniaControl -> chat -> sendError ( 'Error occurred: ' . $e -> getMessage (), $player -> login );
2013-12-30 13:10:26 +01:00
return ;
}
}
/**
* Afk Message and force player to spec
2013-12-31 15:08:51 +01:00
*
2014-01-16 22:28:30 +01:00
* @ param array $chat
2013-12-30 13:10:26 +01:00
* @ param Player $player
*/
2013-12-31 15:08:51 +01:00
public function chat_afk ( array $chat , Player $player ) {
2014-04-30 18:40:21 +02:00
$msg = '$ff0[$<' . $player -> nickname . '$>] $ff0$iAway From Keyboard!' ;
2013-12-30 13:10:26 +01:00
$this -> maniaControl -> chat -> sendChat ( $msg , null , false );
2014-01-16 22:28:30 +01:00
2014-01-31 16:11:14 +01:00
if ( $this -> maniaControl -> settingManager -> getSetting ( $this , self :: SETTING_AFK_FORCE_SPEC )) {
2014-03-13 18:47:40 +01:00
if ( $player -> isSpectator ) {
2014-03-01 19:54:44 +01:00
return ;
}
2013-12-31 15:08:51 +01:00
// force into spec
2014-01-20 20:51:03 +01:00
try {
$this -> maniaControl -> client -> forceSpectator ( $player -> login , 3 );
2014-05-02 17:40:47 +02:00
} catch ( Exception $e ) {
2014-03-01 11:11:50 +01:00
$this -> maniaControl -> errorHandler -> triggerDebugNotice ( " ChatMessagePlugin Debug Line " . $e -> getLine () . " : " . $e -> getMessage ());
2014-02-13 14:21:25 +01:00
// TODO: only possible valid exception should be "wrong login" - throw others (like connection error)
2014-01-20 20:51:03 +01:00
$this -> maniaControl -> chat -> sendError ( 'Error occurred: ' . $e -> getMessage (), $player -> login );
2013-12-30 13:10:26 +01:00
return ;
}
2014-01-16 22:28:30 +01:00
2013-12-31 15:08:51 +01:00
// free player slot
2014-01-16 22:28:30 +01:00
try {
$this -> maniaControl -> client -> spectatorReleasePlayerSlot ( $player -> login );
2014-05-02 17:40:47 +02:00
} catch ( Exception $e ) {
2014-03-13 18:47:40 +01:00
if ( $e -> getMessage () != 'The player is not a spectator' ) {
$this -> maniaControl -> errorHandler -> triggerDebugNotice ( " ChatMessagePlugin Debug Line " . $e -> getLine () . " : " . $e -> getMessage ());
// TODO: only possible valid exception should be "wrong login" - throw others (like connection error)
//to nothing
}
2014-01-16 22:28:30 +01:00
}
2013-12-30 13:10:26 +01:00
}
}
}