Aller au contenu
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions générales !

Anti Publicité ~ Plus Emu


ßRÂИÐØИ

Messages recommandés

Yo tout le monde, Aujourd'hui je vient vous partager mon anti-pub que j'avais fait pour mon PlusEmu :) 
L'anti pub est constituer de : 
Avertissement / Chances restante
Et bannissement si 0 chances atteinte.

Commençons, rendez-vous ici : PlusEnvironment.cs
Après :

public static bool RemoveFromCache(int Id, out Habbo Data)
        {
            return _usersCached.TryRemove(Id, out Data);
        }

ajouter ceci :

Pour avoir accès à ce lien, merci de vous connecter.



Rendez-vous ici : Communication / Packets / Incomming / Rooms / Chat / ChatEvent.cs 
Après :

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

Ajouter ceci : 

Pour avoir accès à ce lien, merci de vous connecter.



On passe au filtre des murmures :
Rendez-vous ici : Communication / Packets / Incomming / Rooms / Chat / WhisperEvent.cs 
Après ceci : 

 

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

Ajouter ceci : 

Pour avoir accès à ce lien, merci de vous connecter.



On passe au filtre des MAJ : 
Rendez-vous ici : Communication / Packets / Incomming / Rooms / Chat / ShoutEvent.cs 
Après ceci : 

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

Ajouter ceci : 

Pour avoir accès à ce lien, merci de vous connecter.



Passons au filtre des message Privée : 
Rendez-vous ici : HabboHotel / Users / Messenger / HabboMessenger.cs

Après ceci : 

if (String.IsNullOrEmpty(Message))
                return;

Ajoutez ceci : 

Pour avoir accès à ce lien, merci de vous connecter.



Ajoutez ceci à votre base de donnée : 
 

ALTER TABLE users ADD antipub_points int(11) NOT NULL DEFAULT '4';


Il vous reste à filtrer les mots dans worldfilter de votre base de donnée ! (Penser à bien débug l'émulateur !)

Je ne certifie pas l'adaptation à vos émulateurs.

Bonne chance pour vos rétros !


 

Lien à poster
Partager sur d’autres sites

Il y a 2 heures, Jason a dit :

Merci du partage, c'était celui sur NanoEMU nop ? 

Oui sauf que nano a pas les messages privé ect 

il y a une heure, DvX a dit :

Merci du partage

De rien :)

Il y a 2 heures, Harda a dit :

Gros partage, merci

Pas de souci derien !


 

Lien à poster
Partager sur d’autres sites

  • Administrateur

Bien joué tchio, et merci du partage ;) 

⠀⠀Founder of Inshare.fr

⠀⠀Baylife moderator

⠀⠀Twitch channel moderator

⠀⠀French translator Trucksbook.eu

𝐹𝑒𝑒𝑙 𝑓𝑟𝑒𝑒 𝑡𝑜 𝑤𝑟𝑖𝑡𝑒 𝑎 𝑐𝑜𝑚𝑚𝑒𝑛𝑡

—————————————————

╱⠀⠀⠀⠀⠀⠀⠀⠀⠀Règlements⠀⠀ //⠀⠀Abonnements⠀⠀ //⠀⠀ Discord   ⠀⠀⠀⠀⠀⠀⠀⠀⠀╲

 

signature.png

Lien à poster
Partager sur d’autres sites

Il y a 3 heures, Kurumi.Dev a dit :

J'aime :D merci a toi !

en tous cas y'a j'ai eu quelque erreur sur PlusEmulateur:

 

Pour ceux qui ont un problème avec des erreur remplacer tous cette partie ou vous avez mis partout:

 


 if (PlusEnvironment.Antipub(Message))
            {
                using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
                {

                    DataTable Table = null;
                    dbClient.SetQuery("SELECT * FROM users WHERE id = '" + Session.GetHabbo().Id + "' LIMIT 1");
                    Table = dbClient.getTable();
                    foreach (DataRow dRow in Table.Rows)
                    {
                        if (Convert.ToInt32(dRow["antipub_points"]) == 4)
                        {
                            dbClient.RunQuery("UPDATE `users` SET `antipub_points` = 3 WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }
                        if (Convert.ToInt32(dRow["antipub_points"]) == 3)
                        {
                            dbClient.RunQuery("UPDATE `users` SET `antipub_points` = 2 WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }
                        if (Convert.ToInt32(dRow["antipub_points"]) == 2)
                        {
                            dbClient.RunQuery("UPDATE `users` SET `antipub_points` = 1 WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }
                        if (Convert.ToInt32(dRow["antipub_points"]) == 1)
                        {
                            dbClient.RunQuery("UPDATE `users` SET `antipub_points` = 0 WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }

                        int nopub = Convert.ToInt32(dRow["antipub_points"]);
                        if (Convert.ToInt32(dRow["antipub_points"]) < 1)
                        {
                            Double Expire = PlusEnvironment.GetUnixTimestamp() + 78892200;
                            Session.SendWhisper("Ton compte est banni !", 34);
                            PlusEnvironment.GetGame().GetModerationManager().BanUser("#ANTIPUB", HabboHotel.Moderation.ModerationBanType.IP, Convert.ToString(dRow["ip_last"]), "Publicité.", Expire);
                            Session.Disconnect();
                        }
                        if (nopub > 1)
                        {
                            Session.SendMessage(new RoomNotificationComposer("Robot Antipub",
                                 "<b>Attention " + Session.GetHabbo().Username + " !</b>\n" +
                                 "Notre robot viens de detecté une publicité dans votre message. </b>.\n<b><font color='red'>Il vous reste " + nopub + " chances avant de vous sanctionnez!</font></b>\r" +
                                 "\n\n", "pub", "J'ai compris.", "event:close"));
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("[ANTIPUB] Mot filtré de (" + Session.GetHabbo().Username + ")");
                        }
                        else
                        {
                            Session.SendMessage(new RoomNotificationComposer("Robot Antipub",
                                 "<b>Attention " + Session.GetHabbo().Username + " !</b>\n" +
                                 "Notre robot viens de detecté une publicité dans votre message. </b>.\n<b><font color='red'>Il vous reste " + nopub + " chances avant de vous sanctionnez!</font></b>\r" +
                                 "\n\n", "pub", "J'ai compris.", "event:close"));
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("[ANTIPUB] Mot filtré de (" + Session.GetHabbo().Username + ")");
                        }
                        Message = "# Filtré par l'antipub #";
                    }
                }
            }

 

par celui la:

 


 if (PlusEnvironment.Antipub(Message))
            {
                using (Plus.Database.Interfaces.IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
                {

                    System.Data.DataTable Table = null;
                    dbClient.SetQuery("SELECT * FROM users WHERE id = '" + Session.GetHabbo().Id + "' LIMIT 1");
                    Table = dbClient.getTable();
                    foreach (System.Data.DataRow dRow in Table.Rows)
                    {
                        if (Convert.ToInt32(dRow["antipub_points"]) == 4)
                        {
                            dbClient.RunQuery("UPDATE `users` SET `antipub_points` = 3 WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }
                        if (Convert.ToInt32(dRow["antipub_points"]) == 3)
                        {
                            dbClient.RunQuery("UPDATE `users` SET `antipub_points` = 2 WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }
                        if (Convert.ToInt32(dRow["antipub_points"]) == 2)
                        {
                            dbClient.RunQuery("UPDATE `users` SET `antipub_points` = 1 WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }
                        if (Convert.ToInt32(dRow["antipub_points"]) == 1)
                        {
                            dbClient.RunQuery("UPDATE `users` SET `antipub_points` = 0 WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }

                        int nopub = Convert.ToInt32(dRow["antipub_points"]);
                        if (Convert.ToInt32(dRow["antipub_points"]) < 1)
                        {
                            Double Expire = PlusEnvironment.GetUnixTimestamp() + 78892200;
                            Session.SendWhisper("Ton compte est banni !", 34);
                            PlusEnvironment.GetGame().GetModerationManager().BanUser("#ANTIPUB", HabboHotel.Moderation.ModerationBanType.IP, Convert.ToString(dRow["ip_last"]), "Publicité.", Expire);
                            Session.Disconnect();
                        }
                        if (nopub > 1)
                        {
                            Session.SendMessage(new Plus.Communication.Packets.Outgoing.Rooms.Notifications.RoomNotificationComposer("Robot Antipub",
                                 "<b>Attention " + Session.GetHabbo().Username + " !</b>\n" +
                                 "Notre robot viens de detecté une publicité dans votre message. </b>.\n<b><font color='red'>Il vous reste " + nopub + " chances avant de vous sanctionnez!</font></b>\r" +
                                 "\n\n", "pub", "J'ai compris.", "event:close"));
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("[ANTIPUB] Mot filtré de (" + Session.GetHabbo().Username + ")");
                        }
                        else
                        {
                            Session.SendMessage(new Plus.Communication.Packets.Outgoing.Rooms.Notifications.RoomNotificationComposer("Robot Antipub",
                                 "<b>Attention " + Session.GetHabbo().Username + " !</b>\n" +
                                 "Notre robot viens de detecté une publicité dans votre message. </b>.\n<b><font color='red'>Il vous reste " + nopub + " chances avant de vous sanctionnez!</font></b>\r" +
                                 "\n\n", "pub", "J'ai compris.", "event:close"));
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("[ANTIPUB] Mot filtré de (" + Session.GetHabbo().Username + ")");
                        }
                        Message = "# Filtré par l'antipub #";
                    }
                }
            }

 

Maintenant, vous aurez aucune erreur.

pour ceux basé de PlusEmulateur

 

Pour ceux qui ne savent par le résultat final:

 

Pour avoir accès à ce lien, merci de vous connecter.


Attention, utiliser des requêtes SQL pour une vérification d'envois de message n'est pas la meilleur des solutions (surtout des selects sur la table users ouille)!
Je te conseil d'optimiser ton code.

Lien à poster
Partager sur d’autres sites

Il y a 5 heures, Kurumi.Dev a dit :

^^ j'ai pas modifier sa,

j'ai modifier,  pour les émulateur PlusEmu de base marche sans erreur avec le code:

 


Session.SendMessage(new RoomNotificationComposer("Robot Antipub",   
par -> 
Session.SendMessage(new Plus.Communication.Packets.Outgoing.Rooms.Notifications.RoomNotificationComposer("Robot Antipub",

 


using (IQueryAdapter dbClient 
par ->
using (Plus.Database.Interfaces.IQueryAdapter

autant, faire clique droit, puis: Action rapides et refactorisations puis tu clique sur le premier. using Plus.Database.Interfaces;

meeeeeh

Lien à poster
Partager sur d’autres sites

Il y a 19 heures, BxB a dit :


Attention, utiliser des requêtes SQL pour une vérification d'envois de message n'est pas la meilleur des solutions (surtout des selects sur la table users ouille)!
Je te conseil d'optimiser ton code.

Oui, il vaut mieux déjà partir sur ce genre de code 

dbClient.SetQuery("SELECT * FROM users WHERE id = @id LIMIT 1");
dbClient.AddParameter("id", Session.GetHabbo().Id);
dbClient.RunQuery();

 


 

Lien à poster
Partager sur d’autres sites

Faire des requêtes SQL pour ça je trouve vraiment pas ça utile, pourquoi ne pas tout simplement utiliser un objet sur le session.GetHabbo() ? Je veux dire si l'utilisateur déco et remet le compteur à 0 c'est pas la mort et ça évite une partie des faux positifs

Lien à poster
Partager sur d’autres sites

il y a 10 minutes, Shin a dit :

Faire des requêtes SQL pour ça je trouve vraiment pas ça utile, pourquoi ne pas tout simplement utiliser un objet sur le session.GetHabbo() ? Je veux dire si l'utilisateur déco et remet le compteur à 0 c'est pas la mort et ça évite une partie des faux positifs

La flemme d'ajouter la table dans l'émulateur (même si c'est assez rapide et simple) 
Après chacun est libre de le modifier à sa guise ;) 


 

Lien à poster
Partager sur d’autres sites

il y a 6 minutes, Brandon a dit :

La flemme d'ajouter la table dans l'émulateur (même si c'est assez rapide et simple) 
Après chacun est libre de le modifier à sa guise ;) 

C'est pas une question de créer un table, une variable ça prend une seconde à créer et question rapidité d’exécution/mémoire c'est déjà beaucoup plus sympa

Lien à poster
Partager sur d’autres sites

il y a 54 minutes, Kurumi.Dev a dit :

Moi je dit, perso, si i partage libre de le faire vous même ;) 

c'est deja sympas qui partage un anti pub :D 

donc voilà , faite vous même les chose aussi ^^ 

 

après c'est ce que je pense biensûr

Ne t'inquiète pas c'est ceux qui donne le moins qui parle le plus :) 


 

Lien à poster
Partager sur d’autres sites

Il y a 16 heures, Brandon a dit :

Oui, il vaut mieux déjà partir sur ce genre de code 


dbClient.SetQuery("SELECT * FROM users WHERE id = @id LIMIT 1");
dbClient.AddParameter("id", Session.GetHabbo().Id);
dbClient.RunQuery();

 

 

Oulala, non. Imagine sur un serveur ayant plus de 100 connectés, ton serveur SQL finira par te faire la gueule et planter ! C'est une mauvaise idée d'utiliser un select où même de faire une update pour chaque message...

 

Lien à poster
Partager sur d’autres sites

Il y a 6 heures, BxB a dit :

 

Oulala, non. Imagine sur un serveur ayant plus de 100 connectés, ton serveur SQL finira par te faire la gueule et planter ! C'est une mauvaise idée d'utiliser un select où même de faire une update pour chaque message...

 

Je parler de sécurité pas de stabilité, quand j'ai le temps je corrige ça 


 

Lien à poster
Partager sur d’autres sites

Le 13/04/2017 à 15:19, Shin a dit :

Faire des requêtes SQL pour ça je trouve vraiment pas ça utile, pourquoi ne pas tout simplement utiliser un objet sur le session.GetHabbo() ? Je veux dire si l'utilisateur déco et remet le compteur à 0 c'est pas la mort et ça évite une partie des faux positifs

De plus c'est toi qui m'avait aidé sur fb pour les 

mot2 = mot2.Replace("•", "o"). 

Brandon tu pourrais dire au moins que j'ai ajouté quasiment toutes les lettres et que je me suis fais chier pendant 1 semaine à essayer de tout mettre dedans.

J'ai toujours dis que ton anti-pub était le tient donc

  • J'aime 1
Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...