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.

Mensajes - Wadk

646
Si se refiere a lo que creo, hab?an dos scripts, uno es este, hecho por m?:
  ///////////////////////////////////
//draw_interference(x1,y1,x2,y2);//
///////////////////////////////////
var xx,yy,col;
xx=argument0;
yy=argument1;
do{do{col=ceil(random(255));brush_color=make_color_rgb(col,col,col);draw_pixel(xx,yy);xx+=1;}until(xx>argument2)yy+=1;xx=argument0;}until(yy>argument3)

y el otro creo que lo hab?a hecho Correojon, pero no lo tengo. Aunque no creo que ninguno sirva si quer?s que ocupe toda la pantalla porque son MUY lentos (especialmente el m?o XD).
647
Desarrollo de Scripts / Re: Dibujar "electricidad"
Marzo 25, 2010, 05:11:41 PM
No s? si es posible lo que comenta Hackware, pero lo dej? as? por las dudas. Igual ya est? confirmado que funciona en las 4, as? que actualc? el primer post.
Y claro, pod?s hacer lo que dijo Killer para cambiar el color y alpha de las l?neas, a menos que quieras que se dibujen varias l?neas de distinto color/alpha en el mismo step, en ese caso tendr?as que modificar el script.
Gracias a todos por sus comentarios.
648
El ?cono del mensaje debe ser el de la versi?n de GM que us?s, cambialo.
649
Una cosa es la encripci?n y otra la carga de im?genes. Para que el ejemplo funcione con tu propia imangen, ten?s que encriptarla primero. Para eso pod?s poner el c?digo crypto(working_directory+"\aaa.gif","este es el password"); en create, ejecut?s el juego, lo cerr?s y sac?s el c?digo. Ah? te va a quedar la imagen encriptada. Volv?s a ejecutar el juego y apret?s enter, la imagen se decripta, se carga en el GM y se vuelve a encriptar.
La dll encripta cualquier archivo, sea cual sea.

Si no funciona con una imagen en particular, el problema debe ser el GM que no admite muchos tipos de im?genes. Prob? guardando la misma imagen con distintos editores de im?genes, o con el mismo GM (aunque creo que GM5 s?lo guarda en gif).
650
Preguntas y respuestas / Re: Menu de items
Marzo 25, 2010, 12:26:21 AM
?Funcion? lo que puso soccer? Porque si usaste los c?digos que puse no deber?a haber funcionado... ser?a as?:
Código (colisi?n con puerta) [Seleccionar]
if(global.inventario[0]=fotollave01){
global.inventario[0]=-1;
}else
if(global.inventario[1]=fotollave01){
global.inventario[1]=-1;
}else{exit;}
//Ac? pon?s el c?digo para que se abra la puerta, con instance_destroy o si es la puerta del final del nivel, simplemente el c?digo para pasar al nivel siguiente.
651
Preguntas y respuestas / Re: Menu de items
Marzo 24, 2010, 08:16:50 PM
Te recomiendo que hagas lo que dijo deathmetal.
As?:
Código (evento create del personaje) [Seleccionar]
global.inventario[0]=-1;
global.inventario[1]=-1;

Código (evento colisi?n con la llave) [Seleccionar]
if(global.inventario[0]=-1){
  global.inventario[0]=fotollave01;
  with(other){instance_destroy();}
}else
if(global.inventario[1]=-1){
  global.inventario[1]=fotollave01;
  with(other){instance_destroy();}
}

Y agreg? al final de draw del inventario:
if!(global.inventario[0]=-1){
  draw_sprite(global.inventario[0],0,view_xview+450,view_yview+35);
}
if!(global.inventario[1]=-1){
  draw_sprite(global.inventario[1],0,view_xview+470,view_yview+35);
}

y modific? las coordenadas hasta que quede bien.
652
El antivirus debe tener una lista de archivos "ignorados". Agreg? el ejecutable de GM a esa lista.
Se me hace raro, no hab?a o?do nada as? antes.
653
Preguntas y respuestas / Re: Ejemplo de UDP
Marzo 24, 2010, 07:19:36 PM
A ver, dejame hacer memoria... XD
Ten?s que tener una variable que indique si UDP est? activado o no, por ejemplo global.usar_udp en el servidor.
Para conectar al cliente al servidor ten?s que tener algo as?:
global.servidor=tcpconnect("127.0.0.1",14804,1);
if!(global.servidor){show_message("Fallo de conexi?n.");exit;}
global.IP=tcpip(global.servidor);
global.udp=udpconnect(14803,1);
global.pudp=14805;

Como ves hay 3 puertos, uno para conectarse por tcp, otro para conectarse por udp y el ?ltimo (global.pudp) para mandar mensajes por udp.
En el servidor para conectarse:
escuchar=tcplisten(14804,2,1);
Y mientras espera a que un usuario entre:

puerto=tcpaccept(escuchar,1);
if(puerto){
closesocket(escuchar);
global.cliente=puerto;
global.IP=lastinIP();
global.udp=udpconnect(14805,1);
global.pudp=14803;}

Despu?s cre?s un script como este:
Código (mensaje_udp) [Seleccionar]
//mensaje_udp(udp socket,ip,puerto,tcp socket,udp,[buffer]);
if(argument4){return sendmessage(argument0,argument1,argument2,argument5);}
return sendmessage(argument3,"",0,argument5);

Para mandar un mensaje por tcp, lo mand?s normalmente como hac?as hasta ahora, y para mandar uno por udp us?s ese script as?:
mensaje_udp(global.udp,global.IP,global.pudp,global.servidor,global.usar_udp);
cambiando global.servidor por global.cliente si el mensaje es enviado desde el servidor al cliente.
Por ?ltimo, para recibir el mensaje:
mensaje=receivemessage(global.udp);
if(mensaje<=0){mensaje=receivemessage(global.servidor);}
if(mensaje<0){break;}
if(mensaje=0){show_message("El servidor abandon? la partida");game_end();break;}

Cambiando global.servidor por global.clente si el que recibe el mensaje es el servidor.

Haciendo todo eso, pod?s elegir si usar udp o no simplemente cambiando la variable global.usar_udp.
Tambi?n ten?s que mandar el contenido de esa variable desde el servidor al cliente.
No deber?as mandar todos los mensajes por udp porque aunque es m?s r?pido, los mensajes pueden perderse. Cosas importantes como el nombre de cada jugador deben mandarse por tcp, y cosas como las coordenadas de cada jugador, deben mandarse por udp (generalmente estas se mandan en cada step, por lo que si un mensaje se pierde, no importa demasiado porque el siguiente si llegar?a).

Espero que hayas entendido algo XD
Puedo haberme equivocado porque no se mucho de programaci?n de juegos online ni de la 39dll.
654
Te dejo un ejemplo, apret? enter para cargar la imagen.
Fijate que si no funciona al usar tu propia imagen, puede ser porque la imagen no sea soportada por Game Maker (GM5 no soporta muchos tipos de im?genes, independientemente del formato), as? que antes de probar si funciona encript?ndola y decript?ndola, prob? si funciona sin usar la dll.
655
Preguntas y respuestas / Re: Ejemplo de UDP
Marzo 24, 2010, 02:39:14 AM
?ste es el famoso MMORPG creado por 39ster pero pasado a la V2.5 de la 39dll por mi. Utiliza conexi?n UDP. Si es muy complejo puedo pasarte el editable de un viejo juego m?o con opci?n online...

Aunque es b?sicamente lo mismo que TCP, s?lo hay que hacer unos cambios.
656
?Entonces quer?s la ventana preguntando d?nde guardar? Tu segundo mensaje me confundi?...
A ver, qu? te parece esto:
Código (Cargar) [Seleccionar]
while(1){ //Bucle infinito
  archivo=get_open_filename("Archivos de texto|*.txt",working_directory+"\*.txt");  //Pedimos un archivo
  if(archivo=""){ //Si el usuario presion? cancel
    break; //Salimos del bucle
  }
  if!(file_exists(archivo)){  //Si el archivo no existe
    show_message("El archivo especificado no existe.");  //Mostramos un error
    continue;  //Y volvemos al principio del bucle
  }
  f=file_text_open_read(archivo);  //Abrimos el archivo
  teclasausar=file_text_read_string(f);  //Leemos el contenido
  file_text_close(f);  //Lo cerramos
  break;  //Y nos salimos del bucle infinito
}


Código (Cargar) [Seleccionar]
while(1){ //Bucle infinito
  archivo=get_save_filename("Archivos de texto|*.txt",working_directory+"\*.txt");  //Pedimos un archivo
  if(archivo=""){ //Si el usuario presion? cancel
    break; //Salimos del bucle
  }
  //No importa si el archivo no existe porque se crea autom?ticamente.
  f=file_text_open_write(archivo);  //Abrimos el archivo
  file_text_write_string(f,teclasausar);  //Escribimos la variable teclasausar
  file_text_close(f);  //Lo cerramos
  break;  //Y nos salimos del bucle infinito
}
657
get_open_filename y get_save_filename hacen eso, pedir al usuario que seleccione un archivo.

Lo que quer?s es algo as?:
Código (Cargar) [Seleccionar]
user=file_text_open_read("partida.sav");
teclasausar=file_text_read_string(user);
file_text_close(user);

Código (Guardar) [Seleccionar]
user=file_text_open_write("partida.sav");
file_text_write_string(user,teclasausar);
file_text_close(user);
658
Intenta no postear dos veces consecutivas.
Lo que ten?s que hacer es importar el archivo crypt.gml a tu proyecto (Scripts/Import Scripts). Despu?s llam?s la dll (que tiene que estar en el directorio del juego) con crypt_init. Y por ?ltimo, llam?s el script crypto as?:
crypto(working_directory+"\imagen.jpg","password");
Ten?s que agregar working_directory porque ten?s que darle a la dll la ruta completa. Y el string "password" cambialo por un password que quieras. Para decriptar el archivo ten?s que llamar a la funci?n otra vez con el mismo password.
659
Desarrollo de Scripts / Re: Dibujar "electricidad"
Marzo 23, 2010, 01:10:48 AM
Gracias, Soccer. Actualizo el primer post...
660
Est?s poniendo mal las coordenadas. Pon? la l?nea que us?s para dibujar la barra de vida, o si lo hac?s en D&D, pon? lo que pusiste en los campos x1, y1, x2 e y2.