Ir para conteúdo

Checar Nome Ao Criar Chracter No Gesior


Grillo15

Posts Recomendados

Ola, estou com um problema em meu otserver, o sistema VIP dele adiciona [VIP] no nome do char, por exemplo, Meu Char chama Nathan, quando eu viro VIP me nome vai para [VIP] Nathan, emfim, se eu estiver vip, e outro player for criar um CHAR no gesior, e criar com o nome de Nathan, ou seja, quando a vip do meu char SAIR, vai bugar, pois ja vai existir uma outra conta criada com o nome de NATHAN, certo?

 

Entao fiz um sistema que quando o cara cria um char no ot, ele verifica se o nome ja existe, e tambem se existe assim tipo, se o cara vai criar um char com o nome de Nathan, o site vai verificar na DB se a o nome Nathan, e [VIP] Nathan, isso esta funcionando corretamente, quando eu digito no caso la pra criar a conta o nome Nathan, como ja existe um nathan VIP, ele fala essa menssagem:

 

Player with this name already exist.

 

Mais eu eu pego e clico em SUBMITE msmo com esta mensagem, e ele cria o CHAR! Mesmo exibindo esta mensagem!

Gostaria de concertar isto, aguardo por favor..

 

Ai vai o codigo da pasta ajax/check_name.php

 

// loads #####POT mainfile#####

include('../pot/OTS.php');

// PDO and POT connects to database

$ots = POT::getInstance();

if($server_config['sqlType'] == "mysql")

$ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) );

elseif($server_config['sqlType'] == "sqlite")

$ots->connect(POT::DB_SQLITE, array('database' => $config_ini['server_path'].$sqlitefile));

$name_db = new OTS_Player();

$name_db2 = new OTS_Player();

$name_db->find($name);

$name_db2->find('[vip] '.$name);

if(($name_db->isLoaded()) || ($name_db2->isLoaded()))

echo '<font color="red"><b>Player with this name already exist.</b></font>';

else

echo '<font color="green">Good. Your name will be:<br />"<b>'.ucwords($name).'</b>"</font>';

 

Emfim, ele manda a msg de que o char ja existe no OT, mais se o cara clicah em SUBMITE ele cria o char normalmente e da esta menssagem:

 

The character Nathan has been created.

 

Por Favor me ajudem aguardo .

Link para o comentário
Compartilhar em outros sites

Eai, tudo bem?

Abra o arquivo accountmanagement.php e procure por:

$newchar_errors[] .= 'This name is already used. Please choose another name!';

De um enter e coloque:

$name2 = "[VIP] ".$newchar_name;
$check_name_in_database2 = $ots->createObject('Player');
$check_name_in_database2->find($name2);
if($check_name_in_database2->isLoaded())
$newchar_errors[] .= 'This name is already used. Please choose another name!';

 

Deve ficar algo assim:

if(empty($newchar_errors))
{
$check_name_in_database = $ots->createObject('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!';

$name2 = "[VIP] ".$newchar_name;
$check_name_in_database2 = $ots->createObject('Player');
$check_name_in_database2->find($name2);
if($check_name_in_database2->isLoaded())
$newchar_errors[] .= 'This name is already used. Please choose another name!';


$number_of_players_on_account = $account_logged->getPlayersList()->count();

 

Bom, é isso :P:

Editado por Digaao
Link para o comentário
Compartilhar em outros sites

Nossa cara, muito obrigado, REP+1, se voce me ajudar com mais uma coisa, vou lhe dar muito ais rep+ rs, tipo quando o cara vai criar uma conta e ele bota um nome tipo assim: Nathan'Rusho'Muito ai aparece la: Name can't cointain words: gamemaster,',game master,game-master,game'master, ,--,'',' , ',- , -,-','-,fuck,sux,suck,noob,tutor

 

Mais emfim, se ele clicar em submite, cria msmo assim, quero que nao possa criar quando tiver ' ou " no nome, ja declarei isto na check_name, so fauta no account mangement, aguardo e obrigado.

Link para o comentário
Compartilhar em outros sites

Eai, não tenho certeza absoluta, mas no arquivo config-and-functions.php procure por:

$temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM- '");

e substitua essa linha por

$temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM- ");

 

:D

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

ALGUEM PODE ME AJUDAR Eu Estou Tentando Colocar System Vip No Site E Ta ocorrendo esse erro aqui

 

Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\pot\OTS_Account.php on line 308

 

Se Alguem puder me ajudar eu agradeço!

 

Ahh E isso acontece quando eu tento pesquisar um character no site!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...