Conectar-se
Quem está conectado
31 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 31 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 20/11/2009
Número de Mensagens : 82
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://mascotegames.blogspot.com

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

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?
avatar
Data de inscrição : 07/11/2009
Número de Mensagens : 312
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 1
   : 1
   : 0
Ver perfil do usuário

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

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
avatar
Data de inscrição : 20/11/2009
Número de Mensagens : 82
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://mascotegames.blogspot.com

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

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.
avatar
Data de inscrição : 22/12/2009
Número de Mensagens : 1164
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://nintendocenterbr.forumeiros.com

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

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()
}
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

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

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
avatar
Data de inscrição : 04/05/2009
Número de Mensagens : 416
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   : 1
Ver perfil do usuário

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

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...
avatar
Data de inscrição : 20/11/2009
Número de Mensagens : 82
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://mascotegames.blogspot.com

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

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.
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 16

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://felipejoys.webnode.com

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

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;
}
avatar
Data de inscrição : 22/12/2009
Número de Mensagens : 1164
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://nintendocenterbr.forumeiros.com

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

em Qui 31 Dez 2009, 14:15
¬¬ usa o treasure que ja vem no gmk 7 e 8 como engine e descobre!
avatar
Data de inscrição : 20/11/2009
Número de Mensagens : 82
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://mascotegames.blogspot.com

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

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!!!
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 11

Prêmios
   :
   :
   :
Ver perfil do usuário

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

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)
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum