[AJUDA]Register BOX
#1

Galera, eu tava motando um REGISTER BOX . Mas tou com uma pequena duvida:

Estб funcionando perfeitamente, sу que eu queria que quando o nome fosse invalido na parte a baixo, ele nгo salva-se a conta no Sistema.

Oque estб acontecendo : Pessoa com nome invalido vai e tenta se Registrar, Toma um Kick. Se entra devolta , como armazenou o nome no sistema, ela consegue Logar.

Код:
            if(strfind(nome,"_",true,1)!=-1)
    nomevalido=1;
            if(nome[strlen(nome)-1]=='_')
    nomevalido=0;
            for(new i=0;i<strlen(nome);i++)
                if((nome[i]<='9')&&(nome[i]>='0'))
    nomevalido=0;
            if(!nomevalido)
    {
    SendClientMessage(playerid, AMARELO_CLARO, "Imigraзгo Vida Nova Evolution: Seu nome nгo foi aceito em nossa agкncia.");
    SendClientMessage(playerid, AMARELO_CLARO, "Dica: Seu nome deve estar no formato: Nome_Sobrenome.");
    Kick(playerid);
        }


CODIGO :
Quote:

public OnPlayerConnect(playerid)
{
new string[128];
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);
if(!fexist(arquivo))
{
format(string, sizeof string, "Vocк Nгo Possui Registro\n\nNome: %s\n\nInsira uma Senha para se Registrar", nome);
ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Registrar", "Sair");
}
if(fexist(arquivo))
{
format(string, sizeof string, "Vocк jб Possui Registro\n\nNome: %s\n\nInsira sua senha para que possa logar:", nome);
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Logar", "Sair");
}
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);
if(fexist(arquivo))
{
dini_IntSet(arquivo,"Dollares",GetPlayerMoney(play erid));
dini_IntSet(arquivo,"Level", GetPlayerScore(playerid));
dini_IntSet(arquivo,"Skin", GetPlayerSkin(playerid));
dini_IntSet(arquivo,"LevelProcurado", GetPlayerWantedLevel(playerid));
}
return 1;
}

public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, dini_Int(arquivo,"Skin"));
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[128];

if(dialogid == Registro)
{
if(response)
{
GetPlayerName(playerid, nome, sizeof(nome));

if(strfind(nome,"_",true,1)!=-1)
nomevalido=1;
if(nome[strlen(nome)-1]=='_')
nomevalido=0;
for(new i=0;i<strlen(nome);i++)
if((nome[i]<='9')&&(nome[i]>='0'))
nomevalido=0;
if(!nomevalido)
{
SendClientMessage(playerid, AMARELO_CLARO, "Imigraзгo Vida Nova Evolution: Seu nome nгo foi aceito em nossa agкncia.");
SendClientMessage(playerid, AMARELO_CLARO, "Dica: Seu nome deve estar no formato: Nome_Sobrenome.");
Kick(playerid);
}



if(strlen(inputtext) == 0)
{
format(string, sizeof string, "Vocк Nгo Possui Registro\n\nNome: %s\n\nInsira uma Senha para se Registrar", nome);
ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Registrar", "Sair");
return 0;
}
format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);
if(!fexist(arquivo))
{
dini_Create(arquivo);
dini_IntSet(arquivo,"Password", udb_hash(inputtext));
format(string, sizeof string, "Vocк jб Possui Registro\n\nNome: %s\n\nInsira sua senha para que possa logar:", nome);
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Logar", "Sair");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, nome, sizeof(nome));
printf("[Registro] %s se Registrou-se", nome);
}
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Vocк saiu do Servidor sem Se Registrar !!");
SendClientMessage(playerid, 0x80FF00AA, "Volte Sempre...");
Kick(playerid);
}
}
if(dialogid == Login)
{
if(response)
{
if(strlen(inputtext) == 0)
{
GetPlayerName(playerid, nome, sizeof(nome));
format(string, sizeof string, "Vocк jб Possui Registro\n\nNome: %s\n\nInsira sua senha para que possa logar:", nome);
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Logar", "Sair");
return 0;
}
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);
if(fexist(arquivo))
{
new password = dini_Int(arquivo, "Password");
if(udb_hash(inputtext) != password)
{
GetPlayerName(playerid, nome, sizeof(nome));
format(string, sizeof string, "Vocк jб Possui Registro\n\nNome: %s\n\nInsira sua senha para que possa logar:", nome);
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Logar", "Sair");
SendClientMessage(playerid, 0xFF0000FF, "-(Servidor)- Senha Incorreta. Tente Novamente");
return 1;
}
if(udb_hash(inputtext) == password)
{
SpawnPlayer(playerid);
SetPlayerScore(playerid, dini_Int(arquivo,"Level"));
SetPlayerMoney(playerid, dini_Int(arquivo,"Dinheiro"));
SetPlayerWantedLevel(playerid, dini_Int(arquivo,"LevelProcurado"));
GetPlayerName(playerid, nome, sizeof(nome));
printf("[Login] %s Logou no Servidor", nome);
return 1;
}
}
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Vocк saiu do Servidor sem Se Logar !!");
SendClientMessage(playerid, 0x80FF00AA, "Volte Sempre...");
Kick(playerid);
}
}
return 1;
}

Reply
#2

pawn Код:
public OnPlayerConnect(playerid)
{
 if(strfind(PlayerName(playerid), "_", true) == -1 || strfind(PlayerName(playerid), "[", true) != -1 || strfind(PlayerName(playerid), "]", true) != -1 || strfind(PlayerName(playerid), "lixo", true) != -1 || strfind(PlayerName(playerid), "buceta", true) != -1 || strfind(PlayerName(playerid), "caralho", true) != -1 || strfind(PlayerName(playerid), "[", true) != -1 || strfind(PlayerName(playerid), "server", true) != -1
 || strfind(PlayerName(playerid), "servidor", true) != -1 || strfind(PlayerName(playerid), "crash", true) != -1 || strfind(PlayerName(playerid), "bpl", true) != -1 || strfind(PlayerName(playerid), "gamerx", true) != -1 || strfind(PlayerName(playerid), "[", true) != -1 || strfind(PlayerName(playerid), "189", true) != -1 || strfind(PlayerName(playerid), "201", true) != -1 || strfind(PlayerName(playerid), "200", true) != -1 || strfind(PlayerName(playerid), ".", true) != -1
 || strfind(PlayerName(playerid), "*", true) != -1 || strfind(PlayerName(playerid), "(", true) != -1 || strfind(PlayerName(playerid), ")", true) != -1 || strfind(PlayerName(playerid), "@", true) != -1 || strfind(PlayerName(playerid), "amx", true) != -1 || strfind(PlayerName(playerid), "prn", true) != -1 || strfind(PlayerName(playerid), "__", true) != -1)
 {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vocк Foi Kickado por usar algum nome incorreto!");
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Seu nome deve ser no formato Nome_Sobrenome Ex: Shickcard_Owna");
  format(gstring,64,"Players/%s.ini",PlayerName(playerid));
  Kick(playerid);
  fremove(gstring);
  return 1;
 }
 return 1;
}
pawn Код:
new gstring[64]; // OnPlayerConnect , se nгo tiver a define lб.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)