Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[resolvido] problema com arquivo externo
2 participantes
Página 1 de 1
[resolvido] problema com arquivo externo
Moçada, estou com problemas tentando carregar um arquivo de texto. Já vi alguns tutoriais, mas a impressão que tenho é que estou fazendo tudo certo e o game maker está com TPM.
Então venho pedir pra vocês me mostrarem que computadores não têm TPM e onde eu errei.
O código que estou usando pode ser resumido nisso aqui:
Agora, as informações que vocês precisam pra me responder:
- "language" é uma variável global que armazena uma string. Pode considerar que ela vale "português" (com o acento, sem aspas).
- a pasta "langFolder" existe, está na dentro da pasta que contém o executável do jogo, e contém o arquivo "português.txt"
- as duas primeiras mensagens mostram aquilo que eu esperaria, ou seja, "(blablabla)\langFolder\português.txt" e "português.txt", respectivamente.
Então venho pedir pra vocês me mostrarem que computadores não têm TPM e onde eu errei.
O código que estou usando pode ser resumido nisso aqui:
- Código:
MASK=working_directory+"\langFolder\"+language+".txt";
FILE=file_find_first(MASK, fa_readonly);
show_message(MASK);
show_message(FILE);
if !file_exists(FILE){show_message("num achou")} else {show_message("achou")};
Agora, as informações que vocês precisam pra me responder:
- "language" é uma variável global que armazena uma string. Pode considerar que ela vale "português" (com o acento, sem aspas).
- a pasta "langFolder" existe, está na dentro da pasta que contém o executável do jogo, e contém o arquivo "português.txt"
- as duas primeiras mensagens mostram aquilo que eu esperaria, ou seja, "(blablabla)\langFolder\português.txt" e "português.txt", respectivamente.
Última edição por saim em Qua 21 Set 2011, 17:15, editado 1 vez(es)
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [resolvido] problema com arquivo externo
Você está usando fa_readonly... sendo que possivelmente seu arquivo de texto não é somente leitura. Troque por fa_archive.
Terminei de testar o seu código usando o 'fa_archive'. Funciona.
- Pode não ser o caso... mas leia:
- Se você já conhece o nome dele, não precisa fazer busca...
Para fazer o que você quer acho que seria melhor:- Código:
FILE=working_directory+"\langFolder\"+language+".txt";
//
show_message(FILE);
//
if !file_exists(FILE){show_message("num achou")} else {show_message("achou")};
Terminei de testar o seu código usando o 'fa_archive'. Funciona.
Re: [resolvido] problema com arquivo externo
fa_archive "num achou", mas deixar a mask de lado, realmente, "achou", então não vou esquentar a cabeça tentando entender PORQUE na sua máquina achou e, na minha, não.
Bom, já que estamos aqui, o que significa cada uma dessas opções? Sempre usei fa_readonly, mas só porque da primeira vez que fui mexer com arquivos externos funcionou. Nunca soube o que significa cada opção.
"fa_readonly é arquivo de somente leitura". Ok, mas o que isso significa?
[Edit] Ih, ainda não resolveu não...
Bom, pra resolver isso, você vai precisar de mais um pouco do meu código. Veja como ele está:
Bom, já que estamos aqui, o que significa cada uma dessas opções? Sempre usei fa_readonly, mas só porque da primeira vez que fui mexer com arquivos externos funcionou. Nunca soube o que significa cada opção.
"fa_readonly é arquivo de somente leitura". Ok, mas o que isso significa?
[Edit] Ih, ainda não resolveu não...
___________________________________________
ERROR in
action number 1
of Create Event
for object __newobject2:
File is not opened for reading.
Bom, pra resolver isso, você vai precisar de mais um pouco do meu código. Veja como ele está:
- Código:
FILE=working_directory+"\langFolder\"+language+".txt";
show_message(FILE);
if !file_exists(FILE){show_message("num achou")} else {show_message("achou")};
file_text_open_read(FILE);
var i, butString, butLength, butHeight;
i=0;
play=i; i+=1
config=i; i+=1
menu=i; i+=1
nButtons=i
while(file_text_read_string(FILE)!="[first stage texts]"){
file_text_readln(FILE)
}
file_text_readln(FILE)
butString[play]=file_text_read_string(FILE);
show_message(butString[play]);
game_end();
Última edição por saim em Qua 21 Set 2011, 16:56, editado 1 vez(es)
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [resolvido] problema com arquivo externo
Nas configurações de QUALQUER arquivo do computador, existe uma parte que guarda se ele é somente leitura ou não. Arquivos somente leitura não podem ser editados, apenas lidos. Quando você tenta deletar um arquivo somente leitura, geralmente o windows avisa " taltaltal.seila é somente leitura, deseja excluir?"
fa_readonly vai limitar ainda mais a busca, procurando por arquivos com a sua mask E que sejam somente leitura. fa_archive é mais geral(praticamente qualquer tipo de arquivo, deixando a limitação unicamente para a mask).
EDIT
Quanto à segunda dúvida é bem simples. Você pos o código para abrir o arquivo INDIFERENTEMENTE se o programa achou o file ou não. E também, para usar os comandos de read_string e readln você usa a 'ID' do arquivo aberto, que você pega com a função file_text_open_read;
fa_readonly vai limitar ainda mais a busca, procurando por arquivos com a sua mask E que sejam somente leitura. fa_archive é mais geral(praticamente qualquer tipo de arquivo, deixando a limitação unicamente para a mask).
- código para procurar, abrir e mostrar todos os arquivos txt da pasta local(é um pouco off, mas mostra um outro modo de usar a mask e fa_archive):
- Código:
scr_gettext='filefrom=file_text_open_read(argument0);
//
res_str=file_text_read_string(filefrom)+"
";
file_text_readln(filefrom);
while(!file_text_eof(filefrom)){
res2=res_str;
res_str=res2+file_text_read_string(filefrom)+"
";
file_text_readln(filefrom)};
file_text_close(filefrom);
return res_str;';
//cria um script dentro de uma string
//
MASK=working_directory+"\";
//define o diretório
FILE=file_find_first(MASK+"*.txt", fa_archive);
//procura por arquivos de extensão .txt no diretório dado
while (FILE!=""){
//enquanto titulo do arquivo encontrado for não nulo(ou seja, TEM arquivo)
show_message(MASK+FILE);
//mostra o caminho
show_message(execute_string(scr_gettext,MASK+FILE));
//mostra o texto, usando o script feito via string.
FILE=file_find_next()};
//procura por outro arquivo para seguir o loop
EDIT
Quanto à segunda dúvida é bem simples. Você pos o código para abrir o arquivo INDIFERENTEMENTE se o programa achou o file ou não. E também, para usar os comandos de read_string e readln você usa a 'ID' do arquivo aberto, que você pega com a função file_text_open_read;
- Código:
id_do_arquivo=file_text_open_read(FILE)
- Código:
FILE=working_directory+"\langFolder\"+language+".txt";
show_message(FILE);
if !file_exists(FILE){show_message("num achou")} else {show_message("achou");
var ID_DA_FILE;
ID_DA_FILE=file_text_open_read(FILE);
var i, butString, butLength, butHeight;
i=0;
play=i; i+=1
config=i; i+=1
menu=i; i+=1
nButtons=i
while(file_text_read_string(ID_DA_FILE)!="[first stage texts]"){
file_text_readln(ID_DA_FILE)
}
file_text_readln(ID_DA_FILE)
butString[play]=file_text_read_string(ID_DA_FILE);
show_message(butString[play])};
//
//
game_end();
Re: [resolvido] problema com arquivo externo
Ah, tá ótimo! É que eu estou adaptando um código que usa um arquivo .ini pra poder colocar os .inis numa pasta à parte, por isso esqueci de salvar a id do arquivo.
Muito obrigado, Mathaeuz, tópico resolvido!
PS: Adorei a forma de criar um script. Se isso for rápido, acho que posso considerar que meu game genérico está completo...
Muito obrigado, Mathaeuz, tópico resolvido!
PS: Adorei a forma de criar um script. Se isso for rápido, acho que posso considerar que meu game genérico está completo...
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Tópicos semelhantes
» [Resolvido] Arquivo externo
» [Resolvido]Carregando arquivo externo.
» [Resolvido] criar um arquivo externo e guardar uma variavel la dentro, ou valor
» criptografar arquivo externo
» [DUVIDA] arquivo externo.gmspr
» [Resolvido]Carregando arquivo externo.
» [Resolvido] criar um arquivo externo e guardar uma variavel la dentro, ou valor
» criptografar arquivo externo
» [DUVIDA] arquivo externo.gmspr
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos