Entrar
Últimos assuntos
» Preciso de ajudapor AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
Bug do GM ??
3 participantes
Página 1 de 1
Bug do GM ??
Pessoal revisei meu codigo varias vezes, e nao restou outra opçao alem de ser um bug do GM. Criei um mapa de 64000x4800 , e um codigo que gerava o mapa, deixei na room speed 9999. Em fim ele esta gerando mapa, só que em alguns lugares ele nao preenche o mapa e fica um vazio, só que isso nao tem uma explicaçao peo codigo. Poderia ser um bug do GM ?
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
O tamanho da room é muito grande, e a speed também. Não sei se pode ser algo relacionado a esses fatores, mas se você postar o código de geração do mapa pode ajudar.
Re: Bug do GM ??
- Código:
if b<=192
{
instance_create(a,b,choose(obj_terra,obj_terra_grama))
}
//
if b<=384 and b>192
{
instance_create(a,b,obj_terra)
}
//
if b<=640 and b>384
{
instance_create(a,b,choose(obj_terra,obj_pedra,obj_pedra))
}
//
if b<=1024 and b>640
{
instance_create(a,b,choose(obj_terra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra))
}
//
if b<=1504 and b>640
{
instance_create(a,b,choose(obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_carvao,obj_terra))
}
//
if b<=1888 and b>1504
{
bola=irandom(100)
if bola=99
instance_create(a,b,obj_bronze)
if bola>=97 and bola<99
instance_create(a,b,obj_carvao)
if bola<97
instance_create(a,b,obj_pedra)
}
//
if b<=2272 and b>1504
{
bola=irandom(100)
if bola>=98
instance_create(a,b,obj_bronze)
if bola>=94 and bola<98
instance_create(a,b,obj_carvao)
if bola<94
instance_create(a,b,obj_pedra)
}
//
b+=32
if b=2272
{
a+=32
b=0
}
Tambem achei q fosse o tamanho e a speed. Mas para o tipo de jogo que eu vou fazer, a room precisa ser grande e se a speed for menor o mapa demora 1 hora para ser gerado
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
Já deu para perceber o que delimita a área de geração. Você criou uma variável b e atribuiu valores específicos. Pois bem, em alguns instance_creates você colocou no argumento y essa variável, e o valor dela é menor que o tamanho da room no eixo y. Para aumentar o valor de b, você pode checar se o valor atual dela é menor que o comprimento/a largura da tela.
PS : seria bom saber o valor dessas variáveis, não consigo saber qual é a verdadeira função delas, só disse o que disse acima baseado no código que você postou. Seria bom também saber como o sistema funciona.
PS : seria bom saber o valor dessas variáveis, não consigo saber qual é a verdadeira função delas, só disse o que disse acima baseado no código que você postou. Seria bom também saber como o sistema funciona.
Re: Bug do GM ??
A= lugar y onde vai ser criado
B=lugar x onde vai ser criado
bola=Nada nao, so a chance de craiar um tipo de bloco ou outro
Inicia o B=0 e o Q=0
ai a cada step o b+32
Ai quando o B chega no 4800 (ali no casa nao sei porque mais eu mudei pra 2272) ele volta ao 0, e o A+32
Assim ele vai gerando em todo lugar.
Assim q funciona
B=lugar x onde vai ser criado
bola=Nada nao, so a chance de craiar um tipo de bloco ou outro
Inicia o B=0 e o Q=0
ai a cada step o b+32
Ai quando o B chega no 4800 (ali no casa nao sei porque mais eu mudei pra 2272) ele volta ao 0, e o A+32
Assim ele vai gerando em todo lugar.
Assim q funciona
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
A= lugar y onde vai ser criado
B=lugar x onde vai ser criado
Bom, se b define o x onde o objeto vai ser criado, por que você colocou essa variável no no argumento y do instance_create?
Ai quando o B chega no 4800 (ali no casa nao sei porque mais eu mudei pra 2272) ele volta ao 0, e o A+32
Acho que seria melhor setar o b para 4.800 quando ele for maior ou igual que 4.800.
Re: Bug do GM ??
No caso do B e do A eu me confundi XD, mas deu pra entender
E quanto ao b>=4800 nao precisa ja que 4800 é multiplo de 32
E quanto ao b>=4800 nao precisa ja que 4800 é multiplo de 32
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
E quanto ao b>=4800 nao precisa ja que 4800 é multiplo de 32
É, verdade. Mas o que eu queria dizer é que você poderia manter o valor de 4.800 em vez de deixar 0. Veja o trecho do código abaixo :
- Código:
if b=2272 //ou 4800, de acordo com a sua correção
{
a+=32
b=0
Mas ai, ainda está ocorrendo o erro?
Re: Bug do GM ??
so que ai ele so prencheria o canto esquerdo e a ultima linha de baixo. Nao sei se entendeu. Talvez se eu passar o GMK ajude um pouco:
http://www.4shared.com/file/fsfiPwJw/GMK_Engine_map.html
http://www.4shared.com/file/fsfiPwJw/GMK_Engine_map.html
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
pinpi escreveu:so que ai ele so prencheria o canto esquerdo e a ultima linha de baixo. Nao sei se entendeu. Talvez se eu passar o GMK ajude um pouco:
http://www.4shared.com/file/fsfiPwJw/GMK_Engine_map.html
Sim, ajudaria bastante, mas no caso eu não uso o Game Maker 8.1.
Acho que agora estou começando a entender como funciona, o preenchimento é por linhas, bem pensado.
Re: Bug do GM ??
E se bola == 100? Não acontece nada e o espaço fica vazio.if b<=1888 and b>1504
{
bola=irandom(100)
if bola=99
instance_create(a,b,obj_bronze)
(...)
Não precisa aumentar a velocidade da room pra gerar esse mapa, dá pra fazer no create event se você usar um loop.
Vai travar seu jogo por um tempo, talvez até alguns segundos, mas vai ser bem mais eficiente que gerar o mapa usando o step.
- Código:
for(a = 0; a <= largura; a += 32){
for(b = 0; b <= altura; b += 32){
//código de geração do mapa
}}
Edit:
Outro erro, talvez? entre 640 e 1024if b<=1024 and b>640
{
instance_create(a,b,choose(obj_terra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra))
}
//
if b<=1504 and b>640
instance_create(a,b,choose(obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_carvao,obj_terra))
}
Última edição por saim em Qui 05 Abr 2012, 14:44, 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: Bug do GM ??
Entao vou descrever ele por inteiro
obj_terra , obj_carvao , obj_bronze
simples bloco de 32x32
obj_terra_grama
32x32
create:
32x192
create:
create
room_speed=9999
Teste ai
EDIT
Valeu saim, mas nao adiantou,apenas previniu outro bug, pois o mapa continua deixando espaços vazios
EDIT 2
Talvez a imagem ajude
obj_terra , obj_carvao , obj_bronze
simples bloco de 32x32
obj_terra_grama
32x32
create:
- Código:
instance_create(x,y,obj_destroi_mato)
32x192
create:
- Código:
alarm[0]=3
- Código:
instance_destroy()
- Código:
with(other)
instance_destroy()
- Código:
with(other)
instance_destroy()
create
- Código:
a=0
b=0
- Código:
if b<=192
{
instance_create(a,b,choose(obj_terra,obj_terra_grama))
}
//
if b<=384 and b>192
{
instance_create(a,b,obj_terra)
}
//
if b<=640 and b>384
{
instance_create(a,b,choose(obj_terra,obj_pedra,obj_pedra))
}
//
if b<=1024 and b>640
{
instance_create(a,b,choose(obj_terra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra))
}
//
if b<=1504 and b>640
{
instance_create(a,b,choose(obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_carvao,obj_terra))
}
//
if b<=1888 and b>1504
{
bola=irandom(100)
if bola=99
instance_create(a,b,obj_bronze)
if bola>=97 and bola<99
instance_create(a,b,obj_carvao)
if bola<97
instance_create(a,b,obj_pedra)
}
//
if b<=2272 and b>1504
{
bola=irandom(100)
if bola>=98
instance_create(a,b,obj_bronze)
if bola>=94 and bola<98
instance_create(a,b,obj_carvao)
if bola<94
instance_create(a,b,obj_pedra)
}
b+=32
if b=4800
{
a+=32
b=0
}
room_speed=9999
Teste ai
EDIT
Valeu saim, mas nao adiantou,apenas previniu outro bug, pois o mapa continua deixando espaços vazios
EDIT 2
Talvez a imagem ajude
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
Olha, esse obj_destroi_mato... Ele leva alguns steps pra se autodestruir, mas até lá, ele destrói alguns objetos, inclusive o objeto obj_terra_grama, que CRIA o obj_destroi_mato.
Assim, ao criar o obj_terra_grama, ele cria o obj_destroi_mato, que destroi o obj_terra_grama e depois some, deixando um espaço em branco. Isso acontece nos primeiros 192 pixels.
Eu estava partindo do princípio que todos os objetos eram 32x32. Há mais algum que não seja?
Depois de resolvermos isso, me lembre de te passar outras alternativas a esses chooses. Eles estão muito grandes, tem formas mais elegantes de se chegar no mesmo resultado (não sei se melhora a eficiência, provavelmente não).
Viu o edit acima, né? Bom, a partir de 1504 pode-se fazer a mesma observação.
Edit:A imagem realmente ajudaria... se eu conseguisse visualizá-la daqui. Desculpe, vou ter que continuar tateando no código, mesmo.
Assim, ao criar o obj_terra_grama, ele cria o obj_destroi_mato, que destroi o obj_terra_grama e depois some, deixando um espaço em branco. Isso acontece nos primeiros 192 pixels.
Eu estava partindo do princípio que todos os objetos eram 32x32. Há mais algum que não seja?
Depois de resolvermos isso, me lembre de te passar outras alternativas a esses chooses. Eles estão muito grandes, tem formas mais elegantes de se chegar no mesmo resultado (não sei se melhora a eficiência, provavelmente não).
Viu o edit acima, né? Bom, a partir de 1504 pode-se fazer a mesma observação.
Edit:A imagem realmente ajudaria... se eu conseguisse visualizá-la daqui. Desculpe, vou ter que continuar tateando no código, mesmo.
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: Bug do GM ??
Na verdade esse objeto destroi mato nao destroi quem o criou, se vc ver o print percebe que ele só serve para desnivelar o terreno
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
Ele é criado sobre o criador e, na colisão com o criador, destrói o mesmo. DEVERIA destruir o criador.pinpi escreveu:obj_terra_grama
32x32
create:obj_destroi_mato
- Código:
instance_create(x,y,obj_destroi_mato)
32x192
(...)
colision com obj_terra_grama
- Código:
with(other)
instance_destroy()
Vou tentar dar uma olhada no print e, se não adiantar, no arquivo.
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: Bug do GM ??
Na verdade nao pois a origem do obj_terra_grama é em cima e a do obj_destroimato é bem em baixo. Mas o problema nao esta ai, ja que ele deixa vazio no meio do mapa e nao em cima, olhar o print ajudaria a entender
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
Se você desenhar linhas, com o obj_create_map, pode isolar o problema. Coloque ele numa depth menor que os demais objetos e escreva, no draw_event:
Se é no meio do mapa, provavelmente o problema está no obj_pedra, que você não detalhou. Estou assumindo que é de uma sprite 32x32, sem nenhum evento, então não deveria ter problemas.
- Código:
draw_line(0, 192, 4800, 192);
draw_text(20, 192, "192");
draw_line(0, 384, 4800, 384);
draw_text(20, 384, "384");
draw_line(0, 640, 4800, 640);
draw_text(20, 640, "640");
draw_line(0, 1024, 4800, 1024);
draw_text(20, 1024, "1024");
draw_line(0, 1504, 4800, 1504);
draw_text(20, 1504, "1504");
draw_line(0, 1888, 4800, 1888);
draw_text(20, 1888, "1888");
Se é no meio do mapa, provavelmente o problema está no obj_pedra, que você não detalhou. Estou assumindo que é de uma sprite 32x32, sem nenhum evento, então não deveria ter problemas.
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: Bug do GM ??
Na verdade nao é sempre no mesmo lugar, sempre muda, nao é o obj. Ja deu uma olhada no print ? Ele ia ajudar bastante a perceber o q ha de errado
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Bug do GM ??
Vi a imagem. São aqueles espaços em branco na parte do meio, né?
Beleza, vou dar mais uma olhada nos códigos. PODE ter alguma situação em que nada é criado.
Mas na parte de cima está tudo em branco, realmente. Era pra estar mesmo, né?
Edit: Como eu disse, as linhas ajudaram (mas eu tive que desenhar elas em branco, em preto estavam quase invisíveis.
O problema é EVENTUAL, entre as linhas 640 e 1024. Vamos rever o código desse trecho:
"mas não tem como um tocar no outro, só tem um objeto em cada quadrado!"
Eu já mostrei isso antes: os dois "if's" rodam pra valores entre 640 e 1024, de forma que duas instâncias de objetos sortidos são criadas em cada espaço desse trecho. EVENTUALMENTE, duas instâncias do obj_terra, que acabam por se anular.
Solução?
- Troque o 640 do segundo if por 1024 (que é o que eu acho que você queria desde o princípio).
- Elimine o evento de colisão do obj_terra.
Testei a primeira solução e não ocorreu mais o erro, mas não dá pra dizer que foi a medida adotada que resolveu o problema, já que trata-se de algo eventual.
PS: Depois de um tempo gerando a room, a fps cai pra valores mais mundanos. Bobagem sugerir ao GM valores tão altos. A menos que a ordem e tempos de criação sejam importantes, sugiro veementemente (na verdade, insisto na sugestão, porque já foi feita) mudar esse sistema pra dentro de um create event e desativar as instâncias que não estiverem na tela.
Beleza, vou dar mais uma olhada nos códigos. PODE ter alguma situação em que nada é criado.
Mas na parte de cima está tudo em branco, realmente. Era pra estar mesmo, né?
Edit: Como eu disse, as linhas ajudaram (mas eu tive que desenhar elas em branco, em preto estavam quase invisíveis.
O problema é EVENTUAL, entre as linhas 640 e 1024. Vamos rever o código desse trecho:
- Código:
if b<=1024 and b>640
{
instance_create(a,b,choose(obj_terra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra))
}
//
if b<=1504 and b>640
{
instance_create(a,b,choose(obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_pedra,obj_carvao,obj_terra))
}
"mas não tem como um tocar no outro, só tem um objeto em cada quadrado!"
Eu já mostrei isso antes: os dois "if's" rodam pra valores entre 640 e 1024, de forma que duas instâncias de objetos sortidos são criadas em cada espaço desse trecho. EVENTUALMENTE, duas instâncias do obj_terra, que acabam por se anular.
Solução?
- Troque o 640 do segundo if por 1024 (que é o que eu acho que você queria desde o princípio).
- Elimine o evento de colisão do obj_terra.
Testei a primeira solução e não ocorreu mais o erro, mas não dá pra dizer que foi a medida adotada que resolveu o problema, já que trata-se de algo eventual.
PS: Depois de um tempo gerando a room, a fps cai pra valores mais mundanos. Bobagem sugerir ao GM valores tão altos. A menos que a ordem e tempos de criação sejam importantes, sugiro veementemente (na verdade, insisto na sugestão, porque já foi feita) mudar esse sistema pra dentro de um create event e desativar as instâncias que não estiverem na tela.
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: Bug do GM ??
Nao congui testar ainda mais pelo que vc disse , deve funcionar. Assim que chegar na minha casa vou ver se eu arrumo. Quanto ao tamanho da room eu vou tentar diminuir.
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|