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

706
Eso es lo que quiero hacer, pero a su vez es exactamente lo que quiero evitar XD
Cito lo que dije en mi mensaje original:

Cita de: NiuWeb en Febrero 21, 2016, 10:47:16 PM
¿Cómo podría obtener la información que se encuentra en el Array de cada llave del mapa sin tener que almacenar la misma en otra variable?
707
Pues si creas un objeto en una posición aleatoria entre 0 y 1000 estarás dándole una posibilidad entre 0 y 1000 de que se cree en un pixel determinado xD
[gml]
randomize();
instance_create(irandom(1000), irandom(1000), objeto);
[/gml]

Sé que probablemente no es lo que buscas, pero tómalo como un castigo por no aclarar nada xD
708
¿Y por qué usar un objeto llave cuando tendo ds_map()?  XD
Verás, no puedo ir creando objetos por cada lista que necesite. Para ello están los ds_map(), que me permiten trabajar de la forma en que lo deseo.

Además, ¿Que tiene que ver lo que mostraste con los arrays?  XD , parece que en realidad no se entendió mi pregunta :-X xD

1)- Tengo una ds_map() creada
2)- En una llave de esa ds_map() tengo guardado un array
3)- Necesito obtener el valor de un índice del array guardado en esa llave de la ds_map()

Eso es, espero haberme explicao mejor xD
709
Buenashffjfdkfj!! xD
Me surge esa duda principalmente porque en ocaciones necesito almacenar más de un valor en una llave de una ds_map(), y obviamente la mejor forma de hacerlo es con un array, una ds_list() u otra ds_map().

La pregunta es, si yo tengo un array dentro de una estructura de datos (digámosle ds_map()), con una estructura algo como esto:


Había pensado en intentar como un array bidimensional, algo así:
[gml]
mapa[? 'llave1', 0]
[/gml]
Pero me sale error de compilación:


¿Cómo podría obtener la información que se encuentra en el Array de cada llave del mapa sin tener que almacenar la misma en otra variable?

Gracias de antecabeza :B
710
Preguntas y respuestas / Re:OBJ CUIDA A OTRO OBJ
Febrero 21, 2016, 08:35:17 PM
Según lo que entiendo, la solución podría ser algo así:
[gml]
var n = -1;
with panal
{
if num == other.num
n = id;
}
if instance_exists(n)
{
//Lo que usas para "ir" hacia el panal. Además, la id del objeto panal se guarda en la variable "n", por si la necesitas
}
[/gml]
711
De poderse, se puede. Pero sigue sin convencerme usar archivos *.ini, sería mejor una base de datos SQL (Intentando hacer spam everywhere xDD)
Para "descargar" el *.ini tienes dos formas:
La primera es sencillamente descargar el archivo al directorio y leerlo desde ahí, pero no es muy seguro que digamos :-X xD
La segunda forma es recibir la respuesta del servidor en el archivo *.ini (Que en este caso sería todo el contenido del archivo) y guardarlo en una string, lo que permitiría más seguridad usando la función ini_open_from_string().

La forma de realizar la primera opción no es más que usar la función http_get_file() (leer manual)
La forma de realizar la segunda opción es siguiendo mi tutorial (xDDDDDDDD) que enseña a hacer esto:
http://www.comunidadgm.org/articulos/crea-tu-juego-online-tutorial-php-mysql-gml-(programacion)/msg121459/#msg121459
Lo importante está en la segunda parte del tuto :V

(Leer esto after leer el tutorial xDD)
Además, en vez de usar la función http_post_string() para enviar la petición, sólo es necesario usar http_get(), ya que sólo necesitamos leer el contenido. Por exampol:
[gml]
ID = http_get("http://www.mipagina.com/preguntas.ini");
[/gml]
Lo demás se dejaría igual a como se muestra en el tutorial

[spoiler]
SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM
XD XD XD XD
[/spoiler]
712
Va bajando la calidad de los scripts xD
Autor: Generación espontánea xD. Mentiras, yo (NiuWeb)
Versión de GM utilizada: Studio 1.4.1657 stable versión
Descripción: Devuelve un array que contiene los argumentos dados. No es muy útil, pero ahorra bastante código. (Obviamente ahorra un máximo de 16 líneas de código xD)

Código:
[gml]
///set_array(values);
var n = argument_count;
var arr;
for(var i=0; i < n; i++)
{
arr = argument;
}
return arr;
[/gml]

Ejemplo:
Escribir:
[gml]
array = set_array("hola","como","estás","xD");
[/gml]
Nos ahorra tener que escribir:
[gml]
array[0] = "hola";
array[1] = "como";
array[2] = "estás";
array[3] = "xD";
[/gml]

Nivel de utilidad: -600%... Completamente inútil, pero ayuda a los flojos xDDD
713
Aki se viene uno sencillito xD
Autor: Mi gato cuando saltó al teclado xD. Mentiras, yo (NiuWeb)
Versión de GM utilizada: Studio 1.4.1657 stable version
Descripción: Busca un valor en un array y devuelve los índices en donde se encuentra dicho valor en un array unidimensional. De no encontrar el valor buscado devolverá -1. Por ejemplo, si busco el valor "gato" en el array:
[gml]
array[0] = "perro";
array[1] = "gato";
array[2] = "conejo";
array[3] = "gato";
[/gml]

El script devolverá un array con el número 1 y el número 3.

Código:
[gml]
///array_1d_find_value(array, value);
var arr = argument0;
var find = argument1;
var r = -1;

for(var i = 0; i < array_length_1d(arr); i++)
{
    if arr == find
     {
        if is_array(r)
         {
            r[array_length_1d(r)] = i;
         }
        else
         {
            r[0] = i;
         }
     }
     
}

return r;
[/gml]

Nivel de utilidad: -59.332% xD, en resumen, es completamente inútil... Todo este lio se resuelve con listas, pero weno xDD
714
Preguntas y respuestas / Re:Variables de objetos
Febrero 21, 2016, 02:00:30 AM
Las variables locales son creadas por separado en cada instancia. Esto quiere decir que si, por ejemplo, tienes 10 instancias de un objeto, cada una de estas instancias tendrá sus propias variables, que interactuan independientes de las demás instancias del mismo objeto.
Por ejemplo, si tienes un objeto con las variables "vida" y "danio", la forma de acceder a ellas es la siguiente:
[gml]
objeto.variable
[/gml]

Toda instancia tiene una id, que es un número identificador único que apunta sólo a esa instancia, y no al objeto. Esto es muy útil ya que si tienes varias instancias de un mismo objeto, el método anterior podría fallar; no sé cómo ya que nunca he usado mucho esta forma, y por lo tanto no he comprobado casi nada.
Por ejemplo, si tienes 3 instancias, con las id "100302", "3001012" y "422010", siendo todas instancias de un mismo objeto, la forma de acceder a cada una de ellas es la siguiente:
[gml]
(id).variable
[/gml]
Por ejemplo:
[gml]
(100302).danio += 1;
[/gml]
Esto va a sumar 1 a la variable danio de la instancia con la id 100302.

Existen muchas funciones que devuelven la id de una instancia que es procesada por las mismas. Algunos ejemplos son instance_create(), que devuelve la id de la instancia creada, y las collision_(), que son funciones que devuelven la id de la instancia que colisiona con el rango argumentado.
for exampol:
[gml]
objeto_creado = instance_create(x,y,objeto);
objeto_creado.danio = 10;
[/gml]
En el anterior ejemplo se crea una instancia de "objeto", y se le asigna a la misma el valor de 10 a la variable "danio"

Más no te puedo ayudar puesto que soy bien retrasado y no entiendo bien tu problema xDDD
715
Preguntas y respuestas / Re:variable jump
Febrero 21, 2016, 01:15:14 AM
Cita de: kostra en Febrero 21, 2016, 12:54:04 AM
tutoriales de plataformas, abundan más que los videos de gatos...
Mentira xDDD






XD XD XD XD
716
OOOooooooppppSSSS!!!!, no vi que era GM8 xDDD
Te lo cambio:
[gml]
///draw_text_border(x,y,str,bsize,bcolor);
var xx, yy, str, bsize, bcolor, i;
xx = argument0;
yy = argument1;
str = string(argument2);
bsize = real(argument3);
bcolor = argument4;

for(i=1;i<=bsize;i+=1)
{
draw_text_color(xx-i,yy,str,bcolor,bcolor,bcolor,bcolor,1);
draw_text_color(xx+i,yy,str,bcolor,bcolor,bcolor,bcolor,1);
draw_text_color(xx,yy+i,str,bcolor,bcolor,bcolor,bcolor,1);
draw_text_color(xx,yy-i,str,bcolor,bcolor,bcolor,bcolor,1);
}
draw_text(xx,yy,str);
[/gml]
717
Preguntas y respuestas / Re:variable jump
Febrero 20, 2016, 11:09:52 PM
No entiendo a qué te refieres con variable jump :-X
718
Hmm... podrías crear un ciclo for que dibuje el texto de X color cada vez más atras para que pareciera borde. Intenta usar un script con esto:
[gml]
///draw_text_border(x,y,str,bsize,bcolor);
var xx = argument0;
var yy = argument1;
var str = string(argument2);
var bsize = real(argument3);
var bcolor = argument4;

for(var i=1;i<=bsize;i++)
{
draw_text_colour(xx-i,yy,str,bcolor,bcolor,bcolor,bcolor,1);
draw_text_colour(xx+i,yy,str,bcolor,bcolor,bcolor,bcolor,1);
draw_text_colour(xx,yy+i,str,bcolor,bcolor,bcolor,bcolor,1);
draw_text_colour(xx,yy-i,str,bcolor,bcolor,bcolor,bcolor,1);
}
draw_text(xx,yy,str);
[/gml]

Y lo llamas así:
[gml]
draw_text_border(x,y,"Soy un texto con borde! xD",1,c_black);
[/gml]
donde x & y es la posición, str es la cadena a dibujar, bsize es el tamaño del borde y bcolor es el color del borde
719
Cita de: kostra en Febrero 20, 2016, 08:13:34 PM
o usar variables GLOBALES
Cita de: Marth en Febrero 20, 2016, 09:23:41 PM
También puedes crear una variable global que sobreviviría a la destrucción del objeto que la creó.

Mi turno xDDDDDDDDDDDDDDDDDDDD
También puedes usar variables globales, las cuales, al no depender de ninguna instancia, no se destruyen al eliminarlas
720
Cita de: kostra en Febrero 20, 2016, 08:15:21 PM
es cosa mía o no veo nada las imágenes y no me deja agrandarlas? :S
No es cosa tuya, las imágenes son chiquiiiitas, pero chiquiiiitas xD no veo un santo rábano XD