Barbie
Active Member
This is a very slow, detailed step by step guide on how to code customs for beginners. I know there's more out there but I get a lot of people on my Facebook telling me they don't understand them, so I've tried to make an easy-to-follow guide for them.
First off, you'll need to download the programs needed.
You'll need a SWF Decompiler, HxD program, a swf comp/decomp, and an editing program (e.g. paint.NET or Photoshop).
Download:
You must be registered for see links
This link contains a file containing the full SoThink SWF Decomplier, the HxD program, and the swfcomp/decomp.
1. Download the above and place into a folder. I've named mine "Customs" because it's easy.
2. Download or find the SWF of the furni you are editing, e.g. a Throne, a Dino Egg, etc, and place into your Customs folder.
3. Grab the SWF and drag it onto the red swfdecomp. Nothing should happen visibly, but your file is now decompressed.
4. Drag the now decompressed file onto the SoThink program, it will look like this:
5. Click the + signs on the right hand side next to the writing saying "throne" and then check the box saying "Image". Make sure all the boxes are checked in "Image" and click "Export Resources" circled in red:
6. Make sure to save these images in a folder in your "Customs" folder, and then press OK. Open all these images in paint.NET/Photoshop, or whatever editing program you use and make your custom furniture. Save all the images over these ones.
7. When you've finished designing your custom, go back to SoThink and right click "image 1". Press 'Edit' and then click the little folder button at the bottom circled in red:
8. Select the image named "image 1" in your files and open it. The big image in the middle will change. Do this for all the images and then click "Save As" along the top bar. Make sure to save your custom with the SAME AMOUNT OF CHARACTERS as the SWF, e.g.:
throne = thjess
spyro = jesss
exe_rug = exe_new
party_discol = party_custom
I'm sure you get the idea by now, so make sure to save it in your "Customs" folder with the same number of letters as the original.
9. You can now close SoThink. Go into your "Customs" folder and drag your new custom onto the HxD program. Your screen will look like this (different text if you've done a different furni):
Click the "Search" then "Replace" buttons circled above.
10. In the top box, type the original name of the SWF.
In the 2nd box, type the new name of your SWF.
DON'T click OK, click "Replace All" and then save over the file.
In your "Customs" folder you should now have 2 files, one with the new name, e.g. thjess, and one called thjess.swf.bak.
11. Take the thjess or whatever your custom's called, and drag it over the green swfcomp file. Nothing will visibly happen once again. Congratulations, you've made your SWF!
12. For the SQL, I find it easy by just finding a SWF on here of the custom you're making, and then editing the names and IDs in it, e.g.
Catalog_items:
Change the coloured parts of 1 to 2 and then run it as a query. (Make sure to change PAGEID to the ID of the page you want it on).
1. INSERT INTO `catalog_items` (`id`, `page_id`, `item_ids`, `catalog_name`, `cost_credits`, `cost_pixels`, `cost_snow`, `amount`) VALUES ('1234', 'PAGEID', '1234', 'throne', '1', '0', '0', '5');
2. INSERT INTO `catalog_items` (`id`, `page_id`, `item_ids`, `catalog_name`, `cost_credits`, `cost_pixels`, `cost_snow`, `amount`) VALUES ('98765', 'PAGEID', '98765', 'thjess', '1', '0', '0', '5');
Furniture:
Change the coloured parts of 1 to 2 and then run it as a query.
1. INSERT INTO `furniture` (`id`, `public_name`, `item_name`, `type`, `width`, `length`, `stack_height`, `can_stack`, `can_sit`, `is_walkable`, `sprite_id`, `allow_recycle`, `allow_trade`, `allow_marketplace_sell`, `allow_gift`, `allow_inventory_stack`, `interaction_type`, `interaction_modes_count`, `vending_ids`, `is_arrow`) VALUES ('1234', 'throne', 'throne', 's', '1', '1', '1', '0', '1', '0', '1234', '1', '1', '1', '1', '1', 'default', '1', '0', '0', '0');
2. INSERT INTO `furniture` (`id`, `public_name`, `item_name`, `type`, `width`, `length`, `stack_height`, `can_stack`, `can_sit`, `is_walkable`, `sprite_id`, `allow_recycle`, `allow_trade`, `allow_marketplace_sell`, `allow_gift`, `allow_inventory_stack`, `interaction_type`, `interaction_modes_count`, `vending_ids`, `is_arrow`) VALUES ('98765', 'thjess', 'thjess', 's', '1', '1', '1', '0', '1', '0', '98765', '1', '1', '1', '1', '1', 'default', '1', '0', '0', '0');
Furnidata:
Change the coloured parts of 1 to 2 and add into your furnidata.txt.
1. ["s","1234","throne","5000","0","1","1","0,0,0","Throne","For Royal bottoms!","","-1","-1"],
2. ["s","98765","thjess","5000","0","1","1","0,0,0","Jess Throne","Designed and coded by Jess!","","-1","-1"],
The above are just examples of what I'd do for the Throne I was making. Make sure to change the names to your custom's name and then the IDs can be any random number, so long as they ALL match!
13. Add your SWF to your hof_furni folder, run the queries, add the furnidata, and then run update_items and update_catalogue in your hotel. Clear your cache and reload!
Congratulations, you should now have and be able to make more custom furniture!
Good luck