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  
Nico

 plusemu [PlusEmu] Utilisateur en ligne Command

Recommended Posts

Vétéran

Bonjour, 

Je vient vous faire un petit partage. Je précise que cette commande n'est pas de moi elle provient d'un forum étranger.

 

Vous avez juste à créer un fichier OnlineCommand.cs avec ceci dedans:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Plus.Database.Interfaces;
using System.Data;

namespace Plus.HabboHotel.Rooms.Chat.Commands.Moderator.Fun
{
    class UsersOnlineCommand : IChatCommand
    {
        public string PermissionRequired
        {
            get { return "command_usersonline"; }
        }
        public string Parameters
        {
            get { return ""; }
        }
        public string Description
        {
            get { return "Affiche les utilisateurs en ligne"; }
        }
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            string Output = "Utilisateurs actuels en ligne:\r";
            Output += "-----------------------\r";

            using (IQueryAdapter Adapter = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
            {
                Adapter.SetQuery("SELECT username FROM users WHERE online = '1'");
                Adapter.RunQuery();

                DataTable Table = Adapter.getTable();

                if (Table != null)
                {
                    foreach (DataRow Row in Table.Rows)
                    {
                        Output += Row["Username"].ToString() + "\r";
                    }
                }
                else
                {
                    Output += "Il doit y avoir des utilisateurs cachés en ligne!";
                }
            }
            Session.SendNotification(Output);
        }
    }
}

Et ajouter cette ligne dans CommandManager.cs

 

            this.Register("online", new UsersOnlineCommand());

Et d’exécuter cette requête SQL dans votre DB

 

INSERT INTO `permissions_commands` VALUES ('command_online', '1', '0');

Voilà bonne journée à vous :p

Share this post


Link to post
Share on other sites
Vétéran
il y a 23 minutes, KrackWeed a dit :

Ahaha merci du partage Nico :p

Pas de problème mon ami o/

Share this post


Link to post
Share on other sites
Premium

part pitier pq une requête ? autant remplacé par ça :

 

            Dictionary<Habbo, UInt32> clients = new Dictionary<Habbo, UInt32>();

            StringBuilder content = new StringBuilder();
            content.Append("- JOUEUR EN LIGNE -\r\n");

            foreach (var client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
            {
                if (client == null)
                    continue;

                content.Append("¥ " + client.GetHabbo().Username + " » Est dans l'appart: " + ((client.GetHabbo().CurrentRoom == null) ? "Dans aucun appart." :                  client.GetHabbo().CurrentRoom.RoomData.Name) + "\r\n");
            }

            Session.SendMessage(new MOTDNotificationComposer(content.ToString()));
            return;

Share this post


Link to post
Share on other sites
Vétéran
il y a 20 minutes, Cipher a dit :

part pitier pq une requête ? autant remplacé par ça :

 

            Dictionary<Habbo, UInt32> clients = new Dictionary<Habbo, UInt32>();

            StringBuilder content = new StringBuilder();
            content.Append("- JOUEUR EN LIGNE -\r\n");

            foreach (var client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
            {
                if (client == null)
                    continue;

                content.Append("¥ " + client.GetHabbo().Username + " » Est dans l'appart: " + ((client.GetHabbo().CurrentRoom == null) ? "Dans aucun appart." :                  client.GetHabbo().CurrentRoom.RoomData.Name) + "\r\n");
            }

            Session.SendMessage(new MOTDNotificationComposer(content.ToString()));
            return;

Comme je l'ai dit ce n'est pas de moi je fait juste un repartage ...

Share this post


Link to post
Share on other sites
Vétéran
Il y a 2 heures, Cipher a dit :

part pitier pq une requête ? autant remplacé par ça :

 

            Dictionary<Habbo, UInt32> clients = new Dictionary<Habbo, UInt32>();

            StringBuilder content = new StringBuilder();
            content.Append("- JOUEUR EN LIGNE -\r\n");

            foreach (var client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
            {
                if (client == null)
                    continue;

                content.Append("¥ " + client.GetHabbo().Username + " » Est dans l'appart: " + ((client.GetHabbo().CurrentRoom == null) ? "Dans aucun appart." :                  client.GetHabbo().CurrentRoom.RoomData.Name) + "\r\n");
            }

            Session.SendMessage(new MOTDNotificationComposer(content.ToString()));
            return;

Foreach power !!

Sinon merci du partage @Nico

Share this post


Link to post
Share on other sites
Vétéran
il y a 10 minutes, Brandon a dit :

Foreach power !!

Sinon merci du partage @Nico

Tqt pas de soucis :D

Share this post


Link to post
Share on other sites
Premium

YEAA foreach power :banane-f9b:

Share this post


Link to post
Share on other sites
Premium

Yel0x vient privée.

Share this post


Link to post
Share on other sites
VIP

Un screenshot de ce que ça donne? Au passage, merci à toi & Cipher :p

Share this post


Link to post
Share on other sites

2 erreurs toutes bêtes mais importantes qui font que la commande ne marche pas :

  1. Probléme de dossiers

Remplacer

namespace Plus.HabboHotel.Rooms.Chat.Commands.Moderator.Fun

Par

namespace Plus.HabboHotel.Rooms.Chat.Commands.User

Mettre le fichier OnlineCommand.cs dans le dossier de votre émulateur > HabboHotel > Rooms > Chat > Commands > User :attention: 

 

      2. Cette fois ci probléme de permissions dans la base de donnée

 

Remplacer

public string PermissionRequired
        {
            get { return "command_usersonline"; }
        }

Par

 

public string PermissionRequired
        {
            get { return "command_online"; }
        }

Et c'était tout je pense.

Derien <3 

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...