Problema com EnemyStateChase.
Enviado: Ter Abr 27, 2021 7:24 pm
Bom, até ontem estava tudo bem o código funcionava muito bem, mas hoje quando resolvo iniciar o jogo, esse erro aparece. Já tentei fazer de tudo, mas não resolve nada, vou anexar o código e a imagem do erro também.
(Código inimigo para perseguir o jogador)
script_execute (get_input)
#region MANUSEIO
var move = key_right - key_left
hspd = mover * spd;
vspd = spd + grv;
if (hspd! = 0) image_xscale = sign (hspd) * 2.5 // Toque no caractere
// COLISÃO HORIZONTAL
if place_meeting (x + hspd, y, obj_wall)
{
while (! place_meeting (x + sinal (hspd), y, obj_wall))
{
x = x + sinal (hspd);
}
hspd = 0;
}
x = x + hspd
// COLISÃO VERTICAL
if place_meeting (x, y + vspd, obj_wall)
{
while (! place_meeting (x, y + sinal (vspd), obj_wall))
{
y = y + sinal (vspd);
}
vspd = 0;
}
y = y + vspd
#endregion
if (hspd! = 0) image_xscale = sinal (hspd); // Mudar de lado
vir = sinal (obj_player.x - x)
hspd = come * 4;
if distance_to_object (obj_player)> distance
{
estado = EnemyState.Idle;
}
se distance_to_object (obj_player) <30
{
estado = EnemyState.Attack;
}
(Código inimigo para perseguir o jogador)
script_execute (get_input)
#region MANUSEIO
var move = key_right - key_left
hspd = mover * spd;
vspd = spd + grv;
if (hspd! = 0) image_xscale = sign (hspd) * 2.5 // Toque no caractere
// COLISÃO HORIZONTAL
if place_meeting (x + hspd, y, obj_wall)
{
while (! place_meeting (x + sinal (hspd), y, obj_wall))
{
x = x + sinal (hspd);
}
hspd = 0;
}
x = x + hspd
// COLISÃO VERTICAL
if place_meeting (x, y + vspd, obj_wall)
{
while (! place_meeting (x, y + sinal (vspd), obj_wall))
{
y = y + sinal (vspd);
}
vspd = 0;
}
y = y + vspd
#endregion
if (hspd! = 0) image_xscale = sinal (hspd); // Mudar de lado
vir = sinal (obj_player.x - x)
hspd = come * 4;
if distance_to_object (obj_player)> distance
{
estado = EnemyState.Idle;
}
se distance_to_object (obj_player) <30
{
estado = EnemyState.Attack;
}