Passar de Fases

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

Passar de Fases

Mensagem por Mestre Rá em Qua 27 Ago 2014, 10:31

Bom pessoal, gostaria de fazer o seguinte:
1) Em uma room terá várias portas, mas somente a 1° porta esta destrancada;
2) Quando ele entrar nessa fase e coletar o score e chegar no final ele terá que voltar na room das fases;
3) Com esse score que ele coletou na fase anterior, ele pode ser gastada para liberar a próxima fase;
4) Depois de ter gastado esse score, ele não pode gastar mais nessa fase.
5) A passagem de fase será com a colisão com o personagem e a fase, no caso das fases trancadas ele mostra uma informação dizendo que ela esta trancada e o valor de score que deve ser gasto para destrancar.
Já tentei bastante aqui, e deu diversos erros como, mesmo que eu coleto o número de score, ele continua trancado a assim tendo que gastar de novo para entrar na fase e o outro é que mesmo não tendo os pontos necessários ele fica gastando até o infinito.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mateus O de Andrade em Qua 27 Ago 2014, 10:57

Bom dia Mestre Rá,
Estou percebendo que não só esta como algumas dúvidas anteriores estão envolvendo variáveis. Sugiro que de uma estudada nesse assunto pois vai lhe abrir novos horizontes no GM.
Mas voltando a sua pergunta.

1) Em uma room terá várias portas, mas somente a 1° porta esta destrancada;
Coloque um teste em cada porta que fara o seguinte:
Se a variável aberta=false e score>= qnt 1000 (exemplo) dai score-=1000 aberto=true
Isso deve destravar a porta e a variável aberto=true vai evitar que isso torne a ocorrer (a primeira porta pode ficar destravada ou ter um custo de 0)

2) Quando ele entrar nessa fase e coletar o score e chegar no final ele terá que voltar na room das fases;
Basta usar no final da faze uma função "room_goto(faze desejada)"

3) Com esse score que ele coletou na fase anterior, ele pode ser gastada para liberar a próxima fase;
Ver explicação 1)

4) Depois de ter gastado esse score, ele não pode gastar mais nessa fase.
Ver explicação 1)

5) A passagem de fase será com a colisão com o personagem e a fase, no caso das fases trancadas ele mostra uma informação dizendo que ela esta trancada e o valor de score que deve ser gasto para destrancar.
Sugiro fazer com o apertar de um botão cara, melhor que um contato. Assim dá para passar por ela se quiser escolher outra porta.
Para mostrar o custo para liberar e se ela está ou não livre basta usar sprites tipo:
Coloque um sprite com o valor do custo e se ela está trancada faça o sprite de uma porta trancada e se não ela aberta.

Desculpe por não fazer os códigos, estou em época de folha de pagamento e não tenho muito tempo.

Espero ter ajudado, e qualquer dúvida basta perguntar. Não esqueça também de verificar outras formas com os demais membros do fórum.

Abraços!!

Mateus O de Andrade

Ranking : Nota D
Número de Mensagens : 399
Idade : 31
Data de inscrição : 25/03/2014
Reputação : 37
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mestre Rá em Qua 27 Ago 2014, 11:13

Valeu cara, assim na questão de estudar eu faço isso, aprendi bastante coisas, e sempre baixo várias engines e até baixei o manual, mas ainda sou muito fraco nessa questão de variáveis. Mas valeu pela explicação entendi a sua programação. Apesar que já fiz isso que você falou, a única diferença foi a variável.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mestre Rá em Qua 27 Ago 2014, 12:16

Já fiz aqui, mas o mesmo problema persiste, mesmo depois de ter gastado o score necessário, tenho que gastar de novo depois que passo de fase.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mateus O de Andrade em Qua 27 Ago 2014, 12:28

Não basta somente criar a variável tem que criar um evento

Código:
if aberta=false and score>=1000
{
Executa o código que você quer
}

Mateus O de Andrade

Ranking : Nota D
Número de Mensagens : 399
Idade : 31
Data de inscrição : 25/03/2014
Reputação : 37
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Isaque Onix em Qua 27 Ago 2014, 13:54

cara, voce pode criar instancias de portas e armazena-los em variaveis globais, assim fica mais facil manipular. ex:

no create event do objControle
Código:
global.porta[1]=instance_create(100,100,objPorta)
with(global.porta[1]){
score_to=0//pontos precisos para abrir
aberta=true//se a porta esta aberta
}
global.porta[2]=instance_create(200,100,objPorta)
with(global.porta[2){
score_to=100//pontos precisos para abrir
aberta=false//se a porta esta aberta
}
assim, você pode controlar tudo por um objeto controle, para abrir, você pode usar algo como:

No step do objControle
Código:
for(i=0; i<numero_de_portas; i+=1){//MUDE O numero_de_portas
if(point_distance(objPlayer.x,objPlayer.y,global.porta[i].x,global.porta[i].y)<50 && keyboard_check(vk_space)){
if(global.porta[i].aberta=false){//se a porta mais proxima do player estiver fechada
if(global.porta[i].score_to=0){global.porta[i].aberta=true}else{
if(score>0){score-=1 global.porta[i].score_to-=1}
}
}
}
fiz de cabeça, mais acho que funciona, flw, vlw

Ps: usei nomes de objetos fictícios, atenção ao editar o código se for usa-los

[edit]marque a room em que suas portas estao como persistent, acho que isso vai funcionar!

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mestre Rá em Qua 27 Ago 2014, 15:30

Mateus O de Andrade escreveu:Não basta somente criar a variável tem que criar um evento

Código:
if aberta=false and score>=1000
{
Executa o código que você quer
}
Eu fiz isso:
No Create:
variablel destrancado =0

Na colisão com a porta de fase coloquei:
test score value: 100, larger than;
start of a block;
variablel destrancado =1;
set score -100 relative;
different room: room2;
end of a block;
else;
test score value: 100, larger than, not;
start of a block;
variablel destrancado =1;
set score 0 relative;
end of a block;

Posso estar sendo chato agora, mas mesmo assim não estou conseguindo, já fiz uma série de testes e não conseguir fazer com que depois da porta for destrancada ela não gasta mais os pontos.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Isaque Onix em Qua 27 Ago 2014, 15:45

EU escreveu:[edit]marque a room em que suas portas estao como persistent, acho que isso vai funcionar!

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mestre Rá em Qua 27 Ago 2014, 15:52

Isso vai fazer com que as portas passem de fase junto, não resolve o problema.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Isaque Onix em Qua 27 Ago 2014, 15:56

eu disse pra marcar a room como persistent, nao os objetos.
mais voce pode guardar as informaçoes das portas em um objeto controle persistent, assim, em todas as rooms que voce estiver voce podera usar as informaçoes das portas.

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mateus O de Andrade em Qua 27 Ago 2014, 16:08

Mestre Rá escreveu:Na colisão com a porta de fase coloquei:
test score value: 100, larger than;
start of a block;
variablel destrancado =1;
set score -100 relative;
different room: room2;
end of a block;
else;
test score value: 100, larger than, not;
start of a block;
variablel destrancado =1;
set score 0 relative;
end of a block;

Junto do primeiro test score coloque um test de variável para saber se destrancado está true.
E no else, ao inves de test score, teste se a variável destrancado está true e dai é só mandar para a outra sala.
apague tudo que está abaixo do test score (no caso o variablel destrancado =1 e set score 0 relative;.)

E se MESMO assim não der certo é só mandar seu arquivo que eu dou um jeito tongue

Mateus O de Andrade

Ranking : Nota D
Número de Mensagens : 399
Idade : 31
Data de inscrição : 25/03/2014
Reputação : 37
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mestre Rá em Qua 27 Ago 2014, 17:20

http://www.4shared.com/file/cKcZxIcBce/Teste.html?
Está aí cara, preciso de sua ajuda mais uma vez

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mateus O de Andrade em Qua 27 Ago 2014, 18:00

Cara, resolvi espero que você entenda.....tenho que correr amanhã me conta o que deu!!! uahsuahsuasa

http://www.4shared.com/file/e1lt9CQece/Teste.html?

Mateus O de Andrade

Ranking : Nota D
Número de Mensagens : 399
Idade : 31
Data de inscrição : 25/03/2014
Reputação : 37
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mestre Rá em Qui 28 Ago 2014, 00:07

Valeu cara com isso entendi como funciona.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mateus O de Andrade em Qui 28 Ago 2014, 10:05

Que bom que funcionou, mas só tem um porem, esse método que você está usando tem que ser adaptado pois se você tiver 50 portas, as 50 vão abrir pois essa variavel aberta é para todas as portas.

Sugiro que de uma estudada no assunto que o Isaque Onix expôs em seu tópico. Isso se não forem muitas portas, mas o conhecimento ainda sim é valido, uma arma a mais no seu arsenal de programador.

Mateus O de Andrade

Ranking : Nota D
Número de Mensagens : 399
Idade : 31
Data de inscrição : 25/03/2014
Reputação : 37
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Isaque Onix em Qui 28 Ago 2014, 11:21

Happy pois e, as veses os comentarios sao ignorados so porque teem uma pilha de codigos e o dono do topico tem que estudar um pouco pra se adaptar, mais, de boa.
de qualquer forma, dexo aqui minha engine, assim podes estudar para projetos futuros.
https://www.dropbox.com/sh/xrqqlfdmb5k9fot/AAANgJKhnoMCpa0vjLTB3vJYa (PROCURE POR engine de portas dinamicas.gmk)
Mateus O de Andrade escreveu:Sugiro que de uma estudada no assunto que o Isaque Onix expôs em seu tópico. Isso se não forem muitas portas, mas o conhecimento ainda sim é valido, uma arma a mais no seu arsenal de programador.
feliz2 sorrindo formado assustado feliz3 surpreso blz

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Mestre Rá em Seg 01 Set 2014, 16:29

Muito obrigado pela ajuda pessoal.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Passar de Fases

Mensagem por Conteúdo patrocinado Hoje à(s) 14:22


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