Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: superankes en Junio 22, 2013, 10:21:56 PM

Título: 39dll
Publicado por: superankes en Junio 22, 2013, 10:21:56 PM
hola game makeros

hola chicos estoy aprendiendo mas de la 39dll pero tengo un problema me pregunto cual es el code para cuando se crea un nuevo objeto lo vean todos los jugadores :GM8:
incluyendo el movimiento del objeto
Título: Re:39dll
Publicado por: Texic en Junio 23, 2013, 12:14:05 AM
Hola superankes! Antes que nada revisa el reglamento de la sección y repara el post. Fuera de eso, no existe una función mágica que haga lo que pedís, se hace manualmente. Saludos!
Título: Re:39dll
Publicado por: romon_28 en Junio 25, 2013, 05:09:14 PM
No existe... tenes que enviar un mensaje a todos los clientes con las coordenadas y el tipo de objeto a crear.
Título: Re:39dll
Publicado por: Texic en Junio 25, 2013, 10:53:17 PM
Bueno vamos por partes, sabés realizar una conexión y enviar un dato?
Título: Re:39dll
Publicado por: superankes en Junio 25, 2013, 10:57:48 PM
si se hacer la conexion y crear lo objetos de cliente y servidor y tambien los hice mover junto con el writebyte
y writeuint(x,y,y) de cada uno pero cuando trato de crear otro objeto en la conexion no me sale o se muestra solo en uno sea cliente si lo hizo el cliente o el servidor si lo hizo el servidor
Título: Re:39dll
Publicado por: Texic en Junio 25, 2013, 11:03:49 PM
Bien, cuando creas un objeto con la 39dll en tiempo de ejecución tenés que enviar un dato al otro jugador para que haga lo mismo (si es en tiempo de compilación no). Obviamente vas a usar otro número en el writebyte y crear un nuevo caso en la parte de recepción (donde está el switch con los cases, le agregás el nuevo case). Si es un objeto con dirección fija o comportamientos fijos (no es manipulado por el usuario ni realiza movimientos aleatorios) simplemente lo creas de la misma manera en ambos juegos (le das la misma velocidad y dirección, o sprite, o lo que sea). Si el comportamiento del objeto varía tenés que enviar los datos relevantes cada step, como su posición, sprite, subimagen y esas cosas
Título: Re:39dll
Publicado por: superankes en Junio 25, 2013, 11:07:59 PM
y en el objeto creado no ahy q poner evento sobre la 39dll o si? :-[
Título: Re:39dll
Publicado por: Texic en Junio 25, 2013, 11:11:40 PM
No, a menos que tenga que enviar datos, en cuyo caso simplemente enviaría datos en el step
Nunca tengas más de un código de recepción de datos (el switch grandote), el buffer se vacía cada vez q recibís paquetes, sean los que esperas en el switch o no
Título: Re:39dll
Publicado por: superankes en Junio 25, 2013, 11:15:49 PM
mira lo que estoy haciendo es esto

obj_server
evento global mouse left

if (instance_create(x,y,bola_creada)){
writebyte(2)
writeuint(x);
writeuint(y);
}


obj_client
begin step

case 2:
      bola_creada.x = readuint();
      bola_creada.y = readuint();
      break;


esta bien hecho asi
Título: Re:39dll
Publicado por: Texic en Junio 25, 2013, 11:38:01 PM
Casi, pero está un poco mal la creación de la bola
[gml]a=instance_create(x,y,bola_creada)
clearbuffer();
writebyte(2)
writeuint(a.x);
writeuint(a.y);
sendmessage(global.jugadores) //O lo que uses para almacenar el socket[/gml]
Y en la recepción sería más algo como
[gml]case 2:
xt=readuint()
yt=readuint()
instance_create(xt,yt,bola_creada)
break;[/gml]
Esto para el caso de que la bola sea inmovil o tenga una dirección y velocidad fija en su creación, ya si la bola hace cosas más locas hay que enviar a cada step las coordenadas (lo que serviría si es una sola bola, si son muchas ya habría que hacer cosas más complicadas)
Título: Re:39dll
Publicado por: superankes en Junio 25, 2013, 11:42:27 PM
oye gracias haz resuelto mis dudas eres super ya veras pronto mi juego
GRACIAS
:D :D :D :D :D :D :D :D :D
Título: Re:39dll
Publicado por: am3500 en Mayo 24, 2014, 10:06:54 PM
ayudenme con un proyecto

LINK:http://www.comunidadgm.org/preguntas-y-respuestas/ayuda-a-crear-un-juego-mmo-(grupo)/ (ftp://www.comunidadgm.org/preguntas-y-respuestas/ayuda-a-crear-un-juego-mmo-(grupo)/)