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  
Logic

[PARTAGE] FRONTPAGE

Recommended Posts

Premium

Salut à vous Habbo-DEV ! je vous partage un petit "add-ons".

 au lieu de vous cassé la tête à configurer les message du catalogue de l'index depuis l'ému vous pouvez le faire depuis la db. A NOTER IL ET UNIQUEMENT COMPATIBLE AU NOUVELLES RELEASES

allez à: CatalogPageComposer.cs remplacé tout par ça :

 

using log4net;
using System;
using System.Linq;
using Plus.Core;
using Plus.HabboHotel.Items;
using Plus.HabboHotel.Catalog;
using Plus.HabboHotel.Items.Utilities;
using Plus.HabboHotel.Catalog.Utilities;
using Plus.Database.Interfaces;
using System.Data;
using Plus.Utilities;

namespace Plus.Communication.Packets.Outgoing.Catalog
{
    public class CatalogPageComposer : ServerPacket
    {
        public CatalogPageComposer(CatalogPage Page, string CataMode)
          : base(ServerPacketHeader.CatalogPageMessageComposer)
        {
            base.WriteInteger(Page.Id);
            base.WriteString(CataMode);
            base.WriteString(Page.Template);
            base.WriteInteger(Page.PageStrings1.Count);
            foreach (string s in Page.PageStrings1)
            {
                base.WriteString(s);
            }
            base.WriteInteger(Page.PageStrings2.Count);
            foreach (string s in Page.PageStrings2)
            {
                base.WriteString(s);
            }
            if (!Page.Template.Equals("frontpage") && !Page.Template.Equals("club_buy"))
            {
                base.WriteInteger(Page.Items.Count);
                foreach (CatalogItem Item in Page.Items.Values)
                {
                    base.WriteInteger(Item.Id);
                    base.WriteString(Item.Name);
                    base.WriteBoolean(false);
                    base.WriteInteger(Item.CostCredits);
                    if (Item.CostDiamonds > 0)
                    {
                        base.WriteInteger(Item.CostDiamonds);
                        base.WriteInteger(5);
                    }
                    else
                    {
                        base.WriteInteger(Item.CostPixels);
                        base.WriteInteger(0);
                    }
                    if (Item.CostGotw > 0)
                    {
                        base.WriteInteger(Item.CostDiamonds);
                        base.WriteInteger(103);
                    }
                    else if(Item.CostDiamonds > 0)
                    {
                        base.WriteInteger(Item.CostDiamonds);
                        base.WriteInteger(0);
                    }
                    base.WriteBoolean(ItemUtility.CanGiftItem(Item));

                    if (Item.Data.InteractionType == InteractionType.DEAL)
                    {
                        foreach (CatalogDeal Deal in Page.Deals.Values)
                        {
                            base.WriteInteger(Deal.ItemDataList.Count);
                            foreach (CatalogItem DealItem in Deal.ItemDataList.ToList())
                            {
                                base.WriteString(DealItem.Data.Type.ToString());
                                base.WriteInteger(DealItem.Data.SpriteId);
                                base.WriteString("");
                                base.WriteInteger(1);
                                base.WriteBoolean(false);
                            }
                            base.WriteInteger(0);
                            base.WriteBoolean(ItemUtility.CanSelectAmount(Item));
                        }
                    }
                    else
                    {
                        base.WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2);
                        {
                            if (!string.IsNullOrEmpty(Item.Badge))
                            {
                                base.WriteString("b");
                                base.WriteString(Item.Badge);
                            }
                            base.WriteString(Item.Data.Type.ToString());
                            if (Item.Data.Type.ToString().ToLower() == "b")
                            {
                                base.WriteString(Item.Data.ItemName);
                            }
                            else
                            {
                                base.WriteInteger(Item.Data.SpriteId);
                                if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE)
                                {
                                    base.WriteString(Item.Name.Split('_')[2]);
                                }
                                else if (Item.Data.InteractionType == InteractionType.BOT)
                                {
                                    CatalogBot CatalogBot = null;
                                    if (!GameEnvironment.GetCatalog().TryGetBot(Item.ItemId, out CatalogBot))
                                        base.WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92");
                                    else
                                        base.WriteString(CatalogBot.Figure);
                                }
                                else if (Item.ExtraData != null)
                                {
                                    base.WriteString(Item.ExtraData != null ? Item.ExtraData : string.Empty);
                                }
                                base.WriteInteger(Item.Amount);
                                base.WriteBoolean(Item.IsLimited);
                                if (Item.IsLimited)
                                {
                                    base.WriteInteger(Item.LimitedEditionStack);
                                    base.WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells);
                                }
                            }
                            base.WriteInteger(0);
                            base.WriteBoolean(ItemUtility.CanSelectAmount(Item));
                            base.WriteBoolean(true);
                            base.WriteString("");
                        }
                    }
                }
            }
            else
                base.WriteInteger(0);
                base.WriteInteger(-1);
                base.WriteBoolean(false);

            if (Page.Template.Equals("frontpage4"))
            {
                base.WriteInteger(4); 

                using (IQueryAdapter dbClient = Plus.Environment.GetDatabaseManager().GetQueryReactor())
                {
                    DataRow Catalog = null;

                    dbClient.SetQuery("SELECT * FROM `catalog_settings` WHERE `id` = '1';");
                    Catalog = dbClient.getRow();

                    if(Catalog == null)
                    {
                        Logs.WriteLine("Erreur -> catalog_settings -> id 1 non trouvé !", ConsoleColor.Red);
                    }
                    else
                    {
                        base.WriteInteger(1);
                        base.WriteString(Convert.ToString(Catalog["title"]));
                        base.WriteString(Convert.ToString(Catalog["image"]));
                        base.WriteInteger(0);
                        base.WriteString(Convert.ToString(Catalog["page_link"]));
                        base.WriteInteger(Convert.ToInt32(Catalog["page_id"]));
                    }
                }


                using (IQueryAdapter dbClient = Plus.Environment.GetDatabaseManager().GetQueryReactor())
                {
                    DataRow Catalog = null;

                    dbClient.SetQuery("SELECT * FROM `catalog_settings` WHERE `id` = '2';");
                    Catalog = dbClient.getRow();

                    if (Catalog == null)
                    {
                        Logs.WriteLine("Erreur -> catalog_settings-> id 2 non trouvé !", ConsoleColor.Red);
                    }
                    else
                    {
                        base.WriteInteger(2);
                        base.WriteString(Convert.ToString(Catalog["title"]));
                        base.WriteString(Convert.ToString(Catalog["image"]));
                        base.WriteInteger(0);
                        base.WriteString(Convert.ToString(Catalog["page_link"]));
                        base.WriteInteger(Convert.ToInt32(Catalog["page_id"]));
                    }
                }

                using (IQueryAdapter dbClient = Plus.Environment.GetDatabaseManager().GetQueryReactor())
                {
                    DataRow Catalog = null;

                    dbClient.SetQuery("SELECT * FROM `catalog_settings` WHERE `id` = '3';");
                    Catalog = dbClient.getRow();

                    if (Catalog == null)
                    {
                        Logs.WriteLine("Erreur -> catalog_settings -> id 3 non trouvé!", ConsoleColor.Red);
                    }
                    else
                    {
                        base.WriteInteger(3);
                        base.WriteString(Convert.ToString(Catalog["title"]));
                        base.WriteString(Convert.ToString(Catalog["image"]));
                        base.WriteInteger(0);
                        base.WriteString(Convert.ToString(Catalog["page_link"]));
                        base.WriteInteger(Convert.ToInt32(Catalog["page_id"]));
                    }
                }

                using (IQueryAdapter dbClient = Plus.Environment.GetDatabaseManager().GetQueryReactor())
                {
                    DataRow Catalog = null;

                    dbClient.SetQuery("SELECT * FROM `catalog_settings` WHERE `id` = '4';");
                    Catalog = dbClient.getRow();

                    if (Catalog == null)
                    {
                        Logs.WriteLine("Erreur -> catalog_settings -> id 4 non trouvé !", ConsoleColor.Red);
                    }
                    else
                    {
                        base.WriteInteger(4);
                        base.WriteString(Convert.ToString(Catalog["title"]));
                        base.WriteString(Convert.ToString(Catalog["image"]));
                        base.WriteInteger(0);
                        base.WriteString(Convert.ToString(Catalog["page_link"]));
                        base.WriteInteger(Convert.ToInt32(Catalog["page_id"]));
                    }
                }
            }
        }
    }
}

 

SQL:

 

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for catalog_settings
-- ----------------------------
DROP TABLE IF EXISTS `catalog_settings`;
CREATE TABLE `catalog_settings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(55) NOT NULL,
  `image` text NOT NULL,
  `page_link` varchar(35) NOT NULL,
  `page_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of catalog_settings
-- ----------------------------
INSERT INTO `catalog_settings` VALUES ('1', 'Message1', 'catalogue/feature_newcata_hort/feature_cata_vert_oly16bundle1.png', 'habbo_lympix_2016fr', '912394');
INSERT INTO `catalog_settings` VALUES ('2', 'Message2', 'catalogue/feature_cata_hort_habbergerbundle.png', 'habbugersclass', '912393');
INSERT INTO `catalog_settings` VALUES ('3', 'Message3', 'catalogue/battleball2016.png', 'battleball2016fr', '912395');
INSERT INTO `catalog_settings` VALUES ('4', 'Message4', 'catalogue/feature_newcata_hort/feature_cata_hort_partyboat16_b.png', 'effectotem', '912396');
 

 

Voilà, derien :)

Share this post


Link to post
Share on other sites
Premium

Please login or register to see this link.

Share this post


Link to post
Share on other sites
Vétéran

Merci bien, ça sera utile aux petits nouveaux :)

Share this post


Link to post
Share on other sites
Vétéran

J'aime bien c'est toujours utile est sympa, merci pour ce partage :hug:

Share this post


Link to post
Share on other sites
Vétéran

Des erreurs de partout x) (10)

Share this post


Link to post
Share on other sites
Premium
Il y a 23 heures, Kayz a dit :

Des erreurs de partout x) (10)

SCREEN, me le stp que je te régle ça. ça marche chez moi nickel.

 

Le 02/01/2017 à 19:28, Twister a dit :

J'aime bien c'est toujours utile est sympa, merci pour ce partage :hug:

Merci

Share this post


Link to post
Share on other sites
Vétéran

Merci du partage l'ami cela servira pour tout les émulateurs.
Tu va simplifié le frontpage des catalogue de PlusEmu ( Nouvelle Release) et je t'en remercie.

Bonne soirée a toi ! 
#TonDieuGrec

Share this post


Link to post
Share on other sites
Vétéran
Le 03/01/2017 à 21:50, Winfield a dit :

SCREEN, me le stp que je te régle ça. ça marche chez moi nickel.

 

Merci

Please login or register to see this link.

Share this post


Link to post
Share on other sites
Vétéran

J'ai les m'aime erreurs j'ai réussi a en régler quelque une c'est tous, mes merci du partage

 

Share this post


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

Please login or register to see this link.

 

Il y a 4 heures, Doom a dit :

J'ai les m'aime erreurs j'ai réussi a en régler quelque une c'est tous, mes merci du partage

 

Please login or register to see this link.



Voilà pour vous :)

Share this post


Link to post
Share on other sites
Vétéran

Sa veut toujours pas fonctionner pour tant il y'a plus d'erreur

 

Share this post


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

Sa veut toujours pas fonctionner pour tant il y'a plus d'erreur

 

Penses a jouté les lignes dans la DB ;) 

Merci @DodoneOfficiel

Share this post


Link to post
Share on other sites
Vétéran

C'est fait

 

Share this post


Link to post
Share on other sites
Vétéran
Il y a 1 heure, Kayz a dit :

Penses a jouté les lignes dans la DB ;) 

Merci @DodoneOfficiel

Pas de soucis ;)

Il y a 1 heure, Doom a dit :

C'est fait

 

Tu as quoi comme soucis ?

Share this post


Link to post
Share on other sites
Vétéran

Le catalogue ne change pas

 

Share this post


Link to post
Share on other sites
Vétéran

Et quand je vais sur le cata je clic sur VIP par exemple sa deco

 

Share this post


Link to post
Share on other sites
VIP
Il y a 4 heures, Doom a dit :

Et quand je vais sur le cata je clic sur VIP par exemple sa deco

 

Il faut gerer ton catalog_page mdr, je te le dit c'est très emmerdant ;).

Share this post


Link to post
Share on other sites
Vétéran

Ta des bases ou des conseil ?

 

Share this post


Link to post
Share on other sites
Premium
il y a 14 minutes, Doom a dit :

Ta des bases ou des conseil ?

 

Faut changé t'es variables, et faut réglé les parent_id pour les tabs, en haut. 

Share this post


Link to post
Share on other sites
Vétéran

Le numero du parent id deviens quoi

Share this post


Link to post
Share on other sites
Vétéran

Et dans les variables desole mes dans les r63C je galere

Share this post


Link to post
Share on other sites
Premium

FAUT, laissé 4 parent_id en -1 pour les tabs, et le reste fait le à ta guise. 

Share this post


Link to post
Share on other sites
Vétéran

J'ai tous essayer sa ne fonctionne pas

 

Share this post


Link to post
Share on other sites

Déja les erreur , normal :/ , utiliser Navicat , au moins sa fait aucune erreur et PHPMYADMIN cest vraiment de la merde niveaux bug autres c'est un des première chose qui va faire sauter des erreur.

Les swf faut apprendre a les configuré Hein ! :)

Les code dans les émulateur , si y'a une erreur , a vous d'essayer de les corriger dois manquer une petite variables a chaque coup ou PIRE ^^

Les bug de rank dans le catalogue :/ a oui les R63C c'est galère ^^

 

Pas de panique ! un de mes nouveaux Projet arrive sa va être du gâteaux les SWF pour vous ;)

+ d'information bientôt ! :)

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