Makers Brasil
Bem Vindos a Maker´s Brasil (um forum para criação de servidores 2D e 3D)Nos desejamos boa sorte no seu projeto!

Recuperar Senha

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Recuperar Senha

Mensagem por Uchiha em Qua Jul 06, 2011 11:30 am

Olá gente hj vim trazer mais outro tutorial explicando a voces ex:vc ta jogando um dbz logo dps sua irmã vai entrar no pc quando vc vai voltar a jogar esqueceu sua senha e não gravou ela nakela caixa de opção chamada de salvar senha. Oque vc faz?
(A)Pedi pro Adm?
(B)Vai Na Maker Brasil e faz o tuto do Uchiha?
(C)Fica no jogo tentando lembrar a senha e ficar com uma grande dor de cabeça?
Espero a resposta no final![center]

- Client-side


Essa parte é muito opcional. Primeiramente, crie um botão (ou uma label) que você queira que o jogador clique para ir ao formulário de "Recuperar Senha". No meu caso, eu coloquei uma lblRecup no frmLogin, deixando assim:

Agora crie um formulário chamado frmRecuperar; não se preocupe em deixá-lo bonitinho ainda.
Volte para onde você criou a label (ou o botão), dê duplo clique. A janela de código abrirá com o seguinte código:

Private Sub lblRecup_Click(Index As Integer)

End Sub



Acima do End Sub, coloque:

Código:
Código:
frmRecuperar.Visible = true



Bom, volte agora para o frmRecuperar, primeiramente deixe bem como você quiser.
É vital você criar duas textboxes (chame uma de txtLoginRec e a outra de txtSecretRec) e um button (btnRecover).
Eu deixei assim:


Ah, não esqueça de fazer um botão de fechar.

Acabou a primeira parte.


Ainda no Client-side

Vá ao modClientTCP, procure por:

Código:
Código:
Sub SendDelAccount(ByVal Name As String, ByVal Password As String)
Dim Packet As String

    Packet = "delimaccounted" & SEP_CHAR & Trim(Name) & SEP_CHAR & Trim(Password) & END_CHAR
    Call SendData(Packet)
End Sub


Abaixo, adicione:

Código:
Código:
Sub SendCodigo(ByVal Name As String, ByVal Codigo As String)
Dim Packet As String
   
    Packet = "sendcodigo" & SEP_CHAR & Trim(Name) & SEP_CHAR & Trim(Codigo) & END_CHAR
    Call SendData(Packet)
End Sub


Agora volte ao frmRecuperar, dê double-clique no botão e insira o seguinte código acima do End Sub:

Código:
Código:
Call SendCodigo(frmRecuperar.txtLoginRec.Text, frmRecuperar.txtSecretRec.Text)


Bom, essa é a parte Client-side.
Vamos ao server-side.

- Server-side

Procure:

Código:
Código:
Call ClearPlayer(Index)
    FileName = App.Path & "\Contas\" & Trim$(Name) & ".ini"
    Player(Index).Login = GetVar(FileName, "GENERAL", "Login")
    Player(Index).Password = GetVar(FileName, "GENERAL", "Password")
    Player(Index).Pet.Alive = NO


Substitua por:

Código:
Código:
 Call ClearPlayer(Index)
    FileName = App.Path & "\Contas\" & Trim$(Name) & ".ini"
    Player(Index).Login = GetVar(FileName, "GENERAL", "Login")
    Player(Index).Password = GetVar(FileName, "GENERAL", "Password")
    Player(Index).Codigo = GetVar(FileName, "GENERAL", "Codigo")
    Player(Index).Pet.Alive = NO



Procure:

Código:
Código:
Sub SavePlayer(ByVal Index As Long)
    Dim FileName As String
    Dim i As Long
    Dim N As Long

    FileName = App.Path & "\Contas\" & Trim$(Player(Index).Login) & ".ini"
    Call PutVar(FileName, "GENERAL", "Login", Trim$(Player(Index).Login))
    Call PutVar(FileName, "GENERAL", "Password", Trim$(Player(Index).Password))

Abaixo, adicione:

Código:
Código:
Call PutVar(FileName,"GENERAL","Codigo",Trim(Player(Index).Codigo))


Procure:

Código:
Código:
Sub AddAccount(ByVal Index As Long, _
  ByVal Name As String, _
  ByVal Password As String)
    Dim i As Long

    Player(Index).Login = Name
    Player(Index).Password = Password

Substitua por:

Código:
Código:
Sub AddAccount(ByVal Index As Long, _
  ByVal Name As String, _
  ByVal Password As String, _
  ByVal Codigo As String)
    Dim i As Long

    Player(Index).Login = Name
    Player(Index).Password = Password
    Player(Index).Codigo = Codigo

Procure:

Código:
Código:
' Conta
    Login As String * NAME_LENGTH
    Password As String * NAME_LENGTH


Abaixo, adicione:

Código:
Código:
Codigo As String * NAME_LENGTH


Procure:

Código:
Código:
Sub ClearPlayer(ByVal Index As Long)
    Dim i As Long
    Dim N As Long

    Player(Index).Login = vbNullString
    Player(Index).Password = vbNullString

Abaixo, adicione:

Código:
Código:
Player(Index).Codigo = vbNullString


Procure:

Código:
Código:
Sub HandleData(ByVal Index As Long, ByVal Data As String)
    Dim Parse() As String ' MODO DE SEGURANÇA -- "Descomente" para DESLIGÁ-LO, comente para LIGÁ-LO
    Dim Name As String
    Dim Password As String
    Dim Sex As Long
    Dim Class As Long
    Dim CharNum As Long
    Dim Msg As String
    Dim MsgTo As Long
    Dim Dir As Long
    Dim InvNum As Long
    Dim Amount As Long
    Dim Damage As Long
    Dim PointType As Byte
    Dim PointQuant As Integer
    Dim Movement As Long
    Dim i As Long, N As Long, x As Long, y As Long, f As Long
    Dim MapNum As Long
    Dim s As String
    Dim ShopNum As Long, ItemNum As Long
    Dim DurNeeded As Long, GoldNeeded As Long
    Dim z As Long
    Dim Packet As String
    Dim o As Long


Abaixo, adicione:

Código:
Código:
Dim Codigo As String


Procure:

Código:
Código:
Case "logination"


Acima, adicione:

Código:
Código:
 Case "sendcodigo"
               
                If Not IsLoggedIn(Index) Then
                    Name = Parse(1)
                    Codigo = Parse(2)
                    If Not AccountExist(Name) Then
                        Call PlainMsg(Index, "Essa conta não existe.", 2)
                        Exit Sub
                    End If
                If Not CodigoOK(Name, Codigo) Then
                        Call PlainMsg(Index, "Código incorreto.", 2)
                        Exit Sub
                    End If
                Call AddLog("Conta " & Trim$(Name) & " teve senha recuperada.", PLAYER_LOG)
                    Dim FileName As String
                    FileName = App.Path & "\Contas\" & Name & ".ini"
                    Password = GetVar(FileName, "GENERAL", "Password")
                    Call PlainMsg(Index, "Sua senha é " & Password, 2)
                End If

                Exit Sub

Procure:

Código:
Código:
    If Not AccountExist(Name) Then
                        Call AddAccount(Index, Name, Password)
                        Call TextAdd(frmServer.txtText(0), "Conta " & Name & " foi criada.", True)
                        Call AddLog("Conta " & Name & " foi criada.", PLAYER_LOG)
                        Call PlainMsg(Index, "Sua conta foi criada!!", 1)
                    Else
                        Call PlainMsg(Index, "Desculpe, essa conta já foi pega!", 1)
                    End If
                End If

                Exit Sub

Substitua por:

Código:
Código:
 If Not AccountExist(Name) Then
                        Call AddAccount(Index, Name, Password, Codigo)
                        Call TextAdd(frmServer.txtText(0), "Conta " & Name & " foi criada.", True)
                        Call AddLog("Account " & Name & " foi criada.", PLAYER_LOG)
                        Call PlainMsg(Index, "Sua conta foi criada!!", 1)
                    Else
                        Call PlainMsg(Index, "Desculpe, essa conta já foi pega!", 1)
                    End If
                End If

                Exit Sub

Procure por:

Código:
Código:
Function PasswordOK(ByVal Name As String, ByVal Password As String) As Boolean


Acima, adicione:

Código:
Código:
Function CodigoOK(ByVal Name As String, ByVal Codigo As String) As Boolean
    Dim FileName As String
    Dim RightCodigo As String

    CodigoOK = False

    If AccountExist(Name) Then
        FileName = App.Path & "\Contas\" & Trim$(Name) & ".ini"
        RightCodigo = GetVar(FileName, "GENERAL", "Codigo")

        If UCase$(Trim$(Codigo)) = UCase$(Trim$(RightCodigo)) Then
                CodigoOK = True
        End If
    End If

End Function



Procure por:
Código:
Código:
  Case "newfaccountied"

                If Not IsLoggedIn(Index) Then
                    Name = Parse(1)
                    Password = Parse(2)
Abaixo adicione:

Código:
Código:
Codigo = Parse(3)


terminou o servidor.
Voltamos ao client-side.

Bom, vá ao frmNewAccount, crie uma nova txt com o nome txtCodigoCadastro; coloque uma label dizendo também "Código Secreto". Etc, etc, etc.

Procure:

Código:
Código:
  Case MENU_STATE_NEWACCOUNT
            frmNewAccount.Visible = False
            If ConnectToServer = True Then
                Call SetStatus("Conectado, enviando informações da nova conta...")
                Call SendNewAccount(frmNewAccount.txtName.Text, frmNewAccount.txtPassword.Text)
            End If



Substitua por:

Código:
Código:
  Case MENU_STATE_NEWACCOUNT
            frmNewAccount.Visible = False
            If ConnectToServer = True Then
                Call SetStatus("Conectado, enviando informações da nova conta...")
                Call SendNewAccount(frmNewAccount.txtName.Text, frmNewAccount.txtPassword.Text, frmNewAccount.txtCodigoCadastro.Text)
            End If


Procure:

Código:
Código:
Sub SendNewAccount(ByVal Name As String, ByVal Password As String)
Dim Packet As String

    Packet = "newfaccountied" & SEP_CHAR & Trim(Name) & SEP_CHAR & Trim(Password) & END_CHAR
    Call SendData(Packet)
End Sub


Substitua por:

Código:
Código:
Sub SendNewAccount(ByVal Name As String, ByVal Password As String, ByVal Codigo As String)
Dim Packet As String

    Packet = "newfaccountied" & SEP_CHAR & Trim(Name) & SEP_CHAR & Trim(Password) & SEP_CHAR & Trim(Codigo) & END_CHAR
    Call SendData(Packet)
End Sub


Procure: (há 3 desses códigos, mas você deve substituir apenas o encontrado no frmNewAccount)
Código:
Código:
  If Len(Trim(txtName.Text)) < 3 Or Len(Trim(txtPassword.Text)) < 3 Then
            MsgBox "Sua conta e senha precisam ser no mínimo de 3 caracteres."
            Exit Sub
        End If



Substitua por:

Código:
Código:
  If Len(Trim(txtName.Text)) < 3 Or Len(Trim(txtPassword.Text)) < 3 Or Len(Trim(txtCodigoCadastro.Text)) < 3 Then
            MsgBox "Sua conta, senha e código precisam ter no mínimo de 3 caracteres."
            Exit Sub
        End If


No modClientTCP procure por:

Código:
Código:
Sub HandleData(ByVal Data As String)
Dim Parse() As String
Dim Name As String
Dim Password As String



Abaixo, adicione:
Código: Selecionar tudo
Código:
Dim Codigo As String
avatar
Uchiha
Estagiário
Estagiário

Mensagens : 62
Estrelas Makers : 95
Creditos : 11
Data de inscrição : 03/07/2011
Localização : Vitoria Da Conquista - Ba

Voltar ao Topo Ir em baixo

Re: Recuperar Senha

Mensagem por spectrus em Qua Jul 06, 2011 12:43 pm

Facilita muito o trabalho da STAFF para recuperar senha!
+1 cred


Divulgue nosso Forum!
[Você precisa estar registrado e conectado para ver este link.]
Código:
[url=http://makersbrasil.forumeiros.com/]
src="http://img841.imageshack.us/img841/9522/92324935.png"
border="0">[/url]



E meu fan? entao use:

Código:
[img]http://www.baixa.la/arquivos/3908525_imagem.gif[/img]

Sign:
Spoiler:



avatar
spectrus
Administrador
Administrador

Mensagens : 299
Estrelas Makers : 1466
Creditos : 49
Data de inscrição : 01/01/2011
Idade : 23
Localização : V.da conquista bahia

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum