Compartilhe
Ir em baixo
avatar
Membro Ouro

Titulo : meiguinha
Registro : 02/05/2015
Mensagens : 1264
Reputação : 106

Ver perfil do usuário

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Dom 9 Jul 2017 - 17:54
Relembrando a primeira mensagem :

Olá amigos, trouxe para vocês hoje um sistema de verificação de e-mail, talvez outras pessoas tenham o mesmo em maneira diferente, por exemplo, em PHP.

Ao entrar no jogo, aparecerá um alerta onde irá pedir uma chave de segurança, ou melhor, um código de verificação.

Lembrando que esse sistema é para os usuários da equipe, após então você colocar o código de verificação, automaticamente irá aparecer o MOD Tools e enfim, os comandos da equipe.  Caso o contrário, você não poderá executar comandos e nem terá o MOD Tools dentro do servidor.

Essa chave de segurança (código de verificação) será enviada por e-mail.

COMENTE PARA VISUALIZAR AS IMAGENS!!
Imagem 1:



Imagem 2:


Imagem 3:


Imagem 4:



Como pode ver na terceira imagem, o código foi enviado do e-mail, mas, depois explico como iremos ativar. Na quarta imagem estaremos vendo como colocar o código corretamente, se colocar de uma maneira errada, não irá aparecer MOD Tools e comandos e então aparecerá um alerta avisando do erro. Agora, vamos ao código para que o sistema funcione!

No primeiro passo iremos a PlusEnvironment.cs e buscaremos por;
Código:
public static string SWFRevision = "";
E logo em baixo disso iremos adicionar esse código aqui;
Código:
public static string source;

No segundo passo iremos até Habbo.cs e buscaremos por;
Código:
public Habbo(int Id, string Username,
E em cima desse código nós iremos colocar;
Código:
internal bool PinStaff;

Depois buscaremos o seguinte;
Código:
            //TODO: Nope.
            this.InitPermissions();
E em cima do mesmo, colocaremos;
Código:
this.PinStaff = false;

No terceiro passo iremos a GameClient.cs e buscaremos por;
Código:
                    if (!string.IsNullOrWhiteSpace(PlusEnvironment.GetDBConfig().DBData["welcome_message"]))
                        SendMessage(new MOTDNotificationComposer(PlusEnvironment.GetDBConfig().DBData["welcome_message"]));
Em cima desse código, buscaremos;
Código:
                    if (userData.user.GetPermissions().HasRight("mod_tickets"))
                    {
                        SendMessage(new ModeratorInitComposer(
                          PlusEnvironment.GetGame().GetModerationManager().UserMessagePresets,
                          PlusEnvironment.GetGame().GetModerationManager().RoomMessagePresets,
                          PlusEnvironment.GetGame().GetModerationManager().UserActionPresets,
                          PlusEnvironment.GetGame().GetModerationTool().GetTickets));
                    }
E agora trocamos esse código, por este;
Código:
                    /*
                    if (userData.user.GetPermissions().HasRight("mod_tickets"))
                    {
                        SendMessage(new ModeratorInitComposer(
                          PlusEnvironment.GetGame().GetModerationManager().UserMessagePresets,
                          PlusEnvironment.GetGame().GetModerationManager().RoomMessagePresets,
                          PlusEnvironment.GetGame().GetModerationManager().UserActionPresets,
                          PlusEnvironment.GetGame().GetModerationTool().GetTickets));
                    }
                    */
Agora, em baixo de;
Código:
                    if (!string.IsNullOrWhiteSpace(PlusEnvironment.GetDBConfig().DBData["welcome_message"]))
                        SendMessage(new MOTDNotificationComposer(PlusEnvironment.GetDBConfig().DBData["welcome_message"]));
Colocaremos o seguinte; (Aqui é onde modificaremos o RANK para que apareça o alerta de PIN).
Código:
                    var rank = userData.user.Rank;
                    if (rank == 5 || rank == 6 || rank == 7 || rank == 8 || rank == 9) //editamos los rank a los que queremos pedir pin.
                    {

                        ServerPacket verify = new ServerPacket(ServerPacketHeader.VerifyMobilePhoneWindowComposer);
                        verify.WriteInteger(1);
                        verify.WriteInteger(1);
                        SendMessage(verify);


                        int PasswordLength = 10;
                        string _allowedChars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789!@$?";
                        Byte[] randomBytes = new Byte[PasswordLength];
                        char[] chars = new char[PasswordLength];
                        int allowedCharCount = _allowedChars.Length;

                        for (int i = 0; i < PasswordLength; i++)
                        {
                            Random randomObj = new Random();
                            randomObj.NextBytes(randomBytes);
                            chars[i] = _allowedChars[(int)randomBytes[i] % allowedCharCount];
                        }

                        var clave = new string(chars);

                        System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                        mail.From = new MailAddress("AQUITUGMAIL@GMAIL.COM"); //aqui tu GMAIL
                        try
                        {
                            DataRow UserData = null;
                            using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
                            {
                                dbClient.SetQuery("SELECT `id`,`username`,`mail` FROM users WHERE `username` = @Username LIMIT 1");
                                dbClient.AddParameter("Username", userData.user.Username);
                                UserData = dbClient.getRow();
                            }

                            mail.To.Add(Convert.ToString(UserData["mail"]));
                        }
                        catch
                        {
                        }

                        mail.Subject = "Clave para activar tu cuenta";
                        mail.Body = "Clave para activar tu cuenta staff, Clave acceso: " + clave + "";

                        SmtpClient smtp = new SmtpClient();

                        smtp.Host = "smtp.gmail.com";
                        smtp.Port = 587;
                        smtp.Credentials = new NetworkCredential("AQUITUGMAIL@GMAIL.COM", "TU CLAVE DE GMAIL");
                        smtp.EnableSsl = true;
                        try
                        {
                            smtp.Send(mail);
                            SendNotification("Te hemos mandando una clave a tu Email para poder activar tu cuenta, comprueba tu correo.");
                        }
                        catch (Exception ex)
                        {
                            Console.Write(ex.Message);
                        }


                        PlusEnvironment.source = clave;
                        userData.user.PinStaff = true;

                    }
                    else
                    {
                        if (userData.user.GetPermissions().HasRight("mod_tickets"))
                        {
                            SendMessage(new ModeratorInitComposer(
                              PlusEnvironment.GetGame().GetModerationManager().UserMessagePresets,
                              PlusEnvironment.GetGame().GetModerationManager().RoomMessagePresets,
                              PlusEnvironment.GetGame().GetModerationManager().UserActionPresets,
                              PlusEnvironment.GetGame().GetModerationTool().GetTickets));
                        }
                    }


Agora no quarto passo criaremos uma pasta em Plus.Communication.Packets.Incoming e iremos chamar a mesma de PINSMS e dentro dessa nova pasta iremos adicionar uma classe chamada PinStaffSms;
Código:
using Plus.Communication.Packets.Outgoing;
using Plus.Communication.Packets.Outgoing.Catalog;
using Plus.Communication.Packets.Outgoing.Moderation;
using Plus.Communication.Packets.Outgoing.Notifications;
using Plus.HabboHotel.GameClients;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace Plus.Communication.Packets.Incoming.PINSMS
{
    class PinStaffSms : IPacketEvent
    {
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            string clave = Packet.PopString();

            if (clave == PlusEnvironment.source)
            {
                StringBuilder HabboInfo = new StringBuilder();
                HabboInfo.Append("Hola " + Session.GetHabbo().Username + "\r");
                HabboInfo.Append("Te has identificado correctamente");
                Session.SendNotification(HabboInfo.ToString());
                Session.GetHabbo().PinStaff = false;

                if (Session.GetHabbo().GetPermissions().HasRight("mod_tickets"))
                {
                    Session.SendMessage(new ModeratorInitComposer(
                      PlusEnvironment.GetGame().GetModerationManager().UserMessagePresets,
                      PlusEnvironment.GetGame().GetModerationManager().RoomMessagePresets,
                      PlusEnvironment.GetGame().GetModerationManager().UserActionPresets,
                      PlusEnvironment.GetGame().GetModerationTool().GetTickets));
                }

            }
            else
            {
                Session.SendNotification("Error de clave, prueba de nuevo");
                ServerPacket verify= new ServerPacket(ServerPacketHeader.VerifyMobilePhoneWindowComposer);
                verify.WriteInteger(1);
                verify.WriteInteger(1);
                Session.SendMessage(verify);
                return;

            }


            ServerPacket error = new ServerPacket(ServerPacketHeader.SMSErrorComposer);
            error.WriteInteger(2);
            error.WriteInteger(2);
            Session.SendMessage(error);


            ServerPacket verify2 = new ServerPacket(ServerPacketHeader.VerifyMobilePhoneWindowComposer);
            verify2.WriteInteger(-1);
            verify2.WriteInteger(-1);
            Session.SendMessage(verify2);
        }
    }
}

No quinto passo, vamos a ChatEvent.cs e buscaremos por;
Código:
            if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom)
                return;
E em baixo adicionamos o seguinte;
Código:
            if (Session.GetHabbo().PinStaff)
            {
                Session.SendWhisper("No has activado tu cuenta, nada de hablar.");
                return;
            }

Sexto passo, adicionamos os IDS dos Packets de alertas para mostrar..  ServerPacketHeader.cs
Código:
        public const int SMSErrorComposer = 3747;
        public const int VerifyMobilePhoneWindowComposer = 2685;
Agora criaremos o ID do Packet para enviar.. ClientPacketHeader.cs
Código:
        public const int SmsVerification = 2069;

No sétimo passo iremos a PacketManager.cs e buscaremos por;
Código:
private void RegisterNux()
E dentro desse private adicionamos o seguinte;
Código:
this._incomingPackets.Add(ClientPacketHeader.SmsVerification, new PinStaffSms());

A PRODUCTION que utilizei nesse tutorial foi PRODUCTION-201609061203-935497134, vocês terão que adicionar as IDS da release. Bom, agora vamos para a parte do GMAIL (E-mail), link para enviar e-mails a partir de C# de erros livres.
[Você precisa estar registrado e conectado para ver este link.]

Aqui irá dizer se você deve ou não permitir aplicações menos seguras e você terá que permitir, pronto. Enfim, qualquer coisa sobre o assunto, não hesite em comentar.

Créditos:
Habbo
antonyxxx10
eu por postar no ppf :*


Última edição por Maloma em Dom 9 Jul 2017 - 19:30, editado 1 vez(es)

Membro

Registro : 16/09/2017
Mensagens : 18
Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Qui 7 Jun 2018 - 20:59
Muito bom vou testar
Membro Bronze

Registro : 10/07/2013
Mensagens : 330
Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 8 Jun 2018 - 0:27
Otimo conteudo, obrigado por compartilhar conosco aqui no PPF!
Membro

Registro : 06/06/2018
Mensagens : 24
Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 8 Jun 2018 - 9:28
Comment tô view
Membro Prata

Registro : 28/10/2012
Mensagens : 526
Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Seg 11 Jun 2018 - 0:17
obg
Moderador

Registro : 20/09/2016
Mensagens : 792
Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Seg 11 Jun 2018 - 10:34
O usuário [Você precisa estar registrado e conectado para ver este link.] foi punido por Comentário Inútil, logo receberá uma punição de 1 infrações.

Leia as [Você precisa estar registrado e conectado para ver este link.]

Membro

Registro : 02/11/2015
Mensagens : 48
Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Qua 20 Jun 2018 - 2:27
comentando para ver
Novato

Registro : 28/06/2018
Mensagens : 2
Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Qui 28 Jun 2018 - 18:26
très alley friend
Membro Bronze

Registro : 26/11/2011
Mensagens : 401
Ver perfil do usuáriohttp://www.power-pixel.net

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Dom 1 Jul 2018 - 12:42
AAAAAAAAAAA
Super Mod

Registro : 27/10/2016
Mensagens : 426
Ver perfil do usuáriohttp://habb0.org

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Dom 1 Jul 2018 - 18:31
O usuário [Você precisa estar registrado e conectado para ver este link.] foi punido por Postagem Inúltil, logo receberá uma punição de 1 infrações.

Leia as [Você precisa estar registrado e conectado para ver este link.]
avatar
Membro

Titulo :  
Registro : 29/10/2017
Mensagens : 49
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 6 Jul 2018 - 18:14
Comentando para ver
avatar
Membro

Titulo :  
Registro : 30/07/2018
Mensagens : 25
Reputação : 0

Ver perfil do usuário

Gostei

em Ter 31 Jul 2018 - 10:55
comentando para ver
avatar
Novato

Titulo :  
Registro : 20/07/2018
Mensagens : 3
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 3 Ago 2018 - 10:52
comentado para visar lol
avatar
Membro

Titulo :  
Registro : 04/01/2017
Mensagens : 46
Reputação : 1

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 3 Ago 2018 - 16:20
comentando para visualizar
avatar
Membro

Titulo :  
Registro : 08/07/2017
Mensagens : 11
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 17 Ago 2018 - 15:00
comentando pra ver
avatar
Membro

Titulo :  
Registro : 31/03/2017
Mensagens : 86
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 17 Ago 2018 - 19:48
comentando p ver
avatar
Membro

Titulo :  
Registro : 14/10/2013
Mensagens : 10
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sab 18 Ago 2018 - 2:23
Comentando para visualizar
avatar
Membro

Titulo :  
Registro : 24/08/2012
Mensagens : 28
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Dom 19 Ago 2018 - 0:24
Comentando para visualizar.
avatar
Membro

Titulo :  
Registro : 25/07/2015
Mensagens : 40
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Dom 19 Ago 2018 - 1:37
waaaaaaaaaaaaaaaaaaal
avatar
Membro

Titulo :  
Registro : 28/06/2018
Mensagens : 22
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Ter 21 Ago 2018 - 2:23
Comenté pero visualizar
avatar
Membro

Titulo :  
Registro : 28/02/2014
Mensagens : 95
Reputação : 5

Ver perfil do usuáriohttp://www.habbzone.biz

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Ter 21 Ago 2018 - 10:30
Muito obrigado
avatar
Membro

Titulo :  
Registro : 08/03/2015
Mensagens : 91
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Dom 26 Ago 2018 - 19:34
hm godella para dento vel
avatar
Membro

Titulo :  
Registro : 03/06/2018
Mensagens : 14
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Dom 26 Ago 2018 - 21:36
Comentando para ver
avatar
Membro

Titulo :  
Registro : 01/09/2018
Mensagens : 17
Reputação : 0

Ver perfil do usuário

comentando pra ver

em Sab 1 Set 2018 - 17:51
comentando pra ver
avatar
Novato

Titulo :  
Registro : 24/04/2018
Mensagens : 9
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Dom 2 Set 2018 - 0:51
Comentando para visualizar as imagens!
avatar
Membro

Titulo :  
Registro : 04/11/2011
Mensagens : 51
Reputação : 5

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Seg 3 Set 2018 - 8:16
Obrigado pela partilha :D
avatar
Membro Bronze

Titulo :  
Registro : 27/01/2016
Mensagens : 249
Reputação : 17

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Seg 3 Set 2018 - 17:44
tendo que comentar para ver
avatar
Membro

Titulo :  
Registro : 18/06/2016
Mensagens : 70
Reputação : 4

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Qua 26 Set 2018 - 10:22
Comentando para visualizar
avatar
Membro Platina

Titulo : C++
Registro : 05/09/2011
Mensagens : 2913
Reputação : 226

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Qua 3 Out 2018 - 14:46
comentando para visualizar
avatar
Membro

Titulo :  
Registro : 30/09/2018
Mensagens : 16
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 5 Out 2018 - 4:23
see
avatar
Membro

Titulo :  
Registro : 30/09/2018
Mensagens : 18
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Seg 8 Out 2018 - 22:59
.
avatar
Membro

Titulo :  
Registro : 21/07/2018
Mensagens : 65
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Ter 9 Out 2018 - 0:03
comentando pra ver as imagens
avatar
Membro Ouro

Titulo :  
Registro : 09/06/2012
Mensagens : 1363
Reputação : 101

Ver perfil do usuáriohttp://www.toophabbo.com

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Ter 9 Out 2018 - 18:51
comentando so pra ver o print
avatar
Membro

Titulo :  
Registro : 07/10/2018
Mensagens : 14
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 19 Out 2018 - 9:10
COMENTE PARA VISUALIZAR AS IMAGENS!!
avatar
Novato

Titulo :  
Registro : 25/10/2018
Mensagens : 1
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sab 27 Out 2018 - 12:45
comentando para visualizar
avatar
Membro

Titulo :  
Registro : 14/03/2017
Mensagens : 81
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sab 27 Out 2018 - 20:27
Comment tô view
avatar
Novato

Titulo :  
Registro : 31/07/2017
Mensagens : 8
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sab 27 Out 2018 - 21:26
Comentando pra ver
avatar
Novato

Titulo :  
Registro : 03/11/2018
Mensagens : 8
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Seg 5 Nov 2018 - 20:20
comentado para visualizar
avatar
Membro

Titulo :  
Registro : 01/08/2017
Mensagens : 10
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Qui 8 Nov 2018 - 11:52
comentando pra ver
avatar
Membro

Titulo :  
Registro : 20/03/2015
Mensagens : 52
Reputação : 3

Ver perfil do usuáriohttp://www.traphost.com.br

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Qui 8 Nov 2018 - 17:15
Comentando para ver..
avatar
Membro

Titulo :  
Registro : 03/11/2018
Mensagens : 12
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 9 Nov 2018 - 12:42
o jogo
avatar
Novato

Titulo :  
Registro : 13/11/2018
Mensagens : 4
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Ter 13 Nov 2018 - 8:23
Commenting to see photos!
avatar
Membro

Titulo :  
Registro : 28/01/2017
Mensagens : 42
Reputação : 0

Ver perfil do usuário

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

em Sex 16 Nov 2018 - 1:05
Comentando para ver como é ...
Conteúdo patrocinado

Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

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