Hola GameMakeros !!
Una duda que me viene a la mente, es como hacer que la puntuación total se publique en una web.
Es decir, al hacer click en un boton, que se publique mediante php o mysql en la web.
¿Como se consigue tal cosa con gml?
Gracias a tod@s
¿O si conoceis alguna forma de publicar los highscores en un listado que esté en una página web?
Hola, se te ha ocurrido buscar un poco,? en la pagina 2 preguntaban lo mismo
http://www.comunidadgm.org/preguntas-y-respuestas/tabla-de-record-(high-score)/
Lo estuve mirando, pero la solución es muy pobre...
Buscaba algo más personalizable.
Integrar MySQL con GML o algo así.
http://gmscoreboard.com/
Mira esa, que en su día estuve probando, pero no me acuerdo en que quedo la cosa.
Lo de integrar MYSQL con GML es mas bien complicado porque generalmente los servidores no admiten conexiones a las bases de datos desde el exterior.
Para poder accederlos lo tienes que hacer a traves de una clase PHP(o similar) alojada en tu servidor.
¿Y sabeis de alguna clase en PHP que funcione bien?
Yo cuando he hecho algo similar lo he hecho yo.
No se si existiran hechas porque al final el nombre de tu base de datos sera diferente al de otros. Los parametros que recibe(en este caso ninguno) los que devuelve( el ranking) etc.
¿Y alguna pista de como hacerlo?
Te explico mas o menos lo que yo suelo utilizar.
En primer lugar tengo un servidor contratado y dentro tengo una base de datos mysql.
Creo una clase php (Conexion.php por ejemplo)
<?php
//Función que nos retornara una conexión con mysqli
function Conectarse(){
//Datos para la conexión con el servidor
$servidor = '******';
$nombreBD = '******' ;
$usuario ='******' ;
$contrasena = '******';
//Creando la conexión, nuevo objeto mysqli
$conexion = new mysqli($servidor,$usuario,$contrasena,$nombreBD);
//Si sucede algún error la función muere e imprimir el error
if($conexion->connect_error){
die('Error en la conexion : '.$conexion->connect_errno.
'-'.$conexion->connect_error);
echo 'error';
}
//Si nada sucede retornamos la conexión
return $conexion;
}
?>
Luego creo la clase que va a devolver los scores.
<?php
//agreggo la clase anterior
include 'Conexion.php';
//ejecuto el metodo conectarse y lo meto la variable link
$link=Conectarse();
//ejecuto la query
$result=mysqli_query($link,"SELECT nombre, score FROM scores");
//compruebo si hay lineas sino devuelvo un -1
$row_cnt = $result->num_rows;
if ($row_cnt == 0) {
echo json_encode(array('r'=>-1));
}else{
//meto el resultado en unbjeto JSON que es lo que devuelvo.
$data = array();
while($row = $result->fetch_assoc()){
$data[] = $row;
}
echo json_encode($data);
}
?>
Esto es lo que uso. No se si es lo mejor. Pero es lo unico que conozco :D
Espero que te sirva de ayuda.
El problema no es el mostrar la informacion de la BD en PHP, sino ¿como pasar los puntos conseguidos en el juego a la base de datos?
Seria lo mismo solo que pasando parametros mediante la funcion http_get de game maker y recogiendolos en la clase php para crear la Insert.