12.05.2011, 13:05
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.
CODIGO :
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; } |