Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Como fazer item ir para inventario
4 participantes
Página 1 de 1
Como fazer item ir para inventario
É o seguinte fiz varios testes com meu inventario de 1 slot mas não consegui muitas coisas mas já compreendi +- o que tenho que fazer so não sei exatamente como.
ja tenho o inventario(com alguns codigos)
ja tenho o slot(sem codigos ou variaveis)
Player com codigos
poção (sem codigos)
O que eu quero fazer:
o player chega perto da poção e aperta z e o item vai para o slot vazio
O que eu sei fazer:
Evento de colisão na poção e o codigo if keyboard_check_press (ord('Z') {
intance_destroy()}
(so que não sei como fazer o item ir para o slot)
Obs:lembrando que meu slot não tem nenhum codigo ou variavel falando que ele está cheio o vazio.
ja tenho o inventario(com alguns codigos)
ja tenho o slot(sem codigos ou variaveis)
Player com codigos
poção (sem codigos)
O que eu quero fazer:
o player chega perto da poção e aperta z e o item vai para o slot vazio
O que eu sei fazer:
Evento de colisão na poção e o codigo if keyboard_check_press (ord('Z') {
intance_destroy()}
(so que não sei como fazer o item ir para o slot)
Obs:lembrando que meu slot não tem nenhum codigo ou variavel falando que ele está cheio o vazio.
adams3do- Data de inscrição : 27/06/2012
Reputação : 2
Número de Mensagens : 24
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como fazer item ir para inventario
Primeiramente você precisaria de uma variável (pode ser uma comum, já que só tem um slot) para armazenar os dados deste objeto. Numa linguagem de programação convencional, uma estrutura que contenha estes dados seria uma mão na roda. Mas para um exemplo simples, a variável contendo a sprite do objeto já basta (apesar de o método para criar o objeto no jogo precisar ser mais trabalhado).
Ao pressionar Z, defina essa variável do inventário para a sprite do objeto (usando a pseudo-variável sprite_index), e então destrua a instância. Agora no Draw do inventário, você vai usar a função draw_sprite para desenhar o conteúdo dessa variável. Mas para evitar quaisquer erros, precisamos verificar se a variável não está "vazia" - no GM há uma keyword chamada noone, que é usada para identificar recursos "vazios", não existentes. Assim, no Create de seu inventário, defina a variável para noone.
Agora, no evento de desenho, cheque se a variável não é igual a noone, e por fim desenhe a mesma usando a função que te disse antes. Mas obviamente, antes desta porção de código você deve desenhar o inventário em si.
Bom desenvolvimento. Abraços!
Ao pressionar Z, defina essa variável do inventário para a sprite do objeto (usando a pseudo-variável sprite_index), e então destrua a instância. Agora no Draw do inventário, você vai usar a função draw_sprite para desenhar o conteúdo dessa variável. Mas para evitar quaisquer erros, precisamos verificar se a variável não está "vazia" - no GM há uma keyword chamada noone, que é usada para identificar recursos "vazios", não existentes. Assim, no Create de seu inventário, defina a variável para noone.
Agora, no evento de desenho, cheque se a variável não é igual a noone, e por fim desenhe a mesma usando a função que te disse antes. Mas obviamente, antes desta porção de código você deve desenhar o inventário em si.
- Código:
if (var_do_obj != noone)
{
// Sprite | index da sprite | x | y
// Desenha a sprite nas coordenadas do inventário (acrescente uns valores no lugar do zero para alinhar ao slot)
draw_sprite(var_do_obj, 0, x+0, y+0);
}
- Código:
i = 0; // Define uma variável de iteração
obj = noone // Nosso objeto a ser criado
while (object_exists(i)) // Enquanto o objeto existir (afinal não há uma função pra determinar o número de objetos)
{
if (object_get_sprite(i) == var_do_obj) // Checamos se a sprite do obj é a que está na variável
{
// É esse o nosso objeto. Yay! =D
obj = i;
break; // Quebra o loop while
}
}
Bom desenvolvimento. Abraços!
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como fazer item ir para inventario
Deu erro e não compreendi o segundo codigo aqui o erro e porque o draw do inventario tenho que colocar akele codigo la ele nao deveria ser no slot (o slot que ta vazio nao o inventario)
utilizo o obj inv e o obj slot
me explique um pouco mais sobre esse codigo. e me fale em que eu errei.
utilizo o obj inv e o obj slot
me explique um pouco mais sobre esse codigo. e me fale em que eu errei.
- Código:
___________________________________________
ERROR in
action number 1
of Step Event
for object obj_poçao:
Error in code at line 6:
if (object_get_sprite(i) == var_do_obj) // Checamos se a sprite do obj é a que está na variável
^
at position 34: Unknown variable var_do_obj
adams3do- Data de inscrição : 27/06/2012
Reputação : 2
Número de Mensagens : 24
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como fazer item ir para inventario
Crie a var var_do_obj no Create ou vá em Global Game Settings > Errors e ative a opção Treat unintialized variables as 0 (Que dá valor 0 à todas as variáveis não iniciadas).
Gonçalves- Games Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios :
x 0 x 4 x 0
x 2 x 0 x 0
x 0 x 0 x 0
Re: Como fazer item ir para inventario
com isso meu projeto fico travado e nao movia nada ai tive q finalizar e perdi o codigo a variavel que fez isso?ou o valor da variavel?
adams3do- Data de inscrição : 27/06/2012
Reputação : 2
Número de Mensagens : 24
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como fazer item ir para inventario
Cara, faz 2 items, um para o slot e um pra ser pego, pq controlar 1 só é mais dificiul.
Vc coloca no item do slot pra ele ter x=posx (posição x) e y=posy. ai no create dele vc põe uma var define , e na colisão com o obj_slot e adquirir a posição x e y do slot e define=false. Pronto só isso .
E no seu código quando aperta Z o obj é destruido e tem que criar o obj do slot no proximo slot vazio. Isso vc pode trabalhar com array, na minha engine tem isso pronto.
Vc coloca no item do slot pra ele ter x=posx (posição x) e y=posy. ai no create dele vc põe uma var define , e na colisão com o obj_slot e adquirir a posição x e y do slot e define=false. Pronto só isso .
E no seu código quando aperta Z o obj é destruido e tem que criar o obj do slot no proximo slot vazio. Isso vc pode trabalhar com array, na minha engine tem isso pronto.
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Como fazer item ir para inventario
vi sua engine : https://gmbr.forumeiros.com/t22920-engine-inventario-barra-de-vida-personalizada-pop-up-message
como você fez para aparecer todos inventarios fui procurar no draw so tinha uma sprite a ser desenhada ,e ainda nao compreendi como mandar o item para o inventario suas linhas de programação sao muito complexas.help me plis
como você fez para aparecer todos inventarios fui procurar no draw so tinha uma sprite a ser desenhada ,e ainda nao compreendi como mandar o item para o inventario suas linhas de programação sao muito complexas.help me plis
adams3do- Data de inscrição : 27/06/2012
Reputação : 2
Número de Mensagens : 24
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como fazer item ir para inventario
olha lá .
Perceba que quando vc abre o inventário, no obj_aba_item, Cria-se um loop.
é esse loop que vai definir qual slot vai ser o obj_slot, e vai criar um slot de 36 em 36 pixeis de diferença .
Perceba que quando vc abre o inventário, no obj_aba_item, Cria-se um loop.
é esse loop que vai definir qual slot vai ser o obj_slot, e vai criar um slot de 36 em 36 pixeis de diferença .
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Como fazer item ir para inventario
eu tava olhando o seu e notei que seu nivel de programação e super mega ulta power evoluido mas to pensando em decretar variaveis da seginte forma
create(plyaer)
poção=0
colisão com poção
destoyer blabla
poção +1
isso ainda não testei mas pode vir a funcionar!
no caso teria como fazer o que falei para fazer um inventario e qual seria a diferença dele para o seu me responsa se possivel.(se quizer explico mais detalhadamente).
create(plyaer)
poção=0
colisão com poção
destoyer blabla
poção +1
isso ainda não testei mas pode vir a funcionar!
no caso teria como fazer o que falei para fazer um inventario e qual seria a diferença dele para o seu me responsa se possivel.(se quizer explico mais detalhadamente).
adams3do- Data de inscrição : 27/06/2012
Reputação : 2
Número de Mensagens : 24
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» como fazer item ricochetear
» [Resolvido]como fazer um personagem soltar poderes para cima,para baixo,para a direita e para a esquerda?
» Como fazer um inventario?
» resolvido-como fazer para mudar de fase?e como fazer mensagem de aviso?
» como fazer um inventário simples?
» [Resolvido]como fazer um personagem soltar poderes para cima,para baixo,para a direita e para a esquerda?
» Como fazer um inventario?
» resolvido-como fazer para mudar de fase?e como fazer mensagem de aviso?
» como fazer um inventário simples?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos