O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Salvar posição do jogador em um mapa...

Iniciado por Azous, 01/07/2018 às 18:53

01/07/2018 às 18:53 Última edição: 01/07/2018 às 20:12 por Corvo
Oi gente, eu tava com uma dúvida sobre o Ace que é o seguinte:
Queria saber se tem algum jeito de salvar a posição atual do jogador e em que mapa ele está  em uma variável, teletransportar ele pra outro mapa, e quando eu desejar trazer o jogador de volta pro mapa em que ele estava anteriormente.

Obrigado desde já ^^

Sim, com quatro variáveis você consegue a posição completa, mas com duas já consegue resolver. No painel de controle das variáveis vá em:

Controle de Variáveis > Outros > Personagem > Jogador > (Mapa X ou Mapa Y)


Com esse comando você consegue salvar a posição x e y do jogador no mapa. Cuidado para não confundir com Tela X e Tela Y. Depois, no menu de teleporte, basta selecionar as duas variáveis para as respectivas coordenadas e pronto. Se quiser completar o sistema inclua uma variável para ID do Mapa e outra para Direção. Assim você poderá teleportar o personagem de qualquer mapa para a posição exata de quando estava no momento em que as variáveis foram salvas.

01/07/2018 às 19:15 #2 Última edição: 01/07/2018 às 19:20 por Fpr
No comando de evento de "Controle de variáveis", você pode salvar em variáveis as coordenadas X e Y do personagem, direção que o personagem está virado e o mapa que o jogador está. Selecionando o campo "dados do jogo" e no menu que abrir escolher "outro" para salvar o mapa atual, e escolher "personagem" para salvar as posições X e Y, e a direção do herói.

Quando tiver no mapa que deseja ser salvado para o retorno, no evento que fizer o teleport para o outro mapa declare essas 4 variáveis com os comandos de evento como mencionado acima, no evento que for fazer o retorno utilize esse comando em chamar script(que é apenas o comando de teleporte, usa-se no chamar script para poder usar uma variável como direção para o teleport):
$game_temp.fade_type = 0 # Define o fade
mapa = $game_variables[1] # Variável que salvou a id do mapa, no exemplo usei 1
x = $game_variables[2] # Variável que salvou a coordenada X do herói
y = $game_variables[3] # Variável que salvou a coordenada Y do herói
d = $game_variables[4] # Variável que salvou a direção do herói
$game_player.reserve_transfer(mapa, x, y, d)


É o sistema que uso quando preciso fazer esse efeito.

Edit: Fui ver no maker, e o comando de teleporte na aba de eventos já permite usar uma variável como ID para o mapa a ser teletransportado, então pode usar ele também, só use por call script se desejar que a direção para onde o player tiver olhando seja salva. Uso por call script pois preciso de manter a direção também, mas se não precisar com o comando de teleporte convencional é possível.
-

Muito obrigado por terem me ajudado, eu já consegui fazer aqui ^^, vai salvar muito meus sistemas ><