- Ranking :
Data de inscrição : 25/03/2014
Número de Mensagens : 400
Insígnias de JAM :x 0
x 0
x 0
Reputação : 37
Prêmios: 0
: 0
: 0
[RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:27
Boa tarde Pessoal,
Estou enfrentando um problema no meu código. Talvez apenas um problema de lógica mesmo.
Meu código é o seguinte
No STEP do Objeto que representa o vento
Basicamente o que ele faz é simular um ventilador que fará o player ficar subindo enquanto está em contato com o "vento".
Ele está funcionando perfeitamente, até que eu coloque outro destes objetos na room.
Quando uso dois destes objetos na mesma sala, a parte que faz o player subir (a redução da vspeed funciona mas o desligamento da gravidade não. O que faz o player continuar caindo sem amortecer a queda.
Não intendo o por que disso.
Se auguem souber me responder ou precisar de mais informações é só pedir.
Valeu galerinha!!!
Estou enfrentando um problema no meu código. Talvez apenas um problema de lógica mesmo.
Meu código é o seguinte
No STEP do Objeto que representa o vento
- Código:
if place_meeting(x,y,obj_player)
{
//desativa a gravidade
global.gravidade="off"
//Faz o player subir
obj_player.vspeed-=0.3
}
if not place_meeting(x,y,obj_player)
{
//religa a gravidade
global.gravidade="on"
}
Basicamente o que ele faz é simular um ventilador que fará o player ficar subindo enquanto está em contato com o "vento".
Ele está funcionando perfeitamente, até que eu coloque outro destes objetos na room.
Quando uso dois destes objetos na mesma sala, a parte que faz o player subir (a redução da vspeed funciona mas o desligamento da gravidade não. O que faz o player continuar caindo sem amortecer a queda.
Não intendo o por que disso.
Se auguem souber me responder ou precisar de mais informações é só pedir.
Valeu galerinha!!!
- Ranking :
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :x 0
x 0
x 0
Reputação : 35
Prêmios: 1
: 0
: 0
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:31
tenta só colocar o else as vezes resolve n sei ;-;
- Código:
if place_meeting(x,y,obj_player)
{
//desativa a gravidade
global.gravidade="off"
//Faz o player subir
obj_player.vspeed-=0.3
} else
{
//religa a gravidade
global.gravidade="on"
}
- Ranking :
Data de inscrição : 25/03/2014
Número de Mensagens : 400
Insígnias de JAM :x 0
x 0
x 0
Reputação : 37
Prêmios: 0
: 0
: 0
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:36
Infelizmente Alex, não só não funciona como não pode ter else. Pois eu tenho outros objetos que também usam essa mecânica de desligar a gravidade.
- Ranking :
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :x 0
x 0
x 0
Reputação : 35
Prêmios: 1
: 0
: 0
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:41
hmmm, tenta fazer um sistema de estados então, tipo assim no create
state = `st_parado`
dai depois e só ir desenvolvendo:
no obj que faz o player voar STEP:
e outra vc meche com a gravidade só do player nao a gravidade global entende. cada objeto tem que ter sua gravidade o que vc pode fazer caso todos os objetos do game usem a gravidade global é colocar que a propria var, supondo gravidade = global.gravidade_global.
isso resolveria tenta ai e me fala.
state = `st_parado`
dai depois e só ir desenvolvendo:
no obj que faz o player voar STEP:
- Código:
if place_meeting(x,y,obj_player)
{
with(obj_player)
{
state = `st_voando`
}
}
e outra vc meche com a gravidade só do player nao a gravidade global entende. cada objeto tem que ter sua gravidade o que vc pode fazer caso todos os objetos do game usem a gravidade global é colocar que a propria var, supondo gravidade = global.gravidade_global.
isso resolveria tenta ai e me fala.
- Ranking :
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :x 0
x 1
x 0
Reputação : 52
Prêmios: 0
: 2
: 1
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:45
O problema é que quando vc coloca dois objetos um ANULA o outro pois o player não pode estar em 2 lugares ao mesmo tempo, ou seja a variavel global fai ficar igual arvore de natal piscando ON e OFF. Para funcionar crie uma variavel dentro do player e verifique NO PLAYER se ele placemeeta um objeto vento.
Flws!
Flws!
- Ranking :
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :x 1
x 0
x 0
Reputação : 177
Prêmios: 2
: 1
: 1
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:47
Realmente a lógica mata.
Você praticamente fez "se e senão" no seu código. Ou seja, se não está colidindo liga gravidade, senão está desliga.
Uma das condições sempre vai estar ocorrendo. Então caso o player não estiver em contato com alguma das instâncias de vento, a variável global.gravidade vai ser "on".
Se você criar 3 ventos, o valor final da variável será o do último vento criado.
Ou seja, você colidiu com o primeiro vento a variável é setada para "off", ai ao mesmo tempo você não está colidindo com o segundo vento então a variável segundo a condição é trocada pra "on". E o mesmo se aplica ao terceiro vento.
Então em vez de usar esse código no vento use este somente no player:
FLWS!
Você praticamente fez "se e senão" no seu código. Ou seja, se não está colidindo liga gravidade, senão está desliga.
Uma das condições sempre vai estar ocorrendo. Então caso o player não estiver em contato com alguma das instâncias de vento, a variável global.gravidade vai ser "on".
Se você criar 3 ventos, o valor final da variável será o do último vento criado.
Ou seja, você colidiu com o primeiro vento a variável é setada para "off", ai ao mesmo tempo você não está colidindo com o segundo vento então a variável segundo a condição é trocada pra "on". E o mesmo se aplica ao terceiro vento.
Então em vez de usar esse código no vento use este somente no player:
- Código:
if place_meeting(x, y, vento)
{
global.gravidade = "off";
vspeed -= 0.3;
}
else
{
global.gravidade = "on";
}
FLWS!
- Ranking :
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :x 0
x 1
x 0
Reputação : 52
Prêmios: 0
: 2
: 1
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:50
Como eu havia dito acima, só não coloquei o código pro nosso amigo se aperfeiçoar hehehe@Alex FC escreveu:Realmente a lógica mata.
Você praticamente fez "se e senão" no seu código. Ou seja, se não está colidindo liga gravidade, senão está desliga.
Uma das condições sempre vai estar ocorrendo. Então caso o player não estiver em contato com alguma das instâncias de vento, a variável global.gravidade vai ser "on".
Se você criar 3 ventos, o valor final da variável será o do último vento criado.
Ou seja, você colidiu com o primeiro vento a variável é setada para "off", ai ao mesmo tempo você não está colidindo com o segundo vento então a variável segundo a condição é trocada pra "on". E o mesmo se aplica ao terceiro vento.
Então em vez de usar esse código no vento use este somente no player:
- Código:
if place_meeting(x, y, vento)
{
global.gravidade = "off";
vspeed -= 0.3;
}
else
{
global.gravidade = "on";
}
FLWS!
Flws!
- Ranking :
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :x 0
x 0
x 0
Reputação : 254
Prêmios: 2
: 1
: 1
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:54
Mas não vai funcionar mesmo... Veja bem, você colocou a seguinte condição no step do vento:
Por se tratar de a variável global, outros objetos podem alterar a qualquer momento, no caso, o vento extra! Afinal, de acordo com o código, ele tem que ligar a gravidade.
O correto é você tirar o código do vento e colocar no jogador, substituindo o place_metting(x,y,obj_player) por place_metting(x,y,obj_vento).
Se o jogador esta aqui{
Desligou a gravidade
}se não estiver{
Ligo a gravidade
}
Por se tratar de a variável global, outros objetos podem alterar a qualquer momento, no caso, o vento extra! Afinal, de acordo com o código, ele tem que ligar a gravidade.

O correto é você tirar o código do vento e colocar no jogador, substituindo o place_metting(x,y,obj_player) por place_metting(x,y,obj_vento).
- Ranking :
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :x 1
x 0
x 0
Reputação : 177
Prêmios: 2
: 1
: 1
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 16:54
Se lascar vinians! 
Apareceu aviso de nova mensagem, e eu não ia excluir minha tão elaborada mensagem neh?
De qualquer forma quanto mais ajuda melhor.
Edit: Vá se lascar você também Willy!
FLWS!

Apareceu aviso de nova mensagem, e eu não ia excluir minha tão elaborada mensagem neh?
De qualquer forma quanto mais ajuda melhor.
Edit: Vá se lascar você também Willy!

FLWS!
- Ranking :
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :x 0
x 0
x 0
Reputação : 254
Prêmios: 2
: 1
: 1
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 17:00
Temos aqui em caso curioso... Três respostas com sentido idêntico postadas na mesma hora...
Meu amigo Matheus... Se não for essa a solução, desista do projeto.
Meu amigo Matheus... Se não for essa a solução, desista do projeto.

- Ranking :
Data de inscrição : 25/03/2014
Número de Mensagens : 400
Insígnias de JAM :x 0
x 0
x 0
Reputação : 37
Prêmios: 0
: 0
: 0
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 17:15
Meus queridos colegas,
FICOU MUITO FODA ESSA BAGAÇA!!!!!! UAHShaUsu
Só não teve 4 respostas por que eu não salvei minha última Willy UASHuhuAShuashu
Galera, eu SABIA que tinha que ser problema na lógica!! Aos meus quatro colegas (sim, você também Alex ;) ) fiz a correção e AGORA O BIXO VAI PEGAAAAAAAAAAA!!!!
Valeu maninhos muito obrigado!!!!
FICOU MUITO FODA ESSA BAGAÇA!!!!!! UAHShaUsu
Só não teve 4 respostas por que eu não salvei minha última Willy UASHuhuAShuashu
Galera, eu SABIA que tinha que ser problema na lógica!! Aos meus quatro colegas (sim, você também Alex ;) ) fiz a correção e AGORA O BIXO VAI PEGAAAAAAAAAAA!!!!
Valeu maninhos muito obrigado!!!!
- Ranking :
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :x 0
x 0
x 0
Reputação : 254
Prêmios: 2
: 1
: 1
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 17:17
Uh.... Temos dois Alex aqui. :]
- Ranking :
Data de inscrição : 25/03/2014
Número de Mensagens : 400
Insígnias de JAM :x 0
x 0
x 0
Reputação : 37
Prêmios: 0
: 0
: 0
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 17:19

- Ranking :
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :x 1
x 0
x 0
Reputação : 177
Prêmios: 2
: 1
: 1
Re: [RESOLVIDO] Possível problema com lógica
em Sex 13 Fev 2015, 17:34
Eu tava achando que tu tava louco citando o AlexBosquin. Quando postei minha mensagem, subi e pensei ter só o vinians. Tenho que trocar de óculos kkk
Se lasque também meu xará!
Trancado!
FLWS!
Se lasque também meu xará!
Trancado!
FLWS!
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum