Estoy intentando con GM:S abrir una web desde el propio juego como se podia hacer en GM8, y no soy capaz de hacerlo, ¿que forma hay ahora de hacerlo?

En Game Maker: Studio es imposible abrir webs internas en el juego. La única forma de hacerlo es usando una extensión que emula un visor HTML. Pero esta extensión sólo funciona si usas el módulo de exportación HTML5, y según tengo entendido, no funciona más en las últimas versiones.
I can see you, and I can see into your mind.

Cita de: Undefined en Enero 29, 2016, 07:29:17 PM
En Game Maker: Studio es imposible abrir webs internas en el juego. La única forma de hacerlo es usando una extensión que emula un visor HTML. Pero esta extensión sólo funciona si usas el módulo de exportación HTML5, y según tengo entendido, no funciona más en las últimas versiones.

¿Y como podria mostrar el ranking online que tengo hosteado en mi web en mi juego? osea, yo lo que tenia en el proyecto del GM8 era para que los datos del score se subieran mediante php a un archivo que tengo en mi web, que este muestra una lista de ranking con los que mas score tienen

Aquí llegó el spammer xD ;D
Puedes seguir usando PHP como lo hacías en GM8, pero la forma de recibir los datos es muy diferente ahora.
La única manera de recibir información de la web es con eventos asíncronos, y funciones que envíen peticiones de datos a las web.

Es en serio, no es que me guste hacer spam, pero es el mejor texto que conozco para enseñar a hacerlo.
He hecho un tutorial hace un tiempo, y lo que te interesa se encuentra en la segunda parte de el mismo. "Recibiendo datos de PHP" es el nombre de la segunda parte, y si eres algo bueno con el GML, ya te las sabrás areglar para hacer muchas peticiones simultáneamente para recibir todos los puntajes.

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

Pero ojo. Ya tendrás que idear una forma de que el PHP envíe todos los rankings en una sola petición, porque si haces una petición par cada dato, te vas a comer el ancho de banda de tu web en 20 minutos xD
alaberga regué el café.

BA:STFW&RTFM

resumiendo lo que dice Niu, en vez de plasmar la tabla plasmando la web en un "navegador interno", mejor haz que gm descargue los datos de la tabla y en el juego con esos datos formas tú mismo una tabla, sin necesidad de plasmar una web, ni extensiones ni nada... eso sí, BÁJATE EL GAME MAKER STUDIO!!! :B
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Cita de: kostra en Enero 29, 2016, 07:51:55 PM
resumiendo lo que dice Niu, en vez de plasmar la tabla plasmando la web en un "navegador interno", mejor haz que gm descargue los datos de la tabla y en el juego con esos datos formas tú mismo una tabla, sin necesidad de plasmar una web, ni extensiones ni nada... eso sí, BÁJATE EL GAME MAKER STUDIO!!! :B

Lee bien la pregunta, él YA tiene el GMS xD
alaberga regué el café.

BA:STFW&RTFM

Cita de: NiuWeb en Enero 29, 2016, 07:42:34 PM
Aquí llegó el spammer xD ;D
Puedes seguir usando PHP como lo hacías en GM8, pero la forma de recibir los datos es muy diferente ahora.
La única manera de recibir información de la web es con eventos asíncronos, y funciones que envíen peticiones de datos a las web.

Es en serio, no es que me guste hacer spam, pero es el mejor texto que conozco para enseñar a hacerlo.
He hecho un tutorial hace un tiempo, y lo que te interesa se encuentra en la segunda parte de el mismo. "Recibiendo datos de PHP" es el nombre de la segunda parte, y si eres algo bueno con el GML, ya te las sabrás areglar para hacer muchas peticiones simultáneamente para recibir todos los puntajes.

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

Pero ojo. Ya tendrás que idear una forma de que el PHP envíe todos los rankings en una sola petición, porque si haces una petición par cada dato, te vas a comer el ancho de banda de tu web en 20 minutos xD

Wow... impresionante post que hiciste, me viene bien ya que el php se lo básico muy basico, así que podre mejorar un poco en PHP xD. Por otro lado, pienso que por lógica tendría que crear un archivo un tanto diferente al que tengo ahora para que envié los datos, ya que la forma ahora sera diferente, entonces, debo leer la primera parte también, ¿no?

Y sobre lo ultimo mencionado.. el host que uso actualmente es gratuito pero según lei antes de crear la cuenta pone que el ancho de banda era sin limites, pero aun asi no quiero que consuma un gran ancho de banda y mas si hubiera bastante gente enviando los datos, y dado que no se apenas de PHP, ¿que forma habría para hacerlo?

Gracias!

#7 Enero 29, 2016, 08:16:39 PM Ultima modificación: Enero 29, 2016, 08:29:25 PM por NiuWeb
Si lo deseas, sí. La primera parte del post habla de publicar registros a una base de datos, pero también hay conceptos que necesitas saber para entender la segunda parte, como el método POST, el GET, y la única sentencia SQL que se usa en el tutorial. En resumen, te recomiendo que lo leas :B

Sobre el ancho de banda, absolutamente todos los proveedores de hosting pago dicen que el ancho de banda es ilimitado, pero eso en realidad es mentira. Tienes mucho, sí, pero no infinito. La razón es que los hostings pagos convencionales son "compartidos", es decir que varias cuentas de hosting (de varios usuarios también) están almacenadas en una misma máquina física (servidor). Si tu "vecino" de servidor se come mucho ancho de banda, tú también te verás afectado, y viceversa.

Y si piensas que tu juego tendrá muchos (pero muchos en verdad xD) usuarios, deberías pensar en contratar un VPS, servidor dedicado, y en el peor de los casos comprarte un servidor físico (bastante costosos por si lo estabas pensando xD).

Sobre cómo podrías mandar todos los datos en una (o al menos pocas) petición, no sé, pero se me ocurre una forma sencilla:

Por el PHP envías una cadena que contenga el texto, y tenga el signo "#" (equivalente a un salto de línea en GM) al final de cada "registro". Algo así:


$sql 
mysql_query("SELECT * FROM puntajes ORDER BY puntos DESC");
$resultado "";

while(
$datos mysql_fetch_array($sql))
 {
$resultado .= $datos['usuario'] . ":" $datos['puntos'] . "#";
 }
echo 
$resultado;


Suponiendo que tienes una tabla con dos filas, y la primera es el nombre del jugador, y la segunda es su puntaje.
El PHP enviaría algo así:

Citar
jugador1:puntos#jugador2:puntos#jugador3:puntos#

Y el GM lo mostraría así:

Citar
jugador1:puntos
jugador2:puntos
jugador3:puntos
alaberga regué el café.

BA:STFW&RTFM

no quiero desvirtuar el tema, pero continuando con la idea de niu, que yo la uso bastante desde hace tiempo, solo tendrias que formatear el texto de una forma x, y si quieres , por ejemplo, sacar varios datos de la string que te retorna el hosting, como para eliminar el texto basura que te añaden siertos host al php(es contigo 000webhost XD ) puedes explotar el string para sacar los diferentes datos. te dejo un script que hace presisamente eso y que explica como usarlo.
no puedo creer que me hice un tumblr.
YGE Productions yep, otro tumblr.
y como no, el manual tambien

#9 Enero 30, 2016, 03:27:20 AM Ultima modificación: Enero 30, 2016, 04:11:18 PM por Undefined
Otra manera, algo más organizada, sería enviar una cadena con estructura de archivos .INI, para que el Game Maker: Studio pudiera leer con mayor facilidad el contenido. La forma de hacerlo sería similar a la que ha ejemplificado NiuWeb, mezclada con el método que mencionó jmbs19, el explode:

$coneccion 
mysqli_connect("host","usuario","pass","basededatos");
$sql mysqli_query($coneccion,"SELECT * FROM puntajes ORDER BY puntos DESC");
$resultado "";
if (
mysqli_num_rows($sql))
{
echo 
'[highscores]';
$n 0;
while(
$datos mysqli_fetch_array($sql))
 {
$n++;
$resultado .= "Highscore".$n."=".$datos['usuario'] . "|" $datos['puntos'] . "
"
;
 }
}
echo 
$resultado;


La que devolvería algo así:
Citar[highscores]
highscore1=Jugador1|puntos
highscore2=jugador2|puntos


Luego sólo leerías la cadena recibida como un archivo .INI con la función ini_open_from_string, y después haces un explode para dividir el nombre del jugador y su puntaje en un array (usando como delimitador el signo "|")
No sé, nunca he probado este método, pero puede funcionar

Otra cosa que me gusta aclarar es que para los desarrolladores nuevos de PHP es recomendable comenzar aprendiendo a usar la extensión MySQLI en vez de MySQL, porque la extensión MySQL está obsoleta (La extensión de PHP, no el MySQL en sí :-[ )
I can see you, and I can see into your mind.

No aclaraste para que plataforma lo quieres hacer. Si en tu caso es Android, la respuesta es que es totalmente posible utilizando la extensión nativa de Android WebView. El problema es que hasta ahora nadie ha creado dicha extensión. Y se necesita mucho conocimiento de java para hacerlo. Ojalá que alguien cree dicha extensión porque a muchos nos serviría.

Con los métodos nombrados anteriormente ni siquiera necesita aclarar para qué plataforma necesita eso. Sólo como apunte dejo que para lo que iNSaNiX en verdad necesita es mucho más cómodo y flexible usar eventos asíncronos y leer la información, en vez de tener pegada una web encima del juego.
Por cierto, dos factores en contra de implantar una webView en GM:
Si no hay conexión a internet, la webView mostrará la típica página de android de "No hay conexión a internet", pero al recibir información por los eventos asíncronos es posible configurar  respuestas a los errores del servidor. Por ejemplo, si no hay conexión a internet puedes mostrar un lindo y amigable mensaje configurado por tí.

Es mucho más pesado para el servidor responder con HTML, tablas y demás cosas para mostrar el contenido que simplemente enviar texto plano "invisible" al usuario, y que este texto plano sea interpretado por el GM para generar cualquier cosa

Habiendo dejado estos apuntes, es mejor que dejemos a iNSaNiX elegir el método que más le convenga.
I can see you, and I can see into your mind.