/** * @param Session $session * @param int $status * @return mixed[][]|mixed[] */ protected function getColumns(Session $session, $status) { $coins = $session->getCoins(); $this->coinsDelta = $session->getAndUpdateCoinsDelta(); $skin = $session->getCurrentFaceSkin(); return ["uid" => ["v" => $session->getUid(), "noupdate" => true], "name" => ["v" => strtolower($session->getPlayer()->getName())], "nicks" => "|" . implode("|", $session->getNicks()) . "|", "lastip" => $session->getPlayer()->getAddress(), "status" => $status, "lastses" => Settings::$LOCALIZE_CLASS, "authuuid" => $session->getPlayer()->getUniqueId(), "coins" => ["v" => $coins, "noupdate" => true], "hash" => ["v" => $session->getPasswordHash(), "noupdate" => true], "pwprefix" => ["v" => $session->getPasswordPrefix(), "noupdate" => true], "pwlen" => ["v" => $session->getPasswordLength(), "noupdate" => true], "registration" => ["v" => $session->getRegisterTime(), "noupdate" => true], "laston" => time(), "ontime" => (int) $session->getAndUpdateOntime(), "config" => $session->getAllSettings(), "skin1" => ["v" => substr($skin, 0, 128), "bin" => true], "skin2" => ["v" => substr($skin, 128, 128), "bin" => true], "lastgrind" => $session->getLastGrind(), "rank" => ["v" => $session->getRank(), "noupdate" => true], "warnpts" => $session->getWarningPoints(), "lastwarn" => $session->getLastWarnTime(), "tid" => $session->getTeamId(), "teamrank" => $session->getTeamRank(), "teamjoin" => $session->getTeamJoinTime(), "ignorelist" => "," . implode(",", $session->getIgnoreList()) . ","]; }
protected function run(array $args, Session $sender) { $lbl = func_get_arg(2); if (is_string($lbl) and $lbl !== "cg") { $sender->send(Phrases::CMD_GRIND_COIN_ADVICE); } if (!$sender->canStartGrind()) { return $sender->translate(Phrases::CMD_GRIND_COIN_CANNOT_START, ["time" => MUtils::time_secsToString($sender->getGrindWaitTime())]); } if (!$sender->confirmGrind) { $sender->confirmGrind = true; return $sender->translate(Phrases::CMD_GRIND_COIN_REQUEST_CONFIRM, ["length" => MUtils::time_secsToString(Settings::getGrindLength($sender->getRank())), "amplitude" => Settings::getGrindFactor($sender->getRank())]); } $sender->confirmGrind = false; $sender->startGrinding(); return $sender->translate(Phrases::CMD_GRIND_COIN_STARTED); }