Pages

Ads 468x60px


[FilterScript] Registro e Login opcional


v1.0

O FS tem:
- Registro (/registrar) e login (/logar) opcional (Registra e loga somente se quiser, bom para servidores de DM);
- Após o registro não é necessário /logar e o comando de login é bloqueado;
- Se erra a senha 5 vezes o player é banido;
- Sistema em Dialog;
- Salvamento em DOF2 (apenas senha, por isso é simples u.u).

Erros ou bugs? Avise-me. 
Talvez farei novas versões salvando score, dinheiro, etc.

Sugestões ou críticas? Pode falar! 

Créditos? O FS eu sei que fui eu que fiz, não sei quem fez o DOF2 e eu nem ligo pra créditos também, se quiserem tirar to nem ligando.

Defeitos do FS: Todas mensagens são com a cor branca rsrs, não é colorido. '-'

Não se esqueçam de criar a pasta Contas em scriptfiles!
Pastebin: http://pastebin.com/FUzUrEwn
Rede Upload: FSRegistroELogin_RedeUpload.pwn - 4 KB

pawn Code:
#include <a_samp> #include <DOF2> #define FileUsers       "Contas/%s.ini" #define DIALOG_REGISTRO 1 #define DIALOG_LOGIN 2 new SenhaErrada[MAX_PLAYERS]; new bool: Conectado[MAX_PLAYERS] = false; stock ReturnFileUser(playerid) {     new File[156],Name[MAX_PLAYER_NAME];     GetPlayerName(playerid,Name,sizeof(Name));     format(File,sizeof(File),FileUsers,Name);     return File; } public OnFilterScriptInit() {     print("\n--------------------------------------");     print(" FS criado por Aninhaah");     print("--------------------------------------\n");     return 1; } public OnFilterScriptExit() {     DOF2_Exit();     return 1; } public OnPlayerConnect(playerid) {     if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Olá, sua conta não é registrada. Para ter uma conta e salvar seus dados use /registrar.");     else if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Olá, sua conta já é registrada. Para carregar seus dados use /logar.");     return 1; } public OnPlayerDisconnect(playerid, reason) {     Conectado[playerid] = false;     return 1; } public OnPlayerCommandText(playerid, cmdtext[]) {     if (strcmp(cmdtext, "/registrar",true) == 0)     {         if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Essa conta já está registrada.");         new string[115];         format(string,sizeof(string),"Seu nome: %s\nDeseja mesmo se registrar? Se sim, digite uma senha, se não, clique em Cancelar", PlayerName(playerid));         ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NOME] - Registro", string, "Registrar","Cancelar");         return 1;     }     if(strcmp(cmdtext,"/logar", true) == 0)     {         if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Essa conta não está registrada. Se registre primeiro usando /registrar.");         if(Conectado[playerid] == true) return SendClientMessage(playerid,-1,"Você já está logado!");         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[Nome] - Login", "Para logar digite sua senha", "Logar","Cancelar");         return 1;     }     return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {     if(dialogid == DIALOG_REGISTRO)     {         if(!response) return SendClientMessage(playerid,-1,"Você decidiu não se registrar. Seus dados não serão salvos.");         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","Digite uma senha para se registrar","Registrar","Cancelar");         if(strlen(inputtext) < 5 || strlen(inputtext) > 12) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","A senha deve ter de 5 a 12 caracteres","Registrar","Cancelar");         new string[70];         format(string,sizeof(string),"Conta registrada com sucesso! Senha: %s", inputtext);         SendClientMessage(playerid,-1,string);         DOF2_CreateFile(ReturnFileUser(playerid));         DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);         DOF2_SaveFile();         SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);         SpawnPlayer(playerid);         GivePlayerMoney(playerid, 1000);         GivePlayerWeapon(playerid, 24, 50);         SetPlayerScore(playerid,1);         Conectado[playerid] = true;         return 1;     }     if(dialogid == DIALOG_LOGIN)     {         if(!response) return SendClientMessage(playerid,-1,"Você decidiu não logar. Seus dados não serão carregados");         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Digite sua senha","Logar","Cancelar");         if(strcmp(inputtext,DOF2_GetString(ReturnFileUser(playerid),"Senha"),true) == 0)         {             SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);             SpawnPlayer(playerid);             GivePlayerMoney(playerid, 1000);             GivePlayerWeapon(playerid, 24, 50);             Conectado[playerid] = true;         }         else         {             if(SenhaErrada[playerid] == 4)             {                 SendClientMessage(playerid,-1,"Você foi banido por errar a senha 5 vezes.");                 Ban(playerid);             }             else if(SenhaErrada[playerid] < 4)             {                 SenhaErrada[playerid] ++;                 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Senha incorreta, tente novamente. Se errar a senha 5 vezes será banido!","Logar","Sair");             }         }         return 1;     }     return 1; } stock PlayerName(playerid) {     new Name[MAX_PLAYERS];     GetPlayerName(playerid, Name, sizeof(Name));     return Name; }


Atualização v1.1


Adicionado: 
-Sistema de salvar score;
-Sistema de salvar dinheiro.
Para salvar é necessário estar registrado/logado e para carregar é necessário /logar.
Downloads:
FS Registro e Login v1.1 - 5 KB
Include DOF2
Pastebin FS: http://pastebin.com/VwK6bmY0
Foi testado, mas se encontrar algum bug avise-me por favor!


Atualização v1.2


Adicionado:
-Comando /mudarsenha (apenas para logados/registrados);
-Comando /mudarnick (apenas para logados/registrados);
-Mais mensagens e cores.

Pastebin:http://pastebin.com/A5SmtGKD
FS Registro e Login Opcional v1.2 - 8 KB