Conectar-se
Quem está conectado
23 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 23 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : D+A+B
Data de inscrição : 16/01/2012
Número de Mensagens : 787
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://need90games.blogspot.com.br

item_id interfere no draw

em Dom 16 Set 2012, 11:19
Bom, estou criando um rpg e nele tem um inventário simples que eu mesmo estou criando, no caso o obj_slot existe os seguintes códigos :
create
Código:
item_quant=0
item_id=0
draw
Código:
draw_sprite(sprite_index,0,x,y)
if item_id=4 && item_quant>0{draw_sprite(spr_joias,0,obj_slot.x,obj_slot.y)
draw_set_font(fnt_small)
draw_text_outline(obj_slot.x+18,obj_slot.y+18,item_quant,c_black,1,c_white,1);}

if item_id=5 && item_quant>0{draw_sprite(spr_joias,4,obj_slot.x,obj_slot.y)
draw_set_font(fnt_small)
draw_text_outline(obj_slot.x+18,obj_slot.y+18,item_quant,c_black,1,c_white,1);}
e na colisão do player com algum item que foi dropado :
Código:
instance_destroy()
obj_slot.item_id=4 {obj_slot.item_quant+=1}

Mas tem um problema, se eu pego 2 items diferentes, o jogo soma a quantidade dos 2, e o draw fica no mesmo lugar.

Imagens do problema :
Spoiler:

Peguei 1º item (no caso a quantia é 3)


Peguei o segundo item (a quantia deveria ser 3, mas vai pra 6 e interfere no draw no outro item)


Se alguém precisar de mais informações eu passo um exe no tópico.


Última edição por Need 90 em Dom 16 Set 2012, 12:03, editado 1 vez(es)
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Re: item_id interfere no draw

em Dom 16 Set 2012, 11:44
Tente usar arrays, por exemplo:
Código:

numero_de_itens= //quantidade de itens diferentes
while i<numero_de_itens {item[i]=0 i+=1}
if i>=numero_de_itens {room_goto_next()}
essa é uma solução para declarar variaveis no inicio do jogo para ser usada depois, nesse caso não daria erro por que você poderia colocar na colisão com o item ou qualquer outra coisa assim por exemplo:
Código:
item[3]+=1
aí no draw_usaria o mesmo código.
Se não entendeu alguma parte é só falar.

Flw's!
avatar
Ranking : Nota B
Notas recebidas : D+A+B
Data de inscrição : 16/01/2012
Número de Mensagens : 787
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://need90games.blogspot.com.br

Re: item_id interfere no draw

em Dom 16 Set 2012, 12:06
Por exemplo, eu tenho 14 items, é só fazer por arrays o id e quantidade?

mas e o draw? pois 1 vai fazer draw em cima do outro, teria a possibilidade de checar se existe um item no 1º slot, se sim aquele item for pro segundo?

___________________________________________________

ERROR in
action number 1
of Draw Event
for object obj_slot:

Error in code at line 6:
if item_id[1]=1 && item_quant[1]>=1{draw_sprite(spr_joias,4,obj_slot.x,obj_slot.y)
^
at position 5: Unknown variable item_id or array index out of bounds





@Edit :
Consegui, mas as posições de draw terão que ser pré definidas =P
A variável item_id é inútil, pois se ponha uma array na item_quant automaticamente serve como id

Resolvido, pode fechar.
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Re: item_id interfere no draw

em Dom 16 Set 2012, 12:17
tem sim, por exemplo:
Código:
if item_id[1]>0 {//slot 2 por que o 1 ta sendo usado
if item_id[2]>0 {//slot 3
[...]
e só lemrando, você tem que colocar o codigo no evento draw do objeto que esteja controlando, antes dos comandos, por exemplo, você pode colocar no create desse objeto i=0 e depois no draw aquele code que te passei.

Flw's!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum