[FilterScript] Registro e Login opcional
#1

Acabei de ver que acabaram de postar um de registro e login tambйm, mas mesmo assim vou postar aqui um simplesinho que acabei de fazer.
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 Код:
#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
Reply
#2

vc deveria por pra sу poder usar o chat se tiver logado. Senгo de q adianta se registrar '-'
Reply
#3

legal parabens
Reply
#4

Quote:
Originally Posted by Lucas_Alemao
Посмотреть сообщение
vc deveria por pra sу poder usar o chat se tiver logado. Senгo de q adianta se registrar '-'
nunca jogou em server que usa sistema assim? eh tipo, se voce registra ao desconectar seus dados sao salvos e se vc loga seus dados sao carregados e salva tambem. se vc ja tem uma conta, entra usando ela, mas nao loga seus dados nao serao carregados e nem salvos. eh bom esse sistema pra server de dm, evita muitos arquivos, player que entra so pra conhecer, por exemplo, nao precisa se registrar, pq ele pode nao gostar do servidor e nao voltar mais. se ele tivesse q registrar ficaria uma conta a toa la. na proxima atualizacao vou por pra salvar level e grana. desculpem-me pela mau escrita, estou na net pelo cel
Reply
#5

Concordo com o Lucas.

Mais tirando isso, уtimo filterscript.
Parabйns.
Reply
#6

meus parabens ana marx, eu nгo tenho nada para te dar mais te dou meu coraзгo. zoa te considero como uma irmг , tu ganha de mim em scriptar. Obs: To falando a verdade nem sei codar direito kk.
Reply
#7

Quote:
Originally Posted by Matheus_Ecko
Посмотреть сообщение
meus parabens ana marx, eu nгo tenho nada para te dar mais te dou meu coraзгo. zoa te considero como uma irmг , tu ganha de mim em scriptar. Obs: To falando a verdade nem sei codar direito kk.
kkkkkkkkkkkkkkkkkkkkk у o cara se declarando ae
Reply
#8

Otimo Fs
Reply
#9

@Atualizado, adicionado sistema pra salvar score e dinheiro.

Quote:
Originally Posted by Matheus_Ecko
Посмотреть сообщение
meus parabens ana marx, eu nгo tenho nada para te dar mais te dou meu coraзгo. zoa te considero como uma irmг , tu ganha de mim em scriptar. Obs: To falando a verdade nem sei codar direito kk.
Ah irmгo, tambйm nгo sabia muita coisa e aн fui aprendendo ! Todo mundo й capaz de aprender, vocк pode se esforзar e ficar melhor que eu, rs. (tenho um irmгo que se chama Matheus mesmo kkk)


Quote:
Originally Posted by [ODS]Break
Посмотреть сообщение
Otimo Fs
Mt obg
Reply
#10

Alguйm tem sugestхes de sistemas para mim fazer e por no FS? Sistema de VIP, admin, sei lб !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)