SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 15/08/2017, 01:23 AM   #1
Don_Speed
High-roller
 
Don_Speed's Avatar
 
Join Date: Sep 2011
Location: Curitiba / PR
Posts: 3,272
Reputation: 266
Default Sistema de registro[DOF2]

Olá hoje estava vendo a quantidade de tutoriais de "como criar sistema de registro"
Na grande maioria tutoriais poluidos , então resolvi trazer o meu modo de cria .
Muito parecido com os demais podem sem poluição.


A primeira coisa e adicionar a include DOF2 no topo de seu game mode

Logo apos e necessario criar uma enum para podermos ter onde guardar informaçoes necessarias.
Meu Exemplo
PHP Code:
enum pInfo {
     
pSenha[50]
}
new 
DonInforma[MAX_PLAYERS][pInfo]; 
Vale o aviso que nesta opção acima da para colocar mais variaveis das quais queira usar . (foda-se)

Agora vamos criar algumas definições necessarias, junto a elas tera suas explicações

PHP Code:
#define      DIALOG_REGISTER            1 // Define para o dialog de registro
#define      DIALOG_LOGIN               2 // Define para o dialog de login


#define      ContaSalva                 "DonSpeed/DJogadores/%s.ini"// local onde as contas serão salvas

new EmGeral[100]; 
Eu gosto de usar uma stock para getar o nome do jogador e não poluir o codigo.
PHP Code:
stock DonPegaNome(playerid)
{
    new 
name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnamesizeof(name));
    return 
name;
}
/*Modo de uso */

format(strsizeof str"Seu nome e %s",DonPegaNome(playerid));
SendMessageClient(playerid, -1str); 
Agora vamos começar a dar forma em nosso sistema .
Promeiramente vamos ao OnPlayerConnect (CTRL+F) para poder verificar se o jogador em questão possui conta em nosso sistema ou não.



PHP Code:
format(EmGeralsizeof(EmGeral), ContaSalva DonPegaNome(playerid));// Procura no lugar onde fica amarzenado as contas

    
if(!DOF2_FileExists(EmGeral))// Verifica se o usuario possui conta
      
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_PASSWORD"Registro""Registro""Registro"#);/*Caso não possua conta ira aparecer essa dialog*/
     
else
        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Logar""Logar""Logar"#);/*Caso possua ira aparecer este dialog*/ 
Agora iremos a parte mais basica deste sistema , localizem a OnDialogResponse (CTRL+F)
Localizado iremos montar um pequeno codigo , exemplo e explicação logo abaixo.
PHP Code:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch(
dialogid)
    {
           case 
DIALOG_REGISTER:/*Para podermos fazer a resposta do dialog do registro montado em OnPlayerConnect*/
           
{
                if(!
response)return Kick(playerid);/*Caso ele aperto o botao da direita*/
                
format(DonInforma[playerid][pSenha], 50inputtext);/*Seta nesta variavel o inputtext digitado(Senha)*/
                
DonSalva(playerid);// Salva a conta do usuario (Mais info abaixo)
           
}
           case 
DIALOG_LOGIN:/*Para podermos fazer a resposta do dialog do login montado em OnPlayerConnect*/
           
{
                if(!
response)return Kick(playerid);/*Caso ele aperto o botao da direita*/
                
DonCarrega(playerid);/*Carrega senha e outras informaçoes do usuario*/
                
if(!strcmp(inputtext,DonInforma[playerid][pSenha],true))/*Verifica se a senha digitado e a mesma que foi guardada*/
                
{
                    
/*Funçoes para quando ele logar esta parte*/
                
}else ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Logar""Logar""Logar"#);/*Caso ele erre a senha voltara ao dialog*/
           
}
    }
    return 
true;



Em montei duas callbacks para poder puxar e salvar os dados facilmente .
Exemplo e explicação
PHP Code:
forward DonSalva(playerid);
public 
DonSalva(playerid)
{
    
format(EmGeralsizeof(EmGeral), ContaSalva DonPegaNome(playerid));// Busca do local amarzenado as contas dos usuarios

    
if(!DOF2_FileExists(EmGeral))// Verifica se o mesmo tem ou não conta em nossos dados
    
{//Resposta caso não tenha
        
DOF2_CreateFile(EmGeral);//Ira criar arquivo em nossa pasta desejada
        
DOF2_SetString(EmGeral,"Senha",DonInforma[playerid][pSenha]); // Armazenara no arquivo a senha salva na pSenha
        
DOF2_SaveFile();//Fará uma att do arquivo
    
}else{// Caso ja tenha conta
        
DOF2_SetString(EmGeral,"Senha",DonInforma[playerid][pSenha]);// Armazenara no arquivo a senha salva na pSenha
        
DOF2_SaveFile();//Fará uma att do arquivo
    
}
    return 
true;


PHP Code:
forward DonCarrega(playerid);
public 
DonCarrega(playerid)
{
    new 
Pass[50];// String
    
format(EmGeralsizeof(EmGeral), ContaSalva DonPegaNome(playerid));// Busca do local amarzenado as contas dos usuarios
    
if(!DOF2_FileExists(EmGeral))// Verifica se o mesmo tem ou não conta em nossos dados
    
{//Resposta não caso tenha
       
DOF2_CreateFile(EmGeral);//Ira criar arquivo em nossa pasta desejada
       
DOF2_GetString(EmGeral"Senha"Pass);// Carrega a informaçao de Senha gravada no arquivo
       
format(DonInforma[playerid][pSenha], 50,Pass); // Passa a informação a variavel pSenha
    
}
    else
    {
//Resposta caso tenha
       
DOF2_GetString(EmGeral"Senha"Pass);// Carrega a informaçao de Senha gravada no arquivo
       
format(DonInforma[playerid][pSenha], 50,Pass);// Passa a informação a variavel pSenha
    
}
    return 
true;


Bom e isso bem simples , qualquer duvida , sugestão ou ate mesmo algo que eu tenha errado so posta.
Não serei tão ativo quanto antes , mas tarei por ai .


bandeja exposta aos bicho preguiça.


__________________
Youtubar
Discord : Don_Speed#6282
Don_Speed is offline   Reply With Quote
Old 15/08/2017, 01:28 AM   #2
GuilhermeNunes
Gangsta
 
Join Date: Feb 2017
Posts: 550
Reputation: 8
Default Re: Sistema de registro[DOF2]

Não Quero ser rude.... mas hj em dia tem varios tuto disso e FS ... principalmente no youtube.

mais vai ajudar quem não sabe ainda.
GuilhermeNunes is offline   Reply With Quote
Old 15/08/2017, 01:38 AM   #3
s4kuL
High-roller
 
s4kuL's Avatar
 
Join Date: Apr 2012
Posts: 1,114
Reputation: 158
Default Re: Sistema de registro[DOF2]

Quote:
Originally Posted by GuilhermeNunes View Post
Não Quero ser rude.... mas hj em dia tem varios tuto disso e FS ... principalmente no youtube.

mais vai ajudar quem não sabe ainda.
;/ ;/ ;/
s4kuL is offline   Reply With Quote
Old 15/08/2017, 02:00 AM   #4
zCyan
Huge Clucker
 
zCyan's Avatar
 
Join Date: May 2017
Location: Park Glenn
Posts: 463
Reputation: 14
Default Re: Sistema de registro[DOF2]

Bom tutorial!
__________________
zCyan is offline   Reply With Quote
Old 15/08/2017, 09:38 AM   #5
Don_Speed
High-roller
 
Don_Speed's Avatar
 
Join Date: Sep 2011
Location: Curitiba / PR
Posts: 3,272
Reputation: 266
Default Re: Sistema de registro[DOF2]

Quote:
Originally Posted by Don_Speed View Post

Na grande maioria tutoriais poluidos , então resolvi trazer o meu modo de cria .
Muito parecido com os demais podem sem poluição.
Quote:
Originally Posted by GuilhermeNunes View Post
Não Quero ser rude.... mas hj em dia tem varios tuto disso e FS ... principalmente no youtube.

mais vai ajudar quem não sabe ainda.
Quote:
Originally Posted by s4kuL View Post
;/ ;/ ;/
Só acho que era bom ler , o titulo não diz a qualidade do conteudo.
Não e nada genial , mas e um conteudo limpo .
Vocês não teve nem o trabalho de ler o topico , geração CTRL C.


Quote:
Originally Posted by zCyan View Post
Bom tutorial!
Hum

Minha opinião e foda-se quem não gostar .
__________________
Youtubar
Discord : Don_Speed#6282
Don_Speed is offline   Reply With Quote
Old 15/08/2017, 10:45 AM   #6
IlanZ
High-roller
 
Join Date: Jul 2016
Location: Brasil
Posts: 1,349
Reputation: 75
Default Re: Sistema de registro[DOF2]

Nada mau.
IlanZ is offline   Reply With Quote
Old 15/08/2017, 10:46 AM   #7
GuilhermeNunes
Gangsta
 
Join Date: Feb 2017
Posts: 550
Reputation: 8
Default Re: Sistema de registro[DOF2]

Pra que a ignorância cara ? eu n te critiquei e ainda dei rep pelo tuto e tu ja vem com ignorancia...
GuilhermeNunes is offline   Reply With Quote
Old 15/08/2017, 11:32 AM   #8
RodrigoMSR
High-roller
 
RodrigoMSR's Avatar
 
Join Date: Mar 2015
Location: Brazil
Posts: 1,075
Reputation: 140
Default Re: Sistema de registro[DOF2]

Quanto mais melhor.

Só faltou uma coisa para ficar completo, um comando para salvar todos online e o salvamento automático de tempos em tempos, pois quando o servidor cai vários dados são perdidos e muitos novatos criam tópicos por causa disso.
__________________
sttserver.net

RodrigoMSR is offline   Reply With Quote
Old 15/08/2017, 12:49 PM   #9
Carlos001
Guest
 
Posts: n/a
Default Re: Sistema de registro[DOF2]

Muito bom!!
Só dar um update com oque o Amigo disse acima ^^ que ficará perfeito
Parabéns.
  Reply With Quote
Old 15/08/2017, 01:05 PM   #10
zCyan
Huge Clucker
 
zCyan's Avatar
 
Join Date: May 2017
Location: Park Glenn
Posts: 463
Reputation: 14
Default Re: Sistema de registro[DOF2]

Quote:
Originally Posted by RodrigoMSR View Post
Quanto mais melhor.

Só faltou uma coisa para ficar completo, um comando para salvar todos online e o salvamento automático de tempos em tempos, pois quando o servidor cai vários dados são perdidos e muitos novatos criam tópicos por causa disso.
Nossa, bom saber disso kkk
__________________
zCyan is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Erro sistema de registro DOF2 yurin Português/Portuguese 3 27/06/2016 10:42 PM
[Ajuda] Sistema de registro DOF2 Leopawno Português/Portuguese 0 27/05/2014 09:55 PM
[Pedido] Sistema de Registro em Dof2 BWCALLEf Português/Portuguese 3 19/03/2014 09:13 PM
[Ajuda] DOF2, Sistema de Registro, E Admin. LucaAllexandre Português/Portuguese 4 14/08/2013 09:03 PM
[Ajuda] Sistema de registro/login em DOF2 Lotts Português/Portuguese 3 14/07/2013 10:42 PM


All times are GMT. The time now is 02:21 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.