/**
  *	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, ".");
         }
     }
 }
Esempio n. 2
0
 /**
  *	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);
 }