Fusion Makers
Faça login para usufruir de todos nossos recursos. Ainda não tem uma conta? Inscreva-se já!

Participe do fórum, é rápido e fácil

Fusion Makers
Faça login para usufruir de todos nossos recursos. Ainda não tem uma conta? Inscreva-se já!
Fusion Makers
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Procurar
 
 

Resultados por:
 


Rechercher Pesquisa avançada

Últimos assuntos
» Ideia: MMFMakers, do zero
por mediamaker Qua 26 maio 2021, 12:28

» [Flash] Haunt the house
por mediamaker Sáb 19 Set 2020, 16:47

» Como a criar passo a passo engine de Movimento Grid com colisão (tipo Bomberman) completo usadno extensão Array?
por mediamaker Sex 15 Set 2017, 14:19

» CF2.5 -> 26 reais na steam
por Matheus290 Ter 22 Dez 2015, 17:52

» Aplicação com Editbox não tá rodando online
por Matheus290 Sáb 19 Set 2015, 01:38

» A Guilda continua!!!! "Âncora Team" (novo nome)
por weliowl7 Qua 16 Set 2015, 01:52

» Sub-application e Inventario
por majorcorps Dom 23 Ago 2015, 13:11

» Efeito de string
por majorcorps Sáb 22 Ago 2015, 19:55

» [PC] Pitiri 1997
por Matheus290 Sáb 20 Jun 2015, 17:10

» Teclado virtual com Edit Box
por mediamaker Sáb 20 Jun 2015, 14:10

Quem está conectado?
54 usuários online :: 0 registrados, 0 invisíveis e 54 visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 251 em Ter 26 Out 2021, 22:21
Estatísticas
Temos 256 usuários registrados
O último membro registrado é Sitydistta

Os nossos membros postaram um total de 5268 mensagens em 575 assuntos

Criando um sistema de save e load game

Ir para baixo

Criando um sistema de save e load game Empty Criando um sistema de save e load game

Mensagem por Davimmf2 Qui 17 Abr 2014, 16:57

Oi pessoal!
Muitas pessoas querem fazer saves pros seus jogos, mas não conseguem. Hoje, com um tuto baseado no do silas, vou ensinar a vocês a criar saves e carregá-los, usando a extensão datastore ok? então vamos lá.

Ingredientes:

  • MMF2,TGF ou MMF1.5 (como se isso não fosse óbvio);
  • Extensão DataStore (Clique aqui para download da extensão)


Introdução
O que é datastore?
Datastore é uma extensão usada para guardar dados e carregá-los, sendo que pode ser usada para um vasto número de finalidades, como, por exemplo, criar saves. Essa extensão permite a você armazernas flags, strings e valores numéricos.
Nesse tutorial, aprenderemos a usar essa extensão muito útil.

1. Inserindo a extensão
Primeiro, abra seu MMF2.Insira a extensão Data Store, no mmf2 ela está com o nome de "Data Store 2 Object"
Veja a imagem:
Criando um sistema de save e load game KBZjxN6Flx-BKIwiIBdus5egi0mlk4gHvNbsUKtvsbY

2.Na prática
Isso vai servir só para teste, e para você ter uma noção de como funciona a extensão Crie um counter e três botões.
O botão 1 deve se chamar "Adicionar", o segundo deve se chamar "Subtrair", e o terceiro, deve se se chamar "Salvar"
Crie os eventos para os botão "Adicionar" e para o botão "Subtrair":
(botão Adicionar) Button clicked?>(Counter) Add 1 to counter
(botão Subtrair) Button clicked?>(Counter) Subtract 1 from counter
Explicando: isso vai fazer com que quando o botão 1 for clickado, adicionar 1 ao conter, e quando o botão 2 for clicado, subtrair 1 do counter, fácil, não?

Definindo os valores do Datastore
O Datastore tem vários campos para você armazenar valores. Esses campos são chamados slots, e são divididos em strings, que você pode armazenar no máximo 50 strings, flags, que você pode armazenar no máximo 1000 e por fim, valores numéricos, no qual vão de 0 a 999, ou seja, mil valores numéricos pra você armazenar. você pode definir o valor que você quiser do slot que você quiser, entre 0 e 999.

Bom, agora, crie a condição: Button Salvar clicked?, depois, crie a ação: vá no datastore, em values, click em change a value,vai aparecer uma janela, coloque 0, e depois, vai aparecer outra janela. Digite: Value(counter 1).

Pra quem não entendeu, vai aí o código:
(Botão Salvar) Button clicked? >
(Datastore): Set Value 0 to value (counter 1)
(Datastore): Save to file(*****)

Há também outros modos de armazenamento:

____________________________________
Salvando flags - ligar uma flag:
(Botão Salvar) Button clicked? > (datastore) vá no menu "flags" e click em "set flag on", e selecione qual flag vc vai ligar

Desligar uma flag:
(Botão Salvar) Button clicked? > (datastore) vá no menu "flags" e click em "set flag off", e selecione qual flag vc vai desligar

Salvando strings:
(Botão Salvar) Button clicked? > (datastore)String>change a string>selecione qual slot você quer gravar>depois coloque a string q vc quer alterar.
____________________________________

Explicando: isso vai definir o valor do slot 0 do datastore pro valor do counter.
Também vai salvar todo o conteúdo do datastore para um arquivo. Existem várias maneiras de salvar seu arquivo, eu mostrarei abaixo:

(Nota: obrigado pelo Silas pela explicação.)
Há códigos úteis que servem para indicar o nome do arquivo.
esses códigos podem ser colocados em especial->filenames. Veja abaixo:

Tipo 1:local direto da pasta.
Esse método não é recomendando, pois para criar os saves você tem que ter essa pasta.Caso não tenha, ele não cria o save.
Exemplo:

Código:
appdir$+"c:/disco local/meus arquivos/meus jogos/meu jogo/meusave.sav"
o "appdir$" é como a direção de onde a pasta esta.Serve para o mmf2 abrir o arquivo, o meusave.sav.
Sempre coloque o destino da pasta entre aspas, pois se não colocar pode haver erro, pois quando a pasta tem espaço entre o nome, como “meus jogos”, isso pode confundir o mmf2.

Tipo 2:
Local simples
Esse tipo pode ser usado tanto na mesma pasta do jogo, quando em uma pasta dentro da pasta do jogo.

Exemplo 1:
Código:
appdrive$+appdir$+"savedojogo.sav"

Exemplo 2:
Código:
appdrive+appdir$+"data/savedojogo.sav"

o 1° exemplo mostra que o save esta na mesma pasta do .exe,ou seja,ele é criado/carregado se estiver na mesma pasta.
o 2° exemplo do código fica melhor.se seu jogo tem uma pasta data,ele ira criar/carregar o save que esta nessa pasta.

Esses códigos podem ser usados no processo de salvação do datastore.
Para você colocar esses códigos úteis: vá no datastore>storage>load>expression> coloque aqui a expressão para carregar o arquivo



Agora, teste sua aplicação. Quando você clica no botão 1, adiciona 1 ao counter. Quando você clica no botão 2, subtrai um ao counter, e quando vc clica no botão 3, salva os valores.

Mas, como eu carrego os dados salvos?
é como salvar:
crie um evento:
start of frame: datastore>storage>load>expression>agora é só colocar aqui a mesma expressão que vc usou pra salvar.

Agora, quando você altera,ou seja, adiciona ou subtrai ao valor do counter ,sai e abre de novo,está do mesmo jeito de quando você apertou o botão 3 e saiu.



Bem, isso é o datastore!, podem ver que é bem simples, e mais fácil que armazenar em outros métodos, como em ini's e arrays, e também é muito mais fácil que em passwords, pq é mais difícil.

levou umas três horas pra eu fazer essa matéria, finalmente, terminei  Wink 
flw
Davimmf2
Davimmf2
Usuário

Mensagens : 155
Data de inscrição : 19/03/2014
Localização : Num planeta Muuuito distante, a 360 milhões de km da Terra: Marte

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos