From 59fe5dd8443acd728588bf7182d82b683aba3c73 Mon Sep 17 00:00:00 2001 From: Designburo Date: Thu, 29 May 2014 16:36:49 +0200 Subject: [PATCH] Remember fixed pointlimit after new map Added callback for when new map start and if pointlimit is linear then set it again. --- .../MCTeam/DynamicPointLimitPlugin.php | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/application/plugins/MCTeam/DynamicPointLimitPlugin.php b/application/plugins/MCTeam/DynamicPointLimitPlugin.php index 01e24ac0..63fb93d3 100644 --- a/application/plugins/MCTeam/DynamicPointLimitPlugin.php +++ b/application/plugins/MCTeam/DynamicPointLimitPlugin.php @@ -26,7 +26,7 @@ class DynamicPointLimitPlugin implements CallbackListener, CommandListener, Plug * Constants */ const ID = 21; - const VERSION = 0.2; + const VERSION = 0.3; const NAME = 'Dynamic Point Limit Plugin'; const AUTHOR = 'MCTeam'; @@ -109,6 +109,7 @@ class DynamicPointLimitPlugin implements CallbackListener, CommandListener, Plug $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERINFOCHANGED, $this, 'handlePlayerInfoChangedCallback'); $this->maniaControl->callbackManager->registerCallbackListener(Callbacks::BEGINROUND, $this, 'updatePointLimit'); + $this->maniaControl->callbackManager->registerCallbackListener(Callbacks::BEGINMAP, $this, 'handleBeginMap'); $this->maniaControl->callbackManager->registerCallbackListener(SettingManager::CB_SETTING_CHANGED, $this, 'handleSettingChangedCallback'); $this->maniaControl->commandManager->registerCommandListener('setpointlimit', $this, 'commandSetPointlimit', true, 'Setpointlimit XXX or auto'); @@ -209,6 +210,24 @@ class DynamicPointLimitPlugin implements CallbackListener, CommandListener, Plug $this->updatePointLimit(); } + /** + * Handle BeginMap Callback + * + * @param Setting $setting + */ + public function handleBeginMap() { + if ($this->staticMode) + { + + $this->maniaControl->chat->sendChat('$fffPointlimit fixed at '.$this->lastPointLimit.'.'); + try{ + $this->maniaControl->client->setModeScriptSettings(array('S_MapPointsLimit' => (int)($this->lastPointLimit))); + }catch(FaultException $e){ + } + } + } + + /** * Handle Player Info Changed Callback * @@ -224,3 +243,4 @@ class DynamicPointLimitPlugin implements CallbackListener, CommandListener, Plug $this->updatePointLimit(); } } +?>