Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

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.


Mensajes - cristopher2545

Páginas: 1 2
1
Preguntas y respuestas / Re:multijugador CO-OP
« en: Abril 22, 2020, 02:55:55 am »
Hola, gusto en saludarlos.

BssString tiene razón,  debí especificar que para establecer conexión deben cumplirse con ciertos requisitos  :-[. Ahora bien, después de conocer el proceso que nos permite establecer conexión con los servidores podremos lograr lo siguiente.

1.   Que se creen distintos servidores
2.   Que se visualice una lista de servidores disponibles
3.   Que se permita el acceso a uno de esos servidores con tan solo un click.
4.   Que se solicite contraseña antes de conectarse a uno de los servidores de la lista.
5.   Que se borren de la lista los servidores que ya no tienen conexión.

Esto se puede lograr de la siguiente manera:

1. Para que el usuario visualice los servidores disponibles tiene que haberse conectado a un servidor que permita visualizar los disponibles y almacene los datos de acceso a ellos, a este servidor lo llamaremos servidor madre.
2. Entonces el usuario conectado al servidor madre, escoge el servidor que más le guste y se le devuelven los datos necesarios para establecer la conexión.
3. Si no se permite estar conectado a dos servidores distintos entonces con los datos obtenidos debe salir del servidor madre y acceder al servidor elegido.

Ahora bien, ¿cómo enviar los datos de un servidor a otro servidor administrador o madre?

Primer caso:
1. El usuario que crea un servidor,  almacena en diversas variables los datos de acceso al servidor y antes de crear el servidor se conecta a un servidor madre para enviar los datos de acceso, e indicarle al servidor madre que ya existe como servidor, luego se desconecta del servidor madre y se crea el nuevo servidor.
2. El usuario que no tiene intención de crear servidor, se conecta automáticamente al servidor madre para visualizar los servidores disponibles, entonces escoge uno y se le devuelven los datos de acceso, se desconecta del servidor madre y se conecta en el servidor seleccionado.
Segundo caso:
1. Dos usuarios crean servidores distintos cuyos datos ya fueron almacenados en el servidor madre. El servidor madre indica que ya existen dos servidores creados.
2. Un usuario entra automáticamente al servidor madre y selecciona y observa que son dos servidores los que están disponibles, escoge uno y automáticamente se desconecta del servidor administrador o madre y se conecta al servidor seleccionado.

Ahora surge otro problema: ¿Cómo detecta el servidor administrador o madre que uno de los servidores ya no tiene conexión?
1.   Los que pueden reportar el estado del servidor son los mismos usuarios. Por eso cuando un usuario intenta entrar en un servidor y no consigue hacerlo, reporta el estado al servidor madre y se borra de la lista de servidores disponibles.


agradezco la respuesta! bastante interesante la teoria entiendo que ahora debo crear un servidor maestro que me permita visualizar todos los servidores creados por usuarios, la cosa aqui es como hostear ese servidor madre para manejar toda esa carga de datos, entiendo que el juego debe estar abierto como servidor en alguna computadora central. esto es mas complicado de lo que yo me imaginaba jaja pero estoy deseoso de aprender la verdad
Los siguientes usuarios dieron las gracias a este tema: dixon

2
Preguntas y respuestas / Re:Que medidas a pixel deberia usar?
« en: Mayo 27, 2019, 06:13:58 am »
pues mi personaje en un juego de plataformas es de 155 pixeles de alto por 70 de ancho y luce bastante bien tanto en fullscreen como en modo ventana no es muy grande pero tampoco no es pequeño lo suficiente para que se noten los detalles
Los siguientes usuarios dieron las gracias a este tema: Cocolisto

3
Preguntas y respuestas / Re:Arma de 3 disparos
« en: Mayo 27, 2019, 02:53:57 am »
puedes hacer una variable que cuente las balas que le queden a la pistola por ejemplo balas=3

y cada que presiones la tecla de disparo quitar una

if keyboard_check_pressed(tu tecla) && balas!=0
{
balas-=1
}

y para que tenga un cooldown podrias hacer una variable timer


if balas =0
{
timer+=1
}

if timer>80
{
balas=3
timer=0
}
Los siguientes usuarios dieron las gracias a este tema: playdro

4
puedes forzarla después que el dialogo termine no tengo un ejemplo de un sistema de dialogo pero podrías hacer que en la ultima linea de texto que conforme el dialogo entre personajes exista una variable que permita hacer una transición como por ejemplo dialogo_end=true

if dialogo_end=true //si el dialogo se acabo
{
lock=true / bloquea al personaje en su sitio
other.lock=true / bloqueas al enemigo en su lugar
instance_create(x,y,obj_tranmsicion) /creas una transición animada estilo rpg de antaño
}

en el animation end event de la animacion de transicion desactivas todo lo anterior

if sprite_index= spr_transition
{
dialogo_end=false
room_goto(combate_zone)
}

para hacer entrar en combate si el enemigo te toca podria ser algo como

if place_meeting(x,y,obj_malo)
{
lock=true / bloquea al personaje en su sitio
other.lock=true / bloqueas al enemigo en su lugar
instance_create(x,y,obj_tranmsicion) /creas una transición animada estilo rpg de antaño
}

if sprite_index= spr_transition
{
room_goto(combate_zone)
}
Los siguientes usuarios dieron las gracias a este tema: StarLord

5
Desarrollo de Scripts / One way platforms
« en: Mayo 23, 2019, 11:17:42 am »
Autor original: CRISTOPHER2545
Versión de GM utilizada:  :GM8: :GMS:
Descripción: este código añade las plataformas de un sentido o plataformas fantasma, las cuales puedes subir por debajo y bajar estando arriba si aprietas la tecla indicada, si solo deseas que funcione de un sentido puedes quitar la parte del código que indico abajo (el código es compatible con el de shaun spalding, el codigo también es compatible y funcional si la plataforma se mueve en horizontal).


Código:
evento CREATE de la plataforma
Código: [Seleccionar]
sprite_index= -1;
force=false // forza el cambio de mascara de la plataforma
down=false // desactiva la solides al apretar una tecla

evento STEP de la plataforma
Código: [Seleccionar]

mask_index = spr_platform

if force=true or down=true
{
mask_index=-1
}

// la variable onGround va en el personaje y es una variable para detectar si estas en el piso, si tu personaje no tiene una puedes usar esta que va en el evento step del jugador, no olvides declarar la variable en el create
if place_meeting(x,y-1,obj_wall)
{
onGround=true
}
else
onGround=false
///////////////////////////////////////


if !place_meeting(x,y-1,obj_player) && obj_player.onGround=false && obj_player.y>y
{
    force=true
    down=false  //remover si deseas solo subir a la plataforma
    }
    else
    {
    force=false
// remover si solo deseas subirte a la plataforma
    if keyboard_check(vk_down) 
    {
    down=true
    }
    }



evento DRAW de la plataforma

Código: [Seleccionar]

draw_sprite(spr_platform_M,0,x,y);


Los siguientes usuarios dieron las gracias a este tema: AgeX_005

6
Preguntas y respuestas / Re:movimiento para RPG con profundidad
« en: Marzo 03, 2019, 08:30:22 am »
tal vez  no pueda resolver tu pregunta pero intentare de resolver parte de ella, estas de suerte trabajo en un juego isometrico  y se un poco

puedes usar este código de movimiento y colisiones no es perfecto pero hace el trabajo (funciona si lo copias y pegas pero antes analiza para poder entender lo que sigue)

CREATE EVENT
Código: [Seleccionar]
h = 0;           // velocidad horizontal
      v = 0;           // velocidad vertical
      m = 1;           // multiplica la velocidad actual
      accel = 1        // aceleracion en el piso
      fric  = 0.5;     // friccion en el piso
      maxSpd = 2.1     // velocidad maxima

STEP EVENT
Código: [Seleccionar]
//[SISTEMA DE COLICIONES]
//--------------------------------------------------------------------------------//     

// VARIABLES TEMPORALES

    var i;

// VERTICAL

    for (i = 0; i < abs(v); ++i) {
    if (!place_meeting(x, y + sign(v),obj_parent_solid))
    y += sign(v);
    else {
    v = 0;
    break;
    }
    }

// HORIZONTAL

    for (i = 0; i < abs(h); ++i) {
    if (!place_meeting(x + sign(h), y, obj_parent_solid))
    x += sign(h);
    else {
    h = 0;
    break;
    }
    }
   
//[MOVIMIENTO (KEY INPUTS)]
//--------------------------------------------------------------------------------//

// IZQUIERDA



     if (kLeft && !kRight) 
     {
     if (h > 0)
     h = Approach(h, 0, fric);
     h = Approach(h, -maxSpd, accel);
     }

// DERECHA

     if (kRight && !kLeft)
     {
     if (h < 0)
     h = Approach(h, 0, fric);   
     h = Approach(h, maxSpd, accel);
     }
}   
// ARRIBA


     if (kUp && !kDown)
     {
     if (v > 0)
     v = Approach(v, 0, fric);   
     v = Approach(v, -maxSpd, accel);
     }


// ABAJO

     if (kDown && !kUp)
     {
     if (v < 0)
     v = Approach(v, 0, fric);   
     v = Approach(v, maxSpd, accel);
     }     


para manejar la profundidad

Código: [Seleccionar]
depth=-y*10


con lo de subir la rampa no creo poder ayudarte y aunque tenga algo esta experimental y no funciona correctamente la verdad pero si logro ver que pasa te lo comento
Los siguientes usuarios dieron las gracias a este tema: Goyomix325

7
Preguntas y respuestas / Re:animacion arrojar bombas tipo metal slug
« en: Septiembre 19, 2018, 03:09:27 am »
en metal slug el personaje esta dividido por la cintura las piernas son un objeto y el torso son otro objeto los cuales son unidos mediante un codigo asi es mas sencillo manejar los cambios de armas y las acciones que hace cada personaje
Los siguientes usuarios dieron las gracias a este tema: Yuzo

8
Preguntas y respuestas / Re:Ejecutar un programa externo
« en: Febrero 02, 2018, 05:40:15 am »
puedes hacerlo con el uso de una extension


esta te permite abrir programas y archivos instalados en el pc desde game marker studio:

https://marketplace.yoyogames.com/assets/575/execute-shell

Los siguientes usuarios dieron las gracias a este tema: Clamud, Yuzo

9
Preguntas y respuestas / Re:¿Alguien mas tiene este problema con sprite?
« en: Febrero 01, 2018, 10:36:06 pm »
todo  depende de tu pc generalmente cuando los sprites o archivos del juego desaparecen por arte de magia, es algun problema con los archivos de guardado y como los maneja tu pc
Los siguientes usuarios dieron las gracias a este tema: Yuzo

10
Preguntas y respuestas / Re:una duda
« en: Enero 15, 2018, 10:12:04 pm »
digamos que presiono izquierda y derecha para que el personaje se mueva lo que quiero es que al pulsar por ejemplo la X el personaje se frene en seco hasta que no dejes de presionar esa tecla el personaje no se moverá

gracias por la respuesta  :)
Los siguientes usuarios dieron las gracias a este tema: Yuzo

11
Preguntas y respuestas / Re:No colisiona
« en: Enero 15, 2018, 07:23:21 am »
es una variable del código de shaun spalding la razón por la que no colisiona es porque el código de colisiones esta incompleto te dejo este enlace donde hay un código ya hecho para un juego de plataformas incluye wall jump y slopes.

revisa que te sale mal y ve como puedes armarte tu propio código de colisiones

http://www.comunidadgm.org/desarrollo-de-scripts/platformer-'engine'-source-code/

suerte  :)
Los siguientes usuarios dieron las gracias a este tema: Yuzo

13
image_speed=2 creo que es un poco alto para que se mueva lento podrias usar en su lugar numeros en decimal entre mas alto el decimal mas lento o estable se movera prueba por ejemplo

image_speed=0.25 eso talvez lo haga moverse lento, reemplaza todos los 2 que tengas en este codigo por el 0.25
Los siguientes usuarios dieron las gracias a este tema: Yuzo

14
bueno veo que la estructura es parecida al código de shaun spalding eso es bueno te invito veas este vídeo contiene todo lo que necesitas para empezar con las colisiones:



si quieres un codigo ya hecho te invito veas el code source para un juego de plataformas que ya viene equipado con todo lo que nesecitas:

http://www.comunidadgm.org/desarrollo-de-scripts/platformer-'engine'-source-code/


suerte en eso!
Los siguientes usuarios dieron las gracias a este tema: Yuzo, Mental.Gif

15
Preguntas y respuestas / Re:Mostrar animacion una sola vez
« en: Diciembre 24, 2017, 10:55:15 am »
para detener una animacion o "sprite" en concreto puedes usar el evento ANIMATION END y poner  este código

Código: [Seleccionar]
if sprite_index="tu animación que quieres ver una sola vez"
{
image_index="el ultimo frame de tu animacion para que se congele ahi
}

o

Código: [Seleccionar]
if sprite_index="tu animación que quieres ver una sola vez"
{
sprite_index="la siguente animacion que quieres reproducir"
}
Los siguientes usuarios dieron las gracias a este tema: Yuzo

Páginas: 1 2