fixed chatmessageplugin

This commit is contained in:
kremsy 2014-01-16 22:28:30 +01:00 committed by Steffen Schröder
parent 62398b719a
commit 90124a4c9a

View File

@ -5,6 +5,7 @@ namespace ManiaControl\Plugins;
use ManiaControl\Commands\CommandListener; use ManiaControl\Commands\CommandListener;
use ManiaControl\ManiaControl; use ManiaControl\ManiaControl;
use ManiaControl\Players\Player; use ManiaControl\Players\Player;
use Maniaplanet\DedicatedServer\Xmlrpc\Exception;
/** /**
* ManiaControl Chat-Message Plugin * ManiaControl Chat-Message Plugin
@ -15,10 +16,10 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Constants * Constants
*/ */
const PLUGIN_ID = 9; const PLUGIN_ID = 9;
const PLUGIN_VERSION = 0.1; const PLUGIN_VERSION = 0.1;
const PLUGIN_NAME = 'ChatMessagePlugin'; const PLUGIN_NAME = 'ChatMessagePlugin';
const PLUGIN_AUTHOR = 'kremsy'; const PLUGIN_AUTHOR = 'kremsy';
const SETTING_AFK_FORCE_SPEC = 'AFK command forces spec'; const SETTING_AFK_FORCE_SPEC = 'AFK command forces spec';
/** /**
@ -75,7 +76,7 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Builds a chat message starting with the player's nickname, can used to express emotions * Builds a chat message starting with the player's nickname, can used to express emotions
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_me(array $chat, Player $player) { public function chat_me(array $chat, Player $player) {
@ -88,16 +89,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Hello Message * Hello Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_hi(array $chat, Player $player) { public function chat_hi(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHello $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHello $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHello All!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHello All!';
} }
$this->maniaControl->chat->sendChat($msg, null, false); $this->maniaControl->chat->sendChat($msg, null, false);
@ -106,16 +106,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Bye Message * Bye Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_bye(array $chat, Player $player) { public function chat_bye(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iBye $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iBye $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iI have to go... Bye All!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iI have to go... Bye All!';
} }
@ -125,16 +124,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Thx Message * Thx Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_thx(array $chat, Player $player) { public function chat_thx(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iThanks $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iThanks $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iThanks All!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iThanks All!';
} }
@ -144,16 +142,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Good Game Message * Good Game Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_gg(array $chat, Player $player) { public function chat_gg(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Game $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Game $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Game All!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Game All!';
} }
@ -163,16 +160,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Good Luck Message * Good Luck Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_gl(array $chat, Player $player) { public function chat_gl(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck All!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck All!';
} }
@ -182,16 +178,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Have Fun Message * Have Fun Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_hf(array $chat, Player $player) { public function chat_hf(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHave Fun $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHave Fun $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHave Fun All!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHave Fun All!';
} }
@ -201,16 +196,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Good Luck and Have Fun Message * Good Luck and Have Fun Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_glhf(array $chat, Player $player) { public function chat_glhf(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck and Have Fun $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck and Have Fun $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck and Have Fun All!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck and Have Fun All!';
} }
@ -220,16 +214,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Nice Shot Message * Nice Shot Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_ns(array $chat, Player $player) { public function chat_ns(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice Shot $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice Shot $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice Shot!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice Shot!';
} }
@ -239,16 +232,15 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Nice one Message * Nice one Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_n1(array $chat, Player $player) { public function chat_n1(array $chat, Player $player) {
$command = explode(" ", $chat[1][2]); $command = explode(" ", $chat[1][2]);
if (isset($command[1])) { if(isset($command[1])) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice One $z$<' . $this->getTarget($command[1]) . '$>$i!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice One $z$<' . $this->getTarget($command[1]) . '$>$i!';
} } else {
else {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice One!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice One!';
} }
@ -258,7 +250,7 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Lol! Message * Lol! Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_lol(array $chat, Player $player) { public function chat_lol(array $chat, Player $player) {
@ -269,7 +261,7 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* LooOOooL! Message * LooOOooL! Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_lool(array $chat, Player $player) { public function chat_lool(array $chat, Player $player) {
@ -280,7 +272,7 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Be right back Message * Be right back Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_brb(array $chat, Player $player) { public function chat_brb(array $chat, Player $player) {
@ -291,7 +283,7 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Bad game for me Message * Bad game for me Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_bgm(array $chat, Player $player) { public function chat_bgm(array $chat, Player $player) {
@ -302,7 +294,7 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Leave the server with an Bootme Message * Leave the server with an Bootme Message
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_bootme(array $chat, Player $player) { public function chat_bootme(array $chat, Player $player) {
@ -310,8 +302,8 @@ class ChatMessagePlugin implements CommandListener, Plugin {
$this->maniaControl->chat->sendChat($msg, null, true); $this->maniaControl->chat->sendChat($msg, null, true);
$message = '$39F Thanks for Playing, please come back soon!$z'; $message = '$39F Thanks for Playing, please come back soon!$z';
$success = $this->maniaControl->client->query('Kick', $player->login, $message); $success = $this->maniaControl->client->kick($player->login, $message);
if (!$success) { if(!$success) {
$this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login);
return; return;
} }
@ -320,7 +312,7 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Leave the server with an Ragequit * Leave the server with an Ragequit
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_ragequit(array $chat, Player $player) { public function chat_ragequit(array $chat, Player $player) {
@ -328,8 +320,8 @@ class ChatMessagePlugin implements CommandListener, Plugin {
$this->maniaControl->chat->sendChat($msg, null, true); $this->maniaControl->chat->sendChat($msg, null, true);
$message = '$39F Thanks for Playing, please come back soon!$z'; $message = '$39F Thanks for Playing, please come back soon!$z';
$success = $this->maniaControl->client->query('Kick', $player->login, $message); $success = $this->maniaControl->client->kick($player->login, $message);
if (!$success) { if(!$success) {
$this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login);
return; return;
} }
@ -338,23 +330,26 @@ class ChatMessagePlugin implements CommandListener, Plugin {
/** /**
* Afk Message and force player to spec * Afk Message and force player to spec
* *
* @param array $chat * @param array $chat
* @param Player $player * @param Player $player
*/ */
public function chat_afk(array $chat, Player $player) { public function chat_afk(array $chat, Player $player) {
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iAway From Keyboard!'; $msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iAway From Keyboard!';
$this->maniaControl->chat->sendChat($msg, null, false); $this->maniaControl->chat->sendChat($msg, null, false);
if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_AFK_FORCE_SPEC)) { if($this->maniaControl->settingManager->getSetting($this, self::SETTING_AFK_FORCE_SPEC)) {
// force into spec // force into spec
$success = $this->maniaControl->client->query('ForceSpectator', $player->login, 3); $success = $this->maniaControl->client->forceSpectator($player->login, 3);
if (!$success) { if(!$success) {
$this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login);
return; return;
} }
// free player slot // free player slot
$this->maniaControl->client->query('SpectatorReleasePlayerSlot', $player->login); try {
$this->maniaControl->client->spectatorReleasePlayerSlot($player->login);
} catch(Exception $e) {
}
} }
} }
@ -368,14 +363,16 @@ class ChatMessagePlugin implements CommandListener, Plugin {
private function getTarget($login) { private function getTarget($login) {
$pid = 1; $pid = 1;
foreach ($this->maniaControl->playerManager->getPlayers() as $player) { foreach($this->maniaControl->playerManager->getPlayers() as $player) {
if ($login == $player->login || $login == $pid || $login == $player->nickname) { if($login == $player->login || $login == $pid || $login == $player->nickname) {
return $player->nickname; return $player->nickname;
} }
$pid++; $pid++;
} }
if ($login == 'lj') return $player->nickname; if($login == 'lj') {
return $player->nickname;
}
return $login; return $login;
} }