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

Power Pixel » Jogos » Habbo Hotel » Tutoriais » [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

Ir à página : Anterior  1, 2, 3, 4, 5

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

1[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Dom 9 Jul 2017 - 17:54

Maloma

Membro Ouro


Maloma
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)

Ver perfil do usuário

201[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Sex 15 Fev 2019 - 1:26

yale03

Membro


yale03
comentando para ver

Ver perfil do usuário

202[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Qua 27 Fev 2019 - 13:25

Fooster

Membro


Fooster
Apaixonado

Ver perfil do usuário

203[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Qua 27 Fev 2019 - 15:40

comentando pra ver

Ver perfil do usuário

Fleurs92

Novato


Fleurs92
comoentando ppara visuaiza a s imagens

Ver perfil do usuário
COMENTE PARA VISUALIZAR AS IMAGENS!!

Ver perfil do usuário

206[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Ter 30 Abr 2019 - 12:31

Wow, nice work!

Ver perfil do usuário

207[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Ter 30 Abr 2019 - 18:39

Thanks

Ver perfil do usuário

208[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Qua 15 Maio 2019 - 17:46

plantina

Membro


plantina
Comentando pra visualizar

Ver perfil do usuário

209[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Qua 15 Maio 2019 - 18:48

M1ke

Membro


M1ke
Comentando pra visualizar

Ver perfil do usuário

210[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Ter 21 Maio 2019 - 14:57

.

Ver perfil do usuário

211[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Qua 22 Maio 2019 - 0:37

eheheh2

Membro


eheheh2
ewfssdfddddddddddddddddffffffffffff

Ver perfil do usuário

212[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Sab 25 Maio 2019 - 10:53

♬Mus♪c♬

Membro Bronze


♬Mus♪c♬
Comentando para vê imagens...

Ver perfil do usuário

213[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Sex 31 Maio 2019 - 10:27

dinhob365

Membro


avatar
comentando para ver

Ver perfil do usuário

214[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Sex 31 Maio 2019 - 20:28

coment pra ver

Ver perfil do usuário

215[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Qui 20 Jun 2019 - 21:43

plantina

Membro


plantina
Comentando pra visualizar

Ver perfil do usuário

216[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Dom 23 Jun 2019 - 2:53

BluePoint

Novato


BluePoint
Comentando

Ver perfil do usuário

217[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Sab 29 Jun 2019 - 16:13

dansdans

Novato


dansdans
sdfdrewrtea4ryretgertsfeddsffds

Ver perfil do usuário

218[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Sab 29 Jun 2019 - 16:36

danonias

Membro


danonias
comentando

Ver perfil do usuário

219[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Sab 29 Jun 2019 - 18:08

Comentando para visualizar

Ver perfil do usuário

220[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Dom 30 Jun 2019 - 10:12

thks bro

Ver perfil do usuário

221[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Dom 30 Jun 2019 - 13:38

okay

Ver perfil do usuário

222[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Dom 30 Jun 2019 - 15:36

Growm

Membro


Growm
liki

Ver perfil do usuário

223[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Sab 10 Ago 2019 - 14:08

prrrrrf

Ver perfil do usuário

224[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Dom 18 Ago 2019 - 19:23

caazisb

Novato


caazisb
comentando para visulizar

Ver perfil do usuário

225[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Dom 18 Ago 2019 - 21:02

HazysPvP

Membro


HazysPvP
c

Ver perfil do usuário

226[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Seg 19 Ago 2019 - 14:03

Cachaza

Moderador


Cachaza
Moderação


Os usuários [Você precisa estar registrado e conectado para ver este link.], [Você precisa estar registrado e conectado para ver este link.], [Você precisa estar registrado e conectado para ver este link.], [Você precisa estar registrado e conectado para ver este link.] foi punido por Comentário inútil, logo receberá punição de 1 infrações.

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

Ver perfil do usuário

227[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 5 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF em Seg 19 Ago 2019 - 14:06

Cachaza

Moderador


Cachaza
Moderação

Bem vindo ao Power Pixel Forum.

Você cometeu uma infração, Comentário Inútil, mas não será punido por ser novato tenha cuidado, [Você precisa estar registrado e conectado para ver este link.], [Você precisa estar registrado e conectado para ver este link.]!

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

Ver perfil do usuário

Conteúdo patrocinado



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

Ir à página : Anterior  1, 2, 3, 4, 5

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