/** * Option: Transfer Resets * Transfer reset from a char to other char * * @return void */ public function TransferResets() { $char_status = $this->MuLib('Member')->LoadChar($this->character, COLUMN_RESET . ",Class"); $char_status[COLUMN_RESET] -= $this->settings['BONUS']['CREATE_CHAR']['SET_RESETS']; $settings = $this->settings['USERPANEL']['CHARACTER']['TRANSFER_RESETS']; if ($_GET['write'] == TRUE) { $this->lang->setArguments("UserPanel,TransferResets,Messages,Error_ResetsReequire", $this->settings['CHARACTER']['TRANSFER_RESETS']['REQUIRE_RESETS']); CTM_Language::setArguments("Panel[Char][TReset][eRequire]", array("<strong>", $_PANELUSER['CHARACTER']['TRANSFER_RESETS']['REQUIRE_RESETS'], "</strong>")); CTM_Language::setArguments("Panel[Char][TReset][minSend]", array("<strong>", $_PANELUSER['CHARACTER']['TRANSFER_RESETS']['MIN_SEND'], "</strong>")); CTM_Language::setArguments("Panel[Char][TReset][maxSend]", array("<strong>", $_PANELUSER['CHARACTER']['TRANSFER_RESETS']['MAX_SEND'], "</strong>")); if (empty($_POST['charDestination'])) { setResult(showMessage($this->lang->words['UserPanel']['TransferResets']['Messages']['NULL_Destination'], 1)); } elseif (empty($_POST['numberResets'])) { setResult(showMessage($this->lang->words['UserPanel']['TransferResets']['Messages']['NULL_Number'], 1)); } elseif (!is_numeric($_POST['numberResets'])) { setResult(showMessage($this->lang->words['UserPanel']['TransferResets']['Messages']['Error_WordsNumber'], 2)); } elseif ($_POST['charDestination'] == $this->character) { setResult(showMessage($this->lang->words['UserPanel']['TransferResets']['Messages']['Error_Character'], 2)); } elseif (!$this->functions->CheckCharacter($_POST['charDestination'])) { setResult(showMessage($this->lang->words['Global']['Errors']['CheckCharInvalid'], 2)); } elseif ($char_status[COLUMN_RESET] < $settings['REQUIRE_RESETS']) { setResult(showMessage(sprintf($this->lang->words['UserPanel']['TransferResets']['Messages']['Error_ResetsRequire'], $settings['REQUIRE_RESETS']), 2)); } elseif ($_POST['numberResets'] < $settings['MIN_SEND']) { setResult(showMessage(sprintf($this->lang->words['UserPanel']['TransferResets']['Messages']['Error_MinSend'], $settings['MIN_SEND']), 2)); } else { $break = FALSE; if ($settings['MAX_SEND'] > 0) { if ($_POST['numberResets'] > $settings['MAX_SEND']) { $break = TRUE; setResult(showMessage(sprintf($this->lang->words['UserPanel']['TransferResets']['Messages']['Error_MaxSend'], $settings['MAX_SEND']), 2)); } } if ($char_status[COLUMN_RESET] < $_POST['numberResets']) { $break = TRUE; setResult(showMessage($this->lang->words['UserPanel']['TransferResets']['Messages']['Error_Resets'], 2)); } if ($break == false) { $string = "UPDATE " . MUGEN_CORE . ".dbo.Character SET " . COLUMN_RESET . " = " . COLUMN_RESET . " - %d"; if ($settings['RESET_CHAR'] == 1) { $set = $this->functions->CharInitialPoints($class); $string .= ", LevelUpPoint = 0, Strength = {$set[0]}, Dexterity = {$set[1]}, Vitality = {$set[2]}, Energy = {$set[3]}"; if ($this->functions->ClassIsLord($char_status['Class'])) { $string .= ", " . COLUMN_COMMAND . " = {$set[4]}"; } } $string .= " WHERE Name = '%s' AND AccountID = '%s';\n"; $string .= "UPDATE " . MUGEN_CORE . ".dbo.Character SET " . COLUMN_RESET . " = " . COLUMN_RESET . " + %d"; $string .= " WHERE Name = '%s' AND AccountID = '%s'"; $this->DB->Arguments($_POST['numberResets'], $this->character, USER_ACCOUNT, $_POST['numberResets'], $_POST['charDestination'], USER_ACCOUNT); $this->DB->Query($string); $this->WriteLog(array("option" => "Transfer Resets", "character" => true, "data" => array("[General] Char Destination: " . $_POST['charDestination'], "[General] Number of Resets: " . number_format($_POST['numberResets'], 0, false, "."), "[Before] Resets: " . number_format($char_status[COLUMN_RESET], 0, false, "."), "[After] Resets: " . number_format($char_status[COLUMN_RESET] - $_POST['numberResets'], 0, false, ".")))); $this->lang->setArguments("UserPanel,TransferResets,Messages,Success", $_POST['numberResets'], $_POST['charDestination']); setResult(showMessage($this->lang->words['UserPanel']['TransferResets']['Messages']['Success'], 3)); } } } $char_status[COLUMN_RESET] = $char_status[COLUMN_RESET] < 0 ? 0 : $char_status[COLUMN_RESET]; $GLOBALS['userpanel']['transfer_resets']['resets_available'] = number_format($char_status[COLUMN_RESET], 0, false, "."); $GLOBALS['userpanel']['transfer_resets']['characters'] = array(); $this->DB->Arguments(USER_ACCOUNT); $findCharactersQ = $this->DB->Select("Name," . COLUMN_RESET, MUGEN_CORE . "@Character", "AccountID = '%s'"); if ($this->DB->CountRows($findCharactersQ) > 0) { while ($findCharacters = $this->DB->FetchObject($findCharactersQ)) { if ($findCharacters->Name == $this->character) { continue; } $GLOBALS['userpanel']['transfer_resets']['characters'][$findCharacters->Name] = number_format($findCharacters->{COLUMN_RESET}, 0, false, "."); } } }
/** * Redirect: Logout Success * * @return void */ private function loadRedirectLogoutSuccess() { CTM_Template::setTag("REDIRECT_TITLE", CTM_Language::Load("Redirector[LogoutSuccess][Title]")); CTM_Template::setTag("REDIRECT_MESSAGE", NULL); CTM_Template::setTag("REDIRECT_REFERER", $this->refererLink); }