add aliases
This commit is contained in:
@@ -20,10 +20,33 @@ class GameModeLoader implements CommandListener, Plugin {
|
|||||||
* Constants
|
* Constants
|
||||||
*/
|
*/
|
||||||
const PLUGIN_ID = 191;
|
const PLUGIN_ID = 191;
|
||||||
const PLUGIN_VERSION = 1.0;
|
const PLUGIN_VERSION = 1.1;
|
||||||
const PLUGIN_NAME = 'GameModeLoader';
|
const PLUGIN_NAME = 'GameModeLoader';
|
||||||
const PLUGIN_AUTHOR = 'Beu';
|
const PLUGIN_AUTHOR = 'Beu';
|
||||||
|
|
||||||
|
const GAMEMODE_ALIASES = [
|
||||||
|
"ta" => 'TrackMania/TM_TimeAttack_Online.Script.txt',
|
||||||
|
"timeattack" => 'TrackMania/TM_TimeAttack_Online.Script.txt',
|
||||||
|
"time-attack" => 'TrackMania/TM_TimeAttack_Online.Script.txt',
|
||||||
|
"lap" => 'TrackMania/TM_Laps_Online.Script.txt',
|
||||||
|
"laps" => 'TrackMania/TM_Laps_Online.Script.txt',
|
||||||
|
"rounds" => 'TrackMania/TM_Rounds_Online.Script.txt',
|
||||||
|
"round" => 'TrackMania/TM_Rounds_Online.Script.txt',
|
||||||
|
"cup" => 'TrackMania/TM_Cup_Online.Script.txt',
|
||||||
|
"ko" => 'TrackMania/TM_Knockout_Online.Script.txt',
|
||||||
|
"knockout" => 'TrackMania/TM_Knockout_Online.Script.txt',
|
||||||
|
"team" => 'TrackMania/TM_Teams_Online.Script.txt',
|
||||||
|
"teams" => 'TrackMania/TM_Teams_Online.Script.txt',
|
||||||
|
"team" => 'TrackMania/TM_Teams_Online.Script.txt',
|
||||||
|
"teams" => 'TrackMania/TM_Teams_Online.Script.txt',
|
||||||
|
"tmwt" => 'TrackMania/TM_TMWT2025_Online.Script.txt',
|
||||||
|
"tmwt2025" => 'TrackMania/TM_TMWT2025_Online.Script.txt',
|
||||||
|
"tmwc" => 'TrackMania/TM_TMWC2024_Online.Script.txt',
|
||||||
|
"tmwc2024" => 'TrackMania/TM_TMWC2024_Online.Script.txt',
|
||||||
|
"tmwtteam" => 'TrackMania/TM_TMWTTeams_Online.Script.txt',
|
||||||
|
"tmwtteams" => 'TrackMania/TM_TMWTTeams_Online.Script.txt',
|
||||||
|
];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Private properties
|
* Private properties
|
||||||
*/
|
*/
|
||||||
@@ -77,7 +100,7 @@ class GameModeLoader implements CommandListener, Plugin {
|
|||||||
public function load(ManiaControl $maniaControl) {
|
public function load(ManiaControl $maniaControl) {
|
||||||
$this->maniaControl = $maniaControl;
|
$this->maniaControl = $maniaControl;
|
||||||
|
|
||||||
$this->maniaControl->getCommandManager()->registerCommandListener('mode', $this, 'commandMode', true, 'Add all connected players to the guestlist');
|
$this->maniaControl->getCommandManager()->registerCommandListener('mode', $this, 'commandMode', true, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -86,12 +109,17 @@ class GameModeLoader implements CommandListener, Plugin {
|
|||||||
* @param Player $player
|
* @param Player $player
|
||||||
*/
|
*/
|
||||||
public function commandMode(array $chatCallback, Player $player) {
|
public function commandMode(array $chatCallback, Player $player) {
|
||||||
$params = explode(' ', $chatCallback[1][2]);
|
$params = explode(' ', trim($chatCallback[1][2]));
|
||||||
if (array_key_exists(1, $params) && $params[1] !== "") {
|
if (array_key_exists(1, $params) && $params[1] !== "") {
|
||||||
|
$mode = $params[1];
|
||||||
|
if (array_key_exists(strtolower($params[1]), self::GAMEMODE_ALIASES)) {
|
||||||
|
$mode = self::GAMEMODE_ALIASES[strtolower($params[1])];
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$this->maniaControl->getClient()->setScriptName($params[1]);
|
$this->maniaControl->getClient()->setScriptName($mode);
|
||||||
$this->maniaControl->getChat()->sendSuccess("Game mode loaded, restart or skip the map", $player->login);
|
$this->maniaControl->getChat()->sendSuccess("Game mode loaded, restart or skip the map", $player->login);
|
||||||
Logger::log("Game mode " . $params[1] . " loaded by " . $player->login);
|
Logger::log("Game mode " . $mode . " loaded by " . $player->login);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$this->maniaControl->getChat()->sendError("Can't load the game mode: " . $e->getMessage(), $player->login);
|
$this->maniaControl->getChat()->sendError("Can't load the game mode: " . $e->getMessage(), $player->login);
|
||||||
Logger::log("Can't load the game mode: " . $e->getMessage());
|
Logger::log("Can't load the game mode: " . $e->getMessage());
|
||||||
|
Reference in New Issue
Block a user