
Como funciona?
Neste tutorial, vamos criar um sistema de checkpoint para um labirinto dividido em diferentes quartos.
A ideia é simples: conforme o jogador avança pelas fases, o sistema salva a última fase alcançada. Depois, ao voltar para o quarto principal e digitar :checkpoint, ele será levado diretamente até esse ponto.
Para isso, precisamos guardar duas informações: qual foi a última fase alcançada pelo jogador e qual Conector de Quarto leva até cada fase.
Esse sistema pode ser pouco confuso no inicio, tentamos deixar o mais simples e explicativo possível. Caso você tenha alguma dúvida, comente!
1. Criando a variável dos Conectores de Quarto
Primeiro, precisamos identificar para qual fase cada conector leva.
Faça essas configurações no quarto principal do labirinto.
Para isso, use:

- Nome: checkpoint_teleport
- Marque: Tem valor
- Selecione como Permanente
O valor dessa variável será o número da fase.
Por exemplo, se um Conector de Quarto leva até a fase 3, ele terá:
checkpoint_teleport = 3
Assim, mais adiante conseguiremos procurar automaticamente pelo conector que corresponde ao checkpoint do jogador.
2. Configurando os Conectores de Quarto
Para ligar o quarto principal às diferentes fases, utilizaremos a mobília Conector de Quarto WIRED.
Diferente dos Wireds do tutorial, ele não está disponível no Clube do Arquiteto. É necessário comprá-lo na Loja por 2 câmbios.
Ao comprar, você recebe um par de conectores.
Uma parte deve ficar no quarto principal e a outra na fase correspondente.
Agora precisamos identificar a parte que ficou no quarto principal.
- Digite: :wired
- Abra Inspection, selecione o ícone de mobi e clique no Conector de Quarto.
- Depois, clique em Give Variable, escolha checkpoint_teleport e atribua o número da fase.
Por exemplo:
checkpoint_teleport = 1
A outra metade do par deve ficar dentro da fase 1 e não precisa receber essa variável.
Repita o processo para cada checkpoint.
⚠️ Antes de distribuir os conectores pelos quartos, tem um cuidado importante!
Precisamos identificar quais formam pares, pois eles podem ficar espalhados no inventário.
Digite :wired, abra Inspection, selecione o ícone de mobi e inspecione o Conector de Quarto. Confira as propriedades @id e ~teleport.target_id.
@id: identifica o próprio conector.
~teleport.target_id: indica o @id do conector que forma par com ele.
Exemplo: Um conector tem a variável ~teleport.target_id que termina em 16 e seu @id termina com 17.
Seu par será o conector com ~teleport.target_id que termina com 17, e o @id que termina com 16.
Confira sempre os números completos na inspeção! Depois, coloque um conector no quarto principal e seu par na fase correspondente. Misturar os pares pode fazer o jogador ser teleportado para o quarto errado.
Imagem para referência da configuração no quarto inicial:

3. Criando o checkpoint do jogador
Agora os conectores sabem para onde levam, mas também precisamos saber até onde cada jogador chegou.
Faça as alterações a seguir no quarto principal do labirinto.

WIRED Variável: Usuário Variável
- Nome: checkpoint_user
- Marque: Tem valor
- Permanente, compartilhado entre quartos.
Se o jogador tiver:
checkpoint_user = 4
significa que seu checkpoint atual é a fase 4.
4. Dando um checkpoint inicial
Quando alguém entrar no labirinto pela primeira vez, precisamos dar essa variável de usuário e atribuir um valor inicial.
No quarto principal, crie esta pilha:

ATIVADOR WIRED: Habbo entra no Quarto

- Variável: checkpoint_user
- Valor inicial: 0
- Desmarque Substituir a variável existente
Assim, novos jogadores começam com checkpoint 0, mas quem já possui um checkpoint não perde seu progresso ao retornar ao quarto.
Sua pilha deverá ficar assim:

5. Atualizando o checkpoint nas fases
Agora precisamos atualizar o valor dessa variável de usuário conforme o jogador avança.
Mas como checkpoint_user foi criada no quarto principal, precisamos acessá-la de dentro das outras fases.
Faça as configurações a seguir nos quartos das fases do labirinto.
Utilize:

WIRED Variável: De outro quarto
- Nome: checkpoint
- Selecione o quarto principal
- Variável de referência: checkpoint_user
- Desmarque Somente leitura
Depois, crie uma pilha:

ATIVADOR WIRED: Habbo entra no Quarto

EFEITO Wired: Dar Variável
- Variável: checkpoint
- Marque Substituir a variável existente
- Valor: número da fase
Na fase 4, por exemplo, use: 4 como valor
Assim, quando o jogador entrar nesse quarto, seu checkpoint_user será atualizado para 4.
Repita essa configuração em cada fase, alterando apenas o valor.
Sua pilha deverá ficar assim:

⚠️ Observação: ao entrar no quarto, o sistema define o checkpoint do jogador com o número da fase. Se o quarto permitir visitas, os visitantes também receberão esse valor e poderão ser teleportados para a fase ao usar :checkpoint na fase inicial. Para evitar isso, defina mudar a variável apenas quando o jogador pisar no piso da fase, por exemplo.
6. Encontrando o checkpoint com o comando
Agora temos tudo o que precisamos.
Se um jogador possui checkpoint_user = 5 e existe um Conector de Quarto com checkpoint_teleport = 5, basta fazer o sistema encontrar essa correspondência.
No quarto principal, faça essa pilha:

ATIVADOR WIRED: Habbo diz algo
- O que é dito: :checkpoint
- O tipo será combinação exata

SELETOR Wired: Mobi com Variável
- Selecione a variável: checkpoint_teleport
- Selecione o valor do tipo = (igual)
- Valor de referência será a variável de usuário checkpoint_user
- Use o usuário acionador
Se o jogador tiver checkpoint 5, esse seletor encontrará o Conector de Quarto que também possui valor 5.
E por fim, precisamos utilizar esse conector.
Faça a seguinte pilha no quarto principal do labirinto.

Efeito WIRED: Teletransportar para o Quarto
- Fonte do mobi: Usar mobis do seletor
- Usuário fonte: Usar o usuário acionador
Sua pilha deverá ficar assim:

Tudo certo! Quando o jogador digitar :checkpoint, o sistema verificará seu checkpoint, encontrará o Conector de Quarto com o mesmo valor e o levará até a fase correspondente.
Como testar o sistema?
Ufa, chegamos à reta final! Agora vamos ver como testar o sistema para garantir que tudo está funcionando perfeitamente.
Para testar o teleporte de cada checkpoint individualmente, siga estes passos no quarto principal:
- Diga :wired para abrir a Wired Creator Tools.
- No menu superior, clique em Inspection.
- Em Element Type, clique no ícone de usuário.
- Selecione você (ou o avatar que fará o teste).
- Na tabela à direita, localize a variável checkpoint_user e clique duas vezes no valor atual.
- Altere o valor para o número do checkpoint que você deseja testar.
- Em seguida diga o comando :checkpoint
No vídeo abaixo fazemos todo esse processo:

