Página 1 de 1

Criação de menu utilizando ds_map

Enviado: Dom Dez 02, 2018 11:05 pm
por DarlesLSF
Boa noite, estou desenvolvendo um menu de itens pra serem utilizados durante a batalha e pra fazer isso estou tentando utilizar ds_map pra criar ele. Só que estou com algumas dúvidas sobre esse tipo de sistema do GM, já que não entendo direito como funciona as funções dele.
No caso, eu tenho 7 itens que podem ser usados durante a batalha:
- poção
- poção média
- poção grande
- ether
- ether medio
- resil
- elixir
Eu criei variaveis globais para cada item e add eles no ds_map:

Código: Selecionar todos

itensbatalha = ds_map_create();
ds_map_add(itensbatalha,"pocoes",global.pocoes);
ds_map_add(itensbatalha,"pocoesmedias",global.pocoesmedias);
ds_map_add(itensbatalha,"pocoesgrandes",global.pocoesgrandes);
ds_map_add(itensbatalha,"ether",global.ether);
ds_map_add(itensbatalha,"ethermedio",global.ethermedio);
ds_map_add(itensbatalha,"resil",global.resil);
ds_map_add(itensbatalha,"elixir",global.elixir);
Para que eu mostre esses itens, eu utilizo esse código:

Código: Selecionar todos

if (ds_map_exists(itensbatalha,"pocoes"))
    {
        instance_create(150, 22, pocao);
    }
Dai fica assim:
Imagem
Eu realmente necessito criar um código assim pra cada item ou há uma maneira de mostrar todos os itens existentes nesse ds_map de uma vez?
E outra dúvida: caso eu não possua nenhuma poção no inventário, como faço para os restantes dos itens subirem na lista? No caso, poção media ocuparia o lugar da poção e assim por diante.

Re: Criação de menu utilizando ds_map

Enviado: Seg Dez 03, 2018 12:26 am
por None
Eu te aconselho a não usar o ds_map, use o ds_grid.
Ele é basicamente uma tabela, você possuía linhas e colunas, assim você pode separar os itens em colunas/linhas e suas informações em sua respectiva linha/coluna.

Daí você cria OUTRA ds_grid para o seu inventário e assim por diante, para cada "separação" de função você cria uma ds_list.
Lembrando que se você não for mais usar a ds_grid você deve destruir ela.

Re: Criação de menu utilizando ds_map

Enviado: Seg Dez 03, 2018 3:52 pm
por All-x
Tenho um vídeo sobre inventário com ds_grid.



Tu pode remover um item usando só o nome:

Código: Selecionar todos

remove_item("poção");
Tem um exemplo para baixar na descrição do vídeo. Não deve ser difícil adaptar ao teu projeto.

FLWS!