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

Nenhum

Ver toda a lista


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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Passar de Fases

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.
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: Passar de Fases

em Qua 27 Ago 2014, 10:57
Reputação da mensagem: 100% (1 votos)
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!!
avatar
Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Passar de Fases

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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Passar de Fases

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.
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: Passar de Fases

em Qua 27 Ago 2014, 12:28
Reputação da mensagem: 100% (1 votos)
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
}
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Passar de Fases

em Qua 27 Ago 2014, 13:54
Reputação da mensagem: 100% (1 votos)
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!
avatar
Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Passar de Fases

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.
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Passar de Fases

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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Passar de Fases

em Qua 27 Ago 2014, 15:52
Isso vai fazer com que as portas passem de fase junto, não resolve o problema.
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Passar de Fases

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.
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: Passar de Fases

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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Passar de Fases

em Qua 27 Ago 2014, 17:20
4shared.com/file/cKcZxIcBce/Teste.html?
Está aí cara, preciso de sua ajuda mais uma vez
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: Passar de Fases

em Qua 27 Ago 2014, 18:00
Cara, resolvi espero que você entenda.....tenho que correr amanhã me conta o que deu!!! uahsuahsuasa

4shared.com/file/e1lt9CQece/Teste.html?
avatar
Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Passar de Fases

em Qui 28 Ago 2014, 00:07
Valeu cara com isso entendi como funciona.
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: Passar de Fases

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.
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Passar de Fases

em Qui 28 Ago 2014, 11:21
Reputação da mensagem: 100% (1 votos)
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
avatar
Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Passar de Fases

em Seg 01 Set 2014, 16:29
Muito obrigado pela ajuda pessoal.
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