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
"Si he llegado a ver más lejos que otros, es porque me subí a hombros de gigantes"  Isaac Newton

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: CGM 2008CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/

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.
Vim.