chat message plugin
This commit is contained in:
parent
a2eb11ca5c
commit
144f561203
@ -72,7 +72,7 @@ class Jukebox implements CallbackListener, CommandListener {
|
|||||||
* @param $login
|
* @param $login
|
||||||
* @param $uid
|
* @param $uid
|
||||||
*/
|
*/
|
||||||
public function addMapToJukebox($login, $uid){
|
public function addMapToJukebox($login, $uid){ //TODO if from MX other message
|
||||||
$player = $this->maniaControl->playerManager->getPlayer($login);
|
$player = $this->maniaControl->playerManager->getPlayer($login);
|
||||||
|
|
||||||
//Check if the map is already juked
|
//Check if the map is already juked
|
||||||
|
395
application/plugins/ChatMessagePlugin.php
Normal file
395
application/plugins/ChatMessagePlugin.php
Normal file
@ -0,0 +1,395 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Created by PhpStorm.
|
||||||
|
* User: Lukas
|
||||||
|
* Date: 30.12.13
|
||||||
|
* Time: 11:41
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace ManiaControl\Plugins;
|
||||||
|
|
||||||
|
use ManiaControl\Commands\CommandListener;
|
||||||
|
use ManiaControl\ManiaControl;
|
||||||
|
use ManiaControl\Players\Player;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ManiaControl Chat-Message Plugin
|
||||||
|
*
|
||||||
|
* @author kremsy
|
||||||
|
*/
|
||||||
|
class ChatMessagePlugin implements CommandListener, Plugin {
|
||||||
|
/**
|
||||||
|
* Constants
|
||||||
|
*/
|
||||||
|
const PLUGIN_ID = 9;
|
||||||
|
const PLUGIN_VERSION = 0.1;
|
||||||
|
const PLUGIN_NAME = 'ChatMessagePlugin';
|
||||||
|
const PLUGIN_AUTHOR = 'kremsy';
|
||||||
|
|
||||||
|
const SETTING_AFK_FORCE_SPEC = 'AFK command forces spec';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Private properties
|
||||||
|
*/
|
||||||
|
private $maniaControl = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load the plugin
|
||||||
|
*
|
||||||
|
* @param \ManiaControl\ManiaControl $maniaControl
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function load(ManiaControl $maniaControl){
|
||||||
|
$this->maniaControl = $maniaControl;
|
||||||
|
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('hi', $this, 'chat_hi');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('bye', $this, 'chat_bye');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('bb', $this, 'chat_bye');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('thx', $this, 'chat_thx');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('gg', $this, 'chat_gg');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('gl', $this, 'chat_gl');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('hf', $this, 'chat_hf');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('glhf', $this, 'chat_glhf');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('ns', $this, 'chat_ns');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('n1', $this, 'chat_n1');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('lol', $this, 'chat_lol');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('lool', $this, 'chat_lool');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('brb', $this, 'chat_brb');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('bgm', $this, 'chat_bgm');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('afk', $this, 'chat_afk');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('bootme', $this, 'chat_bootme');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('ragequit', $this, 'chat_ragequit');
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('rq', $this, 'chat_ragequit');
|
||||||
|
|
||||||
|
$this->maniaControl->settingManager->initSetting($this, self::SETTING_AFK_FORCE_SPEC, true);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unload the plugin and its resources
|
||||||
|
*/
|
||||||
|
public function unload(){
|
||||||
|
$this->maniaControl->callbackManager->unregisterCallbackListener($this);
|
||||||
|
unset($this->maniaControl);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hello Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_hi(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHello $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHello All!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bye Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_bye(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iBye $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iI have to go... Bye All!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Thx Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_thx(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iThanks $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iThanks All!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Good Game Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_gg(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Game $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Game All!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Good Luck Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_gl(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck All!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Have Fun Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_hf(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHave Fun $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iHave Fun All!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Good Luck and Have Fun Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_glhf(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck and Have Fun $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iGood Luck and Have Fun All!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Nice Shot Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_ns(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice Shot $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice Shot!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Nice one Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_n1(array $chat, Player $player){
|
||||||
|
$command = explode(" ", $chat[1][2]);
|
||||||
|
|
||||||
|
if(isset($command[1])){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice One $<' . $this->getTarget($command[1]) . '$>!';
|
||||||
|
}else{
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iNice One!';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lol! Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_lol(array $chat, Player $player){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iLoL!';
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LooOOooL! Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_lool(array $chat, Player $player){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iLooOOooL!';
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Be right back Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_brb(array $chat, Player $player){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iBe Right Back!';
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bad game for me Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_bgm(array $chat, Player $player){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iBad Game for me :(';
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leave the server with an Bootme Message
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_bootme(array $chat, Player $player){
|
||||||
|
$msg = '$i$ff0 $<' . $player->nickname .'$> $s$39f chooses to boot back to the real world!';
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, true);
|
||||||
|
|
||||||
|
$message = '$39F Thanks for Playing, please come back soon!$z';
|
||||||
|
$success = $this->maniaControl->client->query('Kick', $player->login, $message);
|
||||||
|
if (!$success) {
|
||||||
|
$this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leave the server with an Ragequit
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_ragequit(array $chat, Player $player){
|
||||||
|
$msg = '$i$ff0 $<' . $player->nickname .'$> $s$f00 said: "@"#!" and ragequitted!';
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, true);
|
||||||
|
|
||||||
|
$message = '$39F Thanks for Playing, please come back soon!$z';
|
||||||
|
$success = $this->maniaControl->client->query('Kick', $player->login, $message);
|
||||||
|
if (!$success) {
|
||||||
|
$this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Afk Message and force player to spec
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function chat_afk(array $chat, Player $player){
|
||||||
|
$msg = '$g[$<' . $player->nickname . '$>$s] $ff0$iAway From Keyboard!';
|
||||||
|
$this->maniaControl->chat->sendChat($msg, null, false);
|
||||||
|
|
||||||
|
if($this->maniaControl->settingManager->getSetting($this, self::SETTING_AFK_FORCE_SPEC)){
|
||||||
|
//force into spec
|
||||||
|
$success = $this->maniaControl->client->query('ForceSpectator', $player->login, 3);
|
||||||
|
if (!$success) {
|
||||||
|
$this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//free player slot
|
||||||
|
$this->maniaControl->client->query('SpectatorReleasePlayerSlot', $player->login);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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){
|
||||||
|
$pid = 1;
|
||||||
|
|
||||||
|
foreach($this->maniaControl->playerManager->getPlayers() as $player){
|
||||||
|
if($login == $player->login || $login == $pid || $login == $player->nickname){
|
||||||
|
return $player->nickname;
|
||||||
|
}
|
||||||
|
$pid++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($login == 'lj')
|
||||||
|
return $player->nickname;
|
||||||
|
|
||||||
|
return $login;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,6 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
use FML\Controls\Control;
|
use FML\Controls\Control;
|
||||||
use FML\Controls\Frame;
|
use FML\Controls\Frame;
|
||||||
use FML\Controls\Labels\Label_Text;
|
use FML\Controls\Labels\Label_Text;
|
||||||
@ -15,6 +14,12 @@ use ManiaControl\Players\PlayerManager;
|
|||||||
use ManiaControl\Plugins\Plugin;
|
use ManiaControl\Plugins\Plugin;
|
||||||
use ManiaControl\Callbacks\CallbackManager;
|
use ManiaControl\Callbacks\CallbackManager;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ManiaControl Widget Plugin
|
||||||
|
*
|
||||||
|
* @author kremsy
|
||||||
|
*/
|
||||||
class WidgetPlugin implements CallbackListener, Plugin {
|
class WidgetPlugin implements CallbackListener, Plugin {
|
||||||
/**
|
/**
|
||||||
* Constants
|
* Constants
|
||||||
|
Loading…
Reference in New Issue
Block a user