Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Buscar objetos en el inventario por su nombre  (Leído 269 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Zaca

en: Mayo 24, 2018, 12:04:47 am
Hola a todos, estoy haciendo un juegos donde el jugador tiene varios objetos en el inventario, y quisiera saber como podría hacer para buscar los objetos por su nombre. Tipo, al escribir elixir, se listen todos los elixir. Alguien sabría como crear un objeto que gestione esa busqueda y muestre los resultados. Desde ya muchas gracias

The Shield Develper
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Respuesta #1 en: Mayo 24, 2018, 06:05:48 am
Puedes usar un loop(for()) para recorrer toda la lista de objetos en el inventario y guardar en otra lista solo los elementos que contengan el valor elixir y mostrarla en pantalla.
Que usas para crear el inventario, arrays, listas, grids ?

 


Desconectado Zaca

Respuesta #2 en: Mayo 25, 2018, 06:58:02 pm
Puedes usar un loop(for()) para recorrer toda la lista de objetos en el inventario y guardar en otra lista solo los elementos que contengan el valor elixir y mostrarla en pantalla.
Que usas para crear el inventario, arrays, listas, grids ?

Estoy usando arrays de 2 dimensiones, ya consegui guardar los nombres de los objetos en una variable. Pero como hago para compararlo con la palabra que estoy buscando?
« última modificación: Mayo 25, 2018, 11:47:44 pm por Zaca »

The Shield Develper
 


Desconectado 3dgeminis

Respuesta #3 en: Mayo 26, 2018, 07:08:55 am
Un ejemplo:
///EVENTO CREATE
inv[0]=0 ///array que sera el inventario
for(i=0;i<20;i+=1) {inv[i]=choose("espada","escudo","armadura","pocion",)}  ///rellena el array con una palabra al azar, este seria el inventario

temp_list=ds_list_create() ///crea una lista que contendra solo una de las palabras
for(i=0;i<20;i+=1) {if inv[i]="pocion" {ds_list_add(temp_list, inv[i])}} ///hacemos un loop con el numero total de palabras en el array y agregamos a la lista solo los valores que sean igual a pocion

///EVENTO DRAW
for(i=0;i<20;i+=1) {draw_text(10, y+(i*20), inv[i])}  ///dibujamos el inventario

for(i=0;i<ds_list_size(temp_list);i+=1) {draw_text(x+200, y+(i*20), ds_list_find_value(temp_list, i))} ///dibujamos la lista

 
Los siguientes usuarios dieron las gracias a este tema: Zaca


Desconectado Zaca

Respuesta #4 en: Mayo 27, 2018, 03:51:31 am
Un ejemplo:
///EVENTO CREATE
inv[0]=0 ///array que sera el inventario
for(i=0;i<20;i+=1) {inv[i]=choose("espada","escudo","armadura","pocion",)}  ///rellena el array con una palabra al azar, este seria el inventario

temp_list=ds_list_create() ///crea una lista que contendra solo una de las palabras
for(i=0;i<20;i+=1) {if inv[i]="pocion" {ds_list_add(temp_list, inv[i])}} ///hacemos un loop con el numero total de palabras en el array y agregamos a la lista solo los valores que sean igual a pocion

///EVENTO DRAW
for(i=0;i<20;i+=1) {draw_text(10, y+(i*20), inv[i])}  ///dibujamos el inventario

for(i=0;i<ds_list_size(temp_list);i+=1) {draw_text(x+200, y+(i*20), ds_list_find_value(temp_list, i))} ///dibujamos la lista

Muchísimas gracias fuiste de gran ayuda!!!!!

The Shield Develper