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 !

Staff Chat + VIP Chat


Èsska (S-K)

Messages recommandés

Salut tous le monde!

Je me présente en tant que développeur.

 

Je vous propose mon premier tutoriel qui va sûrement en aider plus d'un. C'est un système inédit que j'ai essayé de faire et que j'ai réussi.

 

Tout d'abord, je vous invite à ouvrir votre émulateur. ( Ce tutoriel est réalisé sous PlusEmu )

 

Je tiens à remercier "

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

" qui a fait son tutoriel pour le Staff Chat et que j'ai reprit pour ce tutoriel.

 

Bon commençons.

 

1./ Rendez vous dans votre émulateur et dans : UserDataFactory.cs

  

2./ Recherchez la ligne : 

return new UserData(UserId, Achievements, favouritedRooms, ignores, badges, friends, requests, rooms, quests, user, Relationships);

 

3./ Modifiez celle-ci par:

 

            if (user.GetPermissions().HasRight("financeur"))
            {
                //VIPS
                friends.Add(0x7fffffff, new MessengerBuddy(0x7fffffff, "VIP Chat", "hr-831-45.fa-1206-91.sh-290-1331.ha-3129-100.hd-180-2.cc-3039-73.ch-3215-92.lg-270-73", "Solo Staffs", 0, true, false));
                return new UserData(UserId, Achievements, favouritedRooms, ignores, badges, friends, requests, rooms, quests, user, Relationships);
            }
            if (user.GetPermissions().HasRight("mod_tool"))
            {
                //STAFFS
                friends.Add(0x7fffffff, new MessengerBuddy(0x7fffffff, "Admin Chat", "hr-831-45.fa-1206-91.sh-290-1331.ha-3129-100.hd-180-2.cc-3039-73.ch-3215-92.lg-270-73", "Solo Staffs", 0, true, false));
                return new UserData(UserId, Achievements, favouritedRooms, ignores, badges, friends, requests, rooms, quests, user, Relationships);
            }
            return new UserData(UserId, Achievements, favouritedRooms, ignores, badges, friends, requests, rooms, quests, user, Relationships);

 

4./ Allez dans SendMsgEvent.cs et remplacez tout le contenu par :

 

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using Plus.Communication.Packets.Outgoing.Messenger;

namespace Plus.Communication.Packets.Incoming.Messenger
{
    class SendMsgEvent : IPacketEvent
    {
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().GetMessenger() == null)
                return;

            int userId = Packet.PopInt();
            if (userId == 0 || userId == Session.GetHabbo().Id)
                return;

            string message = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Packet.PopString());
            if (string.IsNullOrWhiteSpace(message))
                return;


            if (Session.GetHabbo().TimeMuted > 0)
            {
                Session.SendNotification("Oops, tu es muet. Tu ne peux envoyer de message.");
                return;
            }

            if (userId == 0x7fffffff)
            {
                if(Session.GetHabbo().Rank == 4)
                {
                    PlusEnvironment.GetGame().GetClientManager().StaffAlert(new NewConsoleMessageComposer(0x7fffffff, "( VIP ) " + Session.GetHabbo().Username + ": " + message), Session.GetHabbo().Id);
                    return;
                }

                PlusEnvironment.GetGame().GetClientManager().StaffAlert(new NewConsoleMessageComposer(0x7fffffff, "( STAFF ) " + Session.GetHabbo().Username + ": " + message), Session.GetHabbo().Id);
                return;
            }


            Session.GetHabbo().GetMessenger().SendInstantMessage(userId, message);

        }
    }
}

 

5./ Allez dans BuddyListComposer.cs et remplacez tous le contenu par :

 

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;

using Plus.HabboHotel.Users;
using Plus.HabboHotel.Users.Messenger;
using Plus.HabboHotel.Users.Relationships;

namespace Plus.Communication.Packets.Outgoing.Messenger
{
    class BuddyListComposer : ServerPacket
    {
        public BuddyListComposer(ICollection<MessengerBuddy> Friends, Habbo Player)
            : base(ServerPacketHeader.BuddyListMessageComposer)
        {
            base.WriteInteger(1);
            base.WriteInteger(0);

            base.WriteInteger(Friends.Count);
            foreach (MessengerBuddy Friend in Friends.ToList())
            {
                if (Friend.Id == 0x7fffffff)
                {
                    base.WriteInteger(0x7fffffff);
                    base.WriteString(Friend.mUsername);
                    base.WriteInteger(1);//Gender.
                    base.WriteBoolean(true);
                    base.WriteBoolean(Friend.InRoom);
                    base.WriteString(Friend.mLook);
                    base.WriteInteger(0); // category id
                    base.WriteString(string.Empty);
                    base.WriteString(string.Empty);//Alternative name?
                    base.WriteString(string.Empty);
                    base.WriteBoolean(true);
                    base.WriteBoolean(false);
                    base.WriteBoolean(false);//Pocket Habbo user.
                    base.WriteShort(0);


                }

                else
                {
                    Relationship Relationship = Player.Relationships.FirstOrDefault(x => x.Value.UserId == Convert.ToInt32(Friend.UserId)).Value;

                    base.WriteInteger(Friend.Id);
                    base.WriteString(Friend.mUsername);
                    base.WriteInteger(1);//Gender.
                    base.WriteBoolean(Friend.IsOnline);
                    base.WriteBoolean(Friend.IsOnline && Friend.InRoom);
                    base.WriteString(Friend.IsOnline ? Friend.mLook : string.Empty);
                    base.WriteInteger(0); // category id
                    base.WriteString(Friend.IsOnline ? Friend.mMotto : string.Empty);
                    base.WriteString(string.Empty);//Alternative name?
                    base.WriteString(string.Empty);
                    base.WriteBoolean(true);
                    base.WriteBoolean(false);
                    base.WriteBoolean(false);//Pocket Habbo user.
                    base.WriteShort(Relationship == null ? 0 : Relationship.Type);
                }
            }
        }
    }
}

 

 

6./ Allez dans votre Base De Données et exécutez ce code ( SQL ) -> PENSEZ BIEN A CHANGER "DBNAME" PAR LE NOM DE VOTRE BASE DE DONNÉE !! ->  :

 

INSERT INTO `DBNAME`.`permissions` (`id`, `permission`, `description`) VALUES (NULL, 'financeur', 'Rank VIP');

 

7./ Récupérez l'ID de la permission et exécutez ce code ( SQL ) -> PENSEZ BIEN A CHANGER "DBNAME" PAR LE NOM DE VOTRE BASE DE DONNÉE, "IDPERM" PAR L'ID DE VOTRE PERMISSION ET "RANK" PAR LE RANK VIP !! -> :

INSERT INTO `DBNAME`.`permissions_rights` (`id`, `group_id`, `permission_id`) VALUES (NULL, 'RANK', 'IDPERM');

 

 

 

- Screenshots:

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

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

 

- Infos complémentaires:

En étant VIP, on voit uniquement le VIP Chat qui est l'Admin Chat pour les staffs.

Ça économise une place. :3

[ Finalement je reviens dans les rétros. ]

 

- Crédits ( J'ai reprit ceux de Masako ):

- Dangerous

- Ragezone

- Cria Habbos

- RetroRipper

- Communauté française

- S-KDev ( Je me suis rajouté. :') )

Lien à poster
Partager sur d’autres sites

  • 3 mois plus tard...

Super tuto bien détaillez, propre! 

Merci à toi !

I hear and I forget. I see and I remember. I do and I understand <3 

 

  • Tout le monde est un génie. Mais si tu juge la capacité d'un poisson rouge à grimper à un arbre il passera sa vie à croire qu'il est stupide. Albert Einstein.
     
     
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...