Revisando portales de videojuegos, he visto que resulta muy usual que los juegos tengan un menu desde el que seleccionar varios perfiles. Dado que GM tiene un sistema para gestionar archivos .ini bastante eficiente, he decidido desarrollar este script para poder utilizarlos sin tener problemas con el usuario medio.
Autor:
Fenris78
Descripci?n:
Este script codifica un texto a formato ascii o recupera el texto a partir de dicho formato. Util para codificar por ejemplo, los archivos .ini en los que guardemos datos importantes para nuestro juego.
Versi?n GM:
:GM8:
[gml]
//argument0 cadena a codificar/decodificar
//argument1 true codifica, false decodifica
var codoutput; codoutput=string(argument0);
if(argument1=true)
{
for(i=0; i<255; i+=1)
{
codoutput=string_replace_all(codoutput,chr(i+1),chr(i))
}
}
else if(argument1=false)
{
for(i=255; i>0; i-=1)
{
codoutput=string_replace_all(codoutput,chr(i),chr(i+1))
}
}
return codoutput;[/gml]
Ejemplo de uso:
Codificar:
[gml]codificado=sc_codif("HOLA",true);[/gml]
Decodificar:
[gml]sc_codif(codificado,false);[/gml]
Hola Fenris :D veo que tu script usa el m?todo de cifrado del cesar, me gusta ese m?todo de cifrado, la uso con mi novia para escribirnos en el facebook y que no nos entiendan XD, es divertido y desespera a los dem?s
Creo que se puede ahorrar tiempo de c?mputo en este proceso de la forma siguiente:
[gml]//argument0 cadena a codificar/decodificar
//argument1 true codifica, false decodifica
var char,put,out;
put=string(argument0);out="";
for(i=1; i<=string_length(put); i+=1)
{
char=string_char_at(put,i)
if(argument1)
out+=chr(ord(char)-1)
else
out+=chr(ord(char)+1)
}
return out;[/gml]
saludos :D
bueno depende, si el string es m?s largo de 255 caracteres conviene usar el m?todo de fenris...
asi que se podr?a hacer al principio de todo un if que separe los dos m?todos...
si bien la funcion string_replace_all tiene un bucle interno creo que es mucho m?s r?pido que los bucles interpretados... por eso no lo cuento mucho..
ahora si lo que se quiere un codigo corto en cuanto a caracteres se puede... mh... creo que los dos est?n por ahi...
Cita de: Ciberman en Abril 02, 2011, 12:03:24 AMsi bien la funcion string_replace_all tiene un bucle interno creo que es mucho m?s r?pido que los bucles interpretados..
La verdad dudo que sea 256 veces m?s r?pido.
Yo apostar?a por la versi?n de licshendu. Si tuviera el GM har?a la prueba.
En cualquier caso, el script es bastante simple, y la encripci?n d?bil. No lo recomendar?a para encriptar cosas importantes.