Como mudar de Room após matar 2 inimigos ou mais?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por Viper7 em Qua 30 Dez 2009, 19:21

Pessoal, utilizando o sistema de busca do site eu achei um tópico no qual há uma dúvida bem semelhante a minha :
Como faço para que quando acabe todos os itens de comer, passe para a outra room?

Então...
Acompanhando o raciocínio do usuário Alex FC, presente no tópico citado acima, eu fiz o seguinte:

Passo 1: Na minha Room há dois objetos que são inimigos: obj_disco_verde_2 e obj_disco_vermelho.

Passo 2: Na colisão dos inimigos com o tiro do herói eu coloquei o seguinte código:
sound_play (snd_disco_verde_morre);
instance_destroy();
obj_ir_pra_fase3.alarm[1] = 4*room_speed;


Passo 3: Na última linha do código eu coloquei para que, após destruir um objeto inimigo, ler o obj_ir_pra_fase3, objeto presente na Room que serve para teleportar o herói para a próxima Room através do seguinte código presente em um alarme:
if instance_number(obj_disco_verde_2)=0 and instance_number(obj_disco_vermelho)=0
{
room_goto_next()
}


Resultado:
Se eu destruir primeiro o obj_disco_vermelho o evento todo funciona normalmente e, somente após destruir o outro inimigo (obj_disco_verde_2) o herói é teleportado para a próxima fase, mas se eu destruir o obj_disco_verde_2 primeiro o herói já é teleportado para a próxima fase, sem ter a necessidade de destruir o outro objeto.

O que eu pretendo fazer:
Eu quero que após destruir os dois inimigos (obj_disco_vermelho e obj_disco_verde_2) o herói seja transportado para a próxima Room.

O que será que está dando errado?

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por diassis em Qua 30 Dez 2009, 19:41

TENTA ASSIM:
é melhor que o objeto que passe de fase seja (persistente)
esse código deve ficar no step dele
Código:

if room==room_fase1  // nome da room atual
{
if instance_number(obj_disco_verde_2)<1
if instance_number(obj_disco_vermelho)<1
{
room_goto_next()
}
}

repetir esse código para todas as fases, mudando o nome da room e dos objetos

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por Viper7 em Qua 30 Dez 2009, 19:55

diassis escreveu:TENTA ASSIM:
é melhor que o objeto que passe de fase seja (persistente)
esse código deve ficar no step dele
Código:

if room==room_fase1  // nome da room atual
{
if instance_number(obj_disco_verde_2)<1
if instance_number(obj_disco_vermelho)<1
{
room_goto_next()
}
}

repetir esse código para todas as fases, mudando o nome da room e dos objetos

Ainda não funcionou Sad
Continua com o mesmo problema: Se derrotar o obj_disco_vermelho e depois derrotar o obj_disco_verde_2 o código funciona normalmente, mas se derrotar o obj_disco_verde_2 primeiro já passa pra próxima Room.

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por donte em Qua 30 Dez 2009, 21:05

tirou o código anterior?
Código:
if instance_number(obj_disco_verde_2)=0 and instance_number(obj_disco_vermelho)=0
{
room_goto_next()
}

donte

Número de Mensagens : 1164
Idade : 18
Data de inscrição : 22/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://nintendocenterbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por Kabeção em Qua 30 Dez 2009, 21:14

Tente assim:
Código:
if (!instance_exists(obj_disco_verde_2) && !instance_exists(obj_disco_vermelho))
{
room_goto_next()
}

Na pratica seu código e o do diassis estão certos, talvez você esteja fazendo outro objeto mudar de fase quando o obj_disco_verde_2 é destruído.
É impossível "if instance_number(obj_disco_verde_2)=0 and instance_number(obj_disco_vermelho)=0" dar errado para o que você quer. Suspect

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por lucas mendes em Qua 30 Dez 2009, 21:27

no create do objeto coloca:
Código:
matou=2
no step vc coloca:
Código:
if matou=0
{
transition_kind=0; room_goto(nome da room)
}
ai na colisao vc coloca:
Código:
matou-=1
instance_destroy()
flws....
acho q é isso q vc quer...

lucas mendes

Número de Mensagens : 416
Idade : 21
Data de inscrição : 04/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   : 1

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por Viper7 em Qui 31 Dez 2009, 01:04

Pessoal, eu acabei me atrapalhando aqui com o jogo testando todos os códigos apresentados e agora está dando outros erros no game e a fase nem está abrindo mais.
Eu vou recomeçar do zero a fase a partir da minha cópia de segurança que eu faço frequentemente do game e logo posto aqui novamente.

Eu gostaria de deixar um muito obrigado a todos que estão me ajudando com esse jogo.

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por KinKing em Qui 31 Dez 2009, 09:53

Você pode criar um terceiro objeto, controlador, e colocar ele invisível na fase (sem sprite). Assim, você cria no step dele um código para testar com instance_number se os objetos de inimigos são maiores do que zero.

Step
Código:
if (instance_number(obj_disco_vermelho) == 0 && instance_number(obj_disco_verde_2) == 0)
{
    obj_ir_pra_fase3.alarm[1] = 4*room_speed;
}

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por donte em Qui 31 Dez 2009, 14:15

¬¬ usa o treasure que ja vem no gmk 7 e 8 como engine e descobre!

donte

Número de Mensagens : 1164
Idade : 18
Data de inscrição : 22/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://nintendocenterbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por Viper7 em Qui 31 Dez 2009, 15:34

CONSEGUI!!!! cheers

Uuaiahuaihaihaiahahaiaahi, graças a esse comentário "¬¬ usa o treasure que ja vem no gmk 7 e 8 como engine e descobre!" do donte Happy

Bom, foi na base do Click and drop mesmo. Eu tentei todos os códigos citados acima mas nenhum estava dando certo com o meu jogo, rsrs... Então eu parti para o Click and Drop, baseado no jogo Treasure, e fiz o segiunte:

Passo 1: No step do personagem eu coloquei: "Test instance count" com as seguintes configurações:
Object: obj_disco_vermelho
Number: 0
Operation: Igual to


Passo 2: Repeti o procedimento com o objeto obj_disco_verde_2
Explicando: O jogo só irá para a próxima fase caso os objetos obj_disco_vermelho e obj_disco_verde_2 forem iguais a zero.

Passo 3: Coloquei o "Start Block" (Não sei para que isso serve, mas sem isso não estava funcionando, Razz

Passo 4: Coloquei "Sleep 2000 mileseconds" para esperar um tempo para passar de Room.

Passo 5: Go to Room Fase3.

Agora eu gostaria de deixar o meu muito obrigado a todos que colocaram seus códigos com o intuito de me ajudar, como também gostaria de informar que o nome de todos que me ajudaram neste tópico com seus códigos (que ficaram excelentes e com certeza me ensinaram muita coisa com programação no Game Maker) entrarão nos créditos do meu jogo.

Um grande abraço a todos!!!

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por Igor KinGamer em Qui 31 Dez 2009, 17:51

O Start Block e o End Block equivalem às chaves ( { } ) na programação.

(E a expressão usada é "drag-and-drop", não "click-and-drop" Smile)

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como mudar de Room após matar 2 inimigos ou mais?

Mensagem por Conteúdo patrocinado Hoje à(s) 00:29


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum