Osea, el problema con los room en persistent es q guardan todo, hasta las variables q ten?an los objetos involucrados en el room, aunq vayas hasta el primer room o modifiques la posici?n del jugador principal las variables importantes que marcan puntos clave en tu rpg van a estar activadas. Pod?s hacer q despu?s del Game Over se resetee el juego discretamente, y hasta crear un txt externo para saltearte las presentaciones y eso asi no se nota que se reinicio el juego
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.
1022
Preguntas y respuestas / Re: C?mo hacer un actualizador??
Diciembre 29, 2010, 02:03:51 AM
Eso s? se puede hacer, no es la parte comlpicada, pero cada ataque est? programado en un script con su nombre para llamarlo f?cil desde otro objeto teniendo el nombre en un string. Como este script:
[gml]
name=string(sprite_get_name(CartaActivo.carta[1]))
name2=string(sprite_get_name(CartaActivoP2.carta[1]))
msgbox.msg=msgbox.msg+"#"+name+" us? Drenadoras"
if string(CartaActivoP2.carta[7])=string(CartaActivo.carta[3])
{
CartaActivoP2.carta[16]+=40
msgbox.msg=msgbox.msg+"#Es muy efectivo"
msgbox.msg=msgbox.msg+"#"+name2+" perdi? 40 puntos de HP"
dann=40
msgbox.msg=msgbox.msg+"#"+name+" recuper? 10 puntos#de HP"
if CartaActivo.carta[16]>=10 {CartaActivo.carta[16]-=10}
}
else
{
if string(CartaActivoP2.carta[8])=string(CartaActivo.carta[3])
{
msgbox.msg=msgbox.msg+"#Es poco efectivo"
msgbox.msg=msgbox.msg+"#"+name2+" no sufri? ning?n da?o"
}
else
{
CartaActivoP2.carta[16]+=20
msgbox.msg=msgbox.msg+"#"+name2+" perdi? 20 puntos de HP"
dann=20
msgbox.msg=msgbox.msg+"#"+name+" recuper? 10 puntos#de HP"
if CartaActivo.carta[16]>=10 {CartaActivo.carta[16]-=10}
}
}
if name2="Pidgeotto"
{
clearat()
global.atacadop2[1]=dann
}
global.turn=1 {FinTurn()}
[/gml]
Bueno, el punto es q si te fijas no hay ninguna funci?n q diga script_add ni nada, de ahi la sarta de comlicaciones para cambiar cosas externamente
[gml]
name=string(sprite_get_name(CartaActivo.carta[1]))
name2=string(sprite_get_name(CartaActivoP2.carta[1]))
msgbox.msg=msgbox.msg+"#"+name+" us? Drenadoras"
if string(CartaActivoP2.carta[7])=string(CartaActivo.carta[3])
{
CartaActivoP2.carta[16]+=40
msgbox.msg=msgbox.msg+"#Es muy efectivo"
msgbox.msg=msgbox.msg+"#"+name2+" perdi? 40 puntos de HP"
dann=40
msgbox.msg=msgbox.msg+"#"+name+" recuper? 10 puntos#de HP"
if CartaActivo.carta[16]>=10 {CartaActivo.carta[16]-=10}
}
else
{
if string(CartaActivoP2.carta[8])=string(CartaActivo.carta[3])
{
msgbox.msg=msgbox.msg+"#Es poco efectivo"
msgbox.msg=msgbox.msg+"#"+name2+" no sufri? ning?n da?o"
}
else
{
CartaActivoP2.carta[16]+=20
msgbox.msg=msgbox.msg+"#"+name2+" perdi? 20 puntos de HP"
dann=20
msgbox.msg=msgbox.msg+"#"+name+" recuper? 10 puntos#de HP"
if CartaActivo.carta[16]>=10 {CartaActivo.carta[16]-=10}
}
}
if name2="Pidgeotto"
{
clearat()
global.atacadop2[1]=dann
}
global.turn=1 {FinTurn()}
[/gml]
Bueno, el punto es q si te fijas no hay ninguna funci?n q diga script_add ni nada, de ahi la sarta de comlicaciones para cambiar cosas externamente
1023
Preguntas y respuestas / Re: Persistent(s?/no)
Diciembre 29, 2010, 01:28:39 AM
No creo q haya otra manera q con
[gml]game_restart()[/gml]
=/
[gml]game_restart()[/gml]
=/
1024
Preguntas y respuestas / Re: C?mo hacer un actualizador??
Diciembre 29, 2010, 01:22:25 AM
Gracias por contestar
Uno de los principales problemas es q el c?digo cambia constantemente porq est? en desarrollo, y las cartas no se cargan de manera externa, sino interna. La cosa es q trabajar con un n?mero infinito de cartas es imposible en este caso, porq cada carta tiene su programaci?n propia, ataques y poke power, la parte de cargar las im?genes ser?a pan comido, pero lo q me cuesta es hacer q el c?digo cambie tambi?n, aunq se me ocurre q podr?a hacer un programa q analize el gmk sobre el q corre y guarde todo, desde backgrounds, sprites, codigos, objetos, etc. Luego q corra sobre otro y haga lo mismo, pero q al final elimine cada codigo q se repita 2 veces, asi quedar?an solamente las diferencias entre las versiones. Pero se me hace muy complicado
Si lograra saber c?mo funcionan internamente los archivos gmres...
Uno de los principales problemas es q el c?digo cambia constantemente porq est? en desarrollo, y las cartas no se cargan de manera externa, sino interna. La cosa es q trabajar con un n?mero infinito de cartas es imposible en este caso, porq cada carta tiene su programaci?n propia, ataques y poke power, la parte de cargar las im?genes ser?a pan comido, pero lo q me cuesta es hacer q el c?digo cambie tambi?n, aunq se me ocurre q podr?a hacer un programa q analize el gmk sobre el q corre y guarde todo, desde backgrounds, sprites, codigos, objetos, etc. Luego q corra sobre otro y haga lo mismo, pero q al final elimine cada codigo q se repita 2 veces, asi quedar?an solamente las diferencias entre las versiones. Pero se me hace muy complicado
Si lograra saber c?mo funcionan internamente los archivos gmres...
1025
Preguntas y respuestas / Re: C?mo hacer un actualizador??
Diciembre 29, 2010, 12:27:42 AM
Me pasaste un link del face XD
Aun asi, creo q s? a q ejemplo te refer?s, pero el problema es q ese ejemplo descarga el archivo entero de vuelta y eso es justo lo q quiero evitar, el juego pesa 25mb por ahora y va a seguir aumentando a medida q agregue cartas porq son muchas y tienen q tener una definicion aceptable, lo que necesito es crear un programa q analize las diferencias entre las dos versiones y cree el parche o la actualizacios, y desp hacer un programa capaz de montar dicha actualizacion en el ejecutable de la version vieja para transformarla en la nueva
Aun asi, creo q s? a q ejemplo te refer?s, pero el problema es q ese ejemplo descarga el archivo entero de vuelta y eso es justo lo q quiero evitar, el juego pesa 25mb por ahora y va a seguir aumentando a medida q agregue cartas porq son muchas y tienen q tener una definicion aceptable, lo que necesito es crear un programa q analize las diferencias entre las dos versiones y cree el parche o la actualizacios, y desp hacer un programa capaz de montar dicha actualizacion en el ejecutable de la version vieja para transformarla en la nueva
1026
Preguntas y respuestas / C?mo hacer un actualizador??
Diciembre 28, 2010, 11:53:29 PM
Siempre tan f?ciles mis preguntas XD
Quiero lograr hacer un actualizador para un juego, se me ha ocurrido usar execute_string al comienzo del juego o durante el mismo para ir agregando las cosas q faltan en dicha version con respecto a la vieja, pero es muy tedioso, porq adem?s de programar la nueva versi?n hay que meter los cambios en un txt o algo. Tambi?n se me ocurri? trabajar con los archivos bin directamente sobre el exe, guardando en un txt los bytes que se encontraban diferentes en un exe y en el otro, y parec?a funcionar, pero tardaba demasiado en recorrer un archivo de 2mb, tanto para crear la actualizaci?n como para ponerla en pr?ctica (1 hora para actualizar 300kb no es algo viable)
Si alguien tiene una idea soy todo oidos, ya sea que se pueda resolver con Game Maker o con cualquier otro programa, ya prob? dll's de archivos bin y todas son m?s o menos lo mismo, no reducen demasiado el tiempo.
Bueno, de por s? gracias por haber le?do hasta ak, y si se les ocurre algo, mejor a?n :)
Quiero lograr hacer un actualizador para un juego, se me ha ocurrido usar execute_string al comienzo del juego o durante el mismo para ir agregando las cosas q faltan en dicha version con respecto a la vieja, pero es muy tedioso, porq adem?s de programar la nueva versi?n hay que meter los cambios en un txt o algo. Tambi?n se me ocurri? trabajar con los archivos bin directamente sobre el exe, guardando en un txt los bytes que se encontraban diferentes en un exe y en el otro, y parec?a funcionar, pero tardaba demasiado en recorrer un archivo de 2mb, tanto para crear la actualizaci?n como para ponerla en pr?ctica (1 hora para actualizar 300kb no es algo viable)
Si alguien tiene una idea soy todo oidos, ya sea que se pueda resolver con Game Maker o con cualquier otro programa, ya prob? dll's de archivos bin y todas son m?s o menos lo mismo, no reducen demasiado el tiempo.
Bueno, de por s? gracias por haber le?do hasta ak, y si se les ocurre algo, mejor a?n :)
1027
Preguntas y respuestas / Re: Guardar capturas en carpeta
Diciembre 28, 2010, 05:55:55 PM
[gml]i=1
while file_exists("Pantallasos\screen_"+string(i)+".png") {i+=1}
screen_save("Pantallasos\screen_"+string(i)+".png");[/gml]
Es el mismo de arriba pero mejorado
while file_exists("Pantallasos\screen_"+string(i)+".png") {i+=1}
screen_save("Pantallasos\screen_"+string(i)+".png");[/gml]
Es el mismo de arriba pero mejorado
1028
Preguntas y respuestas / Re: event perform(ev_collision,?)
Diciembre 27, 2010, 08:25:27 AM
Bien, en la parte donde pide inde pon?s el nombre del objeto, no puede ser a una instancia en espec?fico lamentablemente, pero pod?s agregar el evento a todas las instancias del objeto y con el codestr filtrar la instancia a la que quer?s referirte poniendo "if id=100002 {codigo}" o similares, siempre bas?ndote en el id de la instancia. Si pusieras ev_create no necesit?s especificar nada en evnumb, pod?s poner 0 y listo. En codestr se pone el c?digo a a?adir al evento, todo en una cadena de texto. Pod?s hacer que desde el texto se llame al script poniendo "script0()"
Suerte :)
PD: Dejo ejemplo para ayudar a acelerar la digesti?n
Suerte :)
PD: Dejo ejemplo para ayudar a acelerar la digesti?n
1029
Juegos completos / Re: CGM: The Game
Diciembre 26, 2010, 07:49:49 PM
Termin? el m?o, de nombre Texic
PD: Suena muy bien lo de las batallas online, me imagino q va a ser con la 39dll, no? Podr?as ir a?n m?s lejos y hacer un torneo cuando el juego est? terminado
PD: Suena muy bien lo de las batallas online, me imagino q va a ser con la 39dll, no? Podr?as ir a?n m?s lejos y hacer un torneo cuando el juego est? terminado
1030
Juegos completos / Re: CGM: The Game
Diciembre 26, 2010, 12:52:22 AM
Wow, se ve q te has esmerado bastante seg?n las im?genes. Ser?a divertido e interesante perfilar a los personajes para agregarlos al juego, asi estar?a bastante entretenida la trama
1031
Preguntas y respuestas / Re: event perform(ev_collision,?)
Diciembre 24, 2010, 08:08:56 PM
Con object_add_event, te dejo un ejemplo q justo us? recien en mi juego:
[gml]object_event_add(a,ev_step,ev_step_normal,"image_index=0; if mouse_x>x and mouse_x<x+sprite_width and mouse_y>y and mouse_y<y+sprite_height{if mouse_check_button(mb_left) {image_index=1}}")[/gml]
[gml]object_event_add(a,ev_step,ev_step_normal,"image_index=0; if mouse_x>x and mouse_x<x+sprite_width and mouse_y>y and mouse_y<y+sprite_height{if mouse_check_button(mb_left) {image_index=1}}")[/gml]
1032
Preguntas y respuestas / Re: Windows XP ? 7?
Diciembre 24, 2010, 06:31:02 PM
Ne, los .exe no andan, ten?s que buscar siempre programas que sean espec?ficos para esos SO. Lo cual al final te termina cansando y te qued?s con el monopolio de microsoft, que despu?s de todo no es tan malo (experiencia personal)
1033
Preguntas y respuestas / Re: event perform(ev_collision,?)
Diciembre 24, 2010, 04:03:28 AM
Lo q pasa es q llam?s al evento, no sucede realmente. Yo lo llam? desde el create al c?digo q est? en el evento de colision con el objeto2. No importa si est? colisionando o no, la funci?n ejecuta el evento igual
1034
Preguntas y respuestas / Re: file_text_read_string [Solucionado]
Diciembre 24, 2010, 04:00:39 AM
Es q justo no estaba en la pc, y cuando llegu? ya te hab?as ido :-[
1035
Preguntas y respuestas / Re: event perform(ev_collision,?)
Diciembre 24, 2010, 02:27:45 AM
En cuanto al evento de colisi?n, q raro porq a mi me funciona. En el numb ten?s q poner la colision con qu? objeto para especificar, aunq supongo q hiciste eso. Y el del teclado, ten?s tambi?n event_perform(ev_keypress,vk_up)
No s? si era eso a lo que te refer?s. Te dejo ejemplo para mostrarte q el de llamar al evento colision funciona
No s? si era eso a lo que te refer?s. Te dejo ejemplo para mostrarte q el de llamar al evento colision funciona