
Capítulo 1: Onde encontrar novas mobílias?
Hoje em dia sites como Puhekupla e HabboTravel acabam divulgando rapidamente as novas mobílias, o que acaba que esse trabalho não precise ser feito por você. Mas é claro que você precisa saber como fazer e por isso iremos demonstrar aqui como são encontradas as novas mobílias.
Quando uma nova mobília é hospedada nos servidores do Habbo, ela será adicionada ao diretório "Funidata_xml".
https://www.habbo.com.br/gamedata/furnidata_xml/1
Para ver todas as mobílias dessa página, clique CTRL + U para ver o código-fonte dela.
Para ver todas as mobílias dessa página, clique CTRL + U para ver o código-fonte dela.
Vamos usar como exemplo a nova mobília Ampulheta de Pixels, pegamos o código referente a ela dentro da "Funidata_xml".
<furnitype id="11288" classname="hween_r20_hourglass"><revision>65975</revision><category>other</category><defaultdir>0</defaultdir><xdim>1</xdim><ydim>1</ydim><partcolors/><name>Ampulheta de Pixels</name><description>hween_r20_hourglass desc</description><adurl></adurl><offerid>-1</offerid><buyout>0</buyout><rentofferid>-1</rentofferid><rentbuyout>0</rentbuyout><bc>0</bc><excludeddynamic>0</excludeddynamic><customparams>163</customparams><specialtype>1</specialtype><canstandon>1</canstandon><cansiton>0</cansiton><canlayon>0</canlayon><furniline>habboween_2020</furniline><environment></environment><rare>0</rare></furnitype>Agora vamos ver o significado de cada parte do código.
CÓDIGO | DESCRIÇÃO |
---|---|
id | Código de identificação da mobília. Os códigos são únicos para itens de chão e itens de parede, muitos ids são pulados. |
classname | Nome científico da mobília, ou seja, seu código de arquivo. |
revision | Número da pasta onde se encontra seu arquivo. |
category | Categoria da mobília, para fins do catálogo. As nomeações existentes são (chair, music, bed, shelf, rug, other, vending_machine, divider, present, teleport, lighting, food, gate, fortuna, trophy, pets, roller, wall_decoration, window, space). |
defaultdir | |
xdim | quadrados que o mobi ocupa em relação ao eixo x do quarto. |
ydim | quadrados que o mobi ocupa em relação ao eixo y do quarto. |
partcolors | Cores da mobília |
name | Nome da mobília |
description | Código de descrição da mobília, antigamente era a descrição da mobília. |
offerid | Se possuir um numeral o mobi está disponível na loja, Se -1 não está sendo vendido. |
buyout | Se 1 está disponível na loja, Se 0 não está sendo vendido. |
rentofferid | Não é utilizado atualmente. |
rentbuyout | Se está disponível para ser alugado. Não é mais utilizado atualmente. |
bc | Se 0 não está no clube do arquiteto, Se 1 está no clube do arquiteto. Se alguma vez já esteve no clube do arquiteto esse atributo será sempre 1 e não sofrerá atualizações, ou seja, o mobi pode sair do clube do arquiteto e estar atribuído como 1. |
excludeddynamic | Se 1 não pode ser pesquisado, Se 0 pode ser pesquisado no catálogo. |
customparams | Efeitos da mobília no quarto. Como o canhão pirata que explode em direção reta. Em algumas mobílias terá o código do efeito que é concedido ao se relacionar com o mobi. Em mobis alimentos terá a consumação do alimento. |
canstandon | Se 1 pode pisar na mobília, Se 0 não pode pisar. |
cansiton | Se 1 pode sentar na mobília, Se 0 não pode sentar. |
canlayon | Se 1 pode deitar na mobília, Se 0 não pode deitar. |
furniline | Categoria em que ela foi lançada, ou seja, sua coleção de origem. |
rare | Se 0 não é raro, Se 1 é raro. |
specialtype | 1 será padrão para mobis, Se 2 Wallpaper, Se 3 floor, Se 4 janela, Se 5 post-it, Se 6 pôster, Se 7 sons, Se 8 CD virgem, Se 9 presente, Se 10 caixas, Se 11 troféu, Se 12 bebida-moeda, Se 13 cores para cavalo, Se 14 Crinas e Tranças de Cavalo, Se 15 tintas para cavalo, Se 16 Selas de cavalo, Se 17 mobis de grupo, Se 18 Snow Storm, Se 19 Semente de planta e Rara, Se 20 Revitalizador de Plantas, Se 21 Poção de recruzamento, Se 22 Adubo de planta-monstro, Se 23 é roupa. |
Capítulo 2: Onde encontrar a imagem da nova mobília?
Você pode acessar a Furnidata e de lá encontrar algumas informações que serão necessárias para encontrar o arquivo com a mobília. Iremos precisar do código da mobília (revision) e do número de identificação da mobília (id).
https://www.habbo.com.br/gamedata/furnidata/1
Nessa página você poderá encontrar diversos códigos espalhados, por isso é preciso buscar entender o que cada um deles significa, para isso use CTRL + F para procurar algo específico. Nesse exemplo continuaremos buscando a mobília Ampulheta de Pixels. Colete o código desejado como no exemplo em que inicia no colchetes e se encerra no próximo colchetes.
["s","11288","hween_r20_hourglass","65975","0","1","1","","Ampulheta de Pixels","hween_r20_hourglass desc","","-1","false","-1","false","163","1","false","1","0","0","false"]
Vamos entender o que significa cada parte do código.
# | PARTE DO CÓDIGO | DESCRIÇÃO |
---|---|---|
1 | "s" | Se "s" é mobília de chão, se "i" é mobília de parede. "s" para item de chão (floor item), "i" para item de parede (wall item). |
2 | "11288" | Código de identificação da mobília. Os códigos são únicos para itens de chão e parede, muitos ids são pulados. |
3 | "hween_r20_hourglass" | Nome científico da mobília, ou seja, seu código de arquivo (classname ). Também é o código interno: nome do asset (nome do arquivo SWF/XML ou sprite). |
4 | "65975" | Número da pasta onde se encontra seu arquivo (revision ). Número da versão do item (usado para cache/atualizações). |
5 | "0" | Altura X (largura): número de quadrados que ocupa na horizontal (grid). |
6 | "1" | Altura Y (profundidade): número de quadrados na vertical (grid). |
7 | "1" | Altura Z: altura em unidades para empilhamento. |
8 | "" | AdURL: URL de propaganda (geralmente vazia). |
9 | "Ampulheta de Pixels" | Nome da mobília visível no catálogo (name ). |
10 | "hween_r20_hourglass desc" | Código da descrição da mobília. Antes, era a descrição visível do item (description ). Descrição ou chave de localização para o texto descritivo. |
11 | "" | Desconhecido (possível categoria visual ou label). |
12 | "-1" | OfferID: identifica se está vinculado a uma oferta ou promoção. |
13 | "false" | Buyout: define se pode ser comprado diretamente. |
14 | "-1" | RentOfferID: usado em sistema de clube do arquiteto (aluguel de mobílias). |
15 | "false" | RentBuyout: se pode ser comprado após ser alugado. |
16 | "163" | Tipo especial / comportamento do item. |
17 | "1" | BC (Builders Club): 1 se disponível no Clube do Arquiteto. |
18 | "false" | Custom Params: parâmetros extras personalizados (geralmente falso ou vazio). |
19 | "1" | Can stand on: se o usuário pode ficar em pé sobre o item. |
20 | "0" | Can sit on: se pode sentar-se sobre o item. |
21 | "0" | Can lay on: se pode deitar sobre o item. |
22 | "false" | Excluded dynamic: se deve ser ignorado em atualizações dinâmicas. |
23 | "" ou ex: "hween" | Furniline: coleção à qual pertence o item (linha de mobília). |
Nos arquivos internos do jogo os código acima são descritos no arquivo FurnitureDataParser.as como:
("s",,,,param1.name,"",param1.revision,param1.xdim,param1.ydim,0,,,,param1.adurl,param1.offerid,param1.buyout == "1",param1.rentofferid,param1.rentbuyout == "1",param1.bc == "1",param1.customparams,param1.specialtype,param1.canstandon == "1",param1.cansiton == "1",param1.canlayon == "1",param1.excludeddynamic == "1",param1.furniline);
("i",,param1.@classname,param1.@classname,param1.name,"",param1.revision,0,0,0,null,false,0,param1.adurl,param1.offerid,param1.buyout == "1",param1.rentofferid,param1.rentbuyout == "1",param1.bc == "1",null,param1.specialtype,false,false,false,param1.excludeddynamic == "1",param1.furniline);
Já o arquivo interno FurnitureData.as descreve:
public function FurnitureData(param1:String, param2:int, param3:String, param4:String, param5:String, param6:String, param7:int, param8:int, param9:int, param10:int, param11:Array, param12:Boolean, param13:int, param14:String, param15:int, param16:Boolean, param17:int, param18:Boolean, param19:Boolean, param20:String, param21:int, param22:Boolean, param23:Boolean, param24:Boolean, param25:Boolean, param26:String)
public function get type() : String
public function get id() : int
public function get className() : String
public function get fullName() : String
public function get hasIndexedColor() : Boolean
public function get colourIndex() : int
public function get revision() : int
public function get tileSizeX() : int
public function get tileSizeY() : int
public function get tileSizeZ() : int
public function get colours() : Array
public function get localizedName() : String
public function get description() : String
public function get adUrl() : String
public function get purchaseOfferId() : int
public function get customParams() : String
public function get category() : int
public function set className(param1:String) : void
public function get rentOfferId() : int
public function get purchaseCouldBeUsedForBuyout() : Boolean
public function get rentCouldBeUsedForBuyout() : Boolean
public function get availableForBuildersClub() : Boolean
public function get canStandOn() : Boolean
public function get canSitOn() : Boolean
public function get canLayOn() : Boolean
public function get isExternalImageType() : Boolean
{
return _className.indexOf("external_image") != -1;
}
public function get excludedFromDynamic() : Boolean
public function get furniLine() : String
Para irmos até o arquivo de imagem precisamos de duas informações do código da mobília como já dissemos. Agora que você tem os códigos desta mobília específica (65975 e hween_r20_hourglass) vamos localizar o arquivo.
http://images.habbo.com/dcr/hof_furni/ID/CODIGODOMOBI.swf
No caso do exemplo ficará assim:
http://images.habbo.com/dcr/hof_furni/65975/hween_r20_hourglass.swfAo acessar essa página, um arquivo .SWF será forçado ao download. Clique em baixar o arquivo no seu computador.
Capítulo 3: Onde abrir o arquivo SWF da imagem da nova mobília?
Você pode instalar um software como o Sothink SWF Descomplier, Flash Decompiler Trillix (pago) ou o JPEXS Free Flash Decompiler (https://github.com/jindrapetrik/jpexs-decompiler/releases). Nesse caso, usaremos o site https://pdfrecover.herokuapp.com/swfdecompiler para descompactar o arquivo.
1. Em escolher arquivo coloque o arquivo .SWF da mobília, selecione o formato que deseja (image) e envie para conversão clicando em Decompile this SWF.
2. Extraia o arquivo que você baixou no computador.

3. Dentro da pasta images teremos a fotografia da nova mobília recortada em pedaços, pois como as mobílias possuem rotação, são feitas cortadas.

4. Agora você pode usar um programa para melhorar a qualidade das imagens e unir todas elas. Note que a mini-imagem também está no mesmo arquivo.
Capítulo 4: Onde encontrar o mini icon da mobília?
Vamos precisar do id e do código do mobi para localizar seu icon.
http://images.habbo.com/dcr/hof_furni/ID/CODIGODOMOBI_icon.png
No caso do nosso exemplo, ele irá ficar assim:

{getProduct} $button1={EP 4: Dentro do Código - Os Visuais} $link1={https://viajovem.blogspot.com/2021/01/dentro-do-codigo-os-visuais.html} $button2={EP 6: Dentro do Código - O Futuro dos Códigos} $link2={https://viajovem.blogspot.com/2021/01/dentro-do-codigo-o-futuro-dos-codigos.html} $price={Série Habbo API} $free={yes} $icon={series} $style={1} {fullWidth}