Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

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


Temas - SobacoEnLlamas

Páginas: 1 2
1
Desarrollo de Scripts / (mi primer script) barra con puntos
« en: Septiembre 16, 2012, 03:14:11 am »
Nombre del creador: Sobaco En Llamas
Breve descripción de su función: dibuja una barra de vida dividida en 10 puntos (bloques o como quieran llamarlo) que se vacía según el porcentaje de la vida eligiendo tú los sprites y el tamaño que quieras.
Versión GM utilizada:  :GM8:
Código del Script:
Código: [Seleccionar]
////////////////////////////////////////////////////////////////////
///////S/C/R/I/P/T/S////////////////////////M/I/E/R/D/O/S/O/S///////
//////////////////////////////B/Y///////////////////////////////////
///////S/O/B/A/C/O///////////////////////////E/N//L/L/A/M/A/S///////
////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////
//       Nombre: Barra con Puntos                                 //
//                                                                //
//       Posición: Evento Draw en un objeto suelto                //
//       argument0 = tamaño x de los sprites (ejemplo 32)         //
//       argument1 = variable de la vida con la que comienza el   //
//       personaje                                                //
//       argument2 = vida máxima (aunque empiece con la vida al   //
//       máximo, debe ser otra variable distinta o un valor)      //
//       argument3 = sprite punto vacio                           //
//       argument4 = sprite punto lleno                           //
////////////////////////////////////////////////////////////////////

varvida=argument1;
varmaxvida=argument2;
vidaporciento = varvida*100/varmaxvida;
if vidaporciento > 90
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument4,0,(16+(argument0*2)),16)
    draw_sprite(argument4,0,(16+(argument0*3)),16)
    draw_sprite(argument4,0,(16+(argument0*4)),16)
    draw_sprite(argument4,0,(16+(argument0*5)),16)
    draw_sprite(argument4,0,(16+(argument0*6)),16)
    draw_sprite(argument4,0,(16+(argument0*7)),16)
    draw_sprite(argument4,0,(16+(argument0*8)),16)
    draw_sprite(argument4,0,(16+(argument0*9)),16)
}
else if vidaporciento > 80
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument4,0,(16+(argument0*2)),16)
    draw_sprite(argument4,0,(16+(argument0*3)),16)
    draw_sprite(argument4,0,(16+(argument0*4)),16)
    draw_sprite(argument4,0,(16+(argument0*5)),16)
    draw_sprite(argument4,0,(16+(argument0*6)),16)
    draw_sprite(argument4,0,(16+(argument0*7)),16)
    draw_sprite(argument4,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 70
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument4,0,(16+(argument0*2)),16)
    draw_sprite(argument4,0,(16+(argument0*3)),16)
    draw_sprite(argument4,0,(16+(argument0*4)),16)
    draw_sprite(argument4,0,(16+(argument0*5)),16)
    draw_sprite(argument4,0,(16+(argument0*6)),16)
    draw_sprite(argument4,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 60
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument4,0,(16+(argument0*2)),16)
    draw_sprite(argument4,0,(16+(argument0*3)),16)
    draw_sprite(argument4,0,(16+(argument0*4)),16)
    draw_sprite(argument4,0,(16+(argument0*5)),16)
    draw_sprite(argument4,0,(16+(argument0*6)),16)
    draw_sprite(argument3,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 50
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument4,0,(16+(argument0*2)),16)
    draw_sprite(argument4,0,(16+(argument0*3)),16)
    draw_sprite(argument4,0,(16+(argument0*4)),16)
    draw_sprite(argument4,0,(16+(argument0*5)),16)
    draw_sprite(argument3,0,(16+(argument0*6)),16)
    draw_sprite(argument3,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 40
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument4,0,(16+(argument0*2)),16)
    draw_sprite(argument4,0,(16+(argument0*3)),16)
    draw_sprite(argument4,0,(16+(argument0*4)),16)
    draw_sprite(argument3,0,(16+(argument0*5)),16)
    draw_sprite(argument3,0,(16+(argument0*6)),16)
    draw_sprite(argument3,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 30
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument4,0,(16+(argument0*2)),16)
    draw_sprite(argument4,0,(16+(argument0*3)),16)
    draw_sprite(argument3,0,(16+(argument0*4)),16)
    draw_sprite(argument3,0,(16+(argument0*5)),16)
    draw_sprite(argument3,0,(16+(argument0*6)),16)
    draw_sprite(argument3,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 20
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument4,0,(16+(argument0*2)),16)
    draw_sprite(argument3,0,(16+(argument0*3)),16)
    draw_sprite(argument3,0,(16+(argument0*4)),16)
    draw_sprite(argument3,0,(16+(argument0*5)),16)
    draw_sprite(argument3,0,(16+(argument0*6)),16)
    draw_sprite(argument3,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 10
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument4,0,(16+(argument0)),16)
    draw_sprite(argument3,0,(16+(argument0*2)),16)
    draw_sprite(argument3,0,(16+(argument0*3)),16)
    draw_sprite(argument3,0,(16+(argument0*4)),16)
    draw_sprite(argument3,0,(16+(argument0*5)),16)
    draw_sprite(argument3,0,(16+(argument0*6)),16)
    draw_sprite(argument3,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 0
{
    draw_sprite(argument4,0,16,16)
    draw_sprite(argument3,0,(16+(argument0)),16)
    draw_sprite(argument3,0,(16+(argument0*2)),16)
    draw_sprite(argument3,0,(16+(argument0*3)),16)
    draw_sprite(argument3,0,(16+(argument0*4)),16)
    draw_sprite(argument3,0,(16+(argument0*5)),16)
    draw_sprite(argument3,0,(16+(argument0*6)),16)
    draw_sprite(argument3,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento <= 0
{
    draw_sprite(argument3,0,16,16)
    draw_sprite(argument3,0,(16+(argument0)),16)
    draw_sprite(argument3,0,(16+(argument0*2)),16)
    draw_sprite(argument3,0,(16+(argument0*3)),16)
    draw_sprite(argument3,0,(16+(argument0*4)),16)
    draw_sprite(argument3,0,(16+(argument0*5)),16)
    draw_sprite(argument3,0,(16+(argument0*6)),16)
    draw_sprite(argument3,0,(16+(argument0*7)),16)
    draw_sprite(argument3,0,(16+(argument0*8)),16)
    draw_sprite(argument3,0,(16+(argument0*9)),16)
}



--------------------------------------------------------------------------------------------------------------------------------



y ahora el post que había antes y me hicieron modificar, sry es mi primer post aquí, no volverá a pasar, pero no borro lo de abajo, ke molaba muchoo xdd
Hola muy buenas ^_^ estoy superfeliz porque acabo de terminar porfín mi primerrrr script más o menos decente

Se trata de tener la barra de vida personalizada hecha con puntos, puntos me refiero a que va por partes (10 en concreto en este script) que se van "vaciando" según el porcentage de la vida que tienes. Solo has de hacer 2 sprites (el del punto lleno y el del punto vacío), un eventoo draw en un objeto con el script y rellenar los arguments, NADA MÁS!

//argument0 = tamaño x de los sprites (ejemplo 32)
//argument1 = variable de la vida con la que comienza el personaje
//argument2 = vida máxima (aunque empiece con la vida al máximo, debe ser otra variable distinta o un valor)
//argument3 = sprite punto vacio
//argument4 = sprite punto lleno

Los que controlan bien de GML, verás de sobrada que el codigo que he hecho se podría simplificar con bucles o a saber, pero es que yo soy nooooob aun con esto y me ha costado hacer que todo encaje y de una manera bien personalizable, así que lo he hecho como he podido y no quiero saber más del  código que hemos pedido el divorcio xdd, así que sin más preámbulos, adjunto un zip con el script en .txt, el mismo en .gml por si acaso y un ejemplo adjunto que pueden modificar para ver que funciona incluso si cambian los sprites (el punto lleno y vacío del mismo tamaño eeh!! xd)

Saludos y no me tiren tomates xdd

2
Preguntas y respuestas / convertir audio a 8 o 16 bits
« en: Septiembre 05, 2012, 11:43:16 am »
Hola, miren, a mí desde nunca me ha gustado poner música de otros videojuegos en mis juegos, y como yo no sé hacer mi música (ni ganas xd), pues he pensado otra cosa... He visto muchas veces canciones famosas (ej. moonwalk - M. Jackson, Chop Suey - SOAD, etc.. y me pregunto, cómo han hecho para sacar de una canción normal a una de no sé cantos bits para que suene como en una NES por ejemplo, me gustaría poder pillar cualquier música (en formatos normales a ser posible, mp3, wav, etc..) a 8 o 16 bits (preferencia 16 para el que necesito ahora), supongo que quedaría un .midi no sé, no entiendo de estas cosas jaja

Alguien que sepa? Gracias de antepierna xd

3
Preguntas y respuestas / colisión perfecta?
« en: Agosto 31, 2012, 09:15:46 pm »
lo que me pasa es muy simple de explicar, pero no quiero que me pase... pasa que un objeto que va a tal velocidad a tal dirección... puse que al chocar con la pared, speed = 0... pero qué ocurre? (algo que siempre me ha perjudicado)... pasa que la colisión va mal o no sé por qué pero me colisiona aveces un poco lejos y según el ángulo también falla... entonces ... el objeto (una flecha supongamos) no queda clavada bien en el objeto que colisiona (pared)... es decir... LOS OBJETOS VUELAN!! :S

nota, la bala puede ir a CUALQUIER dirección...

:)

4
Juegos en desarrollo / (parida) Drumbox v0.00000...01a
« en: Agosto 31, 2012, 04:49:15 am »
Copia y pega este código en tu mensaje:

Drumbox16bit

Plataformas

GM5

Texic me enseñó una paranoia suya con sonidos de 16bit que hacían música... me encantó y se me ocurrió lo que probablemente a la humanidad entera se le ha ocurrido alguna vez... usar mi teclado como piano... pero piano extraño con sonidos de 16bit aleatorios pero ordenados a escala...

-3 tipos de sonido (pickup, lase y explosión )
-sonidos creados con sfxr
-no vale la pena bajarse esto xd
-a quien lo baje, a ver quién es capaz de grabarse haciendo una melodía coherente xd

Disculpen, no hay imágenes ya que el "juego" no dispone de absolutamente ninguna sola imagen.

https://dl.dropbox.com/u/56658548/fixed/Drumbox16bit.exe


controles:
Q...P (pickup)
A...Ñ (laser)
Z...- (explosión)

PD: el que no tenga ñ en el teclado, que se conforme con una "nota" menos xd


5
Preguntas y respuestas / disparo con cañón doble :S
« en: Agosto 30, 2012, 03:56:01 pm »
Fijo que es la pregunta más tonta que he hecho en mi vida... pero... no caigo :S

pasa que he creado un arma que debebería disparar dos balas alternas (lo de alternar ya me apaño yo) pero una de un cañón y la otra de otro cañón... si en mi juego se disparase a un lado u otro, problema no tendría es lo más fácil del mnudo, pero pasa que el arma es un arma que rota con el mouse y la bala siempre va a la dirección del mouse... en qué posición debería poner que salga la bala para que apunte donde apunte salga siempre una bala de cada cañón?... se entiende?... eso fijo que es fácil pero... no se me ocurre ahora como :S


gragragracias de anteBRAZO;

6
Preguntas y respuestas / Encriptar ini o algo parecido :/
« en: Agosto 20, 2012, 10:36:05 pm »
Buenas, ya lo sé... le estoy pillando el gusto a esto de preguntar... aun que no es por otra que, siempre he estado haciendo cosas en las que yo podía buscame la vida y ahora intento superarme y aprender cosas nuevas, y me estoy montando (lo que para mi es) un juegazo :)

bueno, en mi anterior post pregunté que cómo podía guardar variables globales, parece que me ayudaron rápido :D pero tengo un problema... las variables que guardo, las que se quedan en el archivo .ini.... cosa que CUALQUIERA podría editar a su antojo... pasa que contiene variables de levels, dinero, vida, stats, skills, etc... cosas importantes... por eso que con una sola facilísima edición, hasta un oligofrénico podría "hackear" los parámetros de su personaje... por eso mi GRAN duda importantísima es...

Alguna manera de encriptar, bloquear, ocultar, impedir edición externa al juego, etc.... del archivo .ini para que de ninguna manera puedan editar ese archivo .ini?? (absténganse comentarios de "con el cheat engine si podrían igualmente") xDD

gracias una vez más, esta CGM salva vidas *_*

7
Preguntas y respuestas / guardar variables globales
« en: Agosto 20, 2012, 08:07:54 pm »
Me acabo de dar cuenta, que al guardar el juego... luego al cargar, me saltan error a muchas variables globales que tenía creadas en el evento "game start" (importantisimo que estén ahí). y me dicen que no existe... mi duda es, cómo podría hacer que al guardar una partida (sea con f5 o sea cuando yo lo mande en una instancia), y al cargar, tooodas las variables globales no solo estén creadas, sino que conserven el mismo valor en la última partida guardada?

miau, gracias :)

8
Preguntas y respuestas / Enemigo pegado al terreno (Solucionado)
« en: Agosto 19, 2012, 03:35:13 pm »
Hola, no sabía bien bien cómo ponerlo en el título... pero lo explico mejor aquí... si alguien ha jugado al clásico "Kid Chameleon" quizás me entenderán mejor, por los enemigos esos pequeños que salen de unas gotas, y trepan por todos los lados...

En fin, quisiera saber cómo pudeo hacer que un enemigo empiece a andar a un lado (por el suelo) y al toparse por una pared, empiece a treparla, si se encuentra con un precipicio, empiece a bajarlo, si se encuentra con un techo, se enganche en él y continue adelante... y no precisamente planificar su recorrido, porque quizás el mismo enemigo encuentra una vez una cosa, y otra vez encuentre otra y quisiera que fuese "inteligente" sabiendo comparar cada obstáculo sólido... hago una imagen para intentar explicarme gráficamente...


9
Preguntas y respuestas / Ayuda con partículas
« en: Agosto 18, 2012, 08:24:35 pm »
Hola, miren, aun no sé ABSOLUTAMENTE NADA sobre el tema particles en el GM, y he pensado, que quisiera aprender a manejarme un poco sobre el tema (en D&D) y he buscado algo, pero todo lo que encuentro son paranollas en GML y por el momento, como que no me interesa :S por eso pido porfavor, si alguien me podría hacer un breve tutorial, sobre lo que quisiera hacer en este momento, lo que necesito y así depaso me adentro un poco y aprendo :D

lo que me gustaría hacer, es que un enemigo mío ande soltando pixels varios de color rojo que vayan a direcciones aleatorias y estas tengan gravedad, lo cual estos mismos desaparezcan al poco tiempo... vamos, digamos que es para un efecto de sangre a lo pixelmaniaco xd...

"me se entiende?" xd gra gra gracias :D

10
Preguntas y respuestas / dibujar un entero (solucionado)
« en: Agosto 14, 2012, 06:51:07 pm »
hola, miren en mi juego me pasa que en el hud dibujo un texto con draw_text con variables de pormedio, lo que pasa es que la variable, hay una que el valor me sale a partir de operaciones que dan decimales... y simplemente no me interesa que en pantalla se vean los decimales... cómo mi GML es penoso aun... pues tengo puesto esto:

Código: [Seleccionar]
draw_text(15,15,"Exp: "+string(global.expporciento)+"%")
cual es la manera correcta de ponerlo (usando el mismo draw_text) para que no se vea por ejempli un "22,35%" sino un "22%" nada más en pantalla?? (solo al dibujar, que aunke se vea solo "22%" que el valor real de la variable sea 22,35 igualmente)

graciass :)

11
Soy un despistado con lo del logo jaja sry :3

de nuevo...
Miren, estoy haciendo un juego donde estoy creando el primer hud que he hecho en mi vida, super simple y se me ha ocurrido poner un simple background que sirva como imágenes de fondo donde están los datos y encima dibujar las variables y tal... y bueno, necesitaba poner el background por encima de los objetos del juego (personaje, enemigos, suelos, fondo de la room normal, etc... para eso pues lo primero que se me ocurrió fue... foreground image?... pero claro, ahora veo que esto es para que esté por encima de todo y claro, me tapa las instancias de las variables que dibujo... alguna manera de poner un background por encima de TODO menos los objetos que me interesan?... espero explicarme bien (a ser posible, que sea utilizando background claro, y no crear un objeto con la imagen del hud y ponerlo entre medio :S)

gragragracias


PD: saludos hace mucho que no me paso, estaba viciándome al "Dead Frontier" os lo recomiendo xddd (survival horror MMORPG!! O_o)

12
Miren, estoy haciendo un juego donde estoy creando el primer hud que he hecho en mi vida, super simple y se me ha ocurrido poner un simple background que sirva como imágenes de fondo donde están los datos y encima dibujar las variables y tal... y bueno, necesitaba poner el background por encima de los objetos del juego (personaje, enemigos, suelos, fondo de la room normal, etc... para eso pues lo primero que se me ocurrió fue... foreground image?... pero claro, ahora veo que esto es para que esté por encima de todo y claro, me tapa las instancias de las variables que dibujo... alguna manera de poner un background por encima de TODO menos los objetos que me interesan?... espero explicarme bien (a ser posible, que sea utilizando background claro, y no crear un objeto con la imagen del hud y ponerlo entre medio :S)

gragragracias


PD: saludos hace mucho que no me paso, estaba viciándome al "Dead Frontier" os lo recomiendo xddd (survival horror MMORPG!! O_o)

13
Preguntas y respuestas / Seguimiento PERFECTO?
« en: Julio 20, 2012, 02:15:47 pm »
[GM8.1PRO]

para hacer que un objeto siga a otro en todo momento, yo he aprendido a hacerlo con un jump_to_position al objeto en x,y en un evento step.... pero de siempre me ha pasado que el objeto este, sigue al otro pero con un cierto... "lag" por así decirlo, siempre va un paso por detrás del objeto a seguir... y mi pregunta es... hay alguna manera para que un objeto siga a otro, pero de forma TOTALMENTE perfecto?, que no se quede atrás ni un solo pixel?... espero explicarme...

14
Preguntas y respuestas / Crear y modificar .txt (Solucionado)
« en: Julio 16, 2012, 07:40:31 pm »
[gm8.1]
Digo que es urgente porque lo necesito para una aplicación importante para hacer presupuestos...

Tengo plasmado en pantalla unos botones que hacen un presupuesto total que van sumando a cada click...
lo que me hace falta hacer y jamás he tocado.. es crear un archivo .txt (si es otro, pues no pas nada, pero que se pueda abrir con el blog de notas xd) por ejemplo "lista.txt" donde en un click a un botón escriba automáticamente un nombre, por ejemplo "producto01 - 2.55Euros" y se guarde solo, pero que al clickar a otro botón (botón me refiero a objetos puestos en pantalla ya creados), pues que en EL MISMO archivo lista.txt en una linea debajo escriba lo del botón (ej: "producto36 - 3.26Euros" y se vuelva a guardar... es decir que se vaya acumulando solo con clickar, que no tengas que abrir el archivo en la aplicación y tener que escribir nada manualmente...

además de eso, en lo que escribe, puse el precio así directo, pero en lo de por ejemplo "2.55" o "3.26", eso me gustaría que lo pille de una variable que tengo "global.dcPrice" porque puede ser una variable u otra que según pasa el tiempo, puede cambiar el tiempo y así solo modifico el precio en la variable (que hay más de una con distinto precio según el producto) en vez de cambiarlo en toooooooodosss los productos, que no son pocos...


me se entiende? :S

gracias a todo aquel que me intente ayudar :D

15
Preguntas y respuestas / problema con animaciones
« en: Julio 12, 2012, 10:50:08 pm »
Ya le empiezo a pillar gusto a esto de preguntar eeeh xDDD (nah en serio, pregunto muy poco siempre me busco la vida solo, pero con esto no puedo o no veo el error :S ya que le estoy dando más al tema GML y no estoy muy acotumbrado D;

Pasa que después de haberme liado con el tema del sprite según la posición del mouse
( http://www.comunidadgm.org/index.php?topic=17142.0 - importante para empanarse lo que tengo)
me pasa que al andar no me hace la animación, y pues, quiero que cuando pulso alguna de las teclas (W,S,A,D) haya animación (image_speed), he probado varías cosas.. hasta intento que esté todo el rato animado poniendo por todas partes image_speed = 4; pero no se mueve para nada y en ninguna sola parte hay ningún image_speed = 0; así que no entiendo pk no se mueve ni patrás xd no sé si hay algo que provoque que no se mueva, lo desconozco...

he probado hasta en el step del player meter esto:
Código: [Seleccionar]
if keyboard_key_press(ord("W") or ord("S") or ord("A") or ord("D"))
{
    image_speed = 4;
}
else
    image_speed = 0;

(es la primera vez que uso el keyboard así que no sé si lo uso bien :/ el caso es que no consigo moverlo de ninguna manera... si necesitan más info o incluso el editable pues pedir :)

gracias por anteBRAZO D:

Páginas: 1 2