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

46
Preguntas y respuestas / Re: problema con obj1.x=obj2.x
Febrero 19, 2010, 07:02:54 PM
Seguramente es lo que dice Wadk, haz la prueba, pon que cuando salte, no cambie el sprite y f?jate si se sigue descuadrando.
47
Prueba la funci?n place_free(x,y)
48
No creo que se pueda hacer lo que quieres, pero siempre puedes hacer la transici?n de forma manual. Modificando las coordenadas de todo el room sin modificar las de las Vidas. :)
49
Usa:

view_xview[n?de view]+DistanciaX
view_yview[n?de view]+DistanciaY
50
Este signo ? pero sin pulsar ALT XD
51
Puedes usar la funci?n interna del gm get_string() ? puedes dise?arte tu propio cuadro de texto y usar la funci?n keyboard_string :)
52
Ya hice los cambios oportunos, no lo he probado pero espero que funcione jeje :-[

Ahora si quieres guardar un objeto debes ponerle una variable Guardar=true y si este no tiene una variable Objeto, se guardara el nombre de la instancia.

Gracias de nuevo, un saludo!
53
Estuve mirando y creo que es if view_current=0 no puedo asegur?rtelo porque no he probado.
54
Prueba con una condici?n if view_curren[0]=true (no recuerdo si era as? o algo parecido.) {c?digo que quieras}
55
Muchas gracias Wadk, te comento.

El script en un principio lo us? para un editor de niveles que estaba desarrollando, por lo que se me escapa alg?n fallito al pasarlo a un script general.

Lo de la variable NoGuardar, no comprobaba si existe porque ten?a en settings declaradas todas las variables no declaradas como 0.
Lo 2? de cargado, es un fallo de imprenta xD.

y lo de la variable Objeto lo hice porque si es como mi caso, en el editor de niveles no usaba los objetos que queria cargar, sino un representante, algo como obj_IconoJ1 y luego la variable Objeto era obj_Player.

Muchas gracias de nuevo, actualizar? el c?digo en cuanto pueda. :)
56
Preguntas y respuestas / Re: Duda con draw_sprite();
Enero 15, 2010, 11:56:15 PM
En draw_sprite() hay un argumento llamado image_index, este lleva la cuenta de las subimagenes del sprite. Puedes usar la misma image_index, ? otra variable en forma de contador para hacer lo que quieres.
57
Se te traba porque se forma un bucle sin fin, ya que no habr? ning?n tile en la posicion X,Y
58
Yo tuve hoy el mismo problema y sabiendo la X y la Y del tile me hice un script para comprobar el tile en dicha posici?n:

var tile, i;
tile=10000000-1;
i=0;
do
{
tile+=1
if tile_exists(tile) {if tile_get_x(tile)=X && tile_get_y(tile)=Y{i=1} }
}
until i=1
tile_delete(tile)


Espero que te sirva al menos como referencia. Un Saludo
59
Adjuntado ejemplo para facilitar el entendimiento del Script. :)
60
* Nombre del creador: Twister
* Breve descripci?n de su funci?n: Estos scripts se dividen en 2 partes, Guardado y Cargado. Est? todo explicado dentro de los scripts.
Nota: El script de cargado se divide en 2 partes.
Nota2: Cuando guarda los objetos, el objeto deber? tener 2 variables. Guardar: Deber? ser True si quieres que este objeto se guarde. Y Objeto: Contendr? el nombre de la instancia que quieras cargar luego en el mapa. En caso de no tener variable Objeto se guardara el nombre de la instancia.
* Versi?n GM utilizada:  :GM8: GM8 PRO, no se si funcionar? en otras versiones.
* C?digo del Script:

Guardado de Mapa:
//SCRIPT GUARDADO DE MAPAS
//------------------------------------
//EJEMPLO DE USO: scr_GuardarMapa(1000)
//------------------------------------
//ESTE SCRIPT BUSCA TODOS LOS OBJETOS Y TILES Y LOS GUARDA EN UN ARCHIVO .map
//EL ARGUMENT0, ES LA TOLERANCIA DE SALTO, LOS ID DE LOS OBJETOS Y TILES VAN DESDE 100000 ? 10000000 RESPECTIVAMENTE, HASTA EL NUMERO DE OBJETOS QUE HAYA EN EL MAPA
//EL PROBLEMA QUE SURGE ES QUE SI CREAS UN OBJETO/TILE EN EL EDITOR DEL GM, Y LUEGO LO BORRAS, SE QUEDA UN HUECO EN EL ID, LA TOLERANCIA COMPRUEBA SI HAY UN SALTO HACIENDO UNA COMPROBACION
//DE X SALTOS EN LA LINEA DE LOS ID.
//------------------------------------
//AUTOR: Twister (Gameart) :: Contacto: twister_cgm@hotmail.com
//------------------------------------

var Tolerancia, ToleranciaMax, ID, TileID;
Tolerancia=0;
ToleranciaMax=argument0;
ID=100000-1;
TileID=10000000-1;

//ABRIR ARCHIVO
Archivo=file_text_open_write((get_string("Nombre del Escenario","Map001"))+".map")

//GUARDADO DE PROPIEDADES DEL MAPA
file_text_write_string(Archivo,"MAPA") file_text_writeln(Archivo)
file_text_write_string(Archivo,string(room_width)) file_text_writeln(Archivo)
file_text_write_string(Archivo,string(room_height)) file_text_writeln(Archivo)
file_text_write_string(Archivo,string(background_get_name(background_index[0]))) file_text_writeln(Archivo)
file_text_writeln(Archivo)

//GUARDADO DE OBJETOS
file_text_write_string(Archivo,"OBJETOS")
file_text_writeln(Archivo)
do
{
ID+=1
if !instance_exists(ID) {Tolerancia+=1}
if instance_exists(ID)
{
Tolerancia=0
if variable_local_exists("Guardar")
{
if ID.Guardar=true
{
file_text_write_string(Archivo,"instance_create("+string(ID.x)+",")
file_text_write_string(Archivo,string(ID.y)+",")
if variable_local_exists("ID.Objeto") {file_text_write_string(Archivo,string(ID.Objeto)+")") }
if !variable_local_exists("ID.Objeto") {file_text_write_string(Archivo,string(object_get_name(ID.object_index))+")") }
file_text_writeln(Archivo)
}
}
}
}
until (Tolerancia>=ToleranciaMax)
Tolerancia=0;
file_text_writeln(Archivo)

//GUARDADO DE TILES
file_text_write_string(Archivo,"TILES")
file_text_writeln(Archivo)
do
{
TileID+=1
if !tile_exists(TileID) {Tolerancia+=1}
if tile_exists(TileID)
{
Tolerancia=0
file_text_write_string(Archivo,"tile_add("+string(tile_get_background(TileID))+",")
file_text_write_string(Archivo,string(tile_get_left(TileID))+",")
file_text_write_string(Archivo,string(tile_get_top(TileID))+",")
file_text_write_string(Archivo,string(tile_get_width(TileID))+",")
file_text_write_string(Archivo,string(tile_get_height(TileID))+",")
file_text_write_string(Archivo,string(tile_get_x(TileID))+",")
file_text_write_string(Archivo,string(tile_get_y(TileID))+",")
file_text_write_string(Archivo,string(tile_get_depth(TileID))+")") file_text_writeln(Archivo)
}
}
until Tolerancia>=ToleranciaMax
file_text_writeln(Archivo)

//CERRAR ARCHIVO
file_text_close(Archivo)
show_message("Mapa Guardado")
exit;


Cargado de Mapa 1/2:
//SCRIPT CARGADO DE MAPAS 1
//------------------------------------
//EJEMPLO DE USO: scr_CargarMapa(room_Carga)
//------------------------------------
//EL SCRIPT DE CARGADO DE MAPAS SE DIVIDE EN 2 PARTES, ESTA PRIMERA PARTE SETEA EL ANCHO/ALTO Y BAGCKGROUND DEL ROOM QUE SE VA A CARGAR.
//ES RECOMENDABLE CREAR 2 ROOMS. room_InicioCarga ,DONDE IR? ESTE SCRIPT, Y room_Carga QUE SER? EL QUE SE EJECUTE LA SEGUNDA PARTE DEL SCRIPT.
//EL ARGUMENT0 ES EL ROOM DONDE SE CARGAR? EL MAPA.
//------------------------------------
//AUTOR: Twister (Gameart) :: Contacto: twister_cgm@hotmail.com
//------------------------------------

//VARIABLES TEMPORALES
var Room;
Room=argument0
//ABRIR ARCHIVO
Archivo=file_text_open_read((get_string("Nombre del Escenario","Map001"))+".map")

//LEER EL ARCHIVO
//LEER MAPA
file_text_readln(Archivo)
room_set_width(Room,file_text_read_real(Archivo)) file_text_readln(Archivo)
room_set_height(Room,file_text_read_real(Archivo)) file_text_readln(Archivo)

global.Background=string(file_text_read_string(Archivo))

file_text_close(Archivo)
room_gotot(Room)



Cargado de Mapa 2/2:
//SCRIPT CARGADO DE MAPAS 2
//------------------------------------
//EJEMPLO DE USO: scr_CargarMapa2()
//------------------------------------
//2? PARTE DE LA CARGA DE MAPAS, EN ESTA PARTE SE CARGAN TODOS LOS TILES Y OBJETOS EN EL ROOM ACTUAL.
//------------------------------------
//AUTOR: Twister (Gameart) :: Contacto: twister_cgm@hotmail.com
//------------------------------------

//VARIABLES TEMPORALES
var Objeto;
var Tile;
execute_string('background_index[0]=' + global.Background)
//LEER OBJETOS
//VARIABLES OBJETO
Archivo=file_text_open_read((get_string("Nombre del Escenario","Map001"))+".map")
do
{
file_text_readln(Archivo)
}
until file_text_read_string(Archivo)="OBJETOS"
file_text_readln(Archivo)
do
{
Objeto=file_text_read_string(Archivo) file_text_readln(Archivo)
execute_string(string(Objeto))
}
until Objeto=""

//LEER TILES
file_text_readln(Archivo)
do
{
Tile=file_text_read_string(Archivo) file_text_readln(Archivo)
execute_string(string(Tile))
}
until Tile=""

file_text_close(Archivo)
show_message("Mapa Cargado")


No hace falta dar cr?dito, pero se agradecer?a.