Newb guide for adding sell-able clothes to plus emu (for dummies)

Rystbo

-Hotel Owner, -Customs Developer, -Arcturus
Apr 16, 2018
390
200
Hello, there are tutorials out there on how to add clothing but they do leave some material out. Recently some one asked in the help section how to add clothes. I figured i would provide a more in depth easy tutorial that explains everything. Now lets dive in!

It may seem lengthy but its not, i just go into detail



STEP ONE:
Visit --->

Once there you will need to scroll all the way down to the bottom you will see something like this

flash.client.url=//images.habbo.com/gordon/PRODUCTION-201808211420-122581383/figuremap.xml

Now it might be different depending on what production habbo currently has, add this to the end
figuremap.xml

Copy and paste it into your browser (//images.habbo.com/gordon/PRODUCTION-201808211420-122581383/figuremap.xml)

This is the figure map, when you get to the page right click and save as to desktop.

STEP TWO:

Now visit --->
Once there, right click and save it to your desktop as you did the file previously.

STEP THREE:

Find the clothing you want to add, visit and find the item you want. For this example i will be using the tutu (clothing_tutu.swf). You can download it from retro ripper and save it to your desktop.

STEP FOUR:

Now we can begin working on gathering everything we need.Like i said above for this tutorial i will use the clothing_tutu.swf. Now first thing we want to open is the first file we saved from step one.
Now the clothing I have is called clothing_tutu.swf, typically you just want to search for the name not the clothing. So search tutu, you should find this:

<lib id="trousers_U_tutu" revision="64187">
<part id="3189" type="lg"/>
<part id="3190" type="lg"/>
</lib>

Copy this and set this aside for the next step, i also want to mention the id you see, its different than the swf, this is the name of the clothing thats identified in the gordon folder (its a different swf than what we get from retro ripper you will understand this in a later step)

STEP FIVE:

Open the text from step two, this is the figure data. Now from step four we see some numbers, these are what you want to search for. When you do the search THE ONLY NUMBERS YOU WANT TO MATCH ARE THE PART IDS. Ill explain further momentary, but for now search for the number 3189.

You should find something like this:

<set id="3695" gender="U" club="0" colorable="1" selectable="1" preselectable="0" sellable="1"><part id="3189" type="lg" colorable="1" index="0" colorindex="1"/><part id="3190" type="lg" colorable="0" index="1" colorindex="0"/></set>

Now heres what you want to look for when doing this search is that the part ids match exactly the same as the part ids from step 5, so as you see we have part id 3189, and 3190 the two exact same part ids we got in step four. Take note of these we need them for a later step. Also take note of the type, it says type='lg' this will tell use exactly where it needs to be placed in our figure data.

STEP SIX:

Now we need the furni data visit -->
again right click and save it to your desktop. Open it up in note pad and search the swf name (clothing_tutu) You should find something like this:

<furnitype id="10178" classname="clothing_tutu"><revision>64270</revision><defaultdir>0</defaultdir><xdim>1</xdim><ydim>1</ydim><partcolors/><name>Tokyo Tutu</name><description>clothing_tutu desc</description><adurl></adurl><offerid>20501</offerid><buyout>1</buyout><rentofferid>-1</rentofferid><rentbuyout>0</rentbuyout><bc>0</bc><excludeddynamic>0</excludeddynamic><customparams>3695</customparams><specialtype>23</specialtype><canstandon>0</canstandon><cansiton>0</cansiton><canlayon>0</canlayon><furniline>tokyo</furniline></furnitype>

Set this aside because you will need it.

Now lets recap you should have the clothing items figuremap, product data and furnidata. Doing good so far.

STEP SEVEN:

Now as i mentioned earlier with the swfs, clothing uses two swfs. In a nut shell, one is the swf you see when you access it via catalog, the other is when you access it by the clothing editor. Currently we have the clothing_tutu.swf (this is for the gordon folder) we need the hof_furni.
Now to get this, take the link from above in step one and then put the name in of the furni at the end (as you see below) this is the name from step four



Now you should have two swfs (trousers_U_tutu.swf and clothing_tutu.swf)

Place these accordingly in your swf folder the trousers_U_tutu.swf goes in swf/dcr/hof_furni and the clothing_tutu.swf goes in your gordon production folder.

Doing good so far, make sure you take the time to go back through each step and read carefully!
Moving on!

STEP EIGHT:

At this point, we are just taking the clothing information and adding it to our hotel. I advise you to put your cloudflare in development mode please do this now (this will help us see what we are adding in the hotel a bit easier)

Now lets start adding what we need, first take the text from step two:

<lib id="trousers_U_tutu" revision="64187">
<part id="3189" type="lg"/>
<part id="3190" type="lg"/>
</lib>

This goes in two places (1)---> swf\gamedata\figuremaptxt
Place it in there and save
(2)---->swf\gordon\figuremap.txt
Place it there and save it

Now also take the furni data we received earlier in step six place this in your swf furnidata
(swf/gamedata/furnidata)

<furnitype id="10178" classname="clothing_tutu"><revision>64270</revision><defaultdir>0</defaultdir><xdim>1</xdim><ydim>1</ydim><partcolors/><name>Tokyo Tutu</name><description>clothing_tutu desc</description><adurl></adurl><offerid>20501</offerid><buyout>1</buyout><rentofferid>-1</rentofferid><rentbuyout>0</rentbuyout><bc>0</bc><excludeddynamic>0</excludeddynamic><customparams>3695</customparams><specialtype>23</specialtype><canstandon>0</canstandon><cansiton>0</cansiton><canlayon>0</canlayon><furniline>tokyo</furniline></furnitype>

STEP NINE:

We need to add the information from step five to the locations it belongs, there are 3 places this has to be added and in a certain spot of the text

<set id="3695" gender="U" club="0" colorable="1" selectable="1" preselectable="0" sellable="1"><part id="3189" type="lg" colorable="1" index="0" colorindex="1"/><part id="3190" type="lg" colorable="0" index="1" colorindex="0"/></set>

Now as above we see the type="lg", this is the location it is going to be placed in our figure data. this can change depending on the clothing item what you want to search for in your figure data is this ---> <settype type="lg" and you should see something like this

<settype type="lg" paletteid="3" mand_m_0="1" mand_f_0="1" mand_m_1="1" mand_f_1="1">
<set id="9313" gender="U" club="2" colorable="1" selectable="1" preselectable="0">
<part id="9313" type="lg" colorable="1" index="0" colorindex="1"/>
<part id="9314" type="lg" colorable="1" index="1" colorindex="2"/>
</set>

This first line is the important one, you want to place the above set after the set type lg, but before the new set id, so if we were to add what we have to the above text it will be like this (you can also clean it up a bit as i did below)

<settype type="lg" paletteid="3" mand_m_0="1" mand_f_0="1" mand_m_1="1" mand_f_1="1">
<set id="3695" gender="U" club="0" colorable="1" selectable="1" preselectable="0" sellable="1">
<part id="3189" type="lg" colorable="1" index="0" colorindex="1"/>
<part id="3190" type="lg" colorable="0" index="1" colorindex="0"/>
</set>
<set id="9313" gender="U" club="2" colorable="1" selectable="1" preselectable="0">
<part id="9313" type="lg" colorable="1" index="0" colorindex="1"/>
<part id="9314" type="lg" colorable="1" index="1" colorindex="2"/>
</set>

Now this above text has to go in three locations, so copy and paste it to these locations :

<set id="3695" gender="U" club="0" colorable="1" selectable="1" preselectable="0" sellable="1">
<part id="3189" type="lg" colorable="1" index="0" colorindex="1"/>
<part id="3190" type="lg" colorable="0" index="1" colorindex="0"/>
</set>

paste this in
swf/gordon/figuredata (make sure its under the correct settype)
swf/gamedata/figuredata

Inside your emu --> bin/debug/extra/figuredata

ALL THREE OF THESE TEXTS SHOULD BE EXACTLY THE SAME. ONCE YOU ADD IT SAVE ALL THREE.

Now we are almost done.

STEP TEN:

Now we need to add the sqls. Its important that all the ids and info match up for this to work correctly, if not you will have errors. Below are 3 sqls, the furni, cat_item and cat_clothing.

INSERT INTO `catalog_clothing` (`clothing_name`, `clothing_parts`) VALUES ('FURNITURENAME', 'CLOTHINGPARTS');

INSERT INTO `catalog_items` (`id`, `page_id`, `item_id`, `catalog_name`) VALUES (ITEMID, 'PAGEID', ITEMID, 'ITEMNAME');

INSERT INTO `furniture` (`id`,`item_name`, `public_name`, `can_stack`, `sprite_id`, `interaction_type`, `clothing_id`) VALUES (ITEMID, 'ITEMNAME', 'ITEMNAME', 0, ITEMID, 'purchasable_clothing', CLOTHINGID);

Now with some editing we can make it match the clothing item. Its best to use the text from step six (the furni data) to plug in what we need

<furnitype id="10178" classname="clothing_tutu"><revision>64270</revision><defaultdir>0</defaultdir><xdim>1</xdim><ydim>1</ydim><partcolors/><name>Tokyo Tutu</name><description>clothing_tutu desc</description><adurl></adurl><offerid>20501</offerid><buyout>1</buyout><rentofferid>-1</rentofferid><rentbuyout>0</rentbuyout><bc>0</bc><excludeddynamic>0</excludeddynamic><customparams>3695</customparams><specialtype>23</specialtype><canstandon>0</canstandon><cansiton>0</cansiton><canlayon>0</canlayon><furniline>tokyo</furniline></furnitype>

Let me explain what we need to pull from this 1) the id--> 10178 this will be used for the sqls, we also need the name (Tokyo Tutu) and the class name (clothing_tutu). Now below is what you should have once you edit the above sqls.

INSERT INTO `catalog_clothing` (`clothing_name`, `clothing_parts`) VALUES ('clothing_tutu', 'CLOTHINGPARTS');

INSERT INTO `catalog_items` (`id`, `page_id`, `item_id`, `catalog_name`) VALUES ('10178', 'PAGEID', '10178', 'clothing_tutu');

INSERT INTO `furniture` (`id`,`item_name`, `public_name`, `can_stack`, `sprite_id`, `interaction_type`, `clothing_id`) VALUES ('10178', 'clothing_tutu', 'clothing_tutu', '0', '10178', 'purchasable_clothing', '10178');

Now i want to mention the sql above for the catalog_clothing is incorrect, i want you to add it manually into navicat. In the feilds in navicat it will say id (10178) then clothing name (clothing_tutu), and then clothing parts. These are the parts from before in step four (3189,3190) when you insert the clothing parts separate each with a comma.

Now run these in navicat.

Now go into your furniture table there is something we need to add, find the clothing we just added, ID 10178 scroll to the right after where it says purchasable_clothing it says in the behavior data field zero, change that to the id 10178 (this is the id of the catalog clothing)
Save the change.

STEP ELEVEN:

Now take a moment to go back, over look everything make sure there are no errors and you followed each step. If you have, then you need to run 3 commands in the hotel in this order, :update mutant :update items :update catalog

Than clear your cache and reload.

Now you should have this:



I also want to mention, if you want it to say tutu and a description just edit the name of it in furnidata and in the sqls.




Hopefully this helped for those who were running into issues. If your still having problems feel free to contact me on my discord server

 

Users who are viewing this thread

Top