Testa e veja se funciona assim:
function dropEffect(pos, eff, n) if n > 0 then pos.x, pos.y = pos.x +1, pos.y +1 doSendMagicEffect(pos, eff) addEvent(dropEffect, 1000, pos, eff, n-1) end end if count > 0 then if isStone(item.id) then dropEffect(pos, stoneDropEff, 1) return true end if isInArray(specialDropList, item.id) then dropEffect(pos, specialDropEff, 1) elseif isInArray(specialDropList2, item.id) then dropEffect(pos, specialDrop2Eff, 1) elseif isOrb(item.id) then dropEffect(pos, orbDropEff, 1) end


info
Grupo: Marquês
Registrado: 02/07/07
Posts: 1.1k
Reputação: +287
Gênero: Masculino
Bom dia pessoal.
Estou com um problema em um sistema de efeito ao dropar itens.
Tenho um sistema que aparece o efeito de setas ao dropar itens, raros, stones etc, sao 3 tipos de setas, quando dropa um item aparece o efeito em cima do corpo certinho, mas no caso se dropa mais de um item que tenha o mesmo efeito, ou outro item com efeito diferente os efeitos se deslocam para x e y +1 como esta no sistema.
Queria se por exemplo dropasse 1 stone e um raro, são duas setas diferentes, dai so apareceria o efeito da stone e cancelasse o outro efeito.
Segue o sistema. Se alguém pude me ajudar eu agradeço.
function dropEffect(pos, eff, n) if n > 0 then pos.x, pos.y = pos.x +1, pos.y +1 doSendMagicEffect(pos, eff) addEvent(dropEffect, 1000, pos, eff, n-1) end end if count > 0 then if isInArray(specialDropList, item.id) then dropEffect(pos, specialDropEff, 1) elseif isInArray(specialDropList2, item.id) then dropEffect(pos, specialDrop2Eff, 1) elseif isStone(item.id) then dropEffect(pos, stoneDropEff, 1) elseif isOrb(item.id) then dropEffect(pos, orbDropEff, 1) end