🤔 Para Refletir :
"Não force a criatividade, liberte a sua mente e a criatividade virá."
- Frank

[RM2K DESTINY SCRIPT] CHECAR SE ARQUIVO EXISTE

derick_dantas

Novato
Membro
Membro
Juntou-se
21 de Abril de 2016
Postagens
16
Bravecoins
26
Pessoal, to quebrando a cabeça aqui mas não consigo conceber uma forma de fazer o rpg maker checar se um arquivo existe ou não...
Eu preciso criar esse mecanismo pro meu load personalizado... O SAVE eu ja fiz, mas o LOAD, até então, só consigo trabalhar com um único arquivo e eu queria ter pelo menos 5.
Eu preciso que o script em destiny cheque se cada um dos 5 arquivos de save existem e, caso existirem, ele liga seus respectivos switches, que usarei para montar o menu via eventos mesmo, dando a opção do jogador escolher de onde quer prosseguir (Tal qual o menu padrão do rpg maker).

Se alguém puder me dar uma mão, eu agradeço...
O que estou tentando fazer é dar o comando de ler o arquivo e, uma vez dando erro, eu sei que o arquivo não existe.
Daí eu pegaria o valor do erro (No caso é o 35) e ligaria o switch do save que está sendo tratado, que por sua vez ligado significa que não há save. O problema é que não ta dando certo a passagem do valor do erro pra variável que determinei. Por enquanto fiz só pra um save, assim que der certo eu replico pros 5 saves que falei.

Segue ilustração abaixo:
DESTINY LOAD.png


O disparor (placa de pedra) ta como push key porque eu ativo manualmente (pra testar, claro). O problema, como falei ta no evento da direita, ele nao ta passando o valor do erro pra variável v[10].
 
Última edição:
Quando eu quero checar se tal arquivo existe, uso o Directory.findFirst(string filename) e guardo o resultado em um string. Se o arquivo for encontrado, o método retorna o nome do próprio arquivo, senão retorna um string vazio. Aí nem havia necessidade de capturar o erro.
Mas para os saves em especifico, temos o método Game.slotExists(int slotId). Ele verifica se o save existe ou não, retornando um bool para que vc consiga atribuir a um switch.

E a captura do erro não funcionou pois o método Errors.catch(), além de vc precisar chamar Errors.disable() e Errors.resume() antes para poder tratar os erros sem que eles sejam lançados antes, o catch precisa estar no mesmo evento onde esse erro acontece, senão ele não captura o erro.
 
Última edição:
Entendi... Só uma curiosidade... As informações dos comandos, sintaxes e afins, você tira de onde? Eu me baseio nos arquivos do Cherry e percebo que alguns dos comandos que você citou não constam do manual do destiny que ele fez... Você consultou de alguma outra fonte?
Eu olho daqui: Table of contents
 
Essa é a documentação do Destiny 1.0. A v2.0 só existe em alemão e ele consta na própria pasta onde o Destiny foi instalado.
Não vou lembrar agora o caminho exato, mas tem a documentação em inglês e alemão, mas somente o alemão que está atualizado.
 
Dicas de ouro Dr.XGB! Valeu mesmo!
Já achei o arquivo de ajuda em alemão aqui nas minhas coisas, extraí ele com o 7-zip e to explorando! Obrigadão!

Converti o arquivo de ajuda para PDF, para facilitar, ainda que esteja em alemão (Pois ".CHM" é horrível de abrir no windows 10 e apesar de extrair os ".htm" sem dificuldade dele, o índice estava em ".hhk", e eu achei mais fácil jogar logo em ".PDF" que é mais "universal"... rsrsrs)

Talvez futuramente eu comece um projeto de tradução desse arquivo lá no meu site (Afinal o que existe em pt-br é parcial e incompleto, pelo que vejo...)

Segue link do PDF: https://drive.google.com/file/d/1WZjNgE1oR_p85ms4u_PAumhd51pK8pBU/view?usp=sharing
 
Última edição:
Voltar
Topo Inferior