Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: quiero aprender en Enero 25, 2015, 07:34:22 PM

Título: Checar la hora mediante una pagina web
Publicado por: quiero aprender en Enero 25, 2015, 07:34:22 PM
Hola que tal?
Estoy creando un juego actualizable no me refiero a subirlo a google play y que lo descarguen porque es muy tedioso y además tengo que estar al tanto de ello. Me refiero a que yo cree una pagina web en la cual mi juego siempre lea la fecha y sepa por ejemplo que la pagina este en 30 de abril que es el dia del niño Game maker sepa leer esa fecha y que el juego de la temática de ese dia festejado. Ahora las preguntas
¿Qué pagina puede leer game maker studio para saber la fecha? y ¿Cómo transportar la fecha a game maker studio?

Si se como leer la fecha desde el dispositivo pero si hiciera eso se meterían a ajustes y cambiarian la fecha y no quiero que pase eso por eso desde una pagina web no lo pueden modificar.

Gracias, espero tu respuesta  :)
Título: Re:Checar la hora mediante una pagina web
Publicado por: Wadk en Enero 25, 2015, 08:11:53 PM
Bueno... hay servidores que se dedican exclusivamente a proveer la hora (e.g. 0.pool.ntp.org), pero...
No creas que porque uses un servidor va a ser "seguro" automáticamente. Un usuario que quiera falsificar la hora actual va a poder hacerlo.
La única forma en que lo podrías hacer realmente seguro sería usando una buena encripción como SSL, pero no sé si vas a encontrar un servidor que provea la hora y que soporte encripción, y si lo encontrás no va a ser fácil escribir el protocolo para establecer una comunicación encriptada con GML... Y aún si lograras eso, el jugador todavía puede editar la hora con Cheat Engine o algo similar. Evitar eso ya agrega un orden de magnitud extra a la complejidad del juego.

Lo que te tenés que preguntar es, ¿realmete es TAN importante que el juego siempre sepa la hora correcta? Si un jugador quiere hacer "trampa," ¿por qué no le dejás?
Título: Re:Checar la hora mediante una pagina web
Publicado por: quiero aprender en Enero 25, 2015, 08:18:07 PM
Cita de: Wadk en Enero 25, 2015, 08:11:53 PM
Bueno... hay servidores que se dedican exclusivamente a proveer la hora (e.g. 0.pool.ntp.org), pero...
No creas que porque uses un servidor va a ser "seguro" automáticamente. Un usuario que quiera falsificar la hora actual va a poder hacerlo.
La única forma en que lo podrías hacer realmente seguro sería usando una buena encripción como SSL, pero no sé si vas a encontrar un servidor que provea la hora y que soporte encripción, y si lo encontrás no va a ser fácil escribir el protocolo para establecer una comunicación encriptada con GML... Y aún si lograras eso, el jugador todavía puede editar la hora con Cheat Engine o algo similar. Evitar eso ya agrega un orden de magnitud extra a la complejidad del juego.

Lo que te tenés que preguntar es, ¿realmete es TAN importante que el juego siempre sepa la hora correcta? Si un jugador quiere hacer "trampa," ¿por qué no le dejás?
Es que quiero poner una zona de eventos y cada vez que sea una fecha importante salga el botón para jugar

y por eso no quiero que hagan trampa  :)
Se que no hay un juego seguro pero por ejemplo clash of clash o sepa como se llame es un juego de tiempo y tiene que verificar la hora via internet y no lo puedes hacer con un cheat eninge.
Título: Re:Checar la hora mediante una pagina web
Publicado por: Killer en Enero 25, 2015, 09:47:25 PM
Usa las funciones asyncronimas de http del GM para adquirir la hora de http://www.timeapi.org/utc/now

Luego utiliza las funciones de string para separar los valores de año, mes, dia, hora, minuto y segundo.

Ten en cuenta que http://www.timeapi.org/utc/now da la hora en UTC.
Título: Re:Checar la hora mediante una pagina web
Publicado por: quiero aprender en Enero 25, 2015, 10:47:01 PM
Cita de: Killer en Enero 25, 2015, 09:47:25 PM
Usa las funciones asyncronimas de http del GM para adquirir la hora de http://www.timeapi.org/utc/now

Luego utiliza las funciones de string para separar los valores de año, mes, dia, hora, minuto y segundo.

Ten en cuenta que http://www.timeapi.org/utc/now da la hora en UTC.

¿Pero como lo ago?
Bueno creo que es asi luego me dices si me equiboco o que puedo hacer o mejorar no se como enrealidad dejo este código pero esto no funciono

en el evento créate:
url= http_get("http://www.timeapi.org/utc/now ")
alarm[0]=30

en el evento HTTP:

var result,evid;

evid=ds_map_find_value(async_load,id)

switch(evid)
{
case url:
result=ds_map_find_value(async_load,"result")
file = file_text_open_write("Tiempo")
file_text_write_string(file,result)
file_text_close(file)
}
if file_exists('Tiempo')
{
ini_open('Tiempo')
global.hora=ini_read_string('Tiempo','Fecha',"")
ini_close()
}

Y en alarm 0:

instance_create(0,0,obj_drawn)
//Este objeto es para dibujar la hora

Título: Re:Checar la hora mediante una pagina web
Publicado por: Wadk en Enero 25, 2015, 11:20:59 PM
Cita de: quiero aprender en Enero 25, 2015, 08:18:07 PM
Es que quiero poner una zona de eventos y cada vez que sea una fecha importante salga el botón para jugar

y por eso no quiero que hagan trampa  :)
Se que no hay un juego seguro pero por ejemplo clash of clash o sepa como se llame es un juego de tiempo y tiene que verificar la hora via internet y no lo puedes hacer con un cheat eninge.
Ya te digo, a no ser que hagas la transferencia via una conexión encriptada (y tomes medidas para protección contra programas como Cheat Engine), el jugador va a poder hacer trampa.