Newbie Spellweaver
- Joined
- Nov 17, 2015
- Messages
- 24
- Reaction score
- 1
Sulake.cc is down, the download links don't work !
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature currently requires accessing the site using the built-in Safari browser.
Will be back up soon, he's sorting stuff out.Sulake.cc is down, the download links don't work !
Wired cycle suck ram ?
Hello I got a problem when I open my chatlog I see Overflow :/
Any ideas ?
Thank you
Wonderful release, I also took some time to fix the talents tracker !
REMOVED
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....
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.
Oh, and you can send unlimited text messages in rooms. Sledmore?
if (Room == null)
if (Room == null || Room.CheckRights(Session)) // Added a righs check:
if (Item == null || Item.Data == null)
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)
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.
Oh, and you can send unlimited text messages in rooms. @Sledmore?
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.
i made a tutorial how to setup a plus emu hotel here http://forum.ragezone.com/f377 i hope it helps.i'm new in habbo hotel, someone can help me to setup a new server with these files? Please give me some guide, thanks
public const int AvatarAspectUpdateMessageComposer = 1208;
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);
}
}
}
Session.SendMessage(new AvatarAspectUpdateMessageComposer(Look, Gender));
PlusEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_AvatarLooks", 1);