Power Pixel
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


Fechar janela

[TUTORIAL] Sistema de filtro para Chat Staff

+6
thiagoihabbo
The Flash
Kolohe
Saigon
pedxz
Maloma
10 participantes

Maloma Maloma  • 10.05.17 13:28

[TUTORIAL] Sistema de filtro para Chat Staff Empty [TUTORIAL] Sistema de filtro para Chat Staff 10.05.17 13:28

Olá Convidado, tudo bem?
Aqui estou trazendo um pequeno tutorial de como colocar um sistema de filtro de publicidade no seu hotel, é basicamente aqueles convites de sala que nós podemos fazer no famoso “CONSOLE”, aquela maneira típica de alertas que quase todos enviam e a maioria diz “Me tira do SPAM”. Enfim, para aqueles que ainda não entendeu, aqui está uma imagem do que eu basicamente estou falando.
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Antes de começarmos, não sei se há algum tópico ensinando a colocar Chat Staff, se não tiver, eu até posso fazer um tutorial ensinando como colocar essa ferramenta dentro do seu servidor, pois esse tutorial do sistema sem o Chat Staff não irá funcionar.
A primeira coisa que irá fazer nesse tutorial é abrir a source do seu emulador com o Visual Studio e devemos ir até a class “ChatEvent.cs”. Diretório: Communication->Packets->Incoming->Rooms->Chat
                          
Dentro da class “ChatEvent.cs” iremos copiar esse código que está aqui em baixo e iremos colar dentro da mesma.
Código:
using System;

using Plus.Core;
using Plus.Communication.Packets.Incoming;
using Plus.Utilities;
using Plus.HabboHotel.Global;
using Plus.HabboHotel.Quests;
using Plus.HabboHotel.Rooms;
using Plus.HabboHotel.GameClients;
using Plus.HabboHotel.Rooms.Chat.Logs;
using Plus.Communication.Packets.Outgoing.Messenger;
using Plus.Communication.Packets.Outgoing.Rooms.Chat;
using Plus.Communication.Packets.Outgoing.Moderation;
using Plus.Communication.Packets.Outgoing.Rooms.Notifications;
using Plus.HabboHotel.Rooms.Chat.Styles;

namespace Plus.Communication.Packets.Incoming.Rooms.Chat
{
    public class ChatEvent : IPacketEvent
    {
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom)
                return;

            Room Room = Session.GetHabbo().CurrentRoom;
            if (Room == null)
                return;

            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
            if (User == null)
                return;

            string Message = StringCharFilter.Escape(Packet.PopString());
            if (Message.Length > 100)
                Message = Message.Substring(0, 100);

            int Colour = Packet.PopInt();

            ChatStyle Style = null;
            if (!PlusEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight)))
                Colour = 0;

            User.UnIdle();

            if (PlusEnvironment.GetUnixTimestamp() < Session.GetHabbo().FloodTime && Session.GetHabbo().FloodTime != 0)
                return;

            if (Session.GetHabbo().TimeMuted > 0)
            {
                Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted));
                return;
            }


            if (!Session.GetHabbo().GetPermissions().HasRight("room_ignore_mute") && Room.CheckMute(Session))
            {
                Session.SendWhisper("Ups, estás muteado.");
                return;
            }

            User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId;

            if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool"))
            {
                int MuteTime;
                if (User.IncrementAndCheckFlood(out MuteTime))
                {
                    Session.SendMessage(new FloodControlComposer(MuteTime));
                    return;
                }
            }

            if (Message.StartsWith(":", StringComparison.CurrentCulture) && PlusEnvironment.GetGame().GetChatManager().GetCommands().Parse(Session, Message))
                return;

            PlusEnvironment.GetGame().GetChatManager().GetLogs().StoreChatlog(new ChatlogEntry(Session.GetHabbo().Id, Room.Id, Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room));

            Room.AddChatlog(Session.GetHabbo().Id, Message);

            if (PlusEnvironment.GetGame().GetChatManager().GetFilter().IsFiltered(Message) && !Session.GetHabbo().GetPermissions().HasRight("word_filter_override"))
            {

                PlusEnvironment.GetGame().GetClientManager().StaffAlert(new RoomInviteComposer(-0x7fffffff, "El usuario " + Session.GetHabbo().Username + " al parecer está nombrando otro hotel, frase:  " + Message + "."));
              
                if (PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckBannedWords(Message))
                {
                    Session.GetHabbo().BannedPhraseCount++;
                  

                    if (Session.GetHabbo().BannedPhraseCount >= PlusStaticGameSettings.BannedPhrasesAmount)
                    {
                        PlusEnvironment.GetGame().GetModerationManager().BanUser("System", HabboHotel.Moderation.ModerationBanType.USERNAME, Session.GetHabbo().Username, "Por mandar spam con palabras prohibidas (" + Message + ")", (PlusEnvironment.GetUnixTimestamp() + 78892200));
                        Session.Disconnect();
                        return;
                    }
                    else
                    {
                        
                        Session.GetHabbo().GetClient().SendMessage(new WhisperComposer(User.VirtualId, Session.GetHabbo().BannedPhraseCount + "/" + PlusStaticGameSettings.BannedPhrasesAmount +" Estas usando palabras prohibidas. Seras baneado si continuas.", 0, 34));
                    }
                }


                Message = null;
            }
            if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override") && Message != null)
                Message = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Message);


            PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.SOCIAL_CHAT);

            User.OnChat(User.LastBubble, Message, false);
        }
    }
}
Por fim nós iremos salvar e você terá que dar “Debug” em seu emulador.
O tutorial é simples assim, prático e rápido. Espero ter ajudado!
Créditos: Xpz Holos & Maloma

pedxz pedxz  • 10.05.17 13:36

Super administradorMembro da Equipa

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 10.05.17 13:36

vai ser muito útil, obrigado pela partilha :D

Saigon Saigon  • 10.05.17 13:38

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 10.05.17 13:38

Bem interessante esse filtro. :v

Kolohe Kolohe  • 12.05.17 9:21

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 12.05.17 9:21

Muito útil. Obrigado por compartilhar

The Flash The Flash  • 12.05.17 11:32

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 12.05.17 11:32

Muito bom tutorial! Dá para proibir SPAM's de divulgação!

thiagoihabbo thiagoihabbo  • 12.05.17 20:40

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 12.05.17 20:40

ótimo tutorial, poderia fazer um tutorial de como adicionar o " Chat Staff " no servidor?

Maykeh Maykeh  • 17.05.17 11:56

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 17.05.17 11:56

Obrigado por postar esse tutorial!

G'-'nz G'-'nz  • 20.05.17 6:47

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 20.05.17 6:47

Muito util obrigado por compartilha conosco.

Wake Wake  • 20.05.17 12:19

AdministradorMembro da Equipa

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 20.05.17 12:19

Ferramenta muito útil,
obrigado por compartilhar!

TrY! TrY!  • 23.05.17 1:52

[TUTORIAL] Sistema de filtro para Chat Staff Empty Re: [TUTORIAL] Sistema de filtro para Chat Staff 23.05.17 1:52

Olá,

Também concordo quanto à utilidade da ferramenta. Obrigado por compartilhar.
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.