Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: djboro88 en Mayo 22, 2015, 10:43:28 AM

Título: Highscores online
Publicado por: djboro88 en Mayo 22, 2015, 10:43:28 AM
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
Título: Re:Highscores online
Publicado por: djboro88 en Mayo 25, 2015, 09:36:41 AM
¿O si conoceis alguna forma de publicar los highscores en un listado que esté en una página web?
Título: Re:Highscores online
Publicado por: arcangelcaos en Mayo 25, 2015, 10:35:17 AM
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)/
Título: Re:Highscores online
Publicado por: djboro88 en Mayo 25, 2015, 12:24:53 PM
Lo estuve mirando, pero la solución es muy pobre...
Buscaba algo más personalizable.
Integrar MySQL con GML o algo así.
Título: Re:Highscores online
Publicado por: arcangelcaos en Mayo 25, 2015, 01:42:57 PM
http://gmscoreboard.com/

Mira esa, que en su día estuve probando, pero no me acuerdo en que quedo la cosa.
Título: Re:Highscores online
Publicado por: SanzMan en Mayo 25, 2015, 02:03:34 PM
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.
Título: Re:Highscores online
Publicado por: djboro88 en Mayo 25, 2015, 02:42:02 PM
¿Y sabeis de alguna clase en PHP que funcione bien?
Título: Re:Highscores online
Publicado por: SanzMan en Mayo 25, 2015, 03:12:54 PM
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.

Título: Re:Highscores online
Publicado por: djboro88 en Mayo 25, 2015, 04:12:36 PM
¿Y alguna pista de como hacerlo?
Título: Re:Highscores online
Publicado por: SanzMan en Mayo 27, 2015, 01:05:26 PM
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.
Título: Re:Highscores online
Publicado por: djboro88 en Mayo 27, 2015, 04:59:40 PM
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?
Título: Re:Highscores online
Publicado por: SanzMan en Mayo 29, 2015, 09:11:30 AM
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.