Furnidata parser for Plus-style DB

CosmoPeak

PeakRP.com
May 15, 2016
271
268
After tirelessly entering furniture SQLs into the database by hand, I decided to create a quick program to generate basic SQLs for me.

Features
  • Generates furniture and catalog_items SQL queries for PlusEMU's database structure
  • Generates the following:
    • Item name
    • Public name
    • Width
    • Length
    • Can sit
    • Walkable
    • Beds
    • Catalog name
    • Catalog offer ID
Notes
  • Not tested much!
  • It does not generate anything else. Height, vending machines, etc still need extra configuration, but it does a lot of the work for you.
  • You will need to download/rip the SWFs yourself
  • Only works for floor items (there aren't many wall item releases, don't be so lazy!)
Usage
  1. Take a back up of your db - Just in case!
  2. Create a new folder
  3. Download the jar
  4. Download the latest furnidata.xml and productdata.txt from Habbo (or use your own)
  5. Open command prompt/terminal
  6. Navigate to your new folder
  7. Run the command: java -jar FurniDataParser.jar <MIN ID> <MAX ID> <CATA PAGE ID>
    • MIN ID = The first ID of the furni line (I'd recommend doing 1 furni line/catalog page at a time)
    • MAX ID = The last ID of the furni line
    • CATA PAGE ID = The catalog page ID you want the furniture to go under
    • ex: `java -jar FurniDataParser.jar 9003 9048 whatever_page_id` for the new Olympic furni - You can see the item IDs in the furnidata.xml (eg. <furnitype id="9003" classname="olympics_c16_counter">...)
  8. Copy the SQLs and run them on your database
Download


Source
Probably messy, but it was a quick job and really isn't important.
 
Last edited:

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Looks good, I did one in PHP a quick suggestion:

Include the offer ID, as this is how the catalogue searching is done (it utilises '<offerid>-1</offerid>')
 

CosmoPeak

PeakRP.com
May 15, 2016
271
268
Looks good, I did one in PHP a quick suggestion:

Include the offer ID, as this is how the catalogue searching is done (it utilises '<offerid>-1</offerid>')
Thanks! I've updated the download/source to reflect this change. I also removed the database name from the queries (whoops).

I'm not quite sure I understand what the offer ID does though - How does the catalogue searching utilise it?
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Thanks! I've updated the download/source to reflect this change. I also removed the database name from the queries (whoops).

I'm not quite sure I understand what the offer ID does though - How does the catalogue searching utilise it?

Hi, no probs.

If an item has an offer ID (must match what is in the furnidata), then the item is searchable in the catalogue. (It can be seen in CatalogIndexComposer under WritePage).

The offer ID is then used for another event to find that item (as you can have 100's of the same items as a catalog item, yet there will only ever be one base item in the furniture table). So another packet retrieves the item when it's clicked (from search), using that offer ID.
 

Menkz

Member
Jul 9, 2010
374
167
Bump to an old thread, but this version doesn't add the sprite_id in the furniture table.

Here's an edited version.
PHP:
https://mega.nz/#!XwRVkQYY!f2R-ugWiUunenINzvy8j2O1KBK0Qx0C8IUJDxA8P5AQ

Same usage, just need it to be
PHP:
java -jar FurniDataParser_3.jar min_id max_id catalog_page_id
 

CosmoPeak

PeakRP.com
May 15, 2016
271
268
Bump to an old thread, but this version doesn't add the sprite_id in the furniture table.

Here's an edited version.
PHP:
https://mega.nz/#!XwRVkQYY!f2R-ugWiUunenINzvy8j2O1KBK0Qx0C8IUJDxA8P5AQ

Same usage, just need it to be
PHP:
java -jar FurniDataParser_3.jar min_id max_id catalog_page_id
Huh, that was dumb, I must have not updated this when I fixed that. :lol: Thanks

My current version also makes a unique catalog_id for each "furniline" (as seen in furnidata.xml), incrementing from the catalog_id provided. This makes it easier to import multiple furni ranges in 1 go. It also escapes ' as a lot of furni uses apostrophes which breaks the SQL. If anyone actually uses this I can post the latest version.
 

Users who are viewing this thread

Top