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.

Temas - jmbs19

1
Desarrollo de Scripts / string_explode(string,delimiter)
Diciembre 05, 2015, 02:47:38 AM
Nombre del creador: ni idea, ni yo recuerdo de donde lo saque ni el tipo del que lo saque lo recuerda tampoco, lo deja anotado en el script.

Breve descripción de su función: como cualquier otra funcion explode en java o lenguajes similares este rompe una cadena de texto en partes a partir de un delimitador cualquiera de un solo caracte de longitud, devolviendo un array con todos los valores explotados de la cadena de texto original.

Versión GM utilizada:
pues hasta donde se deberia de ser en todas, sin embargo solo lo e probado en 8, 8.1 y estudio.
:GMS:
:GM8:

Código del Script:

[gml]
/*
This part I didn't write. I have a stash of scripts I have collected over the years
and this was one of them. Unfortunately I don't know where I got it from.

So if you wrote this or you know who did please email me so I can assign credit.

Usage: string_explode(string, delimiter)

*/

var c, i, j, k, s;
s = "";
i = 0;
k = string_length(argument0);

for (j = 1; j <= k; j += 1)
{
    c = string_char_at(argument0, j);
    if (c == argument1)
    {
        level = s;
        s = "";
        i += 1;
        continue;
    }
    s = s + c;
}
if (s != "")
   level = s;

[/gml]

ps: yo se que ya hay un script explode en el foro, pero este me parecio mas interesante ya que devuelve toda la cadena rota y no un solo pedaso en una posicion cualquiera.
http://www.comunidadgm.org/desarrollo-de-scripts/explode%28%29/
pps: si usan el script no olviden agradecer al creador desconocido :D
2
como dije en una pregunta anterior yo soy usuario del game maker 8, pero adquiri el studio para probarlo ya que permite exportar a muchos formatos, ya comprendi lo de donde se guardan las cosas, pero ahora mi problema es a la hora de cargarlos. por los momentos solo he estado trabajando con sprites e imagenes, pero imagino que mi problema afectara a cualquier otro tipo de cargado externo de archivos.

el problema es el siguiente, al cargar una imagen externa por medio de la funcion add_sprite en el evento create y tratar de dibujarla en el evento draw no la dibuja.

aqui coloco las lineas de codigos que use para probar estas funciones:
create
spr_sprite = add_sprite("imagen.png",1,1,0,0,0)
draw
draw_sprite(spr_sprite,0,x,y)


la imagen esta en el include files

incluso, para descartar que la imagen no estubiera en la carpeta, coloque esta linea de codigo en el create antes del add_sprite

if !file_exists("imagen.png")
show_message("no carga la imagen");


espero su pronta respuesta.
3
Preguntas y respuestas / variable working_directory
Enero 08, 2015, 01:47:26 AM
yo tengo un proyecto personal en el que estado trabajando en game maker 8 :GM8:, este funciona muy bien, sin embargo hace unas semanas he podido adquirir el game maker studio :GMS: y he exportado mi proyecto, como ya me advirtio el programa al exportar puede haber codigo que deje de funcionar, la cosa es que ya logre arreglar la mayoria de los problemas de codigo, sin embargo todavia no logro arreglar las lineas de codigo que me permiten guardar cosas del juego en la carpeta en que se ejecuta el juego. he colocado el ya de diferentes maneras el codigo para generar carpetas y archivos dentro de la carpeta del juego y siempre los crea en la appdata de los archivos temporales(no estoy ejecutando el juego en prueba, cree un ejecutable y eso es lo que abro).

aqui esta una de las lineas de codigo que me esta dando problemas:

directory_create(working_directory+"\saves");
lo he colocado de varias maneras, tales como estas:

directory_create(working_directory+"/saves");
directory_create(working_directory+"saves");
directory_create("\saves");
directory_create("saves");


el problema no solo es a la hora de crear archivos, tambien es a la hora de leerlos.

espero su pronta ayuda con este problema que me he encontrado.
4
explico mi problema, necesito obtener el objeto de una id, no la id de un objeto.

obtener la id de un objeto es relativamente facil, pero no e logrado hacer lo contrario, que yo, dando una id, me arroje que objeto es. escribí este codigo:

create:
objeto_test_id = 0
global_mouse_pressed:
objeto_test_id =get_integer("codigo","")
draw:
if objeto_test_id != 0
if objeto_test_id = objeto_test //este es el objeto a testear
draw_text(x,y,"funciono")
else
draw_text(x,y,"id no valida")


este codigo no funciono, asi que probe este

create:
objeto_test_id = 0
global_mouse_pressed:
objeto_test_id =get_integer("codigo","")
draw:
if objeto_test_id != 0
if objeto_test_id = objeto_test.id //este es el objeto a testear
draw_text(x,y,"funciono")
else
draw_text(x,y,"id no valida")


al principio funciono, pero solo funciona con la id del primer objeto creado, es decir no funciona si hay mas de un mismo objeto.

entonces la pregunta es esa, obtener objeto de una id dada para poder usarla para comparar con un if para que el código haga una acción especifica dependiendo del objeto que tenga esa id.

esto solo es una prueba de concepto ya que el uso real que le daría seria dentro de un for para testear todos los objetos dentro de una room y dependiendo de que objeto sea cada uno hacer una acción dada( es un sistema de guardado propio que necesito, no, no me sirve el que trae por defecto el gamemaker.)
5
la pregunta es clara, pero tengo que explicar otra cosa, estoy desarrollando un juego desde hace tiempo, y e llegado al punto de crear un sistema de sombras que le quedan perfecto al juego, el problema es el siguiente, para este sistema de sombras necesito crear una instancia cada tantos pixeles en toda la room, entonces, tengo alrededor de 1300 instancias sacando calculos, por lo que el rendimiento es pésimo.

el problema es que necesito desactivar las instancias que están fuera de la vista, para lo cual yo se que se puede usar la funcion instance_deactivate_area e instance_activate_area, el detalle esta en que solo quiero desactivar las instancias del objeto de la sombra, pero esta función desactiva TODAS las instancias fuera del área. en esto radica el problema, alguien puede decirme una solución o función que desactive solo las instancias de un objeto y no todas las instancias
6
creo que la pregunta es clara, pero para que me entiendan, en el juego que desarrollo tengo 2 vistas de un mismo lugar todo el tiempo, entonces mi problema es que yo quiero que un objeto que tiene un sprite se dibuje en una sola de las vistas y no en las 2, la razón de que hallan dos vistas es que uno es un "minimapa" cuyo rango de visión es mayor al del cuadro de juego, pero con una resolución inferior.

en la imagen adjunta pueden observar que en el hud del jugador hay un minimapa, que no es mas que una vista mas grande pero con menor resolución, ahora el problema esta en que no quiero que se vea el hud, solo el personaje y las demas cosas, si se fijan se puede ver el hud en el minimapa y es lo que no quiero.

espero me puedan ayudar.
7
 Mi pregunta esta clara, neceisto el manual que se encuentra en esta web, la razon es que mi coneccion no es muy estable y no se cuando puedo revisar el manual online, asi que nececiro saber si es posible descargarlo y de donde