ADD-ON [COMANDO] VER INVENTARIO | SE ACABARON LOS RARES ILEGALES.

  • 4 Respuestas
  • 1139 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

*

Desconectado Mare

[COMANDO] VER INVENTARIO | SE ACABARON LOS RARES ILEGALES.
« en: Enero 25, 2017, 07:18:56 pm »

Hola a todos, a través de este tema les enseñaré a colocar este nuevo comando, es para que usted pueda ver el inventario de otra persona, pero no se preocupe, usted verá todo, pero no puede realizar cambios en el inventario de otro usuario ni robar furnis del mísmo, es solo para ver.
Si usted tiene el comando :empty_user, esto le servirá de mucho.

Requisitos:
1. Emulador OpenSource.
2. Virtual Studio.
3. Dos minutos de tu tiempo.

Pasos:
1- Abrir el emulador con Virtual Studio.
2– Ve a \HabboHotel\Rooms\Chat\Commands/ y crea un archivo llamado ViewInventoryCommand.cs y dentro de ese archivo ponga este código.
Spoiler para Oculto:
Código
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
 
using Plus.HabboHotel.GameClients;
using Plus.Communication.Packets.Outgoing.Inventory.Furni;
 
namespace Plus.HabboHotel.Rooms.Chat.Commands.Administrator
{
    class ViewInventoryCommand : IChatCommand
    {
        public string PermissionRequired
        {
            get { return "command_viewinventory"; }
        }
 
        public string Parameters
        {
            get { return ""; }
        }
 
        public string Description
        {
            get { return ""; }
        }
 
        public void Execute(GameClient Session, Room Room, string[] Params)
        {
            if (Session.GetHabbo().ViewInventory)
            {
                Session.SendMessage(new FurniListComposer(Session.GetHabbo().GetInventoryComponent().GetFloorItems().ToList(), Session.GetHabbo().GetInventoryComponent().GetWallItems()));
                Session.GetHabbo().ViewInventory = false;
                Session.SendWhisper("Ahora verá su inventario.");
                return;
            }
 
            if (Params.Length == 1)
            {
                Session.SendWhisper("Ponga un nombre de usuario para espiar su inventario.");
                return;
            }
 
            GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
            if (TargetClient == null)
            {
                Session.SendWhisper("No se puede encontrar al usuario, quizás no esté online.");
                return;
            }
 
            if (TargetClient.GetHabbo() == null)
            {
                Session.SendWhisper("El usuario especificado no existe o no está online.");
                return;
            }
 
            Session.SendMessage(new FurniListComposer(TargetClient.GetHabbo().GetInventoryComponent().GetFloorItems().ToList(), TargetClient.GetHabbo().GetInventoryComponent().GetWallItems(), true));
            Session.GetHabbo().ViewInventory = true;
 
            Session.SendWhisper("La próxima vez que abras el inventario, verás el tuyo." + TargetClient.GetHabbo().Username + " Sem calotes. ;)");
        }
    }
}
3- Ve a CommandManager.cs e introduce este código.
Spoiler para Oculto:
Código
this._commands.Add("viewinventory", new ViewInventoryCommand());
            this._commands.Add("inv", new ViewInventoryCommand());
(esto hará que el comando sea :viewinventory o :inv)
4- Ahora busca FurniListComposer.cs abre el archivo, elimina todo el código y pon el siguiente:
Spoiler para Oculto:
Código
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
 
using Plus.HabboHotel.Items;
using Plus.HabboHotel.Groups;
using Plus.HabboHotel.Users;
using Plus.HabboHotel.Catalog.Utilities;
 
namespace Plus.Communication.Packets.Outgoing.Inventory.Furni
{
    class FurniListComposer : ServerPacket
    {
        public FurniListComposer(List<Item> Items, ICollection<Item> Walls, bool StaffCheck = false)
            : base(ServerPacketHeader.FurniListMessageComposer)
        {
            base.WriteInteger(1);
            base.WriteInteger(1);
 
            base.WriteInteger(Items.Count + Walls.Count);
            foreach (Item Item in Items.ToList())
                WriteItem(Item, StaffCheck);
 
            foreach (Item Item in Walls.ToList())
                WriteItem(Item, StaffCheck);
        }
 
        private void WriteItem(Item Item, bool StaffCheck)
        {
            base.WriteInteger(Item.Id);
            base.WriteString(Item.GetBaseItem().Type.ToString().ToUpper());
            base.WriteInteger(Item.Id);
            base.WriteInteger(Item.GetBaseItem().SpriteId);
            ItemBehaviourUtility.GenerateExtradata(Item, this);
            base.WriteBoolean(StaffCheck ? false : Item.GetBaseItem().AllowEcotronRecycle);
            base.WriteBoolean(StaffCheck ? false : Item.GetBaseItem().AllowTrade);
            base.WriteBoolean(Item.LimitedNo == 0 ? Item.GetBaseItem().AllowInventoryStack : false);
            base.WriteBoolean(StaffCheck ? false : ItemUtility.IsRare(Item));
            base.WriteInteger(-1);//Seconds to expiration.
            base.WriteBoolean(true);
            base.WriteInteger(-1);//Item RoomId
 
            if (!Item.IsWallItem)
            {
                base.WriteString(string.Empty);
                base.WriteInteger(0);
            }
        }
    }
}
(Esto es para evitar que el usuario que está viendo el tema relativo a la otra persona no pueda vender o hacer cualquier cosa que dañe el propietario de los artículos.)
5- Busca PlaceObjectEvent.cs y en la línea
Código
if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom)
                return;
añade una a continuación.
Spoiler para Oculto:
Código
if (Session.GetHabbo().ViewInventory)
            {
                Session.SendMessage(new RoomNotificationComposer("furni_placement_error", "message", "This item doesn't belong to you. Are you currently viewing someone elses inventory?"));
                return;
            }
NO BORRAR LA ALINEACIÓN
6- Busca Habbo.cs y por debajo de la línea 44 pon lo siguiente:
Spoiler para Oculto:
Código
private bool _ViewInventory;
Ahora ve a la línea 185 de Habbo.cs y bajo esa línea pon lo siguiente:
Spoiler para Oculto:
Código
this._ViewInventory = false;
Ahora dirígete a la línea 706 de ese mismo archivo y pon esto:
Spoiler para Oculto:
Código
public bool ViewInventory;
7- Ejecutar SQL de aquí abajo en tu DB, recordando que si se desea que el comando que sea utilizable por los usuarios pueden dejar en SQL 1.1, si no cambiar el número 1 a la fila que desea intercambiar (los dos números 1. ), no es recomendable cambiar el sql, haz esto por ti mismo y luego ve a permissions_commands y cámbialo si lo deseas.
Spoiler para Oculto:
Código
INSERT INTO `permissions_commands` (`command`, `group_id`, `subscription_id`) VALUES
('command_viewinventory', 1, 1);
8- Depurar emulador y listo, a disfrutar.
Créditos a amioens D y a mi persona.

*

Desconectado Luisitoys

Re:[COMANDO] VER INVENTARIO | SE ACABARON LOS RARES ILEGALES.
« Respuesta #1 en: Enero 25, 2017, 08:01:41 pm »
Es muy funcional  o:) habra que probarlo para calificarte

*

Desconectado Reaper

Re:[COMANDO] VER INVENTARIO | SE ACABARON LOS RARES ILEGALES.
« Respuesta #2 en: Enero 25, 2017, 08:21:03 pm »
No tienes permiso para ver enlaces. Registrarme ó Logearme
Es muy funcional  o:) habra que probarlo para calificarte
El codigo no es de el, es de Damiens, y funciona ya lo e probado.

*

Desconectado David

Re:[COMANDO] VER INVENTARIO | SE ACABARON LOS RARES ILEGALES.
« Respuesta #3 en: Enero 25, 2017, 10:06:06 pm »
Hola,  mira hice todo, pero al compilar el " new ViewInventoryCommand", no lo registra, este:
Spoiler para Oculto:
this._commands.Add("viewinventory", new ViewInventoryCommand());

Help me:v


*

Desconectado Blex

Re:[COMANDO] VER INVENTARIO | SE ACABARON LOS RARES ILEGALES.
« Respuesta #4 en: Enero 31, 2017, 07:08:25 am »
No tienes permiso para ver enlaces. Registrarme ó Logearme
Hola,  mira hice todo, pero al compilar el " new ViewInventoryCommand", no lo registra, este:
Spoiler para Oculto:
this._commands.Add("viewinventory", new ViewInventoryCommand());

Help me:v
Es por que tienes que crear el archivo viewinventory en Administrator osea en /HabboHotel/Rooms/Chat/Commands/Administrator
Loading...

 

Temas relacionados

  Asunto / Iniciado por Respuestas Último mensaje
6 Respuestas
318 Vistas
Último mensaje Abril 18, 2017, 11:40:34 pm
por Ryukend
0 Respuestas
531 Vistas
Último mensaje Mayo 09, 2017, 10:23:27 pm
por Qelox
5 Respuestas
308 Vistas
Último mensaje Agosto 16, 2017, 10:03:55 pm
por xRaymundo
0 Respuestas
129 Vistas
Último mensaje Febrero 01, 2018, 06:03:19 pm
por Userr
7 Respuestas
200 Vistas
Último mensaje Abril 06, 2018, 02:33:13 pm
por Nasty