Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

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

Páginas: 1 ... 15 16 17
241
Preguntas y respuestas / Re:Máximo de conexiones con la 39dll
« en: Octubre 25, 2013, 10:45:18 pm »
Ah, ahora funciona. Esta mañana había implementado algo así pero solo en el evento create, ahora que lo aplico al evento step me funciona correctamente!  :)

Gracias de nuevo

242
Ahh buena pregunta, en todo caso deberías cambiarlo un poquito ya dependiendo donde se esté evaluando.
Por ejemplo este código correspondería para el objeto player en colision con el objeto enemigo:

if (x < other.x) 
   hspeed = -4;

Lo que sucede ahí es que la palabra other ahora está remplazando el nombre del enemigo con el que esta colisionando actualmente el jugador.
Así no tendría problemas con varias instancias de objetos enemigo.
 
entiendes?

243
Hola amigo, para lograr patrones así debes asignarles una velocidad y una dirección al disparo. Y Claro, dependiendo de cómo quieres que salga le colocas una dirección variable o una constante.
 
por ejemplo si haces que la dirección se aumente por cada step, y le asignas una velocidad dará el efecto de remolino:

speed = 1;
direction += 10;

Ahora para crear muchos disparos usaría una alarma.

 

244
Preguntas y respuestas / Re:Máximo de conexiones con la 39dll
« en: Octubre 25, 2013, 07:52:31 pm »
Todavía me sigue aceptando las conexiones, por más que corte antes del tcpaccept();

Citar

if (partida_creada)
{
    var conexion_entrante ,espacio_libre;
   
    if (cont >= global.tam) // si contador es mayor al tamaño maximo no permitimos conectar
        exit;
   
    conexion_entrante = tcpaccept(sock_coord, 1);   //se escuchan las conexiones entrantes
         
    if (conexion_entrante >= 0)   //si hay una conexion entrante
    {
       espacio_libre = scr_obtieneEspacioLibre(); // obtenemos un lugar
       
       if (espacio_libre != -1) // si hay lugar
       {
          list_jugadores[espacio_libre] = conexion_entrante;//en el espacio obtenido asignamos el socket que se conectó
          cont += 1;
       }
    }
}


Aun no puedo dar con el problema :-[

245
Juegos en desarrollo / Re:The underworld
« en: Octubre 25, 2013, 05:54:25 pm »
El juego en si esta bueno, bastante original. :D

El único problema a veces, para mi, son los carteles que aparecen cuando subes de nivel, en lo personal, me molestan que no se puedan pasar y tengo que esperar un tiempo.
Después la velocidad de los enemigos, es casi imposible evitar que te golpeen XD creo que es demasiado rápido la velocidad a la que te persiguen, sugiero que le bajes un poco.


246
Algo que podrías hacer es centrar el sprite del objeto dañino, o dejarlo al medio.

Entonces luego podes aplicarle una verificación  de X al personaje respecto al objeto dañino:

if (x < obj_danino.x) //esto implicaría que nuestro personaje está del lado izquierdo del objeto dañino
   hspeed = -4; //entonces lo tira para atras

if (x > obj_danino.x) // y esto, que esta en el lado derecho
   hspeed = 4; // lo tira para atras

Y si querés que haga un salto podés combinarlo con vspeed y gravity.


247
Preguntas y respuestas / Re:Máximo de conexiones con la 39dll
« en: Octubre 25, 2013, 03:27:15 pm »
Ahhh, ya entiendo
Bueno gracias por responder :D ya se como solucionarlo.
EDIT:
La forma en que tenía pensado solucionarlo era cambiar el evento step del server de la siguiente forma:
if (partida_creada)
{
   var conexion_entrante ,espacio_libre;
   
   conexion_entrante = tcpaccept(sock_coord, 1);   //se escuchan las conexiones entrantes
   
   if (cont >= global.tam) // si contador es mayor al tamaño maximo no permitimos conectar
      exit;
         
   if (conexion_entrante >= 0)   //si hay una conexion entrante
   {
      espacio_libre = scr_obtieneEspacioLibre(); // obtenemos un lugar
       
      if (espacio_libre != -1) // si hay lugar
      {
         list_jugadores[espacio_libre] = conexion_entrante;//en el espacio obtenido asignamos el socket que se conectó
         cont += 1;
      }
   }
}
 

y el codigo de cliente en el evento create:
var ip, conexion ;
conectado = 0;

ip = get_string("Ingrese IP a conectarse. ","");
conexion = tcpconnect(ip, 14808, 1);

if (!conexion)
{
    show_message("No se ha podido conectar al server.");
    game_end();
     
    exit;
}

global.sock_servidor = conexion;
conectado = 1;


Pero no me funciona, aún siguen conectándose más jugadores del limite.
Qué está mal? XD

248
Preguntas y respuestas / Máximo de conexiones con la 39dll
« en: Octubre 25, 2013, 04:52:09 am »
Hola que tal, estoy haciendo un juego LAN con la 39dll y me surge el problema de que los clientes, siguen conectándose al servidor aún cuando especifiqué que la cantidad máxima de conexiones sea una dada. Es decir que tengo una conexion máxima para 2, pero aún así siguen conectándose más cliente.

Mis códigos son:
SERVIDOR:
left mouse pressed
if (!partida_creada)        //mientras no se haya creado una partida
{
    sock_coord = tcplisten(14808,global.tam, 2);  //abrimos un socket (creamos una partida)
    partida_creada = 1;                 //establecemos el indicador en 1 de que ya se a creado una partida
}

step
if (partida_creada)
{
    var conexion_entrante, espacio_libre;
   
    conexion_entrante = tcpaccept(sock_coord, 1);
   
    if (conexion_entrante > 0)    //si hay una conexion entrante
    {
        espacio_libre = scr_obtieneEspacioLibre(); // obtenemos un lugar
       
        if (espacio_libre != -1) // si hay lugar
        {
            list_jugadores[espacio_libre] = conexion_entrante;    
            cont += 1;
        }
        //en el espacio obtenido asignamos el socket que se conectó
       
    }
}

CLIENTE:
evento Create
var ip, conexion ;
conectado = 0;
ip = get_string("Ingrese IP a conectarse. ","");

conexion = tcpconnect(ip, 14808, 1);

if (conexion)
{
    global.sock_servidor = conexion;
    conectado = 1;
}
else
{
    show_message("ERROR");
    game_end();  
}

Páginas: 1 ... 15 16 17