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

1
Hay te resolví tu problema, pruebalo y me comentas que tal va  :).
Cambie lo siguiente en tus dos players, ademas le quite lo del solid.

switch lad
{
    case d_Up:
         {
          if(((y-16)>0) and !place_meeting(x,y-16,obj_RedPlayer)){y -=16};break;
         }
    case d_Down:
         {
          if(((y+16)< room_height) and !place_meeting(x,y+16,obj_RedPlayer)){y +=16};break;     
         }
    case d_Left:
         {
          if(((x -16)> 0) and !place_meeting(x-16,y,obj_RedPlayer)){x -=16} ;break;       
         }
    case d_Right:
         {
          if(((x+16)< room_width) and !place_meeting(x+16,y,obj_RedPlayer)){x +=16} ;break;       
         
         }
}

Te faltaba validar que dejara de moverse si choca con el otro objeto player, agregándole !place_meeting(x,y-16,obj_RedPlayer) se arreglo.
Para el player Green le agregue esto en el codigo anterior: !place_meeting(x,y-16,obj_RedPlayer).
Para el player Red le agregue esto en el codigo anterior: !place_meeting(x,y-16,obj_GreenPlayer).
2
Yo no le hago mucho al 3d pero creo que podrías solucionarlo agregándole gravedad a los enemigos si es que no tienen.
3
Preguntas y respuestas / Re:Escudo
Noviembre 04, 2013, 11:03:36 AM
De momento se me ocurre algo asi:


//<-----------------ENEMIGO---------------------->
//EVENTO CREATE ENEMIGO
defensa=0; //defensa
hp=10;
escudo=30;

//EVENTO STEP ENEMIGO
if(escudo>0){
defensa=2;
}else{
defensa=0;
}
//EVENTO COLISION DE LA BALA CON EL ENEMIGO

if(defensa>=obj_bala.damage){//SI LA DEFENSA DEL ENEMIGO ES MAYOR AL DAÑO DE MI BALA
hp-=1; //MINIMO LE QUITO 1 DE HP
}else{//CASO CONTRARIO
hp=defensa-obj_bala.damage; // SE LE RESTA LA DIFERENCIA A LA VIDA DEL ENEMIGO
    if(escudo>0){
           escudo-=2;
     }
}

//<-----------------ENEMIGO---------------------->

//<-----------------BALA---------------------->
//EVENTO CREATE BALA
damage=3;
//<-----------------BALA---------------------->
4
FD13, te hice unos arreglos al engine que colocaste, te lo deje comentado y con algunas mejoras, no pude hacerlas con el sistema D&D por que manejo mas código, pruebalo y me dices.
5
Para poder ayudarte deberías colocar el código que usas para moverte, colisión con el piso y gravedad, o mejor aun si colocas el .gmk.
6
Para lo primero puedes controlar la velocidad del sprite con image_speed para cada sprite al cual puedes asignarle un valor decimal o entero desde 0 hacia arriba.

Para los segundo tienes que ir probando con el image_speed, la que mejor te convenza.

Para lo tercero, puedes usar lo siguiente:

//si no se esta presionando la tecla derecha ni la tecla izquierda entra
if ((!keyboard_check(vk_left) and !keyboard_check(vk_right))){
    //Si el sprite actual no es del personaje quieto, y si estamos sobre el suelo entonces entra.
    if(sprite_index!=sprite_personaje_quieto and !place_free(x,y+1)){
        image_index=0;//Le colocamos 0, para que siempre comienze desde frame 0
        image_speed=0.5;//Velocidad deseada
        sprite_index=sprite_personaje_quieto;//Cambiamos al sprite del personaje quieto   
    }
}


Reitero lo del image_speed, tienes que ir probando valores hasta que alguno te convenza, y ponlo siempre antes de cambiar de sprite.

y para lo ultimo creas un ejecutable del juego con el rectangulo blanco con una flechita verde que esta al lado del boton guardar.
7
Preguntas y respuestas / Re:saudio se murío ._.
Septiembre 23, 2013, 10:05:18 PM
Yo igual tuve problemas con el saudio hace poco, y tuve que cambiarme, googleando un poco di con esta extension y la encontre muy buena por si les sirve : http://moacube.com/resources/caster-multi-platform-ogg-extension-for-gamemaker/.
8
Preguntas y respuestas / Re:Hacer invencibilidad post-hit
Septiembre 22, 2013, 10:02:36 PM
Aqui te dejo un codigo de como hacerlo:


//EVENTOS DEL PLAYER

//EVENTO CREATE
is_dmgd=0 /*0 indica que te pueden dañar y 1 que no te pueden dañar*/

//EVENTO DE COLISION CON EL ENEMIGO
if(is_dmgd==0){
is_dmgd=1;
alarm[0]=10;/*Aqui pones el tiempo que quieras que permanezca invencible*/
}

//EVENTO DE LA ALARM[0]
is_dmgd=0;

9
Preguntas y respuestas / Re:Necesito ayuda con un objeto
Septiembre 16, 2013, 12:30:35 AM
Quizas esto te sirva:


//EVENTO STEP DEL PERSONAJE
if(keyboard_check(ord("J"))){
/*Si no existe el obj_escudo, entonces lo crea*/
    if(!instance_exists(obj_escudo)){
        instance_create(x,y,obj_escudo)       
    }
}

//EVENTO STEP DEL ESCUDO
/*Si no se esta presionando "J", me destruyo*/
if(!keyboard_check(ord("J"))){
    instance_destroy()
}
10
Hola Jangse, aquí te adjunto un archivo .rar que contiene como se escriben en gml las funciones Drag&Drop que trae game maker(6 y 7) espero que te sirva.

Con respecto a lo de los script, yo los utilizo cuando debo utilizar ese código en varios eventos dentro de un objeto, para optimizar el tamaño del .exe que genera el game maker y para no tener código repetido dentro de un objeto.

Ejemplo: digamos que tengo que utilizar un código que tiene 30 lineas, y debo usarlo en tres eventos.
Si lo uso en un script (30 lineas) y lo llamo 1 vez en los tres eventos(al llamarlo solo usa una linea,+3 lineas)
Tenemos :30 lineas del script, y 3 lineas de las llamadas, 33 lineas en total;

Si uso el código de 30 lineas directamente(sin script), dentro de los 3 eventos, tendríamos 90 lineas.

Si te fijas es mucha la diferencia 33 lineas VS 90.

En cuanto al D&D, los script puedes llamarlos tanto con la función D&D (control) como también con la que dice execute script, yo uso mas la de control, ya que me permite ordenar mejor el código y no me ocupa tanto espacio en la pantalla, es cosa de gustos.
11
Hola, creo que seria mas fácil entender tu problema y ayudarte, si publicas el código que usas en el hitbox enemigo.
12
Hola, creo que que esto te puede servir:

Cambia esto:

if (keyboard_check_released(vk_shift)) // si se suelta la tecla de Shift la velocidad vuelve a 4
   velocidad = 4;


Por esto otro:

if(keyboard_check_released(vk_shift)){ // si se suelta la tecla de Shift
    if(keyboard_check(vk_left) or keyboard_check(vk_right)){//Estas presionando la flecha izquierda o la flecha derecha?
        //Si estas presionando alguna de las dos flechas entonces entra aqui
        velocidad=4;
    }else{
        velocidad=0;
    }
}
13
Si quieres me envías lo que tienes hecho, o lo adjuntas aquí mismo y veo si puedo ayudarte con esa parte. Con respecto al ejemplo que te hice, si el personaje esta haciendo algo cuando haces pausa, al reanudar la partida el personaje continua haciendo la acción desde donde quedo. Te aclaro la otra parte, cuando estas en la pantalla de pausa, la instancia del personaje no se encuentra en la room de pausa(no debiera de estar en esa room), por lo tanto en esa room no se ejecutan los eventos del personaje, si no hasta que reanudas la partida.
14
Hola domenec, te hice un ejemplo acerca de como realizar una pausa con inventario, puedes pausar el juego sin necesidad de guardar el juego y desde cualquier room, ya que se guarda en una variable global el nombre de la room que llama a la pausa, para ello debes usar la room persistent la de donde llamas a la room de pausa, espero que te sirva cualquier duda me dices.

Con la tecla r, puedes reiniciar la room, dentro de ese objeto te indica como quitar el persistent a la room.

Controles:
p=pausar/reanudar
Enter=Seleccionar item y reanuda el juego
S=saltar, doble salto si estas equipado con el gorro azul.
Moverse=flechas
r=reiniciar room

Poderes:
Gorro azul equipado=doble salto
Gorro verde= te hace transparente xD
Simbolo de no entrar= no te equipas nada
15
CitarEs un juego %100 creado por vos?

No, lo creo alguien de nacionalidad ruso, y creo que da la posibilidad de editarlo.

Aquí esta la pagina del autor: http://darkorbit-remix.ucoz.ru/
Esta en ruso la pagina pero si lo traducen con el traductor del navegador la entenderán.