• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

PlusEMU - Habboon Edit - PRODUCTION-201601012205-226667486

Status
Not open for further replies.
Newbie Spellweaver
Joined
Jan 23, 2009
Messages
16
Reaction score
0
Wired cycle suck ram ?

Sledmore - PlusEMU - Habboon Edit - PRODUCTION-201601012205-226667486 - RaGEZONE Forums
 
Newbie Spellweaver
Joined
Jun 4, 2013
Messages
56
Reaction score
1
Looks wont update, any ideas?

Vs4hgEy - PlusEMU - Habboon Edit - PRODUCTION-201601012205-226667486 - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Jul 9, 2010
Messages
132
Reaction score
14
you need to add a FigureDataComoser into your emulator and dont ask me for it because Im not running the same revision as any hotel asfar as im aware
 
Skilled Illusionist
Joined
Jul 2, 2009
Messages
313
Reaction score
139
Wonderful release, I also took some time to fix the talents tracker :)!

REMOVED
 
Joined
Jul 29, 2010
Messages
720
Reaction score
515
Warning!

There's a way to change all furni/users in a room into a Gnome with Tanji.
The furni which changed in gnomes in `items` table are gone, and the Gnomes (pets @ Sulakore) are inserted in the database.

I guess a check need to be added, like item id corresponds to owner id, but didn't found out where yet.

kEsvU4t - PlusEMU - Habboon Edit - PRODUCTION-201601012205-226667486 - RaGEZONE Forums


Oh, and you can send unlimited text messages in rooms. Sledmore?
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Sep 8, 2015
Messages
58
Reaction score
14
Thanks!
Yes and you want to be famous with +1 post.



EventHandler:
Code:
class GetTalentTrackEvent : IPacketEvent
    {
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            string Type = Packet.PopString();

            List<Talent> Levels = PlusEnvironment.GetGame().GetTalentTrackManager().GetTalents(Type, -1);

            Session.SendMessage(new TalentTrackComposer(Levels, Type, Session));
        }
    }

EventComposer:
Code:
class TalentTrackComposer : ServerPacket
    {
        public TalentTrackComposer(List<Talent> list1, string Type, GameClient Session)
            : base(ServerPacketHeader.TalentTrackMessageComposer)
        {
            int level = -1;

            base.Write(Type);
            base.Write(list1.Count);

            foreach (Talent talent in list1)
            {
                base.Write(talent.Level);
                base.Write(((level == -1) ? 1 : 0));

                List<Talent> list2 = PlusEnvironment.GetGame().GetTalentTrackManager().GetTalents(Type, talent.Id);
                base.Write(list2.Count);

                foreach (Talent talent2 in list2)
                {
                    if (talent2.GetAchievement() == null)
                    {
                        throw new NullReferenceException($"The following talent achievement can't be found: {talent2.AchievementGroup}");
                    }

                    int num2 = ((level != -1) && (level < talent2.Level)) ? 0 : ((Session.GetHabbo().GetAchievementData(talent2.AchievementGroup) == null) ? 1 : ((Session.GetHabbo().GetAchievementData(talent2.AchievementGroup).Level >= talent2.AchievementLevel) ? 2 : 1));

                    base.Write(talent2.GetAchievement().Id);
                    base.Write(0);
                    base.Write($"{talent2.AchievementGroup}{talent2.AchievementLevel}");
                    base.Write(num2);
                    base.Write((Session.GetHabbo().GetAchievementData(talent2.AchievementGroup) != null) ? Session.GetHabbo().GetAchievementData(talent2.AchievementGroup).Progress : 0);
                    base.Write((talent2.GetAchievement() == null) ? 0 : talent2.GetAchievement().Levels[talent2.AchievementLevel].Requirement);

                    if ((num2 != 2) && (level == -1))
                    {
                        level = talent2.Level;
                    }
                }

                if ((talent.Type == "helper") && (talent.Level == 6))
                {
                    base.Write((int)1);
                    base.Write("JUDGE_CHAT_REVIEWS");
                    base.Write((int)0);
                }
                else if ((talent.Type == "helper") && (talent.Level == 4))
                {
                    base.Write((int)2);
                    base.Write("GIVE_GUIDE_TOURS");
                    base.Write("USE_GUIDE_TOOL");
                    base.Write((int)0);
                }
                else if ((talent.Type == "citizenship") && (talent.Level == 4))
                {
                    base.Write((int)0);
                    base.Write((int)2);
                    base.Write("HABBO_CLUB_VIP_1_MONTH");
                    base.Write((int)0x1f);
                    base.Write(talent.Prize);
                    base.Write((uint)0);
                }
                else
                {
                    base.Write((int)0);
                    base.Write((int)0);
                }
            }
        }
    }

MySQL
Code:
CREATE TABLE IF NOT EXISTS `achievements_talents` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `type` enum('citizenship','status','helper') NOT NULL DEFAULT 'citizenship',
  `parent_category` int(11) NOT NULL DEFAULT '-1',
  `level` int(11) NOT NULL,
  `order_num` int(11) NOT NULL,
  `achievement_group` varchar(255) NOT NULL DEFAULT 'ACH_',
  `achievement_level` int(11) NOT NULL DEFAULT '1',
  `prize` varchar(255) NOT NULL DEFAULT 'A1 KUMIANKKA',
  `prize_baseitem` int(11) unsigned NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=77 ;

--
-- Gegevens worden uitgevoerd voor tabel `achievements_talents`
--

INSERT INTO `achievements_talents` (`id`, `type`, `parent_category`, `level`, `order_num`, `achievement_group`, `achievement_level`, `prize`, `prize_baseitem`) VALUES
(1, 'citizenship', -1, 0, 1, '', 1, 'A1 KUMIANKKA', 158),
(2, 'citizenship', 1, 0, 2, 'ACH_SafetyQuizGraduate', 1, 'A1 KUMIANKKA', 158),
(3, 'citizenship', 5, 1, 3, 'ACH_RoomEntry', 1, 'A1 KUMIANKKA', 158),
(4, 'citizenship', 5, 1, 4, 'ACH_RespectGiven', 1, 'A1 KUMIANKKA', 158),
(5, 'citizenship', -1, 1, 2, '', 1, 'A1 KUMIANKKA', 158),
(6, 'citizenship', 5, 1, 5, 'ACH_AvatarLooks', 1, 'A1 KUMIANKKA', 158),
(7, 'citizenship', 5, 1, 6, 'ACH_AllTimeHotelPresence', 1, 'A1 KUMIANKKA', 158),
(8, 'citizenship', -1, 2, 8, '', 1, 'A1 KUMIANKKA', 158),
(9, 'citizenship', 8, 2, 9, 'ACH_RoomEntry', 2, 'A1 KUMIANKKA', 158),
(10, 'citizenship', 8, 2, 10, 'ACH_RespectGiven', 2, 'A1 KUMIANKKA', 158),
(11, 'citizenship', 8, 2, 11, 'ACH_RespectEarned', 2, 'A1 KUMIANKKA', 158),
(12, 'citizenship', 8, 2, 12, 'ACH_AllTimeHotelPresence', 2, 'A1 KUMIANKKA', 158),
(13, 'citizenship', 8, 2, 13, 'ACH_RegistrationDuration', 1, 'A1 KUMIANKKA', 158),
(14, 'citizenship', 8, 2, 14, 'ACH_Motto', 1, 'A1 KUMIANKKA', 158),
(15, 'citizenship', 8, 2, 15, 'ACH_PetRespectGiver', 3, 'A1 KUMIANKKA', 158),
(16, 'citizenship', -1, 3, 16, '', 0, 'A1 KUMIANKKA', 158),
(17, 'citizenship', 16, 3, 17, 'ACH_RoomEntry', 4, 'A1 KUMIANKKA', 158),
(18, 'citizenship', 16, 3, 18, 'ACH_RegistrationDuration', 2, 'A1 KUMIANKKA', 158),
(19, 'citizenship', 16, 3, 19, 'ACH_RespectEarned', 3, 'A1 KUMIANKKA', 158),
(20, 'citizenship', 16, 3, 20, 'ACH_BattleBallPlayer', 2, 'A1 KUMIANKKA', 158),
(21, 'citizenship', 16, 3, 21, 'ACH_BattleBallWinner', 1, 'A1 KUMIANKKA', 158),
(22, 'citizenship', 16, 3, 22, 'ACH_AllTimeHotelPresence', 4, 'A1 KUMIANKKA', 158),
(23, 'citizenship', -1, 4, 23, '', 1, 'A1 KUMIANKKA', 158),
(24, 'citizenship', 23, 4, 24, 'ACH_Citizenship', 1, 'A1 KUMIANKKA', 158),
(25, 'citizenship', 23, 4, 25, 'ACH_PetRespectGiver', 4, 'A1 KUMIANKKA', 158),
(26, 'citizenship', 23, 4, 26, 'ACH_BattleBallPlayer', 4, 'A1 KUMIANKKA', 158),
(27, 'citizenship', 23, 4, 27, 'ACH_RegistrationDuration', 3, 'A1 KUMIANKKA', 158),
(28, 'citizenship', 23, 4, 28, 'ACH_AllTimeHotelPresence', 6, 'A1 KUMIANKKA', 158),
(29, 'citizenship', 23, 4, 29, 'ACH_Login', 5, 'A1 KUMIANKKA', 158),
(30, 'helper', -1, 0, 0, '', 1, 'A1 KUMIANKKA', 158),
(31, 'helper', 30, 0, 2, 'ACH_Citizenship', 1, '', 158),
(32, 'helper', 35, 1, 2, 'ACH_RespectEarned', 2, '', 158),
(33, 'helper', 35, 1, 3, 'ACH_RespectGiven', 3, '', 158),
(34, 'helper', 35, 1, 4, 'ACH_PetRespectGiver', 3, '', 158),
(35, 'helper', -1, 1, 1, '', 1, 'A1 KUMIANKKA', 158),
(36, 'helper', 38, 2, 1, 'ACH_GuideFeedbackGiver', 2, '', 158),
(37, 'helper', 38, 2, 2, 'ACH_GuideRequester', 2, '', 158),
(38, 'helper', -1, 2, 2, '', 1, 'A1 KUMIANKKA', 158),
(42, 'helper', 45, 3, 1, 'ACH_RegistrationDuration', 3, '', 158),
(43, 'helper', 45, 3, 2, 'ACH_AllTimeHotelPresence', 5, '', 158),
(44, 'helper', 45, 3, 3, 'ACH_HabboWayGraduate', 1, '', 158),
(45, 'helper', -1, 3, 3, '', 1, 'A1 KUMIANKKA', 158),
(46, 'helper', 50, 4, 1, 'ACH_GuideEnrollmentLifetime', 2, '', 0),
(47, 'helper', 50, 4, 2, 'ACH_GuideOnDutyPresence', 5, '', 0),
(48, 'helper', 50, 4, 3, 'ACH_GuideRecommendation', 3, '', 0),
(49, 'helper', 50, 4, 4, 'ACH_GuideRequestHandler', 5, '', 0),
(50, 'helper', -1, 4, 4, '', 1, '', 0),
(51, 'helper', 55, 5, 1, 'ACH_GuideEnrollmentLifetime', 4, '', 0),
(52, 'helper', 55, 5, 2, 'ACH_GuideOnDutyPresence', 7, '', 0),
(53, 'helper', 55, 5, 3, 'ACH_GuideRecommendation', 5, '', 0),
(54, 'helper', 55, 5, 4, 'ACH_GuideRequestHandler', 7, '', 0),
(55, 'helper', -1, 5, 6, '', 1, 'A1 KUMIANKKA', 158),
(56, 'helper', 61, 6, 1, 'ACH_GuideEnrollmentLifetime', 5, '', 158),
(57, 'helper', 61, 6, 2, 'ACH_GuideOnDutyPresence', 8, '', 158),
(58, 'helper', 61, 6, 3, 'ACH_GuideRecommendation', 6, '', 158),
(59, 'helper', 61, 6, 4, 'ACH_GuideRequestHandler', 9, '', 158),
(60, 'helper', 61, 6, 5, 'ACH_GuideChatReviewer', 5, '', 158),
(61, 'helper', -1, 6, 7, '', 1, '', 0),
(70, 'helper', 75, 7, 1, 'ACH_GuideEnrollmentLifetime', 6, '', 0),
(71, 'helper', 75, 7, 2, 'ACH_GuideOnDutyPresence', 9, '', 0),
(72, 'helper', 75, 7, 3, 'ACH_GuideRecommendation', 7, '', 0),
(73, 'helper', 75, 7, 4, 'ACH_GuideRequestHandler', 10, '', 0),
(74, 'helper', 75, 7, 5, 'ACH_GuideChatReviewer', 8, '', 0),
(75, 'helper', -1, 7, 8, '', 1, '', 0),
(76, 'helper', -1, 8, 9, '', 1, '', 0);
Please replace base.Write with either:

base.WriteInteger
base.WriteString
base.WriteDouble

etc....
 
Experienced Elementalist
Joined
Jun 7, 2012
Messages
288
Reaction score
250
Warning!

There's a way to change all furni/users in a room into a Gnome with Tanji.
The furni which changed in gnomes in `items` table are gone, and the Gnomes (pets @ Sulakore) are inserted in the database.

I guess a check need to be added, like item id corresponds to owner id, but didn't found out where yet.

kEsvU4t - PlusEMU - Habboon Edit - PRODUCTION-201601012205-226667486 - RaGEZONE Forums


Oh, and you can send unlimited text messages in rooms. Sledmore?
HAHAHAHAHAAHA oke I like this "exploit"
But here is a fix just looked inside the code and saw it in a sec.
It is pretty simple there is no check in the Checkgnomename packet of the item that you send is really a gnome furni (and of you have rights)



so go to "CheckGnomeNameEvent.cs" and replace
Code:
            if (Room == null)
to:
Code:
            if (Room == null || Room.CheckRights(Session)) // Added a righs check:

Replace also in this file this if:
Code:
            if (Item == null || Item.Data == null)

To:
Code:
            if (Item == null || Item.Data == null || Item.Data.InteractionType != InteractionType.GNOME_BOX) // added check of it is a gnome box (think this packet is for thegnome boxes)

Btw I din't check it because I'm not using this emulator but I'm sure that this will fix it.
-- edit --
(BTW I think that there are more "exploits" like this because its just so easy to make a mistakte like this)
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Feb 2, 2016
Messages
94
Reaction score
22
Warning!

There's a way to change all furni/users in a room into a Gnome with Tanji.
The furni which changed in gnomes in `items` table are gone, and the Gnomes (pets @ Sulakore) are inserted in the database.

I guess a check need to be added, like item id corresponds to owner id, but didn't found out where yet.

kEsvU4t - PlusEMU - Habboon Edit - PRODUCTION-201601012205-226667486 - RaGEZONE Forums


Oh, and you can send unlimited text messages in rooms. @Sledmore?

shouldnt had to give this method out for anyone. regret it now lol (i may be the first to found this)
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Jan 1, 2016
Messages
25
Reaction score
8
Yes and you want to be famous with +1 post.


........


Please replace base.Write with either:

base.WriteInteger
base.WriteString
base.WriteDouble

etc....

Thanks for sharing! But I think the code is not complete, since methods like GetTalent() etc. are not defined in standard plus emulator edition.
 
Skilled Illusionist
Joined
Jul 2, 2009
Messages
313
Reaction score
139
Thanks for sharing! But I think the code is not complete, since methods like GetTalent() etc. are not defined in standard plus emulator edition.

Shame, guess you need to figure that part out yourself :p!
 
Experienced Elementalist
Joined
Oct 12, 2012
Messages
260
Reaction score
37
Ok so, I've seen many asking how to fix the Avatar look update on the UI bar. So here it is.
add this to ServerPacketHeader.cs
PHP:
public const int AvatarAspectUpdateMessageComposer = 1208;
then in Plus.Communication.Packets.Outgoing.Rooms.Engine create a new file called AvatarAspectUpdateMessageComposer and add this.
PHP:
using System;
using System.Linq;
using System.Text;


using Plus.HabboHotel.Rooms;
using Plus.HabboHotel.GameClients;


namespace Plus.Communication.Packets.Outgoing.Rooms.Engine
{
    class AvatarAspectUpdateMessageComposer : ServerPacket
    {
        public AvatarAspectUpdateMessageComposer(string Figure, string Gender)
            : base(ServerPacketHeader.AvatarAspectUpdateMessageComposer)
        {
            base.WriteString(Figure);
            base.WriteString(Gender);


        }
    }
}

then goto UpdateFigureDataEvent and add this
PHP:
 Session.SendMessage(new AvatarAspectUpdateMessageComposer(Look, Gender));
below
PHP:
PlusEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_AvatarLooks", 1);


NOTE: Use AvatarAspectUpdateMessageComposer = 3283; for PRODUCTION-201605102204-92524753
 
Status
Not open for further replies.
Back
Top