Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - bygdle

736
Noticias / Re:Concurso Comunidad Game Maker 2016
Febrero 12, 2016, 04:33:27 AM
Cita de: Zardon00Games en Febrero 12, 2016, 04:06:47 AM
toy chavo solo tengo 14 años y muy buenas calificaciones en la secundaria :3

Y qué con eso? xD
737
Cita de: AppCore1 en Febrero 10, 2016, 03:43:16 AM
Igualmente voy a tratar de buscar una respuesta a esta cosa... :)

Sí, te recomiendo que lo hagas. Usa el buscador del foro, ya que este tema ha sido preguntado (y respondido) por otros usuarios (me incluyo xD) varias veces
738
Cita de: djboro88 en Febrero 10, 2016, 12:08:41 AM
>:( No consigo, ni que muestre los mensajes ni que salte errores.

Lo del servidor me interesa que sea en hosting (es de pago). Ya que en el futuro me conviene este metodo.
¿Podrias adjuntar el proyecto modificado? Ya no se que hago mal.

Vuelvo a adjuntar el proyecto junto con el PHP de usuarios, porque no veo donde estan los fallos.

Ya lo tienes bien! xD
Sólo cambia el evento de alarma por el que quieras activarlo, por ejemplo Press <enter>, y en el alarma debería ir esto:
[gml]
if stats == 0
show_message(result);
[/gml]

Sobre el servidor, me refería a las pruebas, haz las pruebas en un servidor local. Porque con el hosting, entre prueba y prueba te quedarás sin ancho de banda xD
739
Desde el momento de abrir tu proyecto veo tus errores:

1)- Tenías el código que llama a PHP (del obj_logueo) en una alarma, la cual NUNCA se activaba.
2)- En ninguna parte mostrabas la respuesta que habías recibido, así que es lógico que nunca hayas visto las respuestas
3)- En el script PHP haces la consulta con MySQLi, pero cuentas los datos recibidos con MySQL, además de que hay un error de sintaxis en la consulta. Puede que eso cause problemas
4)- Tienes mal el código en HTTP xD, tienes esto:
[gml]
if (ds_map_find_value(async_load,"user")) == ID
[/gml]
Cuando debería ser esto:
[gml]
if (ds_map_find_value(async_load,"id")) == ID
[/gml]

FAIL xD


Ahora, me encargué de hacer pruebas con tu proyecto, e hice estos cambios:

1)- El evento alarm 0 del obj_logueo lo cambié por evento Press <enter>. Y cambié tus códigos por esto:
[gml]
//Press enter event
user = "djboro88";
ID = http_post_string("http://www.salvadorreyes.es/juego/usuario.php","user=" + user);
alarm[0] = room_speed;
[/gml]

En el Create puse estas variables:
[gml]
ID = -1;
stats = -1;
result ="";
[/gml]

Y el evento HTTP, el que más buggeado estaba xD:
[gml]
if (ds_map_find_value(async_load,"id")) == ID
{
stats = ds_map_find_value(async_load,"status");
result = ds_map_find_value(async_load,"result");
}
[/gml]

Ahora, recibo respuesta de tu servidor, pero veo que tu script PHP está mal programado, puesto que recibo un error de parte de PHP:


Lo que me indica que estoy en lo correcto respecto al punto #3 de los errores que encontré.
Decidí probar en un servidor local un script que hice similar al tuyo, pero con los arreglos que debería tener. Lo dejé así:

<?php
$conex 
mysqli_connect("localhost","root","");
mysqli_select_db($conex,"usuarios");
if (isset(
$_POST['user']) and !empty($_POST['user']))
 {
$select mysqli_query($conex,"SELECT * FROM usuarios WHERE user='".$_POST['user']."'");
if (!$select)
echo mysqli_error($conex);
if (mysqli_num_rows($select) > 0)
 {
 echo 'El usuario '.$_POST['user']." existe";
 }
else
echo 'El usuario '.$_POST['user']." no existe";
 }
else
echo 'Error';
?>



Probé con mis bases de datos, y todo funcionó hermosamente de maravilla  :love:

PD: no seas tan cruel con tu web, no hagas pruebas en ella, usa un servidor local xDDDD
740
¿Por qué no te sirve? Porque estás usando mal el evento HTTP. Revisa el artículo que hice donde enseño a recibir datos de PHP correctamente y te darás cuenta de cuál es tu error:
http://www.comunidadgm.org/articulos/crea-tu-juego-online-tutorial-php-mysql-gml-(programacion)/msg121459/#msg121459

Lo que pasa es que no estás recogiendo lo que envía PHP en ninguna parte, por lo que las respuestas quedan en el aire
741
Las mayúsculas son mi pan diario.
Escribo los nombres con una o dos letras que identifiquen el tipo de recurso, seguido de el nombre del recursdo (en mayúscula la primera):
oPlayer, snMusic, sWall, fnText, ptCamino.

Excepto con los scripts, que los hago como funciones normales, sin mayúsculas y con muchos guiones bajos: este_es_un_script_x_d();
742
Preguntas y respuestas / Re:reloj
Febrero 08, 2016, 01:27:41 AM
Usa las funciones de hora y fecha que trae GMS. Sólo te dejo enlaces puesto que jamás las he usado:

http://docs.yoyogames.com/source/dadiospice/002_reference/date%20and%20time/date_current_datetime.html
743
Propuestas y soporte / Re:Se puede hacer algo asi?
Febrero 07, 2016, 07:57:15 PM
Sí, se puede hacer ;)
744
¿Por qué no te sirve como lo haces? Porque los identificadores de sprites no son cadenas de texto, son constantes que equivalen a números identificadores de sprites.

¿Cómo lo arreglas?. Bueno, se me ocurre una idea: ds_maps. Ya que la llave de una ds_map sí es "llamable" por medio de strings, puedes usarlas para almacenar en una llave con el nombre de un sprite, el identificador del mismo sprite. La forma en la que lo podrías hacer es algo así:
[gml]
/*
Vamos a crear una simple array con los nombres de cada sprite del jugador:
*/
var sprites;
sprites[0] = spr_correr_1;
sprites[1] = spr_correr_2;
sprites[2] = spr_saltar_1;
sprites[3] = spr_saltar_2;
sprites[4] = spr_caminar_1;
sprites[5] = spr_caminar_2;

//Y crearemos una lista que almacenará el identificador del sprite en una llave que es el nombre del mismo:

los_sprites = ds_map_create();

//Añadimos los valores:
for(var i=0; i < array_lenght_1d(sprites);i++)
{
ds_map_add(los_sprites, sprite_get_name(sprites), sprites);
}
[/gml]

Así tienes la primera parte. Y cuando quieras llamar al sprite dependiendo de una variable, haces así:

[gml]
var variable = 2;
sprite_index = los_sprites[? 'spr_caminar_' + string(variable) ];
[/gml]

Ya después tú podrás modificarlo como desees, yo sólo te dí la idea ;D
745
Preguntas y respuestas / Re:Sistema de atrapado
Febrero 07, 2016, 04:02:51 PM
No me voy a leer tu código porque me quedo ciego, ¿Por qué no encierras tu código con las etiquetas [gml] y [/gml] para no quedar ciego leyéndolo? XD

Bueno, las collision_line() siguen funcionando para lo que quieres, podrías hacer esto:
[gml]
var distancia = 128; //La distancia a la que podrá "ver" al jugador, este número quiere decir que podrá ver al jugador a 128px a la izquierda o a la derecha
var jugador = obj_jugador; //El objeto jugador xD

if jugador.x < x //Si el jugador está a la izquierda del enemigo
{
   if collision_line(x,y,x-distancia,jugador,false,true) //Si "ve" al jugador
    {
      speed = -10; //Sale corriendo a la izquierda con una velocidad de 10
      sprite_index = spr_izquierda_corriendo; //Se cambia el sprite al de correr a la izquierda
    }
}
else //de lo contrario
{
   if collision_line(x,y,x+distancia,jugador,false,true) //Si "ve" al jugador
    {
      speed = 10; //Sale corriendo a la derecha con una velocidad de 10
      sprite_index = spr_derecha_corriendo; //Se cambia el sprite al de correr a la derecha
    }
}
[/gml]

No te voy a decir en qué objeto va este código, eso te lo dejo a tí de tarea. Lo que si te digo es que va en un evento que se ejecute contínuamente, a ver si le pillas :B
746
Preguntas y respuestas / Re:Sistema de atrapado
Febrero 07, 2016, 01:19:24 AM
¿Has visto cómo se hacen los huevos revueltos? Bueno, pues de esa misma forma quedó tu post desde la tercera hasta la penúltima línea  XD
¿Qué te entendí? La penúltima línea, creo que quieres hacer algo similar a esto:


¿Cómo lo haces? Pues nunca lo he hecho, pero podrías intentar usar una collision_line() para saber si hay algún "obstáculo" entre el "malo" y el "bueno", y de ser así, que el malo no siga al bueno porque "no lo ve", como se muestra en el GIF
747
Intenta agregar esto a tu código de movimiento:
[GML]
if keyboard_check(vk_space) and !place_free(x,y+1) //si se presiona <space> y no está en el aire
vspeed = -10; //Mover arriba :B
[/GML]
748
Para hacer eso, el sprite debe ser de color BLANCO. Lo blanco es lo que se coloreará, y los tonos de grises también, pero con más opacidad. Por ejemplo, tienes un cuadro blanco con degradado gris, y si lo pintas de azul, se verá azul con degradado de azul más oscuro.

Para colorear el sprite debes usar la función draw_sprite_ext(spr,img,x,y,xscale,yscale,rot,col,alpha). Donde spr es el identificador del sprite, img es el número de la subimagen que se dibujará, x & y pues la posicion, xscale & yscale son la escala del sprite, rot es su rotación (en ángulos), col es EL COLOR CON EL QUE SE DIBUJARÁ TU SPRITE, y alpha es la opacidad.... Saludos :B
749
Joder, ¿sabía que una de las ventajas de la internet es que puedes buscar información fácilmente? ¿y que la forma más eficiente para hacerlo comienza con B de BUSCADOOOOOOOOOOOOOMELAPELANOOOORRRRRLASPREGUNTASOOOOOOORRRRREPETIDASOOOORRRR? xD

Poniéndonos serios xD, la única forma de hacer esto es con PHP y MySQL. Así que debes tener conocimientos de estos dos lenguajes ya que TODO el proceso de registro y demás se ejecuta en el servidor con PHP y SQL.
esta es la decimoquinta vez que tengo que spamear mi artículo porque la gente sigue preguntando lo mismo xD. Hace no mucho hice un pequeño tutorial donde explico como conectar un script PHP con Game Maker Estudio, dale una pasada y verás que no es muy difícil:

http://www.comunidadgm.org/articulos/crea-tu-juego-online-tutorial-php-mysql-gml-(programacion)/

PD: maldito autocorrector de los móviles xD
750
"Quiero aprender" (usuario xD), no se ha preguntado una resolución buena para los dispositivos, para eso ya se ha preguntado 10.000 veces más xD
PD: La resolución que tú usas también está algo mal dimensionada, deberías usar resoluciones 16:9, como 640*360 xD