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

151
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter
Septiembre 12, 2013, 11:40:08 PM
Cita de: Texic en Septiembre 12, 2013, 11:02:15 PM
Te fijaste teniendo 2 armas? Porque el chequeo está puesto para que cambie si es que hay un arma en el otro slot. Inicialmente el no llevar arma iba a implicar un cuchillo, pero me dijeron que sería inutil así que no puse nada.
Uh eso lo explica todo. No creo que el cuchillo sea innecesario, cuando ya no te quedan balas siempre es útil (creo). En todo caso se tiene que cambiar el código agarrar armas de el jugador:
[gml]
//Tomar un arma
if keyboard_check_pressed( ord("E") ) {
    if (scr_get_arma(2)==""){
        scr_recoger_arma_piso( 2 );
    }else scr_recoger_arma_piso( aSlot );
}
[/gml]
Y estos cambíalos por 1 y 2, que los tenia con 0 y 1.
[gml]
if keyboard_check_pressed(ord("1")) {aSlot=1; scr_cambiar_arma(1);}
if keyboard_check_pressed(ord("2")) {aSlot=2; scr_cambiar_arma(2);}
[/gml]

Otra pregunta es, como funciona el evento 1, se activa siempre que alguien hace ruido (pasos) o solo con disparos. Funciona para todas las habitaciones o solo si está cerca, se puede saber de donde viene el sonido?.

Sabes planeo usar está IA para un juego y así matar 2 pájaros de un tiro, lo único que creo que yo creo le pondría a esto es poder correr (sin poder disparar), aunque supongo tu ya lo habías contemplado.
152
También está instance_place(), que devuelve el ID del objeto con el colisionas  :-[.
153
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter
Septiembre 12, 2013, 10:46:02 PM
Cita de: Texic en Septiembre 12, 2013, 09:41:54 PM
Por cierto gracias por el debug, ha sido el más aplastante en mucho tiempo, pero da en el blanco y muy rápido jaja
Jaja supuse que no te gustaría, pero ni modo de dejarlo todo bugueado y feo :P .

Buff lo anterior fue en broma, a nadie le gusta que le digan sus errores (que siempre por más que lo intentes terminas dejando algo) y mucho menos que sugieran hacer las cosas de otro modo. Aquí estamos para ayudarnos, gracias por el agradecimiento.

Cita de: Texic en Septiembre 12, 2013, 09:41:54 PM
(Ya están reparadas, era un error por usar la función ceil)
Alguna vez discutí con wadk el uso de esa función en lugar de floor y yo estaba a favor de ceil (puede que no tenga que ver con el caso), ahh solo de pensar mis argumentos me siento idiota.

Descargue la versión más nueva. Añadí unas cuantas cosas al personaje para probar y quité esto "var dirx,diry" de step ya que ya las habías declarado en create. Si no es mucha molestia también declara aSlot por código odio las librerías.
[gml]
//Cambio de arma;
if keyboard_check_pressed(ord("1")) {aSlot=0; scr_cambiar_arma(0);}
if keyboard_check_pressed(ord("2")) {aSlot=1; scr_cambiar_arma(1);}
if (mouse_wheel_down() || mouse_wheel_up()) {aSlot=!(aSlot-1)+1; scr_cambiar_arma(aSlot);}

//Recarga manual
if ( ( keyboard_check_pressed( ord("Q") ) || mouse_check_button_pressed(mb_right) ) && scr_balas_arma(2) ) scr_recargar_arma();
[/gml]

P.D: EL cambio de slot no funciona correctamente (no cambia).
154
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter
Septiembre 12, 2013, 09:32:25 PM
Cita de: Texic en Septiembre 12, 2013, 09:09:17 PM
Sobre los parientes, ya son parientes de obj_ia, no es realmente necesario que dejen el evento step ni create, con una llamada a los eventos parientes sería suficiente, pero no me molesté porque no veo la necesidad de esconder el funcionamiento del engine.
Nope, no son parientes. Al menos nunca leí en las reglas que tenían que serlo. Segundo, no es por esconderlos, usualmente no quieres que el usuario sepa lo que hay detrás de tus códigos, a menos que esas sean sus intensiones. Ademas Me parece más simple (sí aún más) crear un objeto sin nada e ir añadiendo códigos a los eventos definidos, sin tener que preocuparte por lo que lleva o no lleva. En todo caso, pues no es necesario, pero estaría bueno.

Descargaste el adjunto? El bug de movimiento está en las diagonales, algunas no funcionan (45° por ejemplo).

Al final no dijiste si trabajarás sobre el gmk que envié. Pero te lo recomiendo (puedes eliminar lo de los parientes) para que trabajes sobre una sola versión y puedas adaptar a studio fácilmente.

Por último no vi función para checar el slot actual y desde mi punto de vista es un error de diseño que aparezca un mensaje de error si se usa mal la función de cambiar de slot (una vez más revisa el adjunto y presiona 2 para cambiar al slot 2).

Otra sugerencia podría ser que dejes el personaje que creé por defecto en el gmk (está comentada y organizada), pienso que sería un poco más simple comenzar con una IA si se parte de un ejemplo (aunque no sea una IA en realidad).
155
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter
Septiembre 12, 2013, 09:08:21 PM
Cita de: Mgbu en Septiembre 12, 2013, 08:59:19 PM
Todo funciona bien menos moverse a la izquierda con la tecla A
Es como que se mueve solo un pixel, se queda quieto, y si se mantiene apretado recién ahí empieza a moverse

¿Le está pasando a alguien?
El problema es la tecla "A" no el mover a la izquierda. Lee los bugs que postié. También puedes descargar el editable que adjunte, ya tiene un objeto que puedes mover y disparar.

Cita de: brunoxzx en Septiembre 12, 2013, 08:13:17 PM
Hay un bug al usar el scr_mover() con ciertas direcciones, y al chocar contra paredes se detiene en lugar de deslizarse. También hay un bug al cambiar de slot. Y por alguna razón la tecla "A" no funciona como debería (ni en gm:studio ni en gm8). Todos estos bugs los puedes notar fácilmente controlando al personaje que cree. No cambié ninguno de tus códigos internos y no se por que sean esos bugs, creo que yo no debo modificar esto y por eso me limite a no investigar el porque suceden.
156
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter
Septiembre 12, 2013, 08:13:17 PM
Cita de: romon_28 en Septiembre 12, 2013, 06:12:25 PM
:-\ como hago para probar mi IA?  ???
Básicamente es esto. Abres el evento create del objeto control y le das doble click al código que ya tiene creado, allí hay unas lineas comentadas. Reemplázalas por los datos de tu IA.

Tengo una última sugerencia para texic sobre el funcionamiento del engine. ¿Por que no hacer un par_ia y que todas nuestras ias sean hijas de el? Quiero decir ya estamos usando los user_defined, podrías hacer que en el evento create de el par_ia se ejecute el evento definido 0, en step el 1 y el de escuchar en el 2. De esté modo el que crea las IAs no debe entrar a ninguno de los eventos comunes de gm, (ni siquiera tiene que saber que existen) el solo sabe que en evento 0 crea variables en el 1 es step, etc. También puede ayudar a otras partes del engine, de esté modo ya tienes un objeto referencia para todas las IAs, y puedes por ejemplo al colisionar una bala contra una IA simplemente poner other.vida-=10; sin tener que añadir un evento de colisión para cada IA, etc.

Bueno.
Cita de: Texic en Septiembre 12, 2013, 03:13:44 PM
Interesante, funciona en gm studio? Bueno por mi parte no hay oposición, al final todos van a correr en el mismo game maker, mientras que funcione para programar perfecto, me lo voy a tener que bajar para poder pasar las IA al editable final en cada encuentro, pero por mi no hay problema
Mira texic te la pongo más fácil, las razones por las que no funcionaba en gm:studio eran que tenias unos arrays llamados de igual modo que unas variables(en el objeto info_hab (tuve que añadir un "_" a las variables y deje los arrays iguales)), esto ya no es posible en gm:studio. Un código en el creation code del room_inicio que especificaba las propiedades de una view al room_batalla pero se refería a está como (0), cambie el "0" por "room_batalla". Y también el objeto obj_stop que tuvo que ser literalmente reescrito. Entonces básicamente te dejo el editable de la versión más nueva en gm8 listo para que al importarlo a gm:studio funcione, de modo que solo tengas que modificar la versión de gm8 y al final en gm:studio simplemente importes.

Te dejo el archivo adjunto. Tiene un objeto "obj_stop_studio", al importar a gm:studio debes reemplazar el viejo obj_stop por ese. Ah te deje un ejemplo de como sería la creación de IAs si todas fueran parientes (quizá también sería bueno tener acceso a end_step y begin_step), junto con un objeto controlado por un humano, quizá sería bueno dejar ese por defecto también.

Hay un bug al usar el scr_mover() con ciertas direcciones, y al chocar contra paredes se detiene en lugar de deslizarse. También hay un bug al cambiar de slot. Y por alguna razón la tecla "A" no funciona como debería (ni en gm:studio ni en gm8). Todos estos bugs los puedes notar fácilmente controlando al personaje que cree. No cambié ninguno de tus códigos internos y no se por que sean esos bugs, creo que yo no debo modificar esto y por eso me limite a no investigar el porque suceden.

Cualquier duda sobre la version de gm:studio o algo en lo que pueda ayudar enviame un MP.

Claro. Puedes hacer caso omiso a todo lo que te haya dicho que no consideres correcto o viable.
157
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter
Septiembre 12, 2013, 09:40:40 AM
Pues adapte el .gmk a gm:studio. Espero a alguien le sirva, lo dejo adjunto. Tomo su buen rato adaptarlo, habría ver que dice texic sobre que hacen los que hagan su IA en studio, pero independientemente de eso yo podría ayudar a adaptar cualquier IA a que funcione en gm8 o en gm:studio si así lo desean.

Por otra parte, tengo dos preguntas. La primera es: ¿Acaso siempre debo mover a mi IA con paths? Lo siento muy raro.

La segunda es sobre las balas, ¿Acaso no se puede saber cuando un enemigo a disparado? Lo veo necesario por dos razones. Primero por que para escuchar una bala no necesitas contacto directo con el enemigo, por lo tanto puedes saber si entrar a una batalla que se esté llevando en otro cuarto, también está bien para saber si el enemigo está recargando.

Bueno otra cosa, también me agradaría poder saber si el enemigo está herido para aprovechar la situación.

Por ultimo tengo que decir que está GIA está genial (me encanta que la visión de las IAs sea realista y amo los topdown). Espero a muchos participantes, ¡suerte makeros!.
158
Desarrollo de Scripts / Re:Dibujar curvas bezier
Septiembre 12, 2013, 01:10:06 AM
Genial justo hoy voy a realizar los míos (en general me gusta entender estás cosas). Cuando los termine crees que debería postearlos por aquí?

Por cierto lo del A*, ¿que tal quedo? vamos queremos verlo ¿porqué no lo subes? Entiendo que gm ta tenga el A* implementado, pero seguro el tuyo es más versátil.
159
Preguntas y respuestas / Re:Dibujar caracter por caracter
Septiembre 10, 2013, 06:52:40 AM
El modo más simple (no el más optimo) si quieres usar la función string_length() sería checar carácter por carácter la medida de un string y si es mayor a la medida especificada  añadir un "#" para cambiar de linea. Algo así.
[gml]
//argument0 string
//tamaño maximo
var i=0, j=0, str=argument0;
while( string_length(str)>argument1 ){
    if ( string_char_at(str, i)=="#" ){
        j=i;
    }else if ( string_length( string_copy(str, i-j, j) )>argument1 ) {
       str=string_insert("#", str, i);
       j=i;
   }
   i++;
}
return(str);
[/gml]
Puedes forzar cambios de linea poniendo un "#" por ti mismo en el string.

Sí se hace un chequeo por caracteres es mucho más simple y rápido, pero ahora no tengo tiempo para hacer el script.
160
Preguntas y respuestas / Re:Diferencias entre GM7 y GMS
Septiembre 10, 2013, 06:28:03 AM
Cita de: Gutic en Septiembre 08, 2013, 08:19:24 PM
· No existe el multiplayer por TPC/IP por ahora.
Sí existe, un sistema completo muliplayer (ademas multiplataforma) con todo y buffers nativos para usar con cualquier otra cosa. Era en gm7 que no existía (mejor dicho no servía).
161
Ni idea de por que suceda esto, pero podría llegar a ser que sus sprites no caben en sus "texture pages" entonces estos tienen que ser escalados.

Las "texture pages" son como una imagen con un tamaño especifico en el que están todos los sprites de su juego plasmados, para verla u hacerla más grande vayan a global game settings-windows-graphics "Texture pages".

Les recomiendo leer en el manual sobre ellas, como se usan y de que sirven.
162
Yo no estoy en contra de los arreglos, me encantan. Estoy en contra de las funciones de creación de variables dinamicamente (todas las "variable_local_") al igual que execute_string.
163
Bah usa grids para eso. Todas esas funciones que requieren que gm tenga su propio interprete dentro no son buenas para la salud de los programadores. Mejor usa estructuras de datos para el caso (son más rápidas créeme).
164
Preguntas y respuestas / Re:Texto excede view
Septiembre 04, 2013, 04:52:06 PM
Está la función "string_length(str)", que devuelve el numero de caracteres en un string y también está la función "string_width(str)" que devuelve el ancho del string dado en pixeles (dependiendo de la fuente usada el tamaño varía).

Si necesitas más ayuda no dudes en responder.
165
Preguntas y respuestas / Re:Seleccionar por preferencia
Septiembre 03, 2013, 06:45:56 AM
Cita de: francordoba en Septiembre 03, 2013, 02:11:46 AM
Gracias, el problema es que los parent no los puedo tocar ya, que solo haya una posibilidad de parent toca un poco la moral. No obstante me apunto este código por si me sirve para otra cosa.
Mmm eso suena más coomo a un error de diseño. En fin, para hacer que funcione solamente repite el primer do-while para cada uno de los objetos en los que quieres que funcione. Si algo anda mal avisas.