Guia para criar e adicionar móveis personalizados ao Cattails Wildwood Story sem os documentos oficiais de modificação.
Nenhum conhecimento de codificação necessário. Você só precisa saber como criar imagens e editar texto.
Introdução
Este guia mostrará como adicionar móveis personalizados a História de Cattails Wildwood.
Isso não requer nenhum conhecimento de codificação. Tentei elaborar tudo o máximo que pude; pule o que você não precisa, e se você estiver tendo problemas para entender é só perguntar!
Modding como este é instável, temporário e pode causar problemas! Este método deve se tornar obsoleto quando o suporte oficial de modificação for adicionado. Observe também: estou usando o Windows 10. Não sei se isso seria diferente para outros sistemas.
Acessando arquivos do jogo
Se você não sabe como acessar seus arquivos do jogo via Steam, você pode fazê-lo acessando sua biblioteca do Steam e clicando com o botão direito do mouse Cattails: História de Wildwood na sua lista de jogos, clique em gerenciar e clique em procurar arquivos locais.
Você deve se deparar com estes arquivos:
Clique na pasta “gameresources” e depois na pasta “furniture”.
O diretório de arquivos se você estiver no Windows deve ser: C:\Program Files (x86)\Steam\steamapps\common\Cattails Wildwood Story\gameresources\furniture
Criando um Sprite
Dentro da pasta dos móveis, deve haver uma pasta “sprites”, que é onde estão localizados todos os sprites dos móveis.
Você precisará de algum tipo de software de edição de imagem; eu usei
Kritamas você pode usar o que quiser, desde que permita transparência.
Se você não tiver certeza do tamanho da sua imagem, sugiro olhar para as dimensões da imagem de todos os outros sprites e copiar as dimensões do que estiver mais próximo do tamanho que você deseja que seu móvel tenha. Você também pode ter que levar em consideração a rotação e as temporadas, o que explicarei a seguir.
(Observe também que um bloco tem 32×32 pixels)
Este será meu sprite de exemplo:
Alguns móveis podem ser girados, mudar com as estações ou ter animação.
Se você quiser que seus móveis sejam apenas uma imagem estática (sem rotação, sem animação, etc), basta deixar a imagem como está e pular para salvá-la.
rotação Se você quiser que seus móveis sejam giratórios, aumente a largura da imagem quatro vezes.
Seu sprite será cortado em 4 partes iguais:
Em cada um desses espaços, você desenhará seus móveis em uma direção diferente. O jogo irá cortá-lo em quartos automaticamente, então isso é tudo que você precisa fazer. Certifique-se de que cada versão permaneça em seu próprio espaço de largura igual ou será cortada incorretamente.
Aqui está meu sprite de exemplo com rotação:
Sazonal Isso é semelhante à rotação. Faça sua imagem quatro vezes mais longa, divida-a em quatro e faça 4 versões de seus móveis.
Novamente: certifique-se de que cada versão permaneça em seu próprio espaço de largura igual ou será cortada incorretamente.
Cada espaço corresponderá a uma determinada temporada:
1. Primavera
2. verão
3. Cair
4. Inverno
Certifique-se de que está nessa ordem ou você receberá o sprite errado na hora errada.
Você também pode fazer móveis rotativos E sazonais ao mesmo tempo. Para fazer isso, você precisa tornar sua imagem base 16 vezes maior.
Os quatro primeiros são a primavera, os quatro seguintes são o verão, depois o outono, depois o inverno, assim:
Animado Para animação, você fará várias imagens em vez de apenas uma.
Você fará uma imagem por quadro. Quando você salvar sua imagem, você terá que salvar cada imagem como [nome]#.png. # deve começar em 0 e depois aumentar em 1 para cada quadro.
Exemplo:
Quadro Um:
testobject0.png
Quadro Dois:
testobject1.png
Quadro Três:
testobject2.png
E assim por diante.
Você também pode fazer isso com móveis sazonais / rotativos!
Salvar
Quando você terminar com seu sprite, salve-o como um .PNG na pasta de sprites. Você pode nomear sua imagem como quiser, apenas lembre-se dela porque você precisará dela mais tarde!
Adicionando um arquivo .meta
Volte para a pasta de móveis. Aqui você verá vários arquivos .meta. Os meta-arquivos informam ao jogo as propriedades do seu objeto (qual é o tamanho dele, você pode percorrê-lo etc.)
Quando você abre um arquivo .meta, ele pode pedir para você escolher um programa para abri-lo. Qualquer editor de texto básico deve funcionar, mas eu usei Bloco de notas.
Primeiro copie e cole qualquer um dos outros meta-arquivos (não importa qual, ele será alterado) e renomeie-o para o nome do seu mobiliário. Isso é para que você não precise digitar todo o texto manualmente.
Aqui estão os parâmetros necessários (até onde eu sei):
- “anexo”: “autónomo”,
- “desbloqueado”: verdadeiro,
- “is_rotatable”: falso,
- “é_sazonal”: falso,
- “sprite”: “nome do sprite”,
- “função”: “nenhum”,
- “is_solid”: falso,
- “largura_do bloqueador”: 32,
- “altura_bloqueador”: 32,
- “bloqueador_x_mod”: 0,
- “bloqueador_y_mod”: 0,
Se você tiver um sprite animado, também precisará adicionar “animation_speed”: #,
Observe também:Não exclua nenhum dos espaços, aspas, dois pontos ou vírgulas, ou o jogo não poderá ler o arquivo corretamente.
“anexo”:Opções: “independente”, “piso”, “parede” (certifique-se de que estão entre aspas ou quebrará)
Independente significa que você pode colocar seu objeto em qualquer lugar que não seja paredes e em cima de objetos no chão.
Objetos de piso só podem ser colocados no piso e não podem fazer interseção com outros objetos de piso, mas objetos independentes podem ser colocados em cima deles.
Objetos de parede só podem ser colocados na parede.
“desbloqueado”:Isto é se os móveis são desbloqueados no início do jogo ou não.
true = você poderá acessar este item por padrão.
false = teria que ser comprado/obtido de alguma forma.
“é_rotativo”:Seu objeto pode ser girado?
verdadeiro = sim
falso = não
“é_sazonal”:Seu objeto muda com as estações?
verdadeiro = sim
falso = não
“sprites”:Isso corresponde ao nome do seu arquivo sprite.
Eu nomeei meu arquivo de imagem sprite “testobject.png” então para sprite eu colocaria “testobject” (não há necessidade de incluir .png como é assumido).
Certifique-se de que o nome está entre aspas ou ele vai quebrar!
"função":Se o seu objeto tem uma função ou não.
Opções: “nenhum”, “cama”, “armazenamento”, “recordplayer”, “lagoa” (certifique-se de que estão entre aspas ou quebrará)
Bem autoexplicativo.
nenhum = não faz nada.
bed = pode ser usado para salvar ou dormir.
storage = pode ser usado para acessar o armazenamento
recordplayer = pode ser usado como toca-discos
lago = pode ser usado como o lago cristalino
“é_sólido”: Você pode caminhar através deste objeto?
true = não, você não pode passar por isso, é um objeto sólido falso = sim, você pode passar por isso, não é sólido “blocker width” e “blocker_height”: Diz ao jogo o tamanho do hitbox do seu objeto. Se is_solid for true, seu gato jogador não poderá andar por esta região.
blocker_width é a largura do hitbox do objeto em pixels, e blocker_height é o mesmo para a altura.
Para meus móveis de exemplo, configurei blocker_width e blocker_height para 32 porque essas são as dimensões da minha imagem de sprite:
“bloqueador_x_mod” e “bloqueador_y_mod”: Isso desloca o bloqueador da origem.
Se você definir ambos como 0, ele estará no meio do seu objeto (como a imagem acima).
Se blocker_x_mod for um número negativo, ele moverá a caixa para a esquerda, se for um número positivo, ele a moverá para a direita.
Um número negativo para blocker_y_mod irá movê-lo para cima, e um número positivo irá movê-lo para baixo.
Aqui eu defino blocker_x_mod para 16 e blocker_y_mod para -16. Meu gato jogador pode se mover sobre a imagem real, mas não onde está a caixa (veja à esquerda).
"velocidade da animação": Quão rápido os quadros mudam.
Número maior = mais lento
Número menor = mais rápido
Agora ainda há mais opções para cobrir, mas você pode deixá-las de fora e pular para a próxima seção se não precisar delas.
Opções de luz Use-os se quiser que seu objeto emita luz.
"é leve": Auto explicativo. O objeto emite luz? (Padrão para falso)
true = sim, mostrar luz
false = não, não mostra luz
"cor clara": Qual a cor da sua luz? Usa sistema de cores RGB.
Insira assim:
“cor_luz”: [255, 255, 255],
Os números devem estar em uma escala de 0 a 255
Definir todos os três números para 255 tornará a luz branca.
“raio_luz”: Quão longe a luz se estende do meio do seu sprite de móveis em pixels
"intensidade da luz": Quão intensa (brilhante) é a sua luz?
Quanto maior o número, mais brilhante a luz!
Deve estar em uma escala de 0 a 1.
“light_x_mod”: e “light_y_mod”: Como com os mods bloqueadores, isso compensa a origem da luz do seu sprite pelo valor numérico fornecido em pixels.
NO ENTANTO, ao contrário dos mods blocker, se você deixar ambos em 0, a luz virá do canto superior esquerdo do seu sprite ao invés do meio.
Se você quiser que a origem da luz esteja no meio do seu sprite, você teria que definir light_x_mod para a largura do seu sprite dividido por 2 e light_y_mod para a altura do seu sprite dividida por 2.
Aqui está parte do .meta do meu mobiliário para referência:
- “is_light”: verdadeiro,
- “cor_luz”: [0, 255, 255],
- “raio_luz”: 64,
- “luz_intensidade”: 1,
- “light_x_mod”: 16,
- “light_y_mod”: 16,
Opções de tabela“tabletop_placement”:Pode ser colocado em cima de uma mesa? (Padrão para falso)
true = sim, pode ser colocado em uma mesa
false = não, não pode ser colocado em uma mesa “é_tabela”: Este objeto é uma mesa? (Padrão para falso)
true = qualquer coisa com tabletop_placement como true pode ser colocada neste objeto de mobília
false = nenhum outro objeto não pode ser colocado neste objeto de mobília Opções de bloqueador rotacional
Se você tem um objeto de mobília que pode ser girado, você pode usá-los para fazer com que as configurações do bloqueador mudem quando ele for girado
Se você quiser que seu objeto tenha um hitbox específico SOMENTE quando virado para o norte, você pode definir isso:
“blocker width_north”: e “blocker_height_north”:
“blocker_x_mod_north”: e “blocker_y_mod_north”:
Ou para qualquer outra direção substitua “norte” por “leste”, “sul” ou “oeste”.
Aqui estão as opções de bloqueador para a mesa de pedra para referência (mostrando apenas norte e oeste para mantê-lo curto):
- “largura_bloqueador_norte”: 56,
- “blocker_height_norte”: 24,
- “bloqueador_x_mod_norte”: 4,
- “bloqueador_y_mod_norte”: 40,
- “largura_bloqueador_oeste”: 24,
- “blocker_height_west”: 56,
- “bloqueador_x_mod_west”: 20,
- “bloqueador_y_mod_west”: 4,
(Esquerda mostrando Norte, direita mostrando Oeste)
Isso deve ser tudo para .meta. Agora você pode continuar para a próxima parte! 🙂
Adicionando um arquivo .lang
Dentro da pasta de móveis, deve haver uma pasta “lang”, e dentro dessa pasta há outra pasta intitulada “english”.
(Diretório do Windows: C:\Program Files (x86)\Steam\steamapps\common\Cattails Wildwood Story\gameresources\furniture\lang\english\)
Dentro dessa pasta há um monte de arquivos .lang. Copie e cole qualquer um dos outros arquivos lang (não importa qual) e renomeie-o para o nome do seu mobiliário. Isso é para que você não precise digitar todo o texto manualmente.
Agora abra o arquivo. Quando você abre o arquivo, ele pode solicitar que você escolha um programa para abri-lo. Qualquer editor de texto básico deve funcionar, mas eu usei
Bloco de notas.
Ele terá essas opções:
“lang_furniture_name”: “nome”,
“lang_furniture_description”: “descrição”
Como com os meta-arquivos, certifique-se de não excluir nenhuma pontuação ou isso interromperá seu jogo.
Substitua o nome e a descrição pelo que quiser.
Exemplo:
“lang_furniture_name”: “Objeto de teste”,
“lang_furniture_description”: “Este é um objeto feito para um tutorial.”
Carregue o jogo!
Viva! Você conseguiu! Se você carregar seu jogo, poderá adicionar seus móveis à sua toca.
Certifique-se de ter salvo todos os seus arquivos primeiro!
Isso é tudo o que estamos compartilhando hoje para isso Cattails: História de Wildwood guia. Este guia foi originalmente criado e escrito por deus. Caso não consigamos atualizar este guia, você pode encontrar a atualização mais recente seguindo este link.