[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF

+251
JustChillin
Brytch
AffCansei123
Vitagliano
antonio3
ToddyWars
lipinhosilv
matheusstapf
MiguuDesign
LordDay12
Motioon982
gabrielgurgel1997
sebdu25
pedrokaminsk
Warley Cravo
xSanti
miiunderline6
SoohOBWD
slipknotsl
4shared™
checker33
javoltar
Hazgarf
BubbleGumxd
twitterabusado
Isac_Novaes
SrMorceguinho
CartierMarquis
DheikHabbig
daniel5046
Madrugaa-
GarraHaddo
DopeREAL
sylver
Closed Design
Theforts
Cybran Kaled
zSnoke
hubcodesz
sidneyc2
diegomarchenad
Jumper25
Wu4ll
oldstar
Techside
impeachment™
GustavoHenrique
Raid Tutoriais
Fear
ChapoHS
RealDemoloko
thiagobr123
Cachaza
HazysPvP
caazisb
RicardoSantana
Growm
werick4carvalho
macchiaveli
BrunoMaarin
danonias
dansdans
BluePoint
TioMendonza
dinhob365
♬Mus♪c♬
eheheh2
SecretoSemNome
plantina
bielesteban
isaque1478
Fleurs92
onyxoficial
Fooster
yale03
AndrewHebbo
Rian0
Chicohapdev
Cloorak21
Luan Martins
Central050
Andarilho
FantasmiaHP
Damassa
Hera
Maxtel
fnsimoneto
Ramuch15
oct2009
M1ke
MarcoAllan2017
JamesRTID
AnooN
yvandres
finzik
Igorpdf
H91M
ViruzEnd.
ClarcS2
Thi Klein
Wizy
Nabor
Matt
Javas
L0gMe
Demon
ospoyzino
tedmaster
alexa98
blackko3344
Baroni
xTroyano
solliiver
Ciel
vinicius3778
iBartKing
whet15
Soarez
Kürşat0
Yuri HB
Gabriel/telles
Cen0n
AshuzKeo
Raulmatoso16
Seth0r
papacito
Leo181
TestoAccound
Vipper
Turbo
Fresht
Nightfall
Snaiker
diogod300
KevinHuerta56
skfuzi
blaakeH
Jetplet
Ana Clara Ferreira
Charles La Fontaine
Japan
juankiisanchez
Digitals
Volwer
Airmax92Owna
Kirito
killzone369
FelipeCanjica
curtirhost
demolo
Howerr
C0llins
azura157
EvertoNPlays
HabbovSaulo
Ruan Jesus
boygilvapix_2
Lucsx
Ins3rttt
Chalancotts
LekeDima
Starte
testehphuan
DJRLQ
Storax
Ruffles
Kinney
Barmer
Tommas110011
Rafacasari
FreedHarby
Wekez10
Shewnq
DavidLemos
netraxes
XzRs
Breffes
Eriickb
Knox
1hbeliashb1
zlDeath
roginey
fabiant
Wellzinho
eoVINNYcrl
Turing
Lusca Fernandes
Koop
MorganPie
Offer
Meudeus2015
Woon
Phytols
eduardozika11
PoulsenHxr
srody
Karlee
Alan Walker
SrDominicanoMwr
Skys
Aquiless
Snocker
Math
Gasparzinho
Deputado
The Flash
manrique2018
ThuG - LovE
b3ta
-Lucas
Wake
Fernandes123
wall-ace
GMTrident
tsuname7.s
Arkadia
hoded
ComplexoHP
HarryTROLL
Peans
łยΔทziη
zSchiffer
Wiz-Khalifa
arthur.rabelo.58
roxmt008
iCliquei
edinei07
Tobby
lost12
Anitta
piroscudo22
Wickfield
edgecry
-Four
Tylin
Wurth HP's
xNectar
Callie
oparango
Habblus Hotel
Recofire
GustP
Aladim.
Sprilts2
joa0
Saigon
Visi0n
n4zun
Vedox
pedxz
Maloma
255 participantes

Maloma Maloma  • 09.07.17 17:54

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 09.07.17 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.
[Tens de ter uma conta e sessão iniciada para poderes visualizar 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 09.07.17 19:30, editado 1 vez(es)

twitterabusado e javoltar curtiram esta postagem

sylver sylver  • 20.05.20 17:42

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 20.05.20 17:42

comentando para visualizar

daniel5046 daniel5046  • 03.06.20 23:36

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 03.06.20 23:36

Ótimooo, eu estava esperando esse sistema, valeu amigo por ter postado •

DheikHabbig DheikHabbig  • 04.06.20 21:45

CartierMarquis CartierMarquis  • 13.06.20 23:07

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 13.06.20 23:07

Muito bom vou testar

SrMorceguinho SrMorceguinho  • 14.06.20 14:36

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 14.06.20 14:36

8)

Isac_Novaes Isac_Novaes  • 25.09.20 20:55

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 25.09.20 20:55

obrigado só espero que funcione no meu

twitterabusado twitterabusado  • 03.10.20 12:03

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty muito bom 03.10.20 12:03

muito bom

BubbleGumxd BubbleGumxd  • 05.10.20 9:20

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 05.10.20 9:20

¡buena idea!

Hazgarf Hazgarf  • 25.11.20 22:57

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 25.11.20 22:57

Conteúdo muito interessante, vou usar do meu servidor

Obs: alguém vendo novembro de 2020??

javoltar javoltar  • 08.01.21 22:03

checker33 checker33  • 10.01.21 10:17

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 10.01.21 10:17

Gostei do assunto, é bem útil!

4shared™ 4shared™  • 12.01.21 14:35

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 12.01.21 14:35

Comentando para visualizar as imagens

slipknotsl slipknotsl  • 15.03.21 14:45

SoohOBWD SoohOBWD  • 21.03.21 22:50

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 21.03.21 22:50

muito brabo

miiunderline6 miiunderline6  • 01.04.21 21:48

xSanti xSanti  • 15.04.21 15:06

Warley Cravo Warley Cravo  • 14.05.21 17:23

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 14.05.21 17:23

Conteúdo muito interessante, vou usar do meu servidor

pedrokaminsk pedrokaminsk  • 17.08.21 14:53

sebdu25 sebdu25  • 17.08.21 19:20

gabrielgurgel1997 gabrielgurgel1997  • 01.10.21 2:16

Motioon982 Motioon982  • 13.11.21 16:22

avatar LordDay12  • 10.12.21 22:53

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 10.12.21 22:53

Conteúdo muito interessante, vou usar do meu servidor

MiguuDesign MiguuDesign  • 23.01.22 23:36

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 23.01.22 23:36

VAMOS VER AS IMAGENS ...

matheusstapf matheusstapf  • 03.02.22 15:59

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 03.02.22 15:59

Conteúdo muito interessante, vou usar do meu servidor

lipinhosilv lipinhosilv  • 22.03.22 22:21

ToddyWars ToddyWars  • 23.03.22 5:05

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 23.03.22 5:05

comentando para visualizar

antonio3 antonio3  • 23.03.22 8:17

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 23.03.22 8:17

muito bom sucesso

Vitagliano Vitagliano  • 04.05.22 22:55

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 04.05.22 22:55

Obrigado por compartilhar!

AffCansei123 AffCansei123  • 08.06.22 14:08

Brytch Brytch  • 08.06.22 23:13

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 08.06.22 23:13

comentando para visualizar

JustChillin JustChillin  • 21.07.22 15:55

[TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF - Página 6 Empty Re: [TUTORIAL] SISTEMA DE IDENTIFICADOR STAFF 21.07.22 15:55

vou testar o sistema

SilverMax6969 SilverMax6969  • 02.08.22 16:23

MCElvinho MCElvinho  • 15.08.22 3:07

KeyDeveloper KeyDeveloper  • 21.12.22 8:56

JuaNN?! JuaNN?!  • 18.01.23 20:55

Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.