Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: bygdle en Febrero 21, 2016, 03:25:12 AM

Título: Encontrar la posición de un valor en un array unidimensional
Publicado por: bygdle en Febrero 21, 2016, 03:25:12 AM
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