Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: minordioso en Agosto 30, 2018, 11:38:04 AM

Título: Problemas de Programacion
Publicado por: minordioso en Agosto 30, 2018, 11:38:04 AM
Tengo otro problema de programacion, Me dice que espera una parentesis o un simbolo en medio de una O os marco en negrita y rojo donde.
///Desplazamiento
var KeyLeft, KeyRight, KeyJump, KeyJumpRelease;

KeyLeft        = -keyboard_check(vk_left);
KeyRight       = keyboard_check(vk_right);

KeyJump        = keyboard_check_pressed(ord('x'));
KeyJumpRelease = keyboard_check_released(ord('x'))

//Comprobacion de Colisiones

IntColLeft  = place_meeting(x - 1, y, Obj_Suelo);
IntColRight = place_meetin//Velocidad Horizontalg(x +1, y, Obj_Suelo);
BolGround   = place_meeting(x, y + 1 Obj_Suelo);

IntMove     = KeyLeft + KeyRight;


if (IntMove !=0) IntVX = ScrApproach(IntVX, IntVXMax + IntMove, IntTempAce);
else IntVX =ScrApproach(IntVX, IntVXMax + IntMove, IntTempAce);

//Definir aceleracion y friccion en funcion del medio
if (!bolground)
{
   IntTempAce = IntAirAce;
   IntTempFric = IntAirFric;
}
else
{
    IntTempAce = IntGroundAce;
    IntTempFric =IntGroundFric;
}

//Colision horizontal
repeat(abs(IntVX))
    {
    if  (!place_meeting(x + IntVX, y, Obj_Suelo))
    {
    x += IntVX
    }
    else
    {
        IntVX =0;
        break;
    }
}
Título: Re:Problemas de Programacion
Publicado por: empardopo en Agosto 30, 2018, 11:51:08 AM
Para mí que en esta línea te falta una coma ","

BolGround   = place_meeting(x, y + 1 Obj_Suelo);

creo que debería ser

BolGround   = place_meeting(x, y + 1, Obj_Suelo);

Saludos
Título: Re:Problemas de Programacion
Publicado por: dixon2010 en Agosto 30, 2018, 09:32:41 PM
Hola buenas tardes.

Lo que dice empardopo es cierto y aqui hay otro error

Esto es incorrecto
IntColRight = place_meetin//Velocidad Horizontalg(x +1, y, Obj_Suelo);

Esto es correcto
IntColRight = place_meeting(x +1, y, Obj_Suelo); //Velocidad Horizontal
Título: Re:Problemas de Programacion
Publicado por: minordioso en Agosto 31, 2018, 10:52:11 AM
Ok, ya Arregle los errores pero ahora al iniciar el juego para probarlo me sale otro error mas

FATAL ERROR in
action number 1
of  Step Event0
for object Obj_Player:

Push :: Execution Error - Variable Get -1.IntTempAce(100019, -1)
at gml_Object_Obj_Player_Step_0 (line 20) - else IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce);


El codigo es el mismo  :-[

PD: Díxon, el error que tu señalaste lo tenia bien en el código pero por alguna razón salio así de raro al pegarlo aquí.

PD: 2 me acabo de acordar de que hice unos minimos cambios en el codigo, aqui el nuevo.

///Desplazamiento
var KeyLeft, KeyRight, KeyJump, KeyJumpRelease;

KeyLeft        = -keyboard_check(vk_left);
KeyRight       = keyboard_check(vk_right);

KeyJump        = keyboard_check_pressed(ord('x'));
KeyJumpRelease = keyboard_check_released(ord('x'))

//Comprobacion de Colisiones

IntColLeft  = place_meeting(x - 1, y, Obj_Suelo);
IntColRight = place_meeting(x + 1, y, Obj_Suelo);
BolGround   = place_meeting(x, y + 1, Obj_Suelo);

IntMove     = KeyLeft + KeyRight;

//Velocidad Horizontal
if (IntMove !=0) IntVX = ScrApproach(IntVX, IntVXMax * IntMove, IntTempAce);
else IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce);

//Definir aceleracion y friccion en funcion del medio
if (!bolground)
{
   IntTempAce = IntAirAce;
   IntTempFric = IntAirFric;
}
else
{
    IntTempAce = IntGroundAce;
    IntTempFric =IntGroundFric;
}

//Colision horizontal
repeat(abs(IntVX))
    {
    if  (!place_meeting(x + IntVX, y, Obj_Suelo))
    {
    x += IntVX
    }
    else
    {
        IntVX =0;
        break;
    }
}


Título: Re:Problemas de Programacion
Publicado por: empardopo en Agosto 31, 2018, 02:39:46 PM
El error te lo da en la línea 20...

Lo mismo es por el ; que hay de la linea anterior...

//Velocidad Horizontal
if (IntMove !=0) IntVX = ScrApproach(IntVX, IntVXMax * IntMove, IntTempAce);
else IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce);


cambialo a
//Velocidad Horizontal
if (IntMove !=0) IntVX = ScrApproach(IntVX, IntVXMax * IntMove, IntTempAce)
else IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce);


Quedaría más fácil de ver dejándolo así...


//Velocidad Horizontal
if (IntMove !=0) {
    IntVX = ScrApproach(IntVX, IntVXMax * IntMove, IntTempAce)
}
else {
    IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce)
}


que por cierto no entiendo lo hace ese If, ya que en cualquier caso, es decir, para cualquier valor de IntMove siempre vas a darle el mismo valor a IntVX, no?

Saludos
Título: Re:Problemas de Programacion
Publicado por: minordioso en Agosto 31, 2018, 02:51:34 PM
Quite:
//Velocidad Horizontal
if (IntMove !=0) IntVX = ScrApproach(IntVX, IntVXMax * IntMove, IntTempAce);
else IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce);


Y puse:

//Velocidad Horizontal
if (IntMove !=0) {
    IntVX = ScrApproach(IntVX, IntVXMax * IntMove, IntTempAce)
}
else {
    IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce)
}


Y ahora dice que el error esta en la linea 23:
IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce)

Probablemente el error esta en ScrApproach que es un script que hize, lo dejo por aqui por si acaso.

//ScrApproach
if (argument0 < argument1)
   return min (argument0 + argument2, argument1);
else
   return max (argument0 - argument2, argument1);


Título: Re:Problemas de Programacion
Publicado por: zorge en Agosto 31, 2018, 04:26:18 PM
El problema de seguir los tutoriales de the montydrake sin comprenderlos o sin fijarte bien en todo, lleva como norma general a esos problemas, ya que son tutoriales practicamente creados con codigos suyos(escepto algunos que coge y modifica de otros como shaun palding etc)te recomiendo que veas de nuevo los tutoriales e intentes fijarte en que hizo pero sobre todo en porque lo hizo ya que en un futuro ademas de saber copiar sabras entender por ti mismo el origen de esos problemas.
Título: Re:Problemas de Programacion
Publicado por: empardopo en Agosto 31, 2018, 04:53:28 PM
Qué dice el error exactamente?
Seguro que el script se llame tal cual lo estás llamando.

Saludos
Título: Re:Problemas de Programacion
Publicado por: minordioso en Agosto 31, 2018, 07:08:24 PM
Aqui tienes el error, espero que esto se resuelva rapido. FATAL ERROR in
action number 1
of  Step Event0
for object Obj_Player:

Push :: Execution Error - Variable Get -1.IntTempAce(100019, -1)
at gml_Object_Obj_Player_Step_0 (line 23) -     IntVX = ScrApproach (IntVX, IntVXMax * IntMove, IntTempAce)
ese es el error.

PD: Gracias por la opinion zorge, intentare ver el error y fijarme mas en lo que dice para ver cual es el error

Título: Re:Problemas de Programacion
Publicado por: empardopo en Agosto 31, 2018, 07:20:26 PM
Uff, la verdad es que no sé si mis conocimientos alcanzan , jeje.

Podría ser que la variable IntTempAce no está definida?

En el código del primer post ponías esto...


if (IntMove !=0) IntVX = ScrApproach(IntVX, IntVXMax + IntMove, IntTempAce);
else IntVX =ScrApproach(IntVX, IntVXMax + IntMove, IntTempAce);

//Definir aceleracion y friccion en funcion del medio
if (!bolground)
{
   IntTempAce = IntAirAce;
   IntTempFric = IntAirFric;
}
else
{
    IntTempAce = IntGroundAce;
    IntTempFric =IntGroundFric;
}


cambia el orden a ver si suena la flauta...



//Definir aceleracion y friccion en funcion del medio
if (!bolground)
{
   IntTempAce = IntAirAce;
   IntTempFric = IntAirFric;
}
else
{
    IntTempAce = IntGroundAce;
    IntTempFric =IntGroundFric;
}

if (IntMove !=0) IntVX = ScrApproach(IntVX, IntVXMax + IntMove, IntTempAce);
else IntVX =ScrApproach(IntVX, IntVXMax + IntMove, IntTempAce);


De esta forma cuando llegues a llamar al script IntTempAce sí o sí tendría un valor aunque claro, habrá que ver si no te da otro error porque IntAirAce o IntGroundAce no estén definidas, jeje.

Prueba a ver.

Saludos
Título: Re:Problemas de Programacion
Publicado por: minordioso en Agosto 31, 2018, 07:36:48 PM
No funciono, aqui te dejo el error por si lo quieres ver
FATAL ERROR in
action number 1
of  Step Event0
for object Obj_Player:

Push :: Execution Error - Variable Get -1.bolground(100019, -1)
at gml_Object_Obj_Player_Step_0 (line 22) - if (!bolground)


De todas formas esto era para la acelerzion del personaje, no creo que sea tan importante. lo borro y sigo con el proyecto.
Título: Re:Problemas de Programacion
Publicado por: Clamud en Septiembre 01, 2018, 05:49:07 AM
El problema es que algunas variables no están definidas. Lo mejor es declararlas en el evento Create antes de utilizarlas en otra parte del código.