Página 1 de 1
ERROR MOUSECLICK
Enviado: Dom Abr 30, 2023 5:12 pm
por Z3US4000
Ola(novamente)estou com um problema onde eu tento entrar numa room duplicada que eu fiz mas nao da certo e da aquele erro com uma tela branca dizendo que a minha variavel "MouseClick" no step do player nao esta sendo lida e nao sei o motivo, queria saber se poderiam me ajudar.Codigo abaixo:
codigos do player:
if(global.MouseClick)
{
x= lerp(x, global.posMouseX, 0.05);
}
x= clamp(x,128,355);
e so acontece na room duplicada, eu tbm dupliquei o obj_control o codigo dele esta abixo:
step:
global.posMouseX= mouse_x;
global.MouseClick= mouse_check_button(mb_left);
mpecorridos++;
if(mpecorridos > 1000 and mpecorridos < 2000)
{
kmfaltantes= 2;
}
else if(mpecorridos > 2000 and mpecorridos < 3000)
{
kmfaltantes= 0;
}
else if(mpecorridos > 3000)
{
kmfaltantes= 0;
}
Re: ERROR MOUSECLICK
Enviado: Dom Abr 30, 2023 9:52 pm
por Chuaschinai
Provavelmente porque a variável global.MouseClick não foi inicializada a tempo, para que o
if do objeto controle o pudesse checar, se você inicializar ela no Event Create do objeto, ou em um script separado, vai funcionar normalmente, pois as variáveis globais e macros são lidas antes do jogo iniciar, porém como esta no
step ele precisa de pelo menos um frame do jogo para inicializar, e é quando ocorre o erro.
Uma dica, você pode pode usar o
mouse_check_button com macros é mais simples, e não precisa do global, e não precisara checar ele a todo momento no
step igual o global.MouseClick que você fez, veja:
Macros são inicializadas ou no Create ou em Scripts tambem para evitar problemas, não precisa do sinal de igual para atribuir e nem ponto e virgula no final pois causa erro, e para utiliza-lo é so usar igual o global.MouseClick:
Re: ERROR MOUSECLICK
Enviado: Seg Mai 01, 2023 11:06 am
por Z3US4000
Ola n deu certo(infelizmente) apareceu a mesma mensagem e agora esta dando erro na sintaxe no step do obj_control2:
else if(mpecorridos > 3000)
{
kmfaltantes= 0;
} <<< dando erro aqui,n sei porq?
e eu coloquei numa script separada e criei ate um creat para botar o macro mas nao deu certo.
obg pela ajuda
Re: ERROR MOUSECLICK
Enviado: Seg Mai 01, 2023 11:52 am
por Chuaschinai
Você consegue postar o código de ambos os objetos aqui, para que eu possa dar uma olhada?.
Lembrando que se você for utilizar a macro não precisa utilizar o global, pois se ambos estiveram com o mesmo nome da erro tambem.
Re: ERROR MOUSECLICK
Enviado: Seg Mai 01, 2023 2:22 pm
por Z3US4000
step do obj_control:
global.posMouseX= mouse_x;
global.MouseClick= mouse_check_button(mb_left);
mpecorridos++;
if(mpecorridos > 1000 and mpecorridos < 2000)
{
kmfaltantes= 1;
}
else if(mpecorridos > 2000)
{
kmfaltantes= 0;
}
step do obj_control2:
global.posMouseX= mouse_x;
global.MouseClick= mouse_check_button(mb_left);
mpecorridos++;
if(mpecorridos > 1000 and mpecorridos < 2000)
{
kmfaltantes= 2;
}
else if(mpecorridos > 2000 and mpecorridos < 3000)
{
kmfaltantes= 1;
}
else if(mpecorridos > 3000)
{
kmfaltantes= 0;
}
Re: ERROR MOUSECLICK Tópico resolvido
Enviado: Seg Mai 01, 2023 4:15 pm
por Chuaschinai
Colocando o global.MouseClick= mouse_check_button(mb_left); previamente em um script deve funcionar independente da room, pois as variáveis globais não depende de room, então estarão sempre acessíveis de qualquer lugar.
Quando colocar em um script não precisa colocar dentro da função do script, deixar ela somente solta fora de um função, pois se estiver dentro de um função precisara chamar a função para iniciar a variável.