Reverted Dedimania Multilap fix
This commit is contained in:
parent
54d16660c2
commit
6caa42029e
@ -36,7 +36,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene
|
|||||||
* Constants
|
* Constants
|
||||||
*/
|
*/
|
||||||
const ID = 8;
|
const ID = 8;
|
||||||
const VERSION = 0.6;
|
const VERSION = 0.5;
|
||||||
const AUTHOR = 'MCTeam';
|
const AUTHOR = 'MCTeam';
|
||||||
const NAME = 'Dedimania Plugin';
|
const NAME = 'Dedimania Plugin';
|
||||||
const MLID_DEDIMANIA = 'Dedimania.ManialinkId';
|
const MLID_DEDIMANIA = 'Dedimania.ManialinkId';
|
||||||
@ -110,6 +110,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene
|
|||||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(PlayerManager::CB_PLAYERDISCONNECT, $this, 'handlePlayerDisconnect');
|
$this->maniaControl->getCallbackManager()->registerCallbackListener(PlayerManager::CB_PLAYERDISCONNECT, $this, 'handlePlayerDisconnect');
|
||||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::TM_ONWAYPOINT, $this, 'handleCheckpointCallback');
|
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::TM_ONWAYPOINT, $this, 'handleCheckpointCallback');
|
||||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::TM_ONFINISHLINE, $this, 'handleFinishCallback');
|
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::TM_ONFINISHLINE, $this, 'handleFinishCallback');
|
||||||
|
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::TM_ONLAPFINISH, $this, 'handleFinishCallback');
|
||||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(SettingManager::CB_SETTING_CHANGED, $this, 'handleSettingChanged');
|
$this->maniaControl->getCallbackManager()->registerCallbackListener(SettingManager::CB_SETTING_CHANGED, $this, 'handleSettingChanged');
|
||||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::AFTERLOOP, $this, 'handleAfterLoop');
|
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::AFTERLOOP, $this, 'handleAfterLoop');
|
||||||
|
|
||||||
@ -269,16 +270,15 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene
|
|||||||
* @param OnWayPointEventStructure $callback
|
* @param OnWayPointEventStructure $callback
|
||||||
*/
|
*/
|
||||||
public function handleCheckpointCallback(OnWayPointEventStructure $structure) {
|
public function handleCheckpointCallback(OnWayPointEventStructure $structure) {
|
||||||
if (!$structure->getRaceTime()) {
|
if (!$structure->getLapTime()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO in Dedimania There is a small Bug somewhere with the amount of Checkpoints
|
|
||||||
$login = $structure->getLogin();
|
$login = $structure->getLogin();
|
||||||
if (!isset($this->checkpoints[$login])) {
|
if (!isset($this->checkpoints[$login])) {
|
||||||
$this->checkpoints[$login] = array();
|
$this->checkpoints[$login] = array();
|
||||||
}
|
}
|
||||||
$this->checkpoints[$login][$structure->getCheckPointInRace()] = $structure->getRaceTime();
|
$this->checkpoints[$login][$structure->getCheckPointInLap()] = $structure->getLapTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -305,14 +305,14 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene
|
|||||||
$player = $structure->getPlayer();
|
$player = $structure->getPlayer();
|
||||||
|
|
||||||
$oldRecord = $this->getDedimaniaRecord($player->login);
|
$oldRecord = $this->getDedimaniaRecord($player->login);
|
||||||
if ($oldRecord->nullRecord || $oldRecord && $oldRecord->best > $structure->getRaceTime()) {
|
if ($oldRecord->nullRecord || $oldRecord && $oldRecord->best > $structure->getLapTime()) {
|
||||||
// Save time
|
// Save time
|
||||||
$newRecord = new RecordData(null);
|
$newRecord = new RecordData(null);
|
||||||
|
|
||||||
$checkPoints = $this->getCheckpoints($player->login);
|
$checkPoints = $this->getCheckpoints($player->login);
|
||||||
$checkPoints = $checkPoints . "," . $structure->getRaceTime();
|
$checkPoints = $checkPoints . "," . $structure->getLapTime();
|
||||||
|
|
||||||
$newRecord->constructNewRecord($player->login, $player->nickname, $structure->getRaceTime(), $checkPoints, true);
|
$newRecord->constructNewRecord($player->login, $player->nickname, $structure->getLapTime(), $checkPoints, true);
|
||||||
|
|
||||||
if ($this->insertDedimaniaRecord($newRecord, $oldRecord)) {
|
if ($this->insertDedimaniaRecord($newRecord, $oldRecord)) {
|
||||||
// Get newly saved record
|
// Get newly saved record
|
||||||
@ -346,7 +346,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene
|
|||||||
|
|
||||||
$message = '$390$<$fff' . $notifyName . '$> ' . $improvement . ' $<$ff0' . $newRecord->rank . '.$> Dedimania Record: $<$fff' . Formatter::formatTime($newRecord->best) . '$>';
|
$message = '$390$<$fff' . $notifyName . '$> ' . $improvement . ' $<$ff0' . $newRecord->rank . '.$> Dedimania Record: $<$fff' . Formatter::formatTime($newRecord->best) . '$>';
|
||||||
if (!$oldRecord->nullRecord) {
|
if (!$oldRecord->nullRecord) {
|
||||||
$message .= ' ($<$ff0' . $oldRecord->rank . '.$> $<$fff-' . Formatter::formatTime(($oldRecord->best - $structure->getRaceTime())) . '$>)';
|
$message .= ' ($<$ff0' . $oldRecord->rank . '.$> $<$fff-' . Formatter::formatTime(($oldRecord->best - $structure->getLapTime())) . '$>)';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($newRecord->rank <= $notifyOnlyBestRecords) {
|
if ($newRecord->rank <= $notifyOnlyBestRecords) {
|
||||||
|
Loading…
Reference in New Issue
Block a user