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 - WolfIng Entertainment

16
Cita de: penumbra en Mayo 11, 2015, 06:17:34 AM

Yo te sugeriría que usaras un arreglo para gestionar las arma y sus balas

Lo siento Penumbra, no he entendido bien lo que has querido decir... :-X :-X podrías explicarmelo de otra forma?
no uso codigo para dibujar la variable, uso D&D, las acciones que tiene predeterminadas GameMaker.
Gracias por tomarte tu tiempo en contestar  ;)
17
Buenas Compañeros!

El tema es que quería hacer la variable global.ammo (para la munición) pero tengo varias armas; pistola, escopeta, rifle... y en la pistola si tengo puesta la variable y me funiona correctamente y todo, lo unico malo y el problema que me encuentro a la hora de ir cambiando de arma es que si creo todas las variables con el mismo nombre me cuenta toda la munición, sin importar de que arma sea, y si las creo con distinto nombre tengo que dibujarlas todas en la view para saber cuantas balas me quedan o lo que sea... la pregunta sería:

¿sabriaís decirme alguna forma para tener varias variables y que fuesen cambiando en el juego conforme cambio de objeto?

Gracias Makeros!!
18
Preguntas y respuestas / Re:Enemigos solapados...
Mayo 11, 2015, 05:30:18 AM
Cita de: damyrodriiguez en Mayo 09, 2015, 07:13:33 AM

prueba haber que tal... esto lo que hise fue, que si el objeto al crearse esta sobre otro objeto sea cual sea, pared o enemigo, se elimine y suma el variable +1 para que sepa que hay un enemigo que se elimino por falta de espacio y el variable vuelve a crearlo, pero si vuelve a crearse sobre otro se volverá a eliminar hasta conseguir lugar. es algo simple(: a mi me ha funcionado jaja

Lo siento amigo, o no lo hize bien, o no me funciona, se me siguen quedando solapados además de eso también se me quedan solapados si van andando y chocan unos con otros...

¿Alguien sabe como puedo solucionarlo?
Gracias compañeros!
19
Preguntas y respuestas / Re:Enemigos solapados...
Mayo 09, 2015, 06:31:52 AM
Cita de: damyrodriiguez en Mayo 09, 2015, 06:16:43 AM
Me parecia, porque ya me ha pasado jaja sabes repararlo?

pon que al crearse el objeto zombie si esta en collision con el mismo objeto, se elimine y vuelva a crear, hasta que encuentre un lugar, eso el programa lo hace muy rapido y ni lo notas jaja sino elige tu manual mente la posicion asi te evitas estos problemas, eligiendo donde no hay objetos ni nada..
No, la verdad es que no se como hacer eso, ¿podrías explicarlo?, aunque ahora el fallo no me da cuando se crean tanto como cuando están en pantalla y colisionan unos con otros...
20
Preguntas y respuestas / Re:Enemigos solapados...
Mayo 09, 2015, 06:10:30 AM
Cita de: damyrodriiguez en Mayo 09, 2015, 05:15:35 AM
Sabes porque no se mueven? no será que la oleada casualmente crea mas de 1 objetos sobre el mismo sitio? por el cual se tranca uno con el otro, por estar ensima entre ellos? fijate, tal vez es eso lo que pasa, disparale al enemigo para que cuando ese muera, tal vez el de abajo puedo avanzar, si esto pasa era ese el problema. dime

Si, era justo eso, y de vez en cuando me sigue pasando, no solo con las paredes si no con los enemigos también, puede ser por el precise colision? de todas formas ahora anda mucho mejor aunq la velocidad de los enemigos me parece muy rápida aunque se la baje a uno... xD
21
Preguntas y respuestas / Re:Enemigos solapados...
Mayo 09, 2015, 05:10:26 AM
Cita de: damyrodriiguez en Mayo 09, 2015, 04:10:09 AM
Ponme el codigo que estas utiliando para que se creen los enemigos, haber como lo hisiste :)

Este es el código, es un sistema por oleadas que compartió un compañero de la comunidad:

var yy,xx,direc;

if (oleada == 0) {
    numOleada += 1;
    oleada = 1;
}
if (instance_number(obj_parent_enemigo_sigue) < numZombies * numOleada) {
    yy = random_range(544,480);
    direc = random_range(0,1);  //Creamos un n�mero aleatorio entre 0 y 1.
    if (direc >= 0.5) { //Si ese n�mero es mayor o igual que 0.5 se crea el objeto de izquierda a derecha
        idObj =  instance_create(0,yy,choose(obj_enemigo1,obj_enemigo2,obj_zombie3,obj_zombie4)); //con idObj tomamos la ID del objeto creado.
        idObj.direccion = 0; //Al objeto recien creado le cambiamos el valor de la variable direccion.
    } else { //Si no se crea de derecha a izquierda.
        idObj = instance_create(room_width,yy,choose(obj_enemigo1,obj_enemigo2,obj_zombie3,obj_zombie4))
        idObj.direccion = 1;
    }
    alarm[0] = 5; 
} else {
    oleada = 0;
}
22
Preguntas y respuestas / Re:Enemigos solapados...
Mayo 09, 2015, 04:07:13 AM
Cita de: damyrodriiguez en Mayo 08, 2015, 09:01:20 PM
HOLA AMIGO !!! TENGO LA SOLUCION..

Mira yo tengo un juego top down, de zombies en el cual uso ese tipo de codigos que tu quieres.. aqui te lo planteo. Este codigo teservíra para que los enemigos se colisionen entre ellos y se esquiven tambien..

hagamos el ejemplo de que lo estoy creando yo para guiarte..

Creo un objeto llamado: obj_player
Creo un objeto llamado: obj_zombies... bueno

ve a "step event" en obj_zombies y abre un "execute code" escribe lo siguiente.

if distance_to_object(obj_player) <= 256
{
      if distance_to_object(obj_player) <= 16 {speed=0}
   mp_potential_step(obj_player.x,obj_player.y,4,all)

      if distance_to_object(obj_zombies) < 16
      mp potential_step(x,y,4,all)
      if distance_to_object(obj_player) <= 16 {speed=0}
}

LISTO..obviamente tu pon el nombre de tu jugador segun como lo hayas escrito, y al del zombie tambien. tu sabes.

bueno, y el numero "4" que encuentras en esta accion "Potential" es la velodidad del enemigo o del objeto que se aserque a ti... pues la diferencia de usar "Pontential" y usar "point_direction" es que... mp_potential_step esquiva todo obstaculo para llegar a ti sin necesidad de mucho codigo, solo poniendo eso ya basta.. y el point_direction no esquiva objetos, va solo en linea recta.. a no ser que hagas mas codigos cosa que aburriria. bueno
espero que te sirva esto. dejame decirte que:

Por Pregunta sobre este tema o otras dudas que tengas, te hago saber que me llamo Luiber Extrenzas en Facebook, AGREGAME! yo aqui te dejo el Link, cuando quieras, a las ordenes (Y)

https://www.facebook.com/profile.php?id=100008220635391

Lástima, hay un fallo pero no consigo encontrarle... me crea los enemigos en el borde de la room pero no se mueven de ahí... no se que pasa...
¿alguna idea de que puede pasar? lo he puesto como me dijiste
Muchas gracias de todas formas  ;)
23
Edito.:

quiero que cuando se creen los enemigos y lleguen a mi posición que no se solapen unos con otros, es decir, que hagan colisión entre ellos y para llegar hasta mi tengan que intentar rodearme o algo así.... :-[ :-[no se si me han entendido... xD.
Resumiendo:
Quiero hacer como un check_collision con todos los enemigos, incluso con el mismo tipo de enemigo. Viendo que no puedo solucionar el problema, os dejo el editable del juego a ver si mirando el juego podeis ver mas claro el fallo.
24
Cita de: 3dgeminis en Mayo 05, 2015, 10:23:05 PM
Intenta crear un objeto vacio que sera el padre de todos los objetos enemigos y emparenta todos estos a el. Cuando quieras contar cuantos enemigos hay usa este nuevo objeto.
Para mas informacion consulta en el manual parents 8)

Te dejo un ejemplo

3dgeminis MUCHAS GRACIAS!funciona perfecto

25
Cita de: 3dgeminis en Mayo 05, 2015, 08:50:21 AM
Para crear varios enemigos tenes que cambiar la funcion que tenes instance_create(room_width,yy,obj_enemigo2); de esta forma instance_create(room_width,yy,choose(enemigo1,enemigo2,enemigo3,enemigo4));
Lo que hace la funcion choose en este caso es elegir un enemigo de entre los 4 que puse al azar, solo tenes que poner los nombres de los enemigos que queres que aparezcan.
Rspecto a lo otro me parece a mi que si se esta dibujando pero lo hace tan abajo que se sale de la view, proba a cambiar el valor de 448 por uno chico como 10 a ver que pasa.

Muchas Gracias 3dgeminis: con respecto a la función choose, me funciona y crea aleatoriamente los cuatro tipos de enemigos, pero lo unico es que ahora no cuenta todos los enemigos, solo los obj_enemigo2 y entonces hasta que no salen 10 obj_enemigo2 no para de generar enemigos...  :-[.... he probado de muchas formas.... pero o me falla la función al ejecutar el juego o me crea los enemigos hasta que hay diez obj_enemigo2... además solo me crea los enemigos en la derecha... :(
respecto a lo de dibujar las variables, si que se me dibuja, justamente, 448 es el limite por abajo de mi view, lo que pasa es que no se mueve de cero, pase una o 10 oleadas...
Muchas gracias de nuevo! :D :)
26
Cita de: eams1986 en Mayo 04, 2015, 03:36:32 AM
Si pones el codigos que usas seria mas facil ayudar. ;D

si, tienes razón... xD este es el código:

en el objeto creadorDeEnemigos:
EVENTO CREATE :

numOleada = 1;
tiempoOleada = room_speed * 5; //5 segundos.
numZombies = 10;
oleada = 1;

alarm[0] = 10;

EVENTO ALARM[0] :

var yy,xx,direc;

if (oleada == 0) {
    numOleada += 1;
    oleada = 1;
}
if (instance_number(obj_enemigo2) < numZombies * numOleada) {
    yy = random_range(240,400);
    direc = random_range(0,1);  //Creamos un n�mero aleatorio entre 0 y 1.
    if (direc >= 0.5) { //Si ese n�mero es mayor o igual que 0.5 se crea el objeto de izquierda a derecha
        idObj = instance_create(0,yy,obj_enemigo2); //con idObj tomamos la ID del objeto creado.
        idObj.direccion = 0; //Al objeto reci�n creado le cambiamos el valor de la variable direccion.
    } else { //Si no se crea de derecha a izquierda.
        idObj = instance_create(room_width,yy,obj_enemigo2);
        idObj.direccion = 1;
    }
    alarm[0] = 5; 
} else {
    oleada = 0;
}

EVENTO STEP :

if (oleada == 0 and instance_number(obj_enemigo2) == 0) {
    if (alarm[0] < 0)
        alarm[0] = tiempoOleada;
}

Tambien tengo un evento Draw, que dibuja las variables, pero el numero de oleada no me lo dibuja, habrá algo mal en el codigo??

Obj_control
EVENTO DRAW :

draw_text(view_xview+0,view_yview+448,string(instance_number(obj_enemigo2)));
draw_text(view_xview+64,view_yview+448,string(numOleada));
draw_text(view_xview+128,view_yview+448,string(oleada));

Muchas Gracias
27
Hola compañeros:

A ver si alguien me puede ayudar...

vi un codigo para un sistema de oleadas y me funciona perfectamente, el único problema que veo es que solo puedo escoger un objeto para que me cree, ¿Sabríais decirme de algún código para que creara al menos 4 objetos?

También me gustaría que cada, digamos... 5 niveles, me creara un boss aleatorio, no estoy seguro de como hacerlo pero sería asi?

if numOleada = 5
create_instance(boss)

soy un desastre con GML xD
Gracias de antemano
28
Muchas gracias por modificarlo, pero en la versión lite de GM no puedo usar las ds_list, tendré que pasar el juego a 8.1  :D, otra cosilla, si creo el objeto parent de los enemigos solo necesitaría un objeto para que me saliesen todos los puntos de los enemigos en el minimapa no?? y para que el punto de mi jugador vaya cambiando cada vez que cambio de objeto, también valdría solo con hacer el objeto parent??

Muchas Gracias
29
Buenas de Nuevo!

Como vereis, me estoy volviendo asiduo de este foro xD...
buscando por aquí vi un post del 2009 de alguien llamado kakashinga o algo parecido y la verdad esque su código me ha sido muy útil es este:

// Tyranic-Moron's Minimap Script

// Supports up to 3 teams.
// Just credit me if you use it, and I'll be happy :)
// PM me for more help if you need it (my username is tyranic-moron)

// To use, put the following code in the draw event of the minimap object:
// scrMinimap(ratio,alpha,color,xoffset,yoffset,usesprite,usepulse,team1,team1color,team1rad,team2,team2color,team2rad,team3,team3color,team3rad)
// see below for more detailed descriptions of each section

// Example:
// scrMinimap(200/room_width, 0.5, c_black, 0, 0, false, true, parent_player, c_lime, 1, parent_enemy, c_red, 1, parent_other, c_gray, 1)

// ratio = room to minimap ratio (use desired width / room_width) (argument0)
// alpha = alpha level for drawing (transparency) (argument1)
// color = colour of map (argument2)
// xoffset = the x-offset of the minimap (argument3)
// yoffset = the y-offset of the minimap (argument4)
// usesprite = whether or not to use a sprite (true/false) (argument5)
// usepulse = whether or not to pulse the area currently being viewed (true/false) (argument6)
// team1 = player object name, or parent of (argument7)
// team1color = colour of player objects (on map) (argument8)
// team1rad = size of player 'blips' on minimap (5 is HUGE, normally 1) (argument9)
// team2 = enemy object name, or parent of (argument10)
// team2color = colour of enemy objects (on map) (argument11)
// team2rad = size of enemy 'blips' on minimap (5 is HUGE, normally 1) (argument12)
// team3 = other object name, or parent of (argument13)
// team3color = colour of other objects (on map) (argument14)
// team3rad = size of other 'blips' on minimap (5 is HUGE, normally 1) (argument15)

var pulsecolor, dir

draw_set_alpha(argument1)
draw_set_color(argument2)

// Draws the minimap background
if (argument5 = true) {
    if (gamemaker_registered = true) {
        draw_sprite_ext(sprMinimap, 0, view_xview[0] + argument3, view_yview[0] + argument4, argument0*room_width, argument0*room_width, 0, argument2, argument1)
    } else {
        draw_sprite(sprMinimap, 0, view_xview[0] + argument3, view_yview[0] + argument4)
    }
} else {
    draw_rectangle(view_xview[0] + argument3, view_yview[0] + argument4, view_xview[0] + argument3 + room_width * argument0, view_yview[0] + argument4 + room_height * argument0, false)
}

// Draws a rectangle on the minimap, showing the current view in the room (if argument4 = true, it will pulse as well)
if (argument6 = true) {
    if (dir = 0 or pulsecolor = 0) {
        dir = 1
        pulsecolor = 100
    }
    if (pulsecolor < 255 and dir = 1) {
        pulsecolor += 5
    } else {
        dir = 2
    }
    if (pulsecolor > 100 and dir = 2) {
        pulsecolor -= 5
    } else {
        dir = 1
    }
    if (pulsecolor = 255) {
        dir = 2
    }
    if (pulsecolor = 100) {
        dir = 1
    }
} else {
    pulsecolor = 255
}
draw_set_alpha(argument1/2)
draw_set_color(make_color_rgb(pulsecolor,pulsecolor,pulsecolor))
draw_rectangle(view_xview[0] + argument3 + view_xview[0] * argument0, view_yview[0] + argument4 + view_yview[0] * argument0, view_xview[0] + argument3 + (view_xview[0] + view_wview[0]) * argument0, view_yview[0] + argument4 + (view_yview[0] + view_hview[0]) * argument0, false)

// Draw the dots for each object
draw_set_alpha(argument1)
with(argument7) {
    draw_set_color(argument8)
    draw_circle(view_xview[0] + argument3 + x * argument0, view_yview[0] + argument4 + y * argument0, argument9, false)
}
with(argument10) {
    draw_set_color(argument11)
    draw_circle(view_xview[0] + argument3 + x * argument0, view_yview[0] + argument4 + y * argument0, argument12, false)
}
with(argument13) {
    draw_set_color(argument14)
    draw_circle(view_xview[0] + argument3 + x * argument0, view_yview[0] + argument4 + y * argument0, argument15, false)
}

// Move view to clicked point on minimap
if ((mouse_x >= view_xview[0] + argument3 and mouse_x <= view_xview[0] + argument3 + (argument0 * room_width)) and (mouse_y >= view_yview[0] + argument4 and mouse_y <= view_yview[0] + argument4 + (argument0 * room_height)) and mouse_check_button(mb_left)) {
        view_xview[0] = ((mouse_x - view_xview[0] - argument3) / argument0) - (view_wview[0] / 2)
        view_yview[0] = ((mouse_y - view_yview[0] - argument4) / argument0) - (view_hview[0] / 2)
}

// Stops the view going outside the room
if (view_xview[0] < 0) {
    view_xview[0] = 0
}
if (view_xview[0] > room_width - view_wview[0]) {
    view_xview[0] = room_width - view_wview[0]
}
if (view_yview[0] < 0) {
    view_yview[0] = 0
}
if (view_yview[0] > room_height - view_hview[0]) {
    view_yview[0] = room_height - view_hview[0]
}


pero me ha surgido una pregunta, el código soporta hasta tres puntos en el minimapa, la pregunta era ¿como puedo hacer para que soporte por lo menos otros dos puntos, es decir, cinco puntos en total?

Muchas Gracias
30
Preguntas y respuestas / Re:Archivos .ini
Mayo 01, 2015, 08:06:03 AM
Cita de: ocarina en Abril 30, 2015, 11:14:39 PM
Hace tiempos hice un video de como usarlos

https://youtu.be/xifTw2fXeJk

Muchas gracias Ocarina, Lo echaré un vistazo...  ;D