Lucas Roberto Administrador
Mensagens : 711
| Assunto: Sistema Recuperar Senha Seg 13 Set 2010, 19:03 | |
| 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: - Código:
-
Codigo As String * NAME_LENGTH
Procure: - 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:
-
Player(Index).Codigo = vbNullString Procure: - 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 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: - Código:
-
Sub HandleData(ByVal Data As String) Dim Parse() As String Dim Name As String Dim Password As String Abaixo, adicione: - Código:
-
Dim Codigo As String Créditos: Raijenki
Última edição por Lucas Roberto em Seg 14 Ago 2017, 22:58, editado 1 vez(es) | |
|
Convidado Convidado
| Assunto: Re: Sistema Recuperar Senha Ter 14 Set 2010, 13:49 | |
| Valews man, vai ajudar mt agente aki + 1 Cred |
|
Lucas Roberto Administrador
Mensagens : 711
| Assunto: Re: Sistema Recuperar Senha Sex 17 Set 2010, 13:14 | |
| vlw
esse sistema ajuda mais na parte do adiministrador
Pois nao vai peder tempo de recuperar contas
os jogadores mesmo recupe a sua acc | |
|
Convidado Convidado
| Assunto: Re: Sistema Recuperar Senha Qui 08 Set 2011, 13:07 | |
| Lucas Pelo Que Vi Esse Tuto Precisa Do Codigo Secreto
E Ai No Tuto Não Tem :s |
|