Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Sub HandleRecuperarPersonaje(ByVal UserIndex As Integer)
- On Error GoTo ErrHandler
- With UserList(UserIndex)
- Dim email, NewPassword, Nick, Pin As String
- Dim buffer As clsByteQueue: Set buffer = New clsByteQueue
- Call buffer.CopyBuffer(UserList(UserIndex).incomingData)
- buffer.ReadByte
- Nick = buffer.ReadASCIIString
- email = buffer.ReadASCIIString
- Pin = buffer.ReadASCIIString
- NewPassword = buffer.ReadASCIIString
- If Not AsciiValidos(Nick) Then
- Call WriteErrorMsg(UserIndex, "Nombre inválido.")
- Call FlushBuffer(UserIndex)
- Call CloseSocket(UserIndex)
- Exit Sub
- End If
- If Not PersonajeExiste(Nick) Then
- Call WriteErrorMsg(UserIndex, "El personaje no existe.")
- Call FlushBuffer(UserIndex)
- Call CloseSocket(UserIndex)
- Exit Sub
- End If
- If BANCheck(Nick) Then
- Call WriteErrorMsg(UserIndex, "Se te ha prohibido la entrada al juego debido a tu mal comportamiento. Puedes consultar el reglamento y el sistema de soporte.")
- Call UserList(UserIndex).incomingData.CopyBuffer(buffer)
- Call FlushBuffer(UserIndex)
- Call CloseSocket(UserIndex)
- Exit Sub
- End If
- Dim EmailTrue, PinTrue As String
- Dim ReadDat As clsIniManager
- Set ReadDat = New clsIniManager
- ReadDat.Initialize CharPath & UCase$(Nick) & ".chr"
- EmailTrue = ReadDat.GetValue("CONTACTO", "EMAIL") 'GetVar(UCase$(Nick) & ".chr", "CONTACTO", "EMAIL")
- PinTrue = ReadDat.GetValue("INIT", "PIN")
- If Pin = PinTrue And email = EmailTrue Then
- 'Call ReadDat.ChangeValue("INIT", "PASSWORD", str$(NewPassword))
- Call ReadDat.ChangeValue(CharPath & UCase$(Nick) & ".chr", "INIT", "PASSWORD", NewPassword)
- Call ReadDat.DumpFile(CharPath & UCase$(Nick) & ".chr")
- Call WriteErrorMsg(UserIndex, "El personaje ha sido recuperado con exito.")
- Else
- If Not Pin = PinTrue Then
- WriteErrorMsg UserIndex, "El pin es incorrecto."
- End If
- If Not email = EmailTrue Then
- WriteErrorMsg UserIndex, "El email es incorrecto."
- End If
- End If
- 'Call CloseSocket(UserIndex)
- Call UserList(UserIndex).incomingData.CopyBuffer(buffer)
- ErrHandler:
- Dim error As Long
- error = Err.Number
- On Error GoTo 0
- 'Destroy auxiliar buffer
- Set buffer = Nothing
- If error <> 0 Then _
- Err.Raise error
- End With
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement