Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: okkram en Marzo 29, 2011, 05:05:02 AM

Título: Contrase?as
Publicado por: okkram en Marzo 29, 2011, 05:05:02 AM
Como puedo hacer que cada juego o usuario guardado tenga una contrase?a?
Título: Re: Contrase?as
Publicado por: Masterkey en Marzo 29, 2011, 05:27:15 AM
Se me ocurre con get_string pero no se con exactitud como... Porque las variables no se guardan hasta que se carga partida... Ha! Ya se me ocurri?! En el evento de alg?n objeto que establece la partida o usuario:
global.pass=get_string("bla","bla") luego en el create un objeto pass o algo as?:
global.entra=get_string("bla","bla"){if global.entra=global.pass{instance_destroy()} else global.entra=get_string("entra s?lo si este usuario eres tu", "bla") pero ten?s que ver de que manera mantener siempre el objeto del pass a?n si se ha borrado. Pero no se si esto funcione. S?lo improviso.
Título: Re: Contrase?as
Publicado por: knd144 en Marzo 30, 2011, 01:08:54 AM
Tambien puedes usar archivos .ini, as? puedes hacer una secci?n (en el ini) por cada jugador que contenga una clave que ser? la contrase?a de este jugador. Lo que seria muy conveniente ser?a que usaras alg?n m?todo para encriptar tus secciones, claves y contrase?as  :-[
Título: Re: Contrase?as
Publicado por: ArcariaOnline en Marzo 30, 2011, 01:17:07 AM
Estoy de acuerdo con knd144 un archivo .ini seria la mejor opci?n para guardar usuarios y contrase?as. Se pueden consultar f?cilmente por ejemplo cuando un usuario trata de ingresar, el gm abre el .ini y verifica si la contrase?a es correcta, si no te manda error.

Nomas que si ocuparas encriptar la informaci?n.
Título: Re: Contrase?as
Publicado por: Wadk en Marzo 30, 2011, 01:49:39 AM
Se me ocurre una idea para que el sistema sea "seguro".

Despu?s de guardar con game_save, encript?s la partida con la contrase?a del jugador. Por ejemplo:
[gml]game_save("partida.sav");
file_crypt(global.username + ".sav", global.password);[/gml]

Y para cargar:
[gml]file_copy(global.username + ".sav", temp_directory + "/p.sav");
file_decrypt(temp_directory + "/p.sav", global.password);
game_load(temp_directory + "/p.sav");  // Si la contrase?a es incorrecta, esta funci?n tirar?a un error, seguramente.[/gml]

Eso asumiendo que tengas un script file_crypt para encriptar archivos, y un script file_decrypt para decriptarlos, as? como una variable global.username con el nombre del jugador actual y una variable global.password con la contrase?a.