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

1
Cita de: Marth en Octubre 24, 2014, 11:15:59 PM
Creo recordar que GM8 si que podía reproducir vídeos.
Pues vaya que nos esta montando yoyogames. :-X
Segun tengo entendido, el reproductor de video de GM8 reproducia el video en otra ventana aparte, como cuando hacias una pregunta o esperabas que se escribiera un texto para guardar la string. Lo que a mi parecer era algo chapuzas y algo inutil :P . Nunca he visto un juego que al reproducir algun video, hacerte una pregunta o pedirte algun dato, te cree una ventana separada de la ventana principal del juego...por eso no me importo mucho cuando los quitaron en el GM:S
2
Preguntas y respuestas / Re:BACKGROUND BORROSO
Octubre 25, 2014, 04:18:17 PM
Aqui tienes la parte del manual que habla de las paginas de texturas, http://docs.yoyogames.com/source/dadiospice/001_advanced%20use/more%20about%20backgrounds/texture%20pages.html
http://docs.yoyogames.com/source/dadiospice/001_advanced%20use/global%20game%20settings/texture%20groups%20tab.html
La unica forma de que te salga las opciones de las paginas de texturas es tener la version pro de gamemaker, pero parece ser que el tamaño maximo es de 2048x2048.
Podrias intentar hacer el fondo en graficos vectoriales, aunque no he probado a hacer un fondo asi, pero se supone que al ser vectoriales no se desfiguran al encojerlos y agrandarlos.
3
Preguntas y respuestas / Re:BACKGROUND BORROSO
Octubre 24, 2014, 08:53:25 PM
Pues en eso ya no puedo ayudarte, yo la velocidad de los rooms las dejo siempre por defecto :P
Asi que no se que tal funciona la velocidad de las tiles en comparacion con las backgrounds normales, sorry :P
4
Preguntas y respuestas / Re:BACKGROUND BORROSO
Octubre 24, 2014, 08:26:51 PM
Cuando añadas los backgrounds por partes, marca donde pone "Use as tile set" , para que sea reconocido como tile.
Despues en la room ve a la pestaña de tiles, no a la de backgrounds, y ve añadiendolos y poniendolos en el sitio correcto.
5
Yo no lo he probado todavia para saber si funciona, pero gamemaker studio a partir de la version 1.3 puede reproducir animaciones en .swf
Solo he probado con animaciones para mis personajes, pero supongo que pasando el video a .swf podrias reproducir el video, aunque tendrias que ejecutar el audio a parte y al mismo tiempo que el .swf para que no se desincronizara.

No se si alguien ya lo habra probado para saber si funciona.
6
Preguntas y respuestas / Re:BACKGROUND BORROSO
Octubre 24, 2014, 07:31:46 PM
¿Estas usando la version free o standard gratuita?

A mi me paso algo parecido, queria hacer un escenario grande, y se veia bien en el editor y en el programa, pero al probar con F5 me deformaba el escenario.
Al final encontre la solucion, el problema es que gamemaker, antes de empezar el juego, guarda todos los graficos del juego en paginas de texturas, si no recuerdo mal, tenian un maximo de 2048x2048, y solo en la version pro se puede cambiar, o por lo menos yo no encontre la forma de aumentarlo :P
Al encontrar un sprite mayor de 2048x2048, lo deforma para que quepa dentro, y despues al ponerlo en el juego lo agranda de nuevo, pero claro, ya se ha deformado.
Asi, que para arreglarlo, corte el escenario en varios backgrounds, los marke como tiles, despues fui a la room, y coloque los 4 backgrounds partidos en su sitio.
Con eso se me arreglo el problema :P
Espero que te sirva de ayuda :P
7
la X1 e Y1 de collision_rectangle indican la esquina superior izquierda, y la X2 e Y2 indican la esquina inferior derecha.

Y la variable guardara la ID del objeto con el que choca, si no choca con nada tendra el valor noone

Si no necesitas la ID del objeto contra el que va a chocar puedes ponerlo simplemente en un IF:

if collision_rectangle(x,y,x+32,y+32,obj_enemigo,0,1){
   // accion cuando hay choque
}
8
General / Re:¿Que escuchas mientras programas?
Octubre 20, 2014, 12:50:19 PM
Que casualidad..precisamente yo iba a hacer un post parecido XD (menos mal que soy de los que lee antes de postear para intentar no repetir :P)

Yo, como muchos otros, depende de mi estado de animo la musica que escucho...principalmente escucho mis 2 playlists de Goear
http://www.goear.com/playlist/c21dc37
http://www.goear.com/playlist/8f241f9
(se aceptan recomendaciones para añadir a las listas :D)
Pero tambien hay veces que me gusta escuchar musica independiente en los podcasts del programa siglo 21:
http://www.rtve.es/alacarta/audios/siglo-21/
O musica rock(clasica en su mayoria) en rockFM:
http://player.rockfm.fm/

Aunque tengo que confesar que aunque la mayoria de las veces me ayuda, hay veces que cuando suena una de las canciones que mas me gustan, me quedo disfrutandola y hago pequeñas pausas en la programacion XD
9
Pero que burro soy :-[
Yo comiendome la cabeza buscando algun comando relacionado con file_read o algun codigo ascii que marcara el final de lectura o algo parecido  para intentar solucionar el problema..y no se me ocurrio pensar que la solucion estaba en los comandos para modificar strings XD

Gracias a Clamud y a Penumbra por ayudarme a solucionar mi problema :D
Y Ocarina, aunque tu respuesta no me sirviera, te agradezco que intentaras ayudarme ;)

Por si a alguien le sirve de ayuda, dejare el codigo que he usado al final:

FICHERO TXT
1 768 192 0 1 Bate de Baseball;Para jugar y golpear
2 928 512 1 2 Llave Inglesa;Arregla o destroza
4 512 448 2 4 Espada;Muy afilada
etc..

CODIGO PARA PASAR EL TXT AL DS_GRID
global.armas_cc=ds_grid_create(7,3);
file=file_text_open_read("armas_c_c.txt");
for (yy=0;yy<=2;yy+=1){
    for (xx=0;xx<=5;xx+=1){
        if xx==5{
           palabras=scr_separa_texto(file_text_read_string(file));
           global.armas_cc[#5,yy]=palabras[0];
           global.armas_cc[#6,yy]=palabras[1];
        }else global.armas_cc[#xx,yy]=file_text_read_real(file);
    }
    file_text_readln(file);
}
file_text_close(file);

SCR_SEPARA_TEXTO
texto=argument0;
text[0]="";
text[1]="";

repeat (string_length(texto)){
    if string_char_at(texto,1)<>";"{
       text[0]+=string_char_at(texto,1);
       texto=string_delete(texto,1,1);
    }else{
       texto=string_delete(texto,1,1);
       text[1]=texto;
       break;   
    }     
}
if string_char_at(text[0],1)==" " text[0]=string_delete(text[0],1,1);
return text;


10
Hola a todos.
Mi problema es que al usar file_text_read_string(file);  se lee toda la linea actual del txt, y me gustaria saber si se puede poner algun caracter o codigo para que solo lea parte de la linea.
No se si lo he explicado bien, asi que voy a poner un ejemplo de lo que quiero hacer :P

Primero tengo este txt:

1 768 192 0 Bate de Baseball
2 928 512 1 Llave Inglesa     
4 512 448 2 Espada             


El cual cargo con este codigo:
global.armas_cc=ds_grid_create(5,3);
file=file_text_open_read("armas_c_c.txt");
for (yy=0;yy<=2;yy+=1){
    for (xx=0;xx<=4;xx+=1){
        if xx==4 global.armas_cc[#xx,yy]=file_text_read_string(file);
        else global.armas_cc[#xx,yy]=file_text_read_real(file);
    }
    file_text_readln(file);
}


Hasta aqui todo perfecto, tengo todas las variables que quiero sin problemas.
Entonces, decidi añadir descripcion a las armas, y hay surge el problema. En cuanto el codigo llega al comando file_text_read_string lee todo lo que queda de linea y lo mete en la variable, no diferencia entre nombre y descripicon. He intentado separarlo con .,;..,," y todo lo que se me ha ocurrido..pero no funciona.
Ya se que una solucion seria poner el txt todo separado en lineas:

1
768
192
0
Bate de Baseball
2
928
512
1
Llave Inglesa

Pero no se..no me acaba de convencer, lo noto algo mas desordenado.

Asi que esa es la duda, si alguien conoce alguna forma de leer solo parte de una linea de .txt en vez de toda entera se lo agradeceria ;)
11
A principios de año(si no recuerdo mal), yoyogames estuvo regalando licencias de gamemaker studio standard.
Hace unos meses, la version free de gamemaker desaparecio, pero a cambio, pusieron la version gamemaker studio standard de forma gratuita. Al pasar a ser gratuito, no te dan licencia (si hablamos del codigo/numero que te mandan por email para activarlo), pero podras usarlo sin problemas para crear juegos para windows, obviamente tendras algunas limitaciones, pero no son tan estrictos como pasaba con la version free. Y si anteriormente tenias comprado la version standard, o la conseguiste gratis, poniendo la licencia te eliminan esas limitaciones.

Aqui puedes ver las limitaciones que tiene:
https://www.yoyogames.com/studio
12
Mi recomendacion para hacer lo que quieres es que uses las bases de datos incluidas en Gamemaker. Son muy parecidas a los arrays, pero tienen varios comandos para ordenar, salvar y cargar datos que lo hacen mucho mas util que los arrays.

Si solo tienes un personaje, te recomiendo guardar sus datos en un ds_map, que guarda los datos por parejas y es facil de utilizar

CREAR Y AÑADIR VALORES

global.heroe_stats=ds_map_create();  // Crear base de datos tipo map
global.heroe_stats[?"nombre"]="Clark"; // Creamos una entrada de nombre "nombre" con el valor "Clark"
global.heroe_stats[?"nivel"]=1;           // Creamos una entrada de nombre "nivel" que valdra 1
global.heroe_stats[?"hp"]=25;            // Creamos una entrada de nombre "hp" que valdra 25

COMPROBAR Y MODIFICAR

if global.heroe_stats[?"xp"]>=global.heroe_stats[?"xp max"]{ // si "xp" es igual o mayor que "xp max...
   global.heroe_stats[?"nivel"]+=1; // sumamos 1 a nivel...
   global.heroe_stats[?"xp"]=0; // ponemos la "xp" a 0 ..
   global.heroe_stats[?"xp max"]=global.heroe_stats[?"nivel"]*100 // y damos el valor de "nivel" *100 a "xp max"
}


Como ves no es algo muy complicado si ya estas acostumbrado a usar variables.

Si vas a usar varios heroes, o para el sistema de inventario, equipo, etc...te recomiendo usar la base de datos de tipo "grid", que es practicamente lo mismo que un array. Puede parecer un poco mas confuso que el map, pero no cuesta mucho acostumbrarse.

CREACION

global.inventario=ds_grid_create(5,10) // A diferencia de ds_map, al crear un ds_grid hay que indicar el tamaño en ancho y altura que tendra nuestra rejilla
global.inventario[#0,0]="puñal";                    // Nombre del objeto del inventairo 1
global.inventairo[#1,0]="pequeña arma"         // Descripcion del objeto del inventario 1
global.inventario[#2,0]=2;                          // daño que provoca el objeto del inventario 1
global.inventario[#3,0]=25;                        // precio del objeto del inventario 1
global.inventario[#4,0]="arma"                    // el tipo de objeto que tenemos en el inventario 1
global.inventario[#0,1]="escudo de madera"; // Nombre del objeto del inventario 2
global.inventario[#1,1]="Escudo basico";      // Descripcion del objeto del inventario 2
global.inventario[#2,1]=3                          // Defensa del objeto del inventario 2
global.inventario[#3,1]=30                        // Valor del objeto del inventario 2
global.inventario[#4,1]="escudo";               // Tipo de objeto que tenemos en el inventario 2


Si te has dado cuenta en el detalle, las coordenadas empiezan en 0,0 , por lo que si indicas que quieres 10 de ancho, no sera del 1 al 10, sera del 0 al 9.
Para modificar los datos es parecido al ds_map

// Al usar un item
if global.inventario[#4,seleccion]="pocion"{ // Si es de tipo "pocion"
  global.invnetario[#5,seleccion]-=1;          // restamos 1 a la cantidad de pociones que tenemos
  global.status[?"hp"]+=global.inventario[#2,seleccion] // y recuperamos la potencia que tenga la pocion
}


Puede parecer complicado, pero en cuanto hagas algunas pruebas veras que es mas facil de lo que parece. Y si estas acostumbrado a usar variables y arrays sera mas facil todavia :D

Para los enemigos, yo suelo crear sus estadisticas en su evento create, ya que cada instancia tiene sus propias variables locales, y dichas variables, a diferencia de las del jugador y el equipo, no son necesarias guardarlas permanentemente, por que son fijas.

Espero que te haya servido de ayuda, y recuerda revisar la ayuda de gamemaker, hay muchos comandos mas para usar con ds_map y ds_grid, puede que encuentres alguno mas que te sea util. Como el ds_grid_read/ds_map_read y ds_grid_write/ds_map_write para guardar todos los datos en una string encriptada que despues puedes guardar en un txt o .ini para guardar y cargar partidas :D
13
Cita de: venus en Octubre 08, 2014, 05:24:59 PM
Si, estaba usando las de movimiento  :P

Supongo que por eso no va, pero ¿Puedo realizar funciones como cambiar de sprite con image_index?
En el evento step, digo.

Si, esa si funciona, las unicas funciones que no funcionan son las referentes al movimiento, ya que al pasar a modo fisico ya no se usan las coordenadas x e y para mover.
Otra cosa a tener en cuenta cuando usas un objeto con las fisicas activadas, es que cuando cambias el sprite, no cambia la mascara fisica (fixture), cosa que es una lata :P
14
Cita de: venus en Octubre 08, 2014, 05:19:31 PM
Señálame en que parte del reglamento pone que no puedo aprovechar un tema para preguntar algo relacionado con este.

No es un reto, solo es para no hacerlo la próxima vez. Porque yo y unos cuantos mas llevamos haciéndolo desde que entramos al foro.
Justo abajo del todo, la ultima regla que pone es "Haced sólo una pregunta en cada tema: los temas con más de una pregunta, sobre todo si éstas no están relacionadas entre si, se acaban desviando y nunca se llega a nada."
15
Cita de: venus en Octubre 07, 2014, 10:12:30 PM
Aprovecho para preguntar ¿Por que no se ejecuta nada del evento step cuando estás en este modo?
Soy practicamente nuevo en el foro, a lo mejor estoy equivocado, pero creo que lo que haces no esta bien. Ya has creado tu pregunta (en la que tienes varias respuestas, una mia incluida), y creo que va en contra de las normas (y ademas me parece un poco de mala educacion), lo que estas haciendo.
Ya que si ahora la gente empieza a responderte, se podria olvidar de la pregunta original de FJGL, con lo que no podrian ayudarle correctamente.