Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 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 !
Sign in to follow this  
Èsska (S-K)

 plusemu Staff Chat + VIP Chat

Recommended Posts

VIP

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 "

Please login or register to see this link.

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

Please login or register to see this link.

Please login or register to see this link.

 

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

Share this post


Link to post
Share on other sites
Premium

Pas de problème ahah, merci pour le tutoriel :d:

Share this post


Link to post
Share on other sites
VIP
il y a 22 minutes, Masako a dit :

Pas de problème ahah, merci pour le tutoriel :d:

Pas de soucis. :)

Share this post


Link to post
Share on other sites
Premium
  • Bon tuto 
  •  

Share this post


Link to post
Share on other sites
VIP
Il y a 1 heure, Sircapa a dit :
  • Bon tuto 
  •  

Merci à toi. :)

Share this post


Link to post
Share on other sites
VIP
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 

Share this post


Link to post
Share on other sites
VIP
Il y a 17 heures, Kurumi.Dev a dit :

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

Je pense aussi ;)

Share this post


Link to post
Share on other sites
Vétéran

Share this post


Link to post
Share on other sites
VIP
Il y a 11 heures, NevetS a dit :

Merci a toi :p

No problem. ;)²

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...