Ir para conteúdo
  • Cadastre-se

Posts Recomendados

1. Crie um arquivo chamado changename.php.
 
2. Cole este conteúdo:

<?php
if(!defined('INITIALIZED'))
    exit;

$changeNameCost = 600; //preço do changename em premium points

if($logged)
{
    if($account_logged->getCustomField('premium_points') >= $changeNameCost)
    {
        if($action == "")
        {
            echo '<span style="color:red;font-weight:bold">CHANGE NAME COSTS ' . $changeNameCost . ' PREMIUM POINTS!</span><br />';
            echo '<form action="" mathod="post">';
            echo '<input type="hidden" name="subtopic" value="changename" />';
            echo '<input type="hidden" name="action" value="change" />';
            echo '<b>Select player: </b><select name="player_id">';
            $account_players = $account_logged->getPlayersList();
            foreach($account_players as $player)
            {
                echo '<option value="' . $player->getID() . '">' . htmlspecialchars($player->getName()) . '</option>';
            }
            echo '</select><br />';
            echo '<b>New name: </b><input type="text" name="new_name" value="" /><br />';
            echo '<input type="submit" value="Change name" />';
            echo '</form>';
        }
        elseif($action == "change")
        {
            $newchar_errors = array();
            $newchar_name = ucwords(strtolower(trim($_REQUEST['new_name'])));
            if(empty($newchar_name))
                $newchar_errors[] = 'Please enter a new name for your character!';
            if(!check_name_new_char($newchar_name))
                $newchar_errors[] = 'This name contains invalid letters, words or format. Please use only a-Z, - , \' and space.';
            $check_name_in_database = new Player();
            $check_name_in_database->find($newchar_name);
            if($check_name_in_database->isLoaded())
                $newchar_errors[] = 'This name is already used. Please choose another name!';

            $charToEdit = new Player($_REQUEST['player_id']);
            if(!$charToEdit->isLoaded())
                $newchar_errors[] = 'This player does not exist.';
            if($charToEdit->isOnline())
                $newchar_errors[] = 'This player is ONLINE. Logout first.';
            elseif($account_logged->getID() != $charToEdit->getAccountID())
                $newchar_errors[] = 'This player is not on your account.';

            if(empty($newchar_errors))
            {
                echo 'Name of character <b>' . htmlspecialchars($charToEdit->getName()) . '</b> changed to <b>' . htmlspecialchars($newchar_name) . '</b>';
                $charToEdit->setName($newchar_name);
                $charToEdit->save();
                $account_logged->setCustomField('premium_points', $account_logged->getCustomField('premium_points') - $changeNameCost);
            }
            else
            {
                echo 'Some errors occured:<br />';
                foreach($newchar_errors as $e)
                {
                    echo '<li>' . $e . '</li>';
                }
                echo '<br /><a href="?subtopic=changename"><b>BACK</b></a>';
            }
        }
    }
    else
        echo 'You don\'t have premium points. You need ' . $changeNameCost . '.';
}
else
    echo 'You must login first.';

3. Coloque o link no seu layout onde desejar: index.php?subtopic=changename

Créditos:
Gesior.pl

Editado por Bruno Minervino (veja o histórico de edições)

Atenciosamente,

Bruno Minervino

Link para o post
Compartilhar em outros sites

mais esse é oque vem no site do liane certo ? ele coloca o antigo nome na coluna old_name ? nao vi no script isso

Link para o post
Compartilhar em outros sites

mais esse é oque vem no site do liane certo ? ele coloca o antigo nome na coluna old_name ? nao vi no script isso

Este é para o Gesior 2012.

Me mande o que você já tem que eu edito.

Atenciosamente,

Bruno Minervino

Link para o post
Compartilhar em outros sites

queria que esse script alem de mudar o nome ele mandasse o antigo nome para a coluna old_name

<?php if(!defined('INITIALIZED')) exit; $changeNameCost = 5; if($logged) { if($account_logged->getCustomField('premium_points') >= $changeNameCost) { if($action == "") { echo '

CHANGE NAME COSTS ' . $changeNameCost . ' PREMIUM POINTS!

'; echo ''; echo ''; echo ''; echo 'Select player: '; $account_players = $account_logged->getPlayersList(); foreach($account_players as $player) { echo '' . htmlspecialchars($player->getName()) . ''; } echo '

'; echo 'New name:

'; echo ''; echo ''; } elseif($action == "change") { $newchar_errors = array(); $newchar_name = ucwords(strtolower(trim($_REQUEST['new_name']))); if(empty($newchar_name)) $newchar_errors[] = 'Please enter a new name for your character!'; if(!check_name_new_char($newchar_name)) $newchar_errors[] = 'This name contains invalid letters, words or format. Please use only a-Z, - , \' and space.'; $check_name_in_database = new Player(); $check_name_in_database->find($newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] = 'This name is already used. Please choose another name!'; $charToEdit = new Player($_REQUEST['player_id']); if(!$charToEdit->isLoaded()) $newchar_errors[] = 'This player does not exist.'; if($charToEdit->isOnline()) $newchar_errors[] = 'This player is ONLINE. Logout first.'; elseif($account_logged->getID() != $charToEdit->getAccountID()) $newchar_errors[] = 'This player is not on your account.'; if(empty($newchar_errors)) { echo 'Name of character ' . htmlspecialchars($charToEdit->getName()) . ' changed to ' . htmlspecialchars($newchar_name) . ''; $sql= 'UPDATE players SET oldname=unforce'; $charToEdit->setName($newchar_name); $charToEdit->save(); $account_logged->setCustomField('premium_points', $account_logged->getCustomField('premium_points') - $changeNameCost); } else { echo 'Some errors occured:

'; foreach($newchar_errors as $e) { echo '' . $e . ''; } echo '

BACK'; } } } else echo 'You don\'t have premium points. You need ' . $changeNameCost . '.'; } else echo 'Por favor logue-se.';

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo