Hola amigos aquí les traigo la forma de como poner tus marcadores y tus logros online con los servicios de Google Services
antes de empezar hay que tomar en cuenta varias cosas:
1-Tener gms con una versión mayor a la 1.1.964, ya que esta versión no trae para activar esos servicios de google, solo trae los de amazon
2-NO SE PUEDE probar el juego en modo de "run the game" o el botón verde!! Ya que nos dará error al conectarse a los servicios de google, solo se puede probar haciendo el .apk y instalarlo en el celular
3-MUY MUY importante tener cuenta en google para desarrolladores
4- Debemos tomar en cuenta que TODOS los siguientes procesos se van a ejecutar mientras el juego sigue, osea es aconsejable poner una pausa o hacerlos en algún momento donde el juego termine y no interfiera con el juego
Vamos a empezar
1-Primero nos vamos a google para desarrolladores y configuramos las opciones de los servicios de google para juegos
(no voy a entrar en detalle de como hacer esto)
2-luego de creado los logros y marcadores y todo eso en los servicios para juegos de google, nos dara una ID la cual es esta
(http://2.bp.blogspot.com/-2UnUfTz_rcY/Uvvq83M6ReI/AAAAAAAAAG0/IHCJ31B6sS0/s1600/tut9284.jpg)
3-copiamos y pegamos este ID en Global Game Settings -> Android-> Social -> Google Services .
(http://2.bp.blogspot.com/-pcsu0yWHcqk/Uvvr5PSj9UI/AAAAAAAAAHA/vvd58IZB3ms/s1600/tut924.jpg)
4-Hacemos un objeto nuevo (yo lo llamare obj_online, y en mi caso lo pondré persistente)
5-Para conectarnos al los servicios de google nada mas necesitamos hacer dos cosas
-comprobar si el usuario tiene acceso a internet
-comprobar si no estamos conectados
si las dos condiciones se cumplen entonces nos conectamos y si ya estamos conectados o no hay servicio no nos conectamos, en mi caso pongo este codigo en el evento create del obj_online
create:
if (achievement_login_status() == false and os_is_network_connected())
{
achievement_login();
}
else
{
achievement_show_achievements();
}
6-Ya estamos conectados a los servicios de google, ahora subiremos los scores o lo logros
para subir el score o puntaje o marcador como quiera llamarlo, debemos poner este código (en mi caso lo pongo en una alarma que la activo cuando el jugador muere) ------- obj_online.alarm[0]=5;-------
if (pausa == true)
{
if (score >= 1)
{
achievement_post_score("ADjfneDF", score);
}
}
donde "ADjfneDF" es el ID del marcador y el score>=1 comprueba que sea mayor a 0 esto para no tener inconvenientes(usted lo puede modificar como guste)
(http://4.bp.blogspot.com/-UBWmGFBasG0/UvvuNedjE9I/AAAAAAAAAHM/_fwysCy_5Hg/s1600/tut119.jpg)
7- para subir los logros tenemos que hacer esto (en mi caso lo pongo en una alarma que la activo cuando oprimo el boton de logros) ------obj_online.alarm[1]=5;-------
if (pausa == true)
{
if (score >= 100)
{
achievement_post("ADjfneDF", 100);
}
}
donde "ADjfneDF" es el ID del logro que queremos poner, 100 es el porcentaje del logro (déjenlo así)
y por ultimo para mostrar los marcadores ponemos este código
achievement_show_leaderboards();
esto nos abrira una ventana donde veremos los scores
achievement_show_achievements();
este codigo nos abrira una ventada donde veremos nuestros logros
Espero poder ayudarlos y si tienen dudas comenten!!!
saludos!!
exelente tutorial se agradece ;D
Muy buena guía Ocarina, pero deberías de poner los créditos del autor que en este caso es "esteemedgames", sinceramente quizás si fuese de otro me daría igual, pero este hombre ayuda a todos a solucionar los problemas con sus videojuegos, y a mi personalmente me ayudo mucho en mi proyecto y creo que merece tener los créditos.
De todos modos muchas gracias por tomarte el tiempo de traducirla y ponerla aquí, dejo la pagina web del autor. Gracias!
http://www.esteemedgames.com/
Nice! ;)
Muchas gracias,estaría mucho mejor si cuando hacen un tutorial o manual comparten un proyecto como demostración en .gmz o lo que sea,esto lo digo en general porque en el foro no veo muchos ejemplos o no se en que sección están.
un saludo y muchas gracias
Muchas gracias por la información.
Tengo una duda sobre los logros: ¿Si un jugador completa un logro yo por código marco el logro como completado pero si lo vuelve a completar y el código lo marca como completado pasa algo o tengo que crear una variable booleana para saber en todo momento si el jugador lo ha completado y si es así no volver a ejecutar el código de "achievement_post("?
amigo la verdad no creo que pase nada!!!
pero mejor seria guardar una variable que sea ejemplo logro1_completado=true;
entonces lo guardas en un ini y ya luego en el codigo pones
if logro1_completado=false
{
achievement_post......
logro1_completado=true;
}
y luego guardas la logro1_completado=true; para que si lo vuelve hacer no lo suba de nuevo
El juego me dá error al intentar logear a los servicios de Google y no soy capaz de solucionarlo. De todas maneras, he comprobado que intenta logear dos veces, una lo hace por su cuenta (supongo que por llevar la ID de google services) y otra por el "obj_online" que hice al igual que en este tutorial, así que le quité el objeto y ya solo intenta logearse una vez, pero sigue fallando.
Sale este error: "failed to sign in, please check your network connection and try again"
(Evidentemente no es por mi conexión, ya lo he probado en diferentes dispositivos y en distintos lugares)
Si alguien sabe a que se puede deber, sería de gran ayuda para terminar de publicar mi juego.
Pejota a todos los que lo probamos nos pasa lo mismo, debe ser que no funciona, estuve preguntando y nadie lo hizo funcionar aún, a seguir intentando.
Lean el punto numero 2 del tutorial!!!!
Rara probar si sirve TIENEN que CREAR EL APK ya que si no des dara ese error que mencionas!!!!!
saludos
esto no se puede hacer en gm8? :( trato de poner puntaje online, hace poco encontré una web que "hosteaba" puntuajes de game maker, la debo tener en mi historial aun, pero no recuerdo el nombre, alguien la sabe si sabe de cual hablo? en el logo de la pag tenia el logo el gm8 y el nombre de la pag tal cual creo .-.
Cita de: kostra en Noviembre 02, 2014, 05:14:16 PM
esto no se puede hacer en gm8? :( trato de poner puntaje online, hace poco encontré una web que "hosteaba" puntuajes de game maker, la debo tener en mi historial aun, pero no recuerdo el nombre, alguien la sabe si sabe de cual hablo? en el logo de la pag tenia el logo el gm8 y el nombre de la pag tal cual creo .-.
http://www.gmechanism.com/ (http://www.gmechanism.com/)
http://gamemakerserver.com/ (http://gamemakerserver.com/)
Cualquiera de esos dos puede ser.
También hay servidores de hosting,, pero ese tema es un poco más complicadito.
nada buscando y buscando al fin logré mi objetivo al pie de la letra ^_^ usé: http://www.gmhighscores.com buscaba la de gamemaker server que tú dijiste, pero me hice al final un cacao xd