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 - Killer

271
Me temo que no hay funciones que afecten a todos los tiles de una capa al mismo tiempo, pero no seria muy complicado hacer un script que los cambiara uno por uno, por ejemplo:

/*
argument0 = depth
argument1 = ancho
argument2 = alto
argument3 = alpha
*/

var i,j,idt;
for (i=0;i<room_width/argument1;i+=1)
for (j=0;j<room_width/argument2;j+=1){
  idt = tile_layer_find(argument0,argument1/2+argument1*i,argument2/2+argument2*j);
  if idt>0 tile_set_alpha(idt,argument3);
}


Para que cambie el color de los tiles solo seria cuestion de cambiar tile_set_alpha por tile_set_blend.
272
El uso de particulas no es muy complicado, lo que debes hacer es pensar en el comportamiento que quieres que tengan las particulas y agregarselos con las funciones necesarias. Experimenta un poco, crea un sistema con un solo tipo de particula y prueba cada funcion para ver en que la afecta, el manual te vendra de maravilla y cosa de nada ya le habras cogido el truco.

En todo caso, ?como quieres que se vea exactamente el agujero negro? Hasta donde mi conocimiento de fisica llega, un agujero negro es basicamente una estrella que en lugar de emitir luz la absorve, es decir, es una gran masa negra:

Como eso resulta algo aburrido, me imagino que querras hacerlo un poco m?s interesante.
273
Curiosamente, hardraid pregunto lo mismo hace un par de d?as, la discusion que tuvo el tema se borro con el cambio del foro, pero puedes encontrar el script que uso al final del tema:

http://www.comunidadgm.org/index.php?topic=10391.0
274
Si se trata de solo algunos enemigos por room puedes utilizar variables globales, que se checan durante la creacion de la instancia, y que se activan cuando el enemigo ha sido destruido por primera vez.

Si lo quieres hacer con todas las instancias podrias usar rooms persistentes.
275
1- Curso como tal no conozco ninguno, aunque en el manual que viene con el gm encontraras cada funci?n del gm junto con una explicaci?n de que hace.

2- No estoy seguro de a que te refieres, cuando usas el gm no necesitas de nada m?s para programar con ?l. Por otro lado, puedes encontrar varias utilidades en este tema:
http://www.comunidadgm.org/index.php?topic=4089.0

3- Ni idea de a que te refieres.

4- Con algo de ingenio podr?s crear buenos juegos con la versi?n lite, pero si es bastante restrictiva y en cada versi?n que sale son m?s las cosas que se vuelven exclusivas de la versi?n PRO.

5- Cuando haces un juego es tuyo y puedes hacer lo que te venga en gana con ?l, ya sea sin animo de lucro o comercial, eso si, debes respetar los derechos de autor, es decir, no usar sin permiso nada que no sea tuyo, aunque en juegos gratuitos no suele haber tanto problema, tratar de hacer un juego comercial con recursos ripeados seria buscarse un lio.

6- Puedes visitar el subforo de Desarrollo de Scripts, adem?s en este tema puedes encontrar un par de enlaces que te pueden ser de utilidad:
http://www.comunidadgm.org/index.php?topic=8435.0

En el caso de tutoriales para PS, esta comunidad se enfoca en el desarrollo de juegos, no de los recursos que utilizan. Por otro lado, internet tiene cantidad de tutoriales para PS, y adem?s esta la comunidad afiliada Pixelamos, donde puedes encontrar tutoriales para pixel-art.

7- Puedes encontrar todas las diferencias entre GM7 y GM8 en el manual del GM8, en la secci?n What is New.
276
Solo por las dudas, en el c?digo que deje debias cambiar el argumento depth por la capa en la que estan los tiles, tambien deberias haber cambiado el nombre de la variable id, aunque ya que no te da error de asignacion supongo que ya lo hiciste.
277
Puedes usar las funciones de colisiones para adquirir la id de los objetos:

collision_point(x,y,obj,prec,notme)
collision_rectangle(x1,y1,x2,y2,obj,prec,notme)
collision_circle(xc,yc,radius,obj,prec,notme)
collision_ellipse(x1,y1,x2,y2,obj,prec,notme)
collision_line(x1,y1,x2,y2,obj,prec,notme)


Todas esas funciones regresan la id del objeto que se encuentre en su area de colision. Puedes usar all para el argumento obj, para que busque colisiones con todos los objetos, y true para el argumento notme para que no tome en cuenta al objeto cursor.
278
El evento Game Start se ejecuta despues de el evento Create, por eso te da el error, en el momento que tratas de definir hp la variable global.maxhp no ha sido definida.
279
Preguntas y respuestas / Re: sprite de boton
Enero 10, 2010, 11:47:12 PM
Puedes usar show_message_ext de esta manera:

show_message_ext("Pregunta","&S?","","&No")

La string vac?a hace que el bot?n no aparezca, el & hace que la siguiente letra sea el atajo a la opci?n, la funci?n regresa el n?mero del bot?n presionado o 0 si se presiona escape.
280
Si cada tipo de tile viene de un fondo distinto es bastante simple, primero adquieres la id del tile, luego adquieres el index del fondo del que proviene, luego basado en ese index inicias la batalla en el sitio apropiado, por ejemplo:

id=tile_layer_find(depth,x,y);
back=tile_get_background(id);

switch (back){
case (bck_pradera): //batalla en la pradera;
case (bck_desierto): //batalla en el desierto;
case (bck_rio): //batalla en el rio;
case (bck_montana): //batalla en la monta?a;
case (bck_etc): //etc etc etc;
}


Por otro lado si todos los tiles vienen del mismo fondo entonces la soluci?n de Kraken me parece lo m?s viable.
281
Podrias hacer un script, o podrias usar la funci?n string_count():

string_count(substr,str);

Donde str es el string en el que quieres contar, y substr el string que quieres que se cuente, en tu caso "#".
282
Preguntas y respuestas / Re: Mapa de Memoria
Diciembre 18, 2009, 06:01:08 PM
En lo que a velocidad se refiere, es ligeramente m?s r?pido usar variables, en mi maquina al gm le toma alrededor de 30 milisegundos remplazar el valor de una variable por un valor especifico 32000 veces, mientras que le toma aproximadamente 90 milisegundos remplazar el valor de una llave en un mapa de memoria por el mismo valor especifico otras 32000 veces.

Como vez, a?n en un caso extremo, la diferencia es infima, pero se va acumulando cuando se realizan cambios m?s complicados. A?n as?, a menos de que debas hacerlo varias miles de veces la diferencia sigue siendo minima.
283
Preguntas y respuestas / Re: se confunden fonts y colores
Diciembre 16, 2009, 06:50:45 AM
Me parece que no comprendes muy bien como se utilizan esas funciones, draw_set_font y draw_set_color afectan la forma en que se dibuja despues de ellas, no la funci?n anterior, si quieres que un texto salga amarillo pones:

draw_set_color(c_yellow);
draw_text(x,y,"Texto");


En tu caso tendrias que usarlo as?:

if global.nivel="nivel1"
{
draw_set_font(font2);
draw_set_color(c_lime);
draw_text(view_xview+35,view_yview+0,global.mariovidas);

draw_set_font(font2);
draw_set_color(c_yellow);
draw_text(view_xview+35,view_yview+33,global.mana);

draw_set_font(font2);
draw_set_color(c_red);
draw_text(view_xview+35,view_yview+63,global.puntos_stage1);

draw_set_font(font1);
draw_set_color(c_red);
draw_text(view_xview+200,view_yview+0,"NIVEL 1");
}
284
Estoy casi seguro de que I-Am-Goku se refiere a un texto extremadamente largo, lo suficientemente extenso para llenar el espacio en ese sprite 7 veces, por lo que quiere separarlo, y hacer que aparezca cada parte una por una, cambiando cuando presiona la tecla Z.

En otras palabras, un cuadro de dialogo.

Te recomiendo que busques en las descargas de la comunidad, hay varios ejemplos del tema.
285
Crea un vector que contenga la conversaci?n separada como quedar?a en las diez minipantallas y una variable que sirva como contador:

Texto[0]="La primera parte de la conversaci?n";
Texto[1]="La segunda...";
Texto[2]="La tercera...";
.
.
.
Texto[9]="As? hasta la ultima";

Pos=0;


Cuando se dibuje haz que se dibuje el vector de esta forma:

if Pos<10 draw_text_ext(10,10,Texto[Pos],10,410);

Y que cuando presiones Z se aumente la variable contador en 1:

Pos+=1;

Esa seria la idea b?sica, tendr?as que modificarlo para que quede de una manera que te sirva, por ejemplo, ver que condiciones son apropiadas para reiniciar la variable contador en 0, en caso de que quieras que la conversaci?n se pueda ver m?s de una vez.

Por cierto, el GM toma el car?cter # como el de salto de linea:

Texto = "Linea 1 # Linea 2";