Universo Games
Ola , Convidado



Você ainda não e cadastrado então cadastre-se e veja todas as atualizações no mundo rpg!!!
Universo Games

Suporte e Desenvolvimento só no Universo Games

Ola Convidado, Seja Bem vindo a equipe lhe deseja boa sorte no seu projeto!

Você não está conectado. Conecte-se ou registre-se

Sistema Recuperar Senha

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1Tutorial Sistema Recuperar Senha em Seg 13 Set 2010, 18:03

Luucas Robeerto


Fundador
Fundador
Dificuldade: 2/5 (É necessário saber um pouco de Visual Basic)

~ Primeira Parte (Estética)
- 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:Sem Foto~

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:

Código:
Private Sub lblRecup_Click()

End Sub

Acima do End Sub, coloque:
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.

~ Parte 2 (Programação)
- Client-side

Vá ao modClientTCP, procure por:

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:
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:
Call SendCodigo(frmRecuperar.txtLoginRec.Text, frmRecuperar.txtSecretRec.Text)

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

~ Parte 3 (Programação)
- Server-side

Procure:

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:
 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:
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:
Call PutVar(FileName,"GENERAL","Codigo",Trim(Player(Index).Codigo))

Procure:

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:
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:
' Conta
Login As String * NAME_LENGTH
Password As String * NAME_LENGTH

Abaixo, adicione:

Codigo As String * NAME_LENGTH

Procure:

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:
Player(Index).Codigo = vbNullString

Procure:

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

Adicione abaixo:

Código:
Dim Codigo As String

Procure:

Código:
Case "logination"

Acima, adicione:

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:
 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:
 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:
Function PasswordOK(ByVal Name As String, ByVal Password As String) As Boolean

Acima, adicione:

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:
 Case "newfaccountied"

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

Abaixo adicione:

Código:
 Codigo = Parse(3)

Ufa... terminou o servidor.
Voltemos 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:
 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:
 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:
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:
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:
 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:
 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:

Sub HandleData(ByVal Data As String)
Dim Parse() As String
Dim Name As String
Dim Password As String


Abaixo, adicione:

Dim Codigo As String

Créditos: Raijenki
Creditos: LosT - Style[quote]

http://universogamesmmo.forumeiros.com

2Tutorial Re: Sistema Recuperar Senha em Ter 14 Set 2010, 12:49

Thales12


Membro
Membro
Valews man, vai ajudar mt agente aki
+ 1 Cred

3Tutorial Re: Sistema Recuperar Senha em Sex 17 Set 2010, 12:14

Luucas Robeerto


Fundador
Fundador
vlw

esse sistema ajuda mais na parte do adiministrador

Pois nao vai peder tempo de recuperar contas

os jogadores mesmo recupe a sua acc

http://universogamesmmo.forumeiros.com

4Tutorial Re: Sistema Recuperar Senha em Qui 08 Set 2011, 12:07

drayon


Membro
Membro
Lucas Pelo Que Vi Esse Tuto Precisa Do Codigo Secreto

E Ai No Tuto Não Tem :s

http://www.dbeternamente.net.tc

5Tutorial Re: Sistema Recuperar Senha Hoje à(s) 14:16

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

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