Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Temas - Wadk

1
General / Desafíos de hacking
Julio 13, 2014, 11:58:35 PM
Esta página es bastante interesante para los que quieran probar sus habilidades de hackeo:
http://securityoverride.org/challenges/
Los desafíos son muy variados y están por lo general bastante bien hechos.
Lo pongo por acá porque se comentó en el tagboard hace un par de años y varios parecían interesados.
Desgraciadamente requiere registrar una cuenta para realizar los desafíos, pero si les interesa vale la pena.
Este es mi perfil: http://securityoverride.org/profile.php?lookup=4356 ahí pueden ver que tengo alrededor de 2500 puntos, a ver si alguien me supera ;).

Otra página interesante es esta: http://www.matasano.com/articles/crypto-challenges/ (actualmente la página está caída, acá pueden ver una versión archivada: http://web.archive.org/web/20140213141638/http://www.matasano.com/articles/crypto-challenges/)
Te anotás para recibir desafíos criptográficos por e-mail para resolver programando. Yo no me he anotado pero tiene buena pinta.

En fin, a ver si le hechan un vistazo y me cuentan.
2
  • Nombre del creador: Wadk
  • Breve descripción de su función: Comprueba si un archivo dado es una partida guardada que corresponde al juego actual. Nótese que el script puede fallar si, por alguna casualidad estratosférica, un archivo cualquiera llega a tener el game_id del juego en cuestión en los bytes del 4 al 7. Creo que es más probable que te caiga un rayo en un día soleado, y después otro.
  • Versión GM utilizada: :GM8: , posiblemente funcione en otras.
  • Código del Script:[gml]// file_is_savegame(file);
    // Return whether the given file is a valid savegame of the current game.

    var f, i, value;
    f = file_bin_open(argument0, 0);

    value = 0;
    for (i = 0; i < 4; i += 1) {
        file_bin_seek(f, 4 + i);
        value += file_bin_read_byte(f) << (i << 3);
    }

    file_bin_close(f);
    return (value == game_id);[/gml]
    El único argumento es la localización del archivo a verificar.

Es un script que creé hace un par de años para una pregunta: http://www.comunidadgm.org/index.php?topic=11653

Pensé que ya lo había puesto en esta sección, pero lo busqué y no lo encontré, así que bueno, acá está.
Esta versión es un poco distinta (más optimizada) pero no está probada. Cualquier problema lo reportan acá.

Saludos.
3
Desarrollo de Scripts / Dibujar "electricidad"
Marzo 21, 2010, 06:49:34 PM
Nombre del creador: Wadk
Breve descripci?n de su funci?n: Dibuja "electricidad" generada en el momento a base de l?neas rectas.
Versi?n GM utilizada: :GM5: :GM6: :GM7: :GM8:
C?digo del Script:
var x1,y1,x2,y2,xx,yy,xa,ya,i,j;
x1=argument0;
y1=argument1;
x2=argument2;
y2=argument3;
dis=point_distance(x1,y1,x2,y2);
dir=point_direction(x1,y1,x2,y2);

for(i=1;i<=argument4;i+=1){
   xx=x1;
   yy=y1;
   for(j=0;j<argument5-1;j+=1){
       xa=lengthdir_x(dis/argument5,dir+(random(argument6)-argument6/2));
       ya=lengthdir_y(dis/argument5,dir+(random(argument6)-argument6/2));
       draw_line(xx,yy,xx+xa,yy+ya);
       xx+=xa;
       yy+=ya;
   }
   draw_line(xx,yy,x2,y2);
   xx=x1;
   yy=y1;
   x1=x2;
   y1=y2;
   x2=xx;
   y2=yy;
   dir+=180;
}

Argumentos: dibujar_electricidad(x1,y1,x2,y2,densidad,fraccionado,distorsi?n);
x1, y1, x2 e y2 son para determinar la posici?n de la electricidad.
densidad es el n?mero de "rayos". Lo mejor es usar un n?mero par.
fraccionado indica el n?mero de veces que cada "rayo" se fracciona.
distorsi?n es lo m?ximo que puede "doblarse" cada rayo cada vez que es fraccionado.
Ejemplo: dibujar_electricidad(0,0,300,300,4,10,30);


Modificaci?n por Ciberman para modificar el color y el grosor de los "rayos":
//dibujar_electricidad_ext(x1,y1,x2,y2,densidad,fraccionado,distorsi?n,col1,col2,col3,widthMin,widthMax);
var x1,y1,x2,y2,xx,yy,xa,ya,i,j,col_init,alp_init,wl;
col_init=draw_get_color();
alp_init=draw_get_alpha();
x1=argument0;
y1=argument1;
x2=argument2;
y2=argument3;
dis=point_distance(x1,y1,x2,y2);
dir=point_direction(x1,y1,x2,y2);

for(i=1;i<=argument4;i+=1){
    xx=x1;
    yy=y1;
    wl=round(random(argument11-argument10)+argument11);;
    for(j=0;j<argument5-1;j+=1){
        xa=lengthdir_x(dis/argument5,dir+(random(argument6)-argument6/2));
        ya=lengthdir_y(dis/argument5,dir+(random(argument6)-argument6/2));
        draw_set_color(argument[choose(7,8,9)]);
        draw_set_alpha(random(.5)+.5)
        draw_line_width(xx,yy,xx+xa,yy+ya,wl);
        xx+=xa;
        yy+=ya;
    }
    draw_line_width(xx,yy,x2,y2,wl);
    xx=x1;
    yy=y1;
    x1=x2;
    y1=y2;
    x2=xx;
    y2=yy;
    dir+=180;
}

draw_set_color(col_init);
draw_set_color(alp_init);

Se agregan 5 argumentos: col1, col2 y col3 que son 3 colores para los rayos, y widthMax y widthMin que son el grosor m?ximo y m?nimo respectivamente de los rayos.
El script modificado podr?a no funcionar en todas las versiones de GM.