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] importando dados de arquivo de texto no GMS
4 participantes
Página 1 de 1
[resolvido] importando dados de arquivo de texto no GMS
>não sei por onde começar a pergunta...<
Estou criando um jogo que, teoricamente, seria simplérrimo. O jogo é aquele joguinho de ligar pontos, mas ao invés de comprar uma revista cheia deles na banca, por R$1,99, resolvi que seria legal fazer uma versão eletrônica, com possibilidade infinita de inclusão de novos desenhos.
Aí, pra ter essa possibilidade de expansão infinita, achei legal criar uma pasta "imagens", onde colocar as novas imagens. O jogo se encarrega de verificar quais imagens existem.
Aí, pra que os pontos ligados não estejam em posições definidas pelo jogador DURANTE o jogo (ou seja, pra ter um "certo" e um "errado"), achei legal estabelecer um formato de arquivo que venha com as coordenadas de cada ponto, além do número de pontos. O programa se encarrega de verificar se existe o arquivo de coordenadas e se existe um arquivo de imagem associado (eles têm o mesmo nome).
Aí, de quebra, achei legal criar um ícone-miniatura pra cada imagem, pro jogador escolher qual ele quer. Botei isso numa janelinha de seleção e funciona como a função file_get_open_name (ou coisa do tipo, ela não está nem na lista de obsoletas do GMS). Beleza.
Isso tudo antes de eu ganhar o GMS. Então estava usando um bocado de funções obsoletas, como o execute_file, pra determinar as coordenadas. Até criei um arquivo que gerar o arquivo de coordenadas no formato bonitinho, pré-determinado.
Aí vem o GMS e suas funções obsoletas. E eu me deparo com o fato que não posso mais simplesmente executar um arquivo externo como se fosse um script. Ok, vamos em frente. Ainda posso ler arquivos de texto, ainda posso transformar strings em números reais, dá pra me adaptar.
Mas está dando erro, não sei porque. O erro é comprido, então vai num spoiler:
Ok, suponho que "unknown source line" seja o problema, mas o que isso quer dizer? E porque funciona no game genérico (ou seja, GM8.0)?
E olha só como eu sou prático: ainda vou postar aqui (em outro spoiler maior ainda) toda informação do objLoader! Já está meio comentado, mas posso responder perguntas. O erro acontece quando eu tento executar o evento User Defined 0 (que inseri porque o GMS não tem triggers...)
Estou criando um jogo que, teoricamente, seria simplérrimo. O jogo é aquele joguinho de ligar pontos, mas ao invés de comprar uma revista cheia deles na banca, por R$1,99, resolvi que seria legal fazer uma versão eletrônica, com possibilidade infinita de inclusão de novos desenhos.
Aí, pra ter essa possibilidade de expansão infinita, achei legal criar uma pasta "imagens", onde colocar as novas imagens. O jogo se encarrega de verificar quais imagens existem.
Aí, pra que os pontos ligados não estejam em posições definidas pelo jogador DURANTE o jogo (ou seja, pra ter um "certo" e um "errado"), achei legal estabelecer um formato de arquivo que venha com as coordenadas de cada ponto, além do número de pontos. O programa se encarrega de verificar se existe o arquivo de coordenadas e se existe um arquivo de imagem associado (eles têm o mesmo nome).
Aí, de quebra, achei legal criar um ícone-miniatura pra cada imagem, pro jogador escolher qual ele quer. Botei isso numa janelinha de seleção e funciona como a função file_get_open_name (ou coisa do tipo, ela não está nem na lista de obsoletas do GMS). Beleza.
Isso tudo antes de eu ganhar o GMS. Então estava usando um bocado de funções obsoletas, como o execute_file, pra determinar as coordenadas. Até criei um arquivo que gerar o arquivo de coordenadas no formato bonitinho, pré-determinado.
Aí vem o GMS e suas funções obsoletas. E eu me deparo com o fato que não posso mais simplesmente executar um arquivo externo como se fosse um script. Ok, vamos em frente. Ainda posso ler arquivos de texto, ainda posso transformar strings em números reais, dá pra me adaptar.
Mas está dando erro, não sei porque. O erro é comprido, então vai num spoiler:
- erro:
___________________________________________
FATAL ERROR in
action number 1
of Other Event: User Defined 0
for object objLoader:
############################################################################################
VMError!! Occurred - Push :: Execution Error - Variable Get rmPlay
at gml_Object_objLoader_Other_10 (line -1) -
############################################################################################
############################################################################################
Local Variables :
arquivo = 0
larRoom = 567
altRoom = 640
i = 6
Self Variables :
list_icones = 6
back = 6
botaoPontos = 100008
botaoAlfab = 100009
botaoPlay = 100010
maxPos = -63
minPos = 0
abrir = "C:\Users\USER.NB-INFOWAY\Documents\Jogos\GM\liga pontos\imagens\ursinho.gml"
nArq = 6
px = { { 640 ,760 ,880 ,1000 ,1120 ,640}, }
botao = { { 100002 ,100003 ,100004 ,100005 ,100006 ,100007}, }
py = { { 0 ,0 ,0 ,0 ,0 ,120}, }
list_nomes = 0
list_bgs = 1
list_escalas = 2
list_pX = 3
list_pY = 4
list_nPontos = 5
Global Variables :
imagemJogo = 1
arquivoCoordenadas = "C:\Users\USER.NB-INFOWAY\Documents\Jogos\GM\liga pontos\imagens\alladin.gml"
Ok, suponho que "unknown source line" seja o problema, mas o que isso quer dizer? E porque funciona no game genérico (ou seja, GM8.0)?
E olha só como eu sou prático: ainda vou postar aqui (em outro spoiler maior ainda) toda informação do objLoader! Já está meio comentado, mas posso responder perguntas. O erro acontece quando eu tento executar o evento User Defined 0 (que inseri porque o GMS não tem triggers...)
- objLoader:
- Information about object: objLoader
Sprite:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Mask:
Create Event:
execute code:
draw_set_halign(1); draw_set_valign(0);
// define algumas variáveis de geometria
var tamanhoIcone, borda, espIcone, nCols;
tamanhoIcone = 100; //tamanho de cada ícone, em pixels
borda = 20; //espaço entre ícones
espIcone = tamanhoIcone + borda; //espaço total ocupado por ícone
nCols = ceil(view_wview[1] / espIcone); //número de colunas (que cabem no espaço disponível pela view)
// carrega os arquivos e define nome, sprite, escala e número de pontos
var primeiroOK, arqCoor, arqImag, nome, sprite, sprIco;
primeiroOK = 0; // valor a somar ao contador se o primeiro arquivo tiver imagem
arqCoor = file_find_first(working_directory + "\imagens\*.gml", fa_archive);
list_nomes = ds_list_create(); //lista de nomes a serem exibidos na tela
list_bgs = ds_list_create(); //lista de desenhos no tamanho normal
list_escalas = ds_list_create(); //lista de fatores de escala pra criar os ícones
list_pX = ds_list_create(); //lista de coordenadas X
list_pY = ds_list_create(); //lista de coordenadas Y
list_nPontos = ds_list_create(); //lista de total de pontos
list_icones = ds_list_create(); //lista de ícones
if (arqCoor == ""){ // se não tem algum arquivo
show_message("faltam arquivos");
game_end();
exit;
}
else{ // se tem algum arquivo
arqImag = string_copy(arqCoor, 0, string_length(arqCoor) - 3) + "png";
if (file_exists(working_directory + "\imagens\" + arqImag)){ // se o arquivo tem imagem associada
primeiroOK = 1; //se o primeiro arquivo tiver imagem, o contador começa em 1
nome = string_copy(arqCoor, 0, string_length(arqCoor) - 4); //nome do arquivo, sem extensão
ds_list_add(list_nomes, nome); //bota o nome na lista
back = background_add(working_directory + "\imagens\" + nome + ".png", 0, 0); //joga a imagem num background
ds_list_add(list_bgs, back); //joga o background na lista
ds_list_add(list_escalas, tamanhoIcone / max(background_get_width(back), background_get_height(back))); // calcula um fator de escala pra produzir o ícone
carregaCoordenadas(working_directory + "\imagens\" + arqCoor, list_pX, list_pY); // lê o arquivo e alimenta as listas
ds_list_add(list_nPontos, ds_list_size(list_pX)); //pra ordenar por ordem de dificuldade
}
}
var i;
i = primeiroOK; //contador de arquivos. 0 se o primeiro encontrado não tiver imagem, 1 se tiver.
while(1){
arqCoor = file_find_next();
if (arqCoor != ""){ // se ainda tem coordenadas pra procurar
arqImag = string_copy(arqCoor, 0, string_length(arqCoor) - 3) + "png";
if (file_exists(working_directory + "\imagens\" + arqImag)){ // se a coordenada tem uma imagem associada
nome = string_copy(arqCoor, 0, string_length(arqCoor) - 4); //nome do arquivo, sem extensão
ds_list_add(list_nomes, nome); //bota o nome na lista
back = background_add(working_directory + "\imagens\" + nome + ".png", 0, 0); //joga a imagem num background
ds_list_add(list_bgs, back); //joga o background na lista
ds_list_add(list_escalas, tamanhoIcone / max(background_get_width(back), background_get_height(back))); // calcula um fator de escala pra produzir o ícone
carregaCoordenadas(working_directory + "\imagens\" + arqCoor, list_pX, list_pY); // lê o arquivo e alimenta as listas
ds_list_add(list_nPontos, ds_list_size(list_pX)); //pra ordenar por ordem de dificuldade
i += 1;
}
else { //se não tem imagem associada, ignora e toca pra frente
continue;
}
} // se não tem arquivo, pára de procurar arquivos
else {
break;
}
}
nArq = i;
// aqui os arquivos estão carregados
//cria os ícones e define as posições deles
var Surf, xx, yy;
Surf = surface_create(tamanhoIcone, tamanhoIcone);
for(i = 0; i < nArq; i += 1){
xx = (tamanhoIcone - (background_get_width(ds_list_find_value(list_bgs, i)) * ds_list_find_value(list_escalas, i))) / 2; //centraliza
yy = (tamanhoIcone - (background_get_height(ds_list_find_value(list_bgs, i)) * ds_list_find_value(list_escalas, i))) / 2; //centraliza
surface_set_target(Surf);
draw_clear_alpha($ff6688, 0.2); //faz um fundo
back = ds_list_find_value(list_bgs, i); //puxa da lista
draw_background_ext(back, xx, yy, ds_list_find_value(list_escalas, i), ds_list_find_value(list_escalas, i), 0, $ffffff, 1); //desenha
surface_reset_target();
sprIco = sprite_create_from_surface(Surf, 0, 0, tamanhoIcone, tamanhoIcone, 0, 0, 0, 0); //cria a sprite
ds_list_add(list_icones, sprIco); //joga na lista
px[i] = (i mod nCols) * espIcone + room_width; //posição do ícone
py[i] = (i div nCols) * espIcone; //posição do ícone
}
surface_free(Surf);
//cria os botões
var maxNomes;
maxNomes = 0;
for(i = 0; i < nArq; i += 1){
botao[i] = instance_create(px[i], py[i], objBotaoImagem);
botao[i] . sprite_index = ds_list_find_value(list_icones, i);
botao[i] . nome = ds_list_find_value(list_nomes, i);
maxNomes = max (string_height(botao[i] . nome), maxNomes);
}
//cria os botões de comando
botaoPontos = instance_create(borda, borda * 2 + view_hview[1], objBotaoOrdem);
botaoPontos . minhaPrioridade = list_nPontos;
botaoPontos . texto = "dificuldade";
botaoPontos . sprite_index = sprBotaoNume
botaoAlfab = instance_create(borda, borda * 3 + 40 + view_hview[1], objBotaoOrdem);
botaoAlfab . minhaPrioridade = list_nomes;
botaoAlfab . texto = "alfabetico";
botaoAlfab . sprite_index = sprBotaoAlfa;
botaoPlay = instance_create(borda + 80, borda * 2 + view_hview[1], objBotaoPlay);
// cria os botões de comando da view
maxPos = botao[nArq - 1] . y + tamanhoIcone + 2 + maxNomes - view_hport[1];
minPos = 0;
with(instance_create(view_xport[1] + view_wport[1], view_yport[1], objBotaoView)){
lado = -1; //pra SUBIR a view
sprite_index = sprBotaoUp;
maxPos = other . maxPos; minPos = other . minPos;
}
with(instance_create(view_xport[1] + view_wport[1], view_yport[1] + view_hport[1] - sprite_get_height(sprBotaoDn), objBotaoView)){
lado = 1; //pra SUBIR a view
sprite_index = sprBotaoDn;
maxPos = other . maxPos; minPos = other . minPos;
}
with (instance_create(view_xport[1] + view_wport[1], view_yport[1] + sprite_get_height(sprBotaoUp), objCtrlView)) {
maxPos = other . maxPos; minPos = other . minPos; dView = maxPos - minPos;
}
// ajeita os botões por ordem de dificuldade
ordenaIcones(list_nPontos, true, $8888ff); //o mesmo que apertar o botaoPontos
Other Event: User Defined 0:
execute code:
// define qual imagem usar e vai pra room_play, deletando tudo o que for descartável
var arquivo, i;
arquivo = -1;
for(i = 0; i < nArq; i += 1){
if (botao[i] . chosen == true){
arquivo = i;
}
}
if (arquivo == -1){
exit;
}
else {
for(i = 0; i < nArq; i += 1){
if (i != arquivo){
background_delete(ds_list_find_value(list_bgs, i));
}
sprite_delete(ds_list_find_value(list_icones, i));
}
globalvar imagemJogo, arquivoCoordenadas;
imagemJogo = ds_list_find_value(list_bgs, arquivo);
arquivoCoordenadas = working_directory + "\imagens\" + ds_list_find_value(list_nomes, arquivo) + ".gml";
}
ds_list_destroy(list_nomes);
ds_list_destroy(list_bgs);
ds_list_destroy(list_escalas);
ds_list_destroy(list_pX);
ds_list_destroy(list_pY);
ds_list_destroy(list_nPontos);
ds_list_destroy(list_icones);
var larRoom, altRoom;
larRoom = background_get_width(imagemJogo) + sprite_get_width(sprBotaoVolta) + 4;
altRoom = background_get_height(imagemJogo);
room_set_width(rmPlay, larRoom);
room_set_height(rmPlay, altRoom);
room_set_view(rmPlay, 0, true, 0, 0, larRoom, altRoom, 0, 0, larRoom, altRoom, 0, 0, 0, 0, noone);
// room_set_view(index, vind, vis, xview, yview, wview, hview, xport,yport,wport, hport, hborder, vborder, hspeed, vspeed, obj)
room_set_background(rmPlay, 0, 1, 0, imagemJogo, 0, 0, 0, 0, 0, 0, 1);
//room_set_background(ind,bind,vis,fore, back, x, y,htiled,vtiled,hspeed,vspeed,alpha);
room_goto(rmPlay);
Draw Event:
execute code:
draw_rectangle(view_xport[1] - 1, view_yport[1] - 1, view_xport[1] + view_wport[1], view_yport[1] + view_hport[1], 0);
Key Press Event for Key:
execute code:
view_yview[1] = max(view_yview[1] - 1, minPos);
Key Press Event for Key:
execute code:
view_yview[1] = min(view_yview[1] + 1, maxPos);
- carregaCoordenadas:
- // carregaCoordenadas(arquivo texto, ds_list X, ds_list Y);
// lê o arquivo de texto dado como argumento, transformando os valores lidos em dados de coordenadas
// coloca os dados de coordenadas nas ds_lists dadas como argumento
var arquivo, listaX, listaY, lendo;
abrir = argument0; listaX = argument1; listaY = argument2;
ds_list_clear(listaX); ds_list_clear(listaY); // limpa as lists
// abre o arquivo
lendo = file_text_open_read(abrir);
var linhaX, linhaY, outlinha, pos1, pos2;
linhaX = file_text_read_string(lendo);
// acha a primeira linha
while(string_count("]", linhaX) < 2 && !file_text_eof(lendo)) {
file_text_readln(lendo);
linhaX = file_text_read_string(lendo);
}
// copia as coordenadas da linha pras ds_lists
while(string_count("]", linhaX) == 2 && !file_text_eof(lendo)){
pos1 = string_pos("]", linhaX); pos2 = string_pos(";", linhaX); //usar "]" e ";" como limitadores
outlinha = string_copy(linhaX, pos1 + 4, pos2 - (pos1 + 4)); //muito cuidado ao manter os espaçamentos corretos
ds_list_add(listaX, real(outlinha)); // joga a coordenada na lista
linhaY = string_copy(linhaX, pos2 + 2, string_length(linhaX)); //elimina parte da linha, repete o processo
pos1 = string_pos("]", linhaY); pos2 = string_pos(";", linhaY);
outlinha = string_copy(linhaY, pos1 + 4, pos2 - (pos1 + 4));
ds_list_add(listaY, real(outlinha));
file_text_readln(lendo);
linhaX = file_text_read_string(lendo);
}
file_text_close(lendo);
Última edição por saim em Qua 19 Dez 2012, 08:21, 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] importando dados de arquivo de texto no GMS
O erro é sobre a variável rmPlay você não a declarou em lugar algum. Pelo que vi ela armazena uma room.
Bom, é isso que consegui achar.
FLWS!
Bom, é isso que consegui achar.
FLWS!
Re: [resolvido] importando dados de arquivo de texto no GMS
Puxa vida(1), é verdade!
Eu tinha mudado o jogo porque a room estava ficando "esticada", achei que criá-la via código resolveria. Fiz uma room "rmInicializa" que adiciona a rmPlay e vai pra rmLoad. Deu certo, depois de você me mostrar o erro. Eu tinha esquecido de falar pra rmInicializa ser a primeira do jogo.
Variable Get rmPlay. Beleza, vou me lembrar dessa linha da próxima vez que surgir um erro.
Mas isso não resolveu o problema da room esticada, como eu imaginei que resolveria... Posso continuar aqui ou devo abrir um novo tópico? A room é criada com a largura da imagem (+ espaço pra um botão de voltar) e altura da imagem. O código está no user_event do objLoader, acima.
(1)Não sabia que a palavra que coloquei antes de "puxa vida" era considerada palavrão...
Eu tinha mudado o jogo porque a room estava ficando "esticada", achei que criá-la via código resolveria. Fiz uma room "rmInicializa" que adiciona a rmPlay e vai pra rmLoad. Deu certo, depois de você me mostrar o erro. Eu tinha esquecido de falar pra rmInicializa ser a primeira do jogo.
Variable Get rmPlay. Beleza, vou me lembrar dessa linha da próxima vez que surgir um erro.
Mas isso não resolveu o problema da room esticada, como eu imaginei que resolveria... Posso continuar aqui ou devo abrir um novo tópico? A room é criada com a largura da imagem (+ espaço pra um botão de voltar) e altura da imagem. O código está no user_event do objLoader, acima.
(1)Não sabia que a palavra que coloquei antes de "puxa vida" era considerada palavrão...
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] importando dados de arquivo de texto no GMS
Então, a view e a janela propriamente dita do jogo são coisas diferentes.saim escreveu:Puxa vida(1), é verdade!
Eu tinha mudado o jogo porque a room estava ficando "esticada", achei que criá-la via código resolveria.
Você pode encarar a view como uma surface que é esticada até atingir o tamanho da tela.
Por conveniência o GMS automaticamente define o tamanho da janela de acordo com a primeira room. Mudar as configurações da view depois de inicializado o jogo não vai mudar a janela.
Você pode fazer isso manualmente com window_set_size.
Re: [resolvido] importando dados de arquivo de texto no GMS
Entendi. Achei que o room_set_width/height resolveria, já que no caso do GM8.0, resolve.Kabeção escreveu:Por conveniência o GMS automaticamente define o tamanho da janela de acordo com a primeira room.
Beleza. window_set_size. Vou tentar e volto a postar (ou edito esse post).
Valeu!
...
Mas se room_width/height não serve pra definir o tamanho da janela... então não serve pra muita coisa, né?
Quer dizer, é um valor de referência, a gente já está acostumado a usar e tal, tem até o evento out_of_room... Mas fora isso, me parecem umas constantes meio insossas.
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] importando dados de arquivo de texto no GMS
Saim, acho que é necessário sim, caso seu jogo use view, você pode definir o tamanho da room maior do que o da view...
Kapoty- Games Ranking :
Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [resolvido] importando dados de arquivo de texto no GMS
Sim, sim, isso eu já faço. O lance é que no GM8.0, a janela em que a room fica é dimensionada pro tamanho da room automaticamente. A diferença em questão é entre o tamanho do room e da janela, as views são outra história.
Mas depois eu pensei direitinho e realmente é útil ter limites da room independentes do tamanho da janela na tela. Bobagem minha não ver a diferença antes, agora que mudei de idéia fica até difícil ver a relação.
Ah, só pra encerrar o assunto, o window_set_size funcionou como um relógio! Tive que usar mais uma vez, por causa da volta à room de seleção, mas ficou lindo!
Tópico resolvido!
Mas depois eu pensei direitinho e realmente é útil ter limites da room independentes do tamanho da janela na tela. Bobagem minha não ver a diferença antes, agora que mudei de idéia fica até difícil ver a relação.
Ah, só pra encerrar o assunto, o window_set_size funcionou como um relógio! Tive que usar mais uma vez, por causa da volta à room de seleção, mas ficou lindo!
Tópico resolvido!
Tópico resolvido, tópico trancado para evitar posts desnecessários.
Caso o autor deseje reabrir, contacte um moderador.
Caso o autor deseje reabrir, contacte um moderador.
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] Executar código de um arquivo de texto
» Criptografar arquivo de texto
» Duvidas sobre arquivo de texto
» Banco de Dados em arquivo externo
» como proteger o arquivo de dados?
» Criptografar arquivo de texto
» Duvidas sobre arquivo de texto
» Banco de Dados em arquivo externo
» como proteger o arquivo de dados?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos