Jump to content
×
×
  • Create New...
  • 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 !

[PARTAGE] FRONTPAGE


Logic
 Share

Recommended Posts

Salut à vous inshare ! 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 :)

  • J'aime 1

meeeeeh

Link to comment
Share on other sites

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

  • J'aime 1

Besoin d'une ressource pour ton rétro ? Un CMS ? Un Addon ? 

 

1490721717-ch.png

 

Besoin d'une base de donnée pour ton rétro ? Un dédipass une base de donnée pendant 4 mois !

Alors rejoins moi vite sur http://comahost.com

https://www.facebook.com/comahost/

 

1490976330-capture-d-ecran-2017-03-31-a-

 

Les crocodiles en force !

 

crocnhammocks.png

Link to comment
Share on other sites

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

meeeeeh

Link to comment
Share on other sites

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


 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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. 

meeeeeh

Link to comment
Share on other sites

  • 3 weeks later...

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 ! :)

#Kirito-SAO ( c'est mon ancien pseudo)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share