- Joined
- Sep 2, 2011
- Messages
- 2,171
- Reaction score
- 916
Hello, this is a Thread Only for DEVELOPERS, not for NOOB's, Here the DEVELOPERS, discuss Our Bugs, and our Beta Development Codes.
THIS IS NOT THE FIXES AND EDITS TOPIC, THE OTHER TOPICS IS FOR POST DONE FIXES AND EDITS, HERE IS FOR DEVELOP FIXES FOR BUGS, AND IMPROVE FEATURES
HERE IS NO PLACE TO GIVE HELP DUDES!
IF SOMEONE HAVE PACKETS TO CONTRIBUTE, PLEASE POST HERE.
Builders Club Feature Codes:
Outgoing.cs
Incoming.cs
Catalog.cs After:
Add
Replace(and the code below of that code)
To
After that "if"
Add
On CatalogPackets.cs Add
And
on CatalogPage.cs Replace
To
Add on habbofactory.cs
Replace
To
On habbo.cs Add
Replace
To
And Add in the void:
Add on SubscriptionManager.cs
on gameClientMessageHandler
After
Add
on Same File add
(In Development)
And
Replace the MessageComposer Response
To
Add on SharePacketLib.cs
Add on StaticClientMessageHandler.cs
Database:
Add on Users
Add builders_expire int(11) default 3700
Add builders_items int(11) default 100
Add builders_items_rest int(11) default 0
Add on Catalog Pages
Enjoy...
BUGS
- Cant Place Furni, give Packet Error
- Cant Buy Addons (The Interactor Type dont Works)..
Credits
bi0s
THIS IS NOT THE FIXES AND EDITS TOPIC, THE OTHER TOPICS IS FOR POST DONE FIXES AND EDITS, HERE IS FOR DEVELOP FIXES FOR BUGS, AND IMPROVE FEATURES
HERE IS NO PLACE TO GIVE HELP DUDES!
FIXES IN DEVELOPMENT
- BuildersClub
BUGS IN DEVELOPMENT
PACKETS AND RELEASE IN DEVLOPMENT
- RELEASE63-201409222303-304766480
IF SOMEONE HAVE PACKETS TO CONTRIBUTE, PLEASE POST HERE.
Builders Club Feature Codes:
Outgoing.cs
PHP:
internal static int BuildersHowManyFurniHave = 3171;//1499; //bi0s
PHP:
internal static int BuildersClubHowManyItemsHave = 3178; //bi0s
internal static int PlaceBuildersFurniture = 1638; //bi0s
PHP:
internal Dictionary<uint, ServerMessage> CachedIndexes;
PHP:
nternal Dictionary<uint, ServerMessage> CachedIndexesBuilders;
PHP:
CachedIndexes = new Dictionary<uint, ServerMessage>();
PHP:
CachedIndexes = new Dictionary<uint, ServerMessage>();
CachedIndexesBuilders = new Dictionary<uint, ServerMessage>();
for (uint i = 1; i < 9; i++)
{
CachedIndexes.Add(i, CatalogPacket.ComposeIndex(i));
CachedIndexesBuilders.Add(i, CatalogPacket.ComposeIndexBuilders(i));
}
PHP:
if (catalogPage.Layout == "vip_buy" || catalogPage.Layout == "club_buy" || HabboClubItems.Contains(item))
PHP:
if (catalogPage.Layout == "builders_club_addons")
{
string[] array = item.Name.Split(new char[]
{
'_'
});
int dayLength;
if (item.Name.Contains("45furnis"))
{
dayLength = 45;
}
else
{
if (item.Name.Contains("250furnis"))
{
dayLength = 250;
}
else
{
if (item.Name.Contains("600furnis"))
{
dayLength = 600;
}
else
{
dayLength = 31;
}
}
}
Session.GetHabbo().GetSubscriptionManager().AddSubscriptionBuilders(dayLength);
return;
}
}
On CatalogPackets.cs Add
PHP:
internal static ServerMessage ComposeIndexBuilders(uint Rank)
{
var Pages = MercuryEnvironment.GetGame().GetCatalog().Categories.Values.OfType<CatalogPage>();
ServerMessage Message = new ServerMessage(Outgoing.CatalogueIndexMessageComposer);
var SortedPages = Pages.Where(x => x.ParentId == -2 && x.MinRank <= Rank).OrderBy(x => x.OrderNum);
Message.AppendBoolean(true);
Message.AppendInt32(0);
Message.AppendInt32(-1);
Message.AppendString("root");
Message.AppendString(string.Empty);
Message.AppendInt32(0);
Message.AppendInt32(SortedPages.Count());
foreach (CatalogPage Cat in SortedPages)
{
Message.AppendBoolean(Cat.Visible);
Message.AppendInt32(Cat.IconImage);
Message.AppendInt32(Cat.PageId);
Message.AppendString(Cat.CodeName);
Message.AppendString(Cat.Caption);
Message.AppendInt32(Cat.FlatOffers.Count);
foreach (int i in Cat.FlatOffers.Keys)
{
Message.AppendInt32(i);
}
var SortedSubPages = Pages.Where(x => x.ParentId == Cat.PageId && x.MinRank <= Rank).OrderBy(x => x.Caption);
Message.AppendInt32(SortedSubPages.Count());
foreach (CatalogPage SubCat in SortedSubPages)
{
Message.AppendBoolean(SubCat.Visible);
Message.AppendInt32(SubCat.IconImage);
Message.AppendInt32(SubCat.PageId);
Message.AppendString(SubCat.CodeName);
Message.AppendString(SubCat.Caption);
Message.AppendInt32(SubCat.FlatOffers.Count);
foreach (int i2 in SubCat.FlatOffers.Keys)
{
Message.AppendInt32(i2);
}
Message.AppendInt32(0);
}
}
Message.AppendBoolean(false);
Message.AppendString("BUILDERS_CLUB");
return Message;
}
PHP:
internal static ServerMessage ComposePageBuilders(CatalogPage Page)
{
ServerMessage Message = new ServerMessage(Outgoing.CataloguePageMessageComposer);
Message.AppendInt32(Page.PageId);
Message.AppendString("BUILDERS_CLUB");
switch (Page.Layout)
{
case "builders_3x3":
Message.AppendString("default_3x3_color_grouping");
Message.AppendInt32(3);
Message.AppendString(Page.LayoutHeadline);
Message.AppendString(Page.LayoutTeaser);
Message.AppendString(Page.LayoutSpecial);
Message.AppendInt32(3);
Message.AppendString(Page.Text1);
Message.AppendString(Page.TextDetails.Replace("[10]", Convert.ToChar(10).ToString()).Replace("[13]", Convert.ToChar(13).ToString()));
Message.AppendString(Page.TextTeaser.Replace("[10]", Convert.ToChar(10).ToString()).Replace("[13]", Convert.ToChar(13).ToString()));
break;
case "builders_club_frontpage":
Message.AppendString("builders_club_frontpage");
Message.AppendInt32(0);
Message.AppendInt32(1);
Message.AppendString(Page.LayoutHeadline);
Message.AppendInt32(3);
Message.AppendInt32(8554);
Message.AppendString("builders_club_1_month");
Message.AppendString("");
Message.AppendInt32(2560000);
Message.AppendInt32(2560000);
Message.AppendInt32(1024);
Message.AppendInt32(0);
Message.AppendInt32(0);
Message.AppendBoolean(false);
Message.AppendInt32(8606);
Message.AppendString("builders_club_14_days");
Message.AppendString("");
Message.AppendInt32(2560000);
Message.AppendInt32(2560000);
Message.AppendInt32(1024);
Message.AppendInt32(0);
Message.AppendInt32(0);
Message.AppendBoolean(false);
Message.AppendInt32(8710);
Message.AppendString("builders_club_31_days");
Message.AppendString("");
Message.AppendInt32(2560000);
Message.AppendInt32(2560000);
Message.AppendInt32(1024);
Message.AppendInt32(0);
Message.AppendInt32(0);
Message.AppendBoolean(false);
break;
case "builders_club_addons":
Message.AppendString("builders_club_addons");
Message.AppendInt32(0);
Message.AppendInt32(1);
Message.AppendString(Page.LayoutHeadline);
Message.AppendInt32(3);
Message.AppendInt32(8557);
Message.AppendString("builders_club_addon_45furnis");
Message.AppendString("");
Message.AppendInt32(2560);
Message.AppendInt32(0);
Message.AppendInt32(1);
Message.AppendInt32(0);
Message.AppendInt32(0);
Message.AppendBoolean(false);
Message.AppendInt32(8556);
Message.AppendString("builders_club_addon_250furnis");
Message.AppendString("");
Message.AppendInt32(12800);
Message.AppendInt32(0);
Message.AppendInt32(1);
Message.AppendInt32(0);
Message.AppendInt32(0);
Message.AppendBoolean(false);
Message.AppendInt32(8555);
Message.AppendString("builders_club_addon_600furnis");
Message.AppendString("");
Message.AppendInt32(25600);
Message.AppendInt32(0);
Message.AppendInt32(1);
Message.AppendInt32(0);
Message.AppendInt32(0);
Message.AppendBoolean(false);
break;
}
if (Page.Layout.StartsWith("frontpage") || Page.Layout == "vip_buy")
{
Message.AppendInt32(0);
}
else
{
Message.AppendInt32(Page.Items.Count);
foreach (CatalogItem Item in Page.Items.Values)
{
ComposeItem(Item, Message);
}
}
Message.AppendInt32(-1);
Message.AppendBoolean(false);
return Message;
}
on CatalogPage.cs Replace
PHP:
CachedContentsMessage = CatalogPacket.ComposePage(this);
PHP:
if(CodeName == "builders_club")
CachedContentsMessage = CatalogPacket.ComposePageBuilders(this);
else
CachedContentsMessage = CatalogPacket.ComposePage(this);
Add on habbofactory.cs
PHP:
int builders_expire = (int)dRow["builders_expire"];
int builders_items = (int)dRow["builders_items"];
int builders_items_rest = (int)dRow["builders_items_rest"];
Replace
PHP:
return new Habbo
PHP:
return new Habbo(id, username, realName, ras, motto, look, gender, credits, activityPoints, lastActivityPointsUpdate, muted, homeRoom, respect, dailyRespectPoints, dailyPetRespectPoints, hasFriendRequestsDisabled, currentQuestID, currentQuestProgress, achievementPoints, regTimestamp, lastOnline, appearOffline, hideInRoom, vIP, createDate, online, citizenship, belCredits, group, favId, lastChange, tradeLocked, tradeLockExpire, NuxPassed, builders_expire, builders_items,builders_items_rest);
On habbo.cs Add
PHP:
internal int builders_expire;
internal int builders_items;
internal int builders_items_rest;
PHP:
internal Habbo
PHP:
internal Habbo(uint Id, string Username, string RealName, uint Rank, string Motto, string Look, string Gender, int Credits, int ActivityPoints, double LastActivityPointsUpdate, bool Muted, uint HomeRoom, int Respect, int DailyRespectPoints, int DailyPetRespectPoints, bool HasFriendRequestsDisabled, uint currentQuestID, int currentQuestProgress, int achievementPoints, int RegTimestamp, int LastOnline, bool AppearOffline, bool HideInRoom, bool VIP, double CreateDate, bool Online, string Citizenship, int BelCredits, HashSet<GroupUser> Groups, uint FavId, int LastChange, bool TradeLocked, int TradeLockExpire, bool NUXPassed, int builders_expire, int builders_items, int builders_items_rest)
PHP:
this.builders_expire = builders_expire;
this.builders_items = builders_items;
this.builders_items_rest = builders_items_rest;
Add on SubscriptionManager.cs
PHP:
internal void AddSubscriptionBuilders(int DayLength)
{
int DayLenght = DayLength;
using (IQueryAdapter queryreactor = MercuryEnvironment.GetDatabaseManager().getQueryreactor())
{
queryreactor.runFastQuery(string.Concat(new object[]
{
"UPDATE users SET builders_items = builders_items + " + DayLenght + " WHERE id = " + this.UserId + ";"
}));
}
}
on gameClientMessageHandler
After
PHP:
Session.SendMessage(MercuryEnvironment.GetGame().GetCatalog().CachedIndexes[rank]);
PHP:
Session.SendMessage(MercuryEnvironment.GetGame().GetCatalog().CachedIndexesBuilders[rank]);
on Same File add
PHP:
internal void PlaceBuildersFurniture()
{
}
And
PHP:
internal void BuildersClubHowManyItemsHave()
{
ServerMessage message = new ServerMessage(Outgoing.BuildersHowManyFurniHave);
message.AppendInt32(Session.GetHabbo().builders_items_rest);
Session.SendMessage(message);
}
Replace the MessageComposer Response
PHP:
this.Response.Init(Outgoing.BuildersClubMembershipMessageComposer);
PHP:
this.Response.Init(Outgoing.BuildersClubMembershipMessageComposer);
this.Response.AppendInt32(Session.GetHabbo().builders_expire);//expiry
this.Response.AppendInt32(Session.GetHabbo().builders_items);//Furniture limit
this.Response.AppendInt32(1);
this.SendResponse();
Add on SharePacketLib.cs
PHP:
internal static void BuildersClubHowManyItemsHave(GameClientMessageHandler handler)
{
handler.BuildersClubHowManyItemsHave();
}
internal static void PlaceBuildersFurniture(GameClientMessageHandler handler)
{
handler.PlaceBuildersFurniture();
}
Add on StaticClientMessageHandler.cs
PHP:
handlers.Add(Incoming.PlaceBuildersFurniture, new StaticRequestHandler(SharedPacketLib.PlaceBuildersFurniture));
handlers.Add(Incoming.BuildersClubHowManyItemsHave, new StaticRequestHandler(SharedPacketLib.BuildersClubHowManyItemsHave));
Database:
Add on Users
Add builders_expire int(11) default 3700
Add builders_items int(11) default 100
Add builders_items_rest int(11) default 0
Add on Catalog Pages
PHP:
INSERT INTO `catalog_pages` (`id`, `parent_id`, `code_name`, `caption`, `icon_image`, `visible`, `enabled`, `min_rank`, `club_only`, `order_num`, `page_layout`, `page_headline`, `page_teaser`, `page_special`, `page_text1`, `page_text2`, `page_text_details`, `page_text_teaser`, `vip_only`, `page_link_description`, `page_link_pagename`) VALUES
(149, -2, 'builders_club', 'Blocos Builders', 2005, '1', '1', 1, '0', 3, 'builders_3x3', '', 'landing_view_blocks', '', 'Use os blocos de construção para criar estruturas legais em suas salas ! Quem sabe ... talvez você é o vencedor de um concurso .', '', '', '', '0', '', ''),
(300, -2, 'builders_club', 'Clube de Arquitetos', 193, '1', '1', 1, '0', 1, 'builders_club_frontpage', '<b><font color="#cc6600" size="16">O que é o Clube do Arquiteto?</font></b><br><br>Você sempre sonhou em construir quartos com Mobis virtualmente ilimitados? Está cansado de ter que contar moedas ou mobis para terminar um quarto? O Clube do Arquiteto é a solução!<br><br><b><font color="#cc6600" size="16">é fácil demais!</font></b><br><img src="http://images.habbo.com/c_images/catalogue/bc_instr_1.png"/><br><br><br><br><br><br><br><br><ul><li>Escolha um dos <a href="event:navigator/tab/me">seus quartos</a> (ou faça um novo).</li><li>Abra o Depósito do Clube do Arquiteto</li><li>Arraste objetos e coloque-os em seu quarto</li></ul><br><br><i>Dica: Se quiser recolher todos os Mobis do Clube do Arquiteto de uma vez, digite":pickallbc" no chat e clique em ENTER.</i><br><br>Clique aqui para mais informaçoes <a href="event:habbopages/builders-club/info">sobre as vantagens que do Clube do Arquiteto oferece.</a> Caso siga com dúvidas, visite nossas <a href="event:habbopages/builders-club/faq">FAQs</a>!', '', '', '', '', '', '', '0', '', ''),
(301, -2, 'builders_club', 'Upgrades do CA', 194, '1', '1', 1, '0', 2, 'builders_club_addons', '<b><font color="#d85b00" size="16">\r\nUpgrades do Clube do Arquiteto\r\n</font></b><br><br>\r\n<font align="justify">Você alcançou o <b>Limite de Mobis </b> mas quer <b> continuar construindo? </b> Não há problema, faça um upgrade!\r\n ', '', '', '', '', '', '', '0', '', '');
Enjoy...
BUGS
- Cant Place Furni, give Packet Error
- Cant Buy Addons (The Interactor Type dont Works)..
Credits
bi0s