[Ajuda] Sistema de registro/login
#1

Sou novo aqui no fуrum, comecei com pawno a pouco tempo, estou a criar meu gm do zero, mais ainda nгo sei como criar um sistema de registro e etc, se alguйm poder me passar link, ou ensinar eu agradeзo, e se possнvel me ajudar tambйm com zcmd.
Reply
#2

Topo
pawn Код:
#define Registrar 0
#define Logar 1
new Identificado[MAX_PLAYERS];
public OnPlayerConnect(playerid)
pawn Код:
Identificado[playerid] = 0;
new nombre[MAX_PLAYER_NAME], archivo[256];
GetPlayerName(playerid, nombre, sizeof(nombre));
format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombre);
if (!dini_Exists(archivo))
{
    ShowPlayerDialog(playerid, Registrar, DIALOG_STYLE_INPUT, "Registrar", "{FFAFFA}Sua conta Nгo esta Registrada\nColoque sua Senha no Campo Abaixo:", "Registrar", "Cancelar");
}
else
{
    ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Brasil {FF0004}Start {0200A8}Games{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}BrStartGames{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Cancelar");
}
public OnPlayerDisconnect(playerid, reason)
pawn Код:
new Nombre[MAX_PLAYERS];
   new file[MAX_PLAYERS];
   GetPlayerName(playerid, Nombre, sizeof(Nombre));
   format(file, sizeof(file), "%s.ini", Nombre);

   if(Identificado[playerid] == 1)
   {
   dini_IntSet(file, "Admin", PlayerInfo[playerid][pAdmin]);
   dini_IntSet(file, "Kills", PlayerInfo[playerid][pKills]);
   dini_IntSet(file, "Deaths", PlayerInfo[playerid][pDeaths]);
   dini_IntSet(file, "Logins", PlayerInfo[playerid][pLogins]);
   }
public OnPlayerDeath(playerid, killerid, reason)
pawn Код:
if(killerid == INVALID_PLAYER_ID) // Es un check para ver si el que lo mato no existe (osea se mato solo el jugador)
{
PlayerInfo[playerid][pDeaths]++; //Esto aumentara los deaths
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1); // Quite score
}
else
{
PlayerInfo[playerid][pDeaths]++; //lAumenta los deaths
PlayerInfo[killerid][pKills]++; //Auemnte los kills
PlayerInfo[killerid][pExp]++;//Aumente exp
SetPlayerScore(killerid,GetPlayerScore(killerid)+1); //Aumente score
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
pawn Код:
if (dialogid == Registrar)
{
    new nombrejugador[MAX_PLAYER_NAME], archivo[256];
    if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Registrar, DIALOG_STYLE_INPUT, "Registrar", "{FFAFFA}Sua conta Nгo esta Registrada\nColoque sua Senha no Campo Abaixo:", "Registrar", "Cancelar");
    if (!response) return ShowPlayerDialog(playerid, Registrar, DIALOG_STYLE_INPUT, "Registrar", "{FFAFFA}Sua conta Nгo esta Registrada\nColoque sua Senha no Campo Abaixo:", "Registrar", "Cancelar");
    GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
    format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador);
    dini_Create(archivo);
    dini_Set(archivo, "Usuario", nombrejugador);
    dini_Set(archivo, "Contraseсa", inputtext);
    dini_IntSet(archivo, "Admin", PlayerInfo[playerid][pAdmin]);
    dini_IntSet(archivo, "Kills", PlayerInfo[playerid][pKills]);
    dini_IntSet(archivo, "Deaths", PlayerInfo[playerid][pDeaths]);
    dini_IntSet(archivo, "Logins", PlayerInfo[playerid][pLogins]);
    dini_IntSet(archivo, "Experiencia", PlayerInfo[playerid][pLogins]);
    dini_IntSet(archivo, "Nivel", PlayerInfo[playerid][pLogins]);
    ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Brasil {FF0004}Start {0200A8}Games{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}BrStartGames{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Esperar");
}
if (dialogid == Logar)
{
    new nombrejugador[MAX_PLAYER_NAME], archivo[256], comprobante[256];
    if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Brasil {FF0004}Start {0200A8}Games{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}BrStartGames{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Esperar");
    if (!response) return ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Brasil {FF0004}Start {0200A8}Games{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}BrStartGames{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Esperar");
    GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
    format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador);
    format(comprobante, sizeof(comprobante), "%s", dini_Get(archivo, "Contraseсa"));
    if (!strcmp (inputtext, comprobante))
    {
        Identificado[playerid] = 1;
        PlayerInfo[playerid][pLogins] ++;
    }
    else
    {
        ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Codigo {FF0004}De {0200A8}Registro{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}SeuForum{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Sair");
    }
  }
Antes que alguem como o Deagle venha falar que e de tal lugar, e de um sistema espanhol que eu importei e editei para meu GM do 0.
Crie a Pasta usuбrios nas suas scriptfiles.
Se falta alguma coisa me avise, se vocк nгo tiver uma dessas publics me avise tambem.
Reply
#3

с comeзa criando um GM do 0. comece por um FS simples ou edite um GM pra entender as funзхes


~EDIT~

Aff douglas se for pra postar isso nem posta. vai dar milhхes de erro ¬¬
Reply
#4

Quote:
Originally Posted by Douglas_FusioN
Посмотреть сообщение
Topo
pawn Код:
#define Registrar 0
#define Logar 1
new Identificado[MAX_PLAYERS];
public OnPlayerConnect(playerid)
pawn Код:
Identificado[playerid] = 0;
new nombre[MAX_PLAYER_NAME], archivo[256];
GetPlayerName(playerid, nombre, sizeof(nombre));
format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombre);
if (!dini_Exists(archivo))
{
    ShowPlayerDialog(playerid, Registrar, DIALOG_STYLE_INPUT, "Registrar", "{FFAFFA}Sua conta Nгo esta Registrada\nColoque sua Senha no Campo Abaixo:", "Registrar", "Cancelar");
}
else
{
    ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Brasil {FF0004}Start {0200A8}Games{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}BrStartGames{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Cancelar");
}
public OnPlayerDisconnect(playerid, reason)
pawn Код:
new Nombre[MAX_PLAYERS];
   new file[MAX_PLAYERS];
   GetPlayerName(playerid, Nombre, sizeof(Nombre));
   format(file, sizeof(file), "%s.ini", Nombre);

   if(Identificado[playerid] == 1)
   {
   dini_IntSet(file, "Admin", PlayerInfo[playerid][pAdmin]);
   dini_IntSet(file, "Kills", PlayerInfo[playerid][pKills]);
   dini_IntSet(file, "Deaths", PlayerInfo[playerid][pDeaths]);
   dini_IntSet(file, "Logins", PlayerInfo[playerid][pLogins]);
   }
public OnPlayerDeath(playerid, killerid, reason)
pawn Код:
if(killerid == INVALID_PLAYER_ID) // Es un check para ver si el que lo mato no existe (osea se mato solo el jugador)
{
PlayerInfo[playerid][pDeaths]++; //Esto aumentara los deaths
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1); // Quite score
}
else
{
PlayerInfo[playerid][pDeaths]++; //lAumenta los deaths
PlayerInfo[killerid][pKills]++; //Auemnte los kills
PlayerInfo[killerid][pExp]++;//Aumente exp
SetPlayerScore(killerid,GetPlayerScore(killerid)+1); //Aumente score
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
pawn Код:
if (dialogid == Registrar)
{
    new nombrejugador[MAX_PLAYER_NAME], archivo[256];
    if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Registrar, DIALOG_STYLE_INPUT, "Registrar", "{FFAFFA}Sua conta Nгo esta Registrada\nColoque sua Senha no Campo Abaixo:", "Registrar", "Cancelar");
    if (!response) return ShowPlayerDialog(playerid, Registrar, DIALOG_STYLE_INPUT, "Registrar", "{FFAFFA}Sua conta Nгo esta Registrada\nColoque sua Senha no Campo Abaixo:", "Registrar", "Cancelar");
    GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
    format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador);
    dini_Create(archivo);
    dini_Set(archivo, "Usuario", nombrejugador);
    dini_Set(archivo, "Contraseсa", inputtext);
    dini_IntSet(archivo, "Admin", PlayerInfo[playerid][pAdmin]);
    dini_IntSet(archivo, "Kills", PlayerInfo[playerid][pKills]);
    dini_IntSet(archivo, "Deaths", PlayerInfo[playerid][pDeaths]);
    dini_IntSet(archivo, "Logins", PlayerInfo[playerid][pLogins]);
    dini_IntSet(archivo, "Experiencia", PlayerInfo[playerid][pLogins]);
    dini_IntSet(archivo, "Nivel", PlayerInfo[playerid][pLogins]);
    ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Brasil {FF0004}Start {0200A8}Games{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}BrStartGames{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Esperar");
}
if (dialogid == Logar)
{
    new nombrejugador[MAX_PLAYER_NAME], archivo[256], comprobante[256];
    if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Brasil {FF0004}Start {0200A8}Games{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}BrStartGames{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Esperar");
    if (!response) return ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Brasil {FF0004}Start {0200A8}Games{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}BrStartGames{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Esperar");
    GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
    format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador);
    format(comprobante, sizeof(comprobante), "%s", dini_Get(archivo, "Contraseсa"));
    if (!strcmp (inputtext, comprobante))
    {
        Identificado[playerid] = 1;
        PlayerInfo[playerid][pLogins] ++;
    }
    else
    {
        ShowPlayerDialog(playerid, Logar, DIALOG_STYLE_INPUT, "Fazendo Seu Login:", "{FFFFFF}Seja Bem Vindo(a)\n     {0200A8}Codigo {FF0004}De {0200A8}Registro{FF0004}.\n\n{FFFFFF}Conta: {005B34}Registrada\n\n{FFFFFF}Use: {005B34}Nome_Sobrenome\n\n{FFFFFF}Exemplo: {ffff00}Queijo_Quente{FFFFFF}\n\n\n     www.{FF0004}SeuForum{FFFFFF}.forumeiros.com\n\n\nPor Favor Digite Sua Senha Para Logar !", "Logar", "Sair");
    }
  }
Antes que alguem como o Deagle venha falar que e de tal lugar, e de um sistema espanhol que eu importei e editei para meu GM do 0.
Crie a Pasta usuбrios nas suas scriptfiles.
Se falta alguma coisa me avise, se vocк nгo tiver uma dessas publics me avise tambem.
Eu queria um tutorial, mais vlw por tentar, nem vou tentar, pelo que eu vi vai dar erros
Reply
#5

Ok, pesso que baixe o original entгo.
Sistema de Registro

Quote:
Originally Posted by Lucas_Alemao
Посмотреть сообщение
с comeзa criando um GM do 0. comece por um FS simples ou edite um GM pra entender as funзхes


~EDIT~

Aff douglas se for pra postar isso nem posta. vai dar milhхes de erro ¬¬
Ja Fiz isso '-'
No GF, criei 9 Orgs com Infoorg,
4 Locais de Roubo e 2 Gzs.
E Outras coisa *-*
To meio atordoado, como o GM do 0 esta com 1400 Linhas, talvez eu tenha esquecido de algo mesmo.
Reply
#6

olha cara, aqui um sistema de registro em DOF2 q eu criei quando tava conhecendo a include. se quiser pegar pra estudar fique a vontade
pawn Код:
#include < a_samp >
#include < dof2 >

#define REGISTRO        456
#define LOGIN           457

#define VERDE           0x1BE01B96
#define AZUL            0x1BCCE096
#define VERMELHO        0xFF141496

new String[256];
new StringContas[256];

enum pInfo
{
    bool:Logado
}

new PlayerDados[MAX_PLAYERS][pInfo];

public OnFilterScriptInit()
{
    print("--------------------------------------------------------------");
    print("---§§§---------§§§   §§§--§§§§§§§§§--§§§§§§§§§§§--§§§§§§§§§---");
    print("---§§§---------§§§   §§§--§§§§§§§§§--§§§     §§§--§§§§§§§§§---");
    print("---§§§---------§§§   §§§--§§§--------§§§     §§§--§§§---------");
    print("---§§§---------§§§   §§§--§§§--------§§§§§§§§§§§--§§§§§§§§§---");
    print("---§§§---------§§§   §§§--§§§--------§§§§§§§§§§§--§§§§§§§§§---");
    print("---§§§§§§§§§---§§§§§§§§§--§§§§§§§§§--§§§     §§§--      §§§---");
    print("---§§§§§§§§§§--§§§§§§§§§--§§§§§§§§§--§§§     §§§--§§§§§§§§§---");
    print("--------------------------------------------------------------");
    print("----------------SISTEMA DE REGISTRO EM DOF2-------------------");
    return 1;
}

public OnFilterScriptExit()
{
    DOF2_Exit();
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    DOF2_Exit();
    return 1;
}

public OnPlayerConnect(playerid)
{
    PlayerDados[playerid][Logado] = false;
    format(StringContas, sizeof(StringContas), "Registro/%s.ini", Nome(playerid));
    if(!DOF2_FileExists(StringContas))
    {
        format(String, sizeof(String), "{1BE01B}Bem Vindo {1BCCE0}%s{1BE01B}\nDigite uma senha abaixo \npara se registrar:", Nome(playerid));
        ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registrando", String, "Registrar", "Sair");
    }
    if(DOF2_FileExists(StringContas))
    {
        format(String, sizeof(String), "{1BE01B}Bem Vindo de Volta {1BCCE0}%s{1BE01B}\nLogue-se usando sua senha :D", Nome(playerid));
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Logando", String, "Logar", "Sair");
    }
    return 1;
}

public OnPlayerText(playerid, text[])
{
    if(PlayerDados[playerid][Logado] == false) return 0;
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "Vocк nгo se logou/registrou e por isso nгo poderб usar o chat!");
    if(dialogid == REGISTRO)
    {
        if(!strlen(inputtext)) return SendClientMessage(playerid, VERMELHO, "Digite uma senha"), format(String, sizeof(String), "{1BE01B}Bem Vindo {1BCCE0}%s{1BE01B}\nDigite uma senha abaixo \npara se registrar:", Nome(playerid)), ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registrando", String, "Registrar", "Sair");
        DOF2_CreateFile(StringContas);
        DOF2_SetString(StringContas, "Senha", inputtext);
        SendClientMessage(playerid, VERDE, "Registrado com sucesso. Logado automaticamente!");
        format(String, sizeof(String), "Jogador %s Acaba de se conectar ao servidor", Nome(playerid));
        SendClientMessageToAll(AZUL, String);
        PlayerDados[playerid][Logado] = true;
    }
    if(dialogid == LOGIN)
    {
        if(!strlen(inputtext)) return SendClientMessage(playerid, VERMELHO, "Digite sua senha"), format(String, sizeof(String), "{1BE01B}Bem Vindo de Volta {1BCCE0}%s{1BE01B}\nLogue-se usando sua senha :D", Nome(playerid)), ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Logando", String, "Logar", "Sair");
        if(!strcmp(inputtext, DOF2_GetString(StringContas, "Senha"), false))
        {
            SendClientMessage(playerid, VERDE, "Logado com sucesso");
            PlayerDados[playerid][Logado] = true;
            format(String, sizeof(String), "Jogador %s Acaba de se conectar ao servidor", Nome(playerid));
            SendClientMessageToAll(AZUL, String);
        }
        else
        {
            SendClientMessage(playerid, VERMELHO, "Senha Incorreta!");
            format(String, sizeof(String), "{1BE01B}Bem Vindo de Volta {1BCCE0}%s{1BE01B}\nLogue-se usando sua senha :D", Nome(playerid));
            ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Logando", String, "Logar", "Sair");
        }
    }
    return 0;
}



stock Nome(playerid)
{
    new pnome[24];
    GetPlayerName(playerid, pnome, 24);
    return pnome;
}
Reply
#7

Gostei Lucas, acho que vou estudar DOF2 apesar de sу ter Usado Dini atй hoje.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)