Jump to content
×
×
  • Create New...
  • Please do not post a message for the purpose of insulting, incitement to hatred, sexual remarks and any other which does not respect our terms of use !

 plusemu Staff Chat + VIP Chat


Èsska (S-K)
 Share

Recommended Posts

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 "Masako" 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:

Aperçu VIP

Aperçu Admin

 

- 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é. :') )

Link to comment
Share on other sites

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

Merci, et le staff chat c'est simple :) mais, au moins sa fait 1 petit + pour les création d'un club au cms ;) 

Yep. ;) J'ai jamais dit que c'était compliqué. :p 

Link to comment
Share on other sites

il y a 41 minutes, S-KDevFR a dit :

Yep. ;) J'ai jamais dit que c'était compliqué. :p 

:) en tous cas sa aidera certain ^^ pour donner des fonctions au Club mdr ^^

Edited by Kurumi.Dev

#Kirito-SAO ( c'est mon ancien pseudo)

Link to comment
Share on other sites

  • 3 months later...

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.
     
     
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share