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 - _-Caleb-_

1
Buenas tardes,

A ver si alguien me echa un cable.

Quiero leer líneas concretas de un archivo de texto plano para mostrar información en pantalla, creo que la función que debería usar es file_text_readln() pero no me termino de aclarar, a ver, esto está tremendamente mal, no?

//Ejemplo de Gamemaker Studio
var num = 0;
// Se declaran las variables
file = file_text_open_read(working_directory + "\savedata.txt");
while (!file_text_eof(file))
// se abre el archivoyse lee hasta el final
    {
    str[num++] = file_text_readln(file);
    }
// Se crea una variable str[X] por línea ¿No?
file_text_close(file);


Pero luego para mostrar las líneas cómo lo haría? Porque es ahí donde me pierdo.

Eso es lo que me lía

Saludos!
2
Epas Gracias Clamud, he estado adelantando otras partes de mi proyecto, me dejo esto para más adelante y lo anoto en el roadmap, que estoy con el sistema de mercado y es... digámoslo así.. divertido :-)

Saludos!
4
Preguntas y respuestas / Re:Spawn de enemigos
Noviembre 11, 2014, 09:00:57 PM
Hola.

¿Podrías poner el código que tienes ahora y te lo intento adaptar a lo que buscas?

¡Saludos!
5
No se si et valdrá pero tienes un checkbox llamado "Sensor" que hace que el objeto no rebote y no rebote nada contra el, qe se quede en el fondo, vamos, no sé si es lo que bscabas.

También puedes cambiar el grupo de colisión de ese objeto a -1, creo que así tampoco rebotará, espero que te sirva :)
6
Cita de: elviskelley en Noviembre 10, 2014, 05:03:33 PM
El problema de tu pregunta es el no especificar que clase de juegos es... Es decir es un shooter de naves con tiros etc... Pero, es vista cenital, isometrica, es 3D. que es...

Cierto, soy algo desastre explicándome, sorry.

A ver, mi juego es (O será, espero...) un sandbox espacial y demás, con movimiento libre (No es un shooter puro y duro)

Para que me entiendas, te pongo un pequeño vídeo de muestra porque como ya he dicho, me explico fatal :S

https://www.dropbox.com/s/04lmx903yjuvt65/galactic.mp4?dl=0

EDITO: Algunas naves tendrán "torretas" que apuntarán "solas", una vez que tenga esto hecho (Para que puedan romper los asteroides y/o defenderse) ya me pondré con alguna rutina de "combate" o algo... de momento esto es lo que necesito, ya sabes, paso a paso :)
7
Cita de: elviskelley en Noviembre 10, 2014, 04:58:03 PM
lo correcto es guardando las id de las instancias y agruparlas todas por un parent.

Vale, nunca había que tenido que hacer esto hasta ahora, muchas gracias elviskelley.

¡Saludos!
8
Buenas, mientras espero que alguien responda mi otra pregunta hago esta, que no tiene nada que ver....

Tengo esto en el step de mis NPC:

if collision_circle(x, y, 120, [b]all[/b], true, true)
{
switch (rutina)
...


quiero cambiar el ALL por objetos determinados, lo ideal sería que sólo fuera con los de su collision group pero no he encontrado cómo hacerlo con código, si no, los sólidos o algo pero no sé qué función usar para esto... así que si alguien me indica qué función usar pues sería muy de agradecer :-)

¡Saludos!
9
Cita de: carras en Noviembre 10, 2014, 01:22:01 AM
gracias, pero como hago ese con codigo¿? y que que evento¿? por que no se me ocurre como hacerlo

Buenas, mira aquí:

http://docs.yoyogames.com/source/dadiospice/002_reference/game%20assets/backgrounds/index.html

Son las funciones background_hspeed y background_vspeed (Horizontal y Vertical)

Respecto al evento, dependerá de tu juego... pero si esuno de plataformas, por ejemplo, al moverse el personaje mover el background :)

Saludos ;)
10
Buenas.

Otra pregunta, esto me está costando un poquito, quizás por mi ignorancia a la hora de usar físicas.

Tengo varios scripts preparados para que se ejecuten cuando las naves NPC estén a X de, por ejemplo, los asteroides. Para que les disparen y tal.

Vale, si no usara el motor de físicas sería bastante sencillo de usar... pero como lo estoy usando, ¿cómo puedo hacer algo similar a move_towards? ¿Hay alguna función para esto?

En este caso queiro que cuando el NPC X llegue cerca de un determinado tipo de asteroide dispare al asteroide.

Lo otro que se me ocurre es que se dispare hacia adelante PERO tampoco sé encarar la nave NPC a los asteroides ya que salen en ángulos y velocidades random (Al igual que los asteroides) :)

En fin, gracias por la ayuda :)

¡Saludos!

11
¡Buenas!

Tengo una duda, la cosa es que mi proyecto tiene sólo una room, los "niveles" se generan mediante archivos ini, mi problema es el siguiente, cuando salgo de la room por los lados se cambia la variable global que tengo para saber qué nivel toca cargar y reinicia la room con los nuevos datos.

El "problema" es que aunque también guarde los datos de y, en este caso en la salida horizontal, al reiniciarse el jugador se ve raro... yendo a derecha o izquierda y que cada vez que cambia la room vuelva a salir la nave en su posición original...

Por si acaso no me explico bien (que es lo habitual xD) os pongo un vídeo:

https://www.dropbox.com/s/yfegdcnzenxpmk5/dudagmfisica.mp4?dl=0

¿Cómo puedo mantener el empuje y la dirección de la nave? Ya he probado con persistent pero directamente no funciona, o algo hago mal porque no se reinicia.

El código que tengo es el siguiente, al pasar de, por ejemplo, izquierda a derecha en la fila N. Todo esto en el evento outside_room del player...

if (x >= 12001 )

{
switch (SistemaActual)
{
//Comprueba la variable, le añade la siguiente, escribe los datos de la posición Y y carga el jugador en el X50
case "N01": SistemaActual = "N02"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N02": SistemaActual = "N03"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N03": SistemaActual = "N04"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N04": SistemaActual = "N05"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N05": SistemaActual = "N06"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N06": SistemaActual = "N07"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N07": SistemaActual = "N08"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N08": SistemaActual = "N09"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N09": SistemaActual = "N10"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 50); break;
case "N10": SistemaActual = "N01"; ini_open("pilot.ini"); ini_write_string("1", "0", SistemaActual); ini_write_real("1", "3", y); ini_write_real("1", "2", 25); break;
ini_close()
}
//Reinicia el room y ejecuta el script que lee el archivo ini que crea los elementos del "nivel"
room_restart();
script_execute(sys_generator)
}


¿Alguna sugerencia al respecto? A ver si podéis ayudarme y así nos ahorramos que abra otro nuevo tema cuando empiece con las filas verticales :P

¡Saludos!

EDITO: Supongo que tendré que guardar dirección y empuje en variables, el problema es que no sé qué funciones usar para esto :S

EDITO 2: Me autorespondo, es phy_rotation, si es que ha sido postear el mensaje y dar con la solución :)
12
Gracias penumbra, leído y entendido :D
13
Preguntas y respuestas / Problema con ruta de archivos INI
Noviembre 07, 2014, 06:33:58 AM
Buenas, tengo un "problema" con los archivos ini, la cosa es que tengo un archivo de guardado llamado pilot.ini, a la hora de leerlo, lo lee de la carpeta del juego pero a la hora de escribirl con ini_read_real lo hace en C:\Users\XXXXX\AppData\Local\Galactic_Trader

mmmm he probado con program_directory sin éxito

Este es el código que uso para ambas cosas:

Lectura: (Cuando se carga el objeto encargado de cargar los datos de la cantidad de mienral que hay en las bodegas de carga)
ini_open("pilot.ini");

plati = ini_read_real("2","3a", 0)
oro = ini_read_real("2","3b", 0)
plata = ini_read_real("2","3c", 0)
metal = ini_read_real("2","3d", 0)
agua = ini_read_real("2","3e", 0)
ini_close();


Escritura: (En el evento colisión de cada mineral)
ini_open("pilot.ini");
ini_write_real("2","3a", plati)
ini_write_real("2","3b", oro)
ini_write_real("2","3c", plata)
ini_write_real("2","3d", metal)
ini_write_real("2","3e", agua)
ini_close();


¿Qué hago mal?

Saludos!
14
Pon una captura de las propiedades físicas del personaje :)
15
Cita de: TheSandBoxMKG en Noviembre 03, 2014, 05:28:18 PM
IMPORTANTE: LOS NOMBRES DE LOS OBJETOS NO SON STRINGS

O sea, no van ente comillas.

jajaja sí, después de hacer el switch como decía Clamud le busqué la lógica y llegué a esa conclusión :)