Postado Setembro 4, 2021 3 anos .Qual servidor ou website você utiliza como base? Version TFS 1.3 | Client Version: 12.61 Qual o motivo deste tópico? Está surgindo algum erro? Se sim coloque-o aqui. Citar A minha intenção é criar um item que ao usar ele dá varios itens diferentes, como arma, armaduras, poções, sem ser aleatório, ganhar todos de só uma vez. Agradeço muito se alguém puder ajudar ? Você tem o código disponível? Se tiver publique-o aqui: local config = { [6570] = { -- bluePresent {2687, 10}, {6394, 3}, 6280, 6574, 6578, 6575, 6577, 6569, 6576, 6572, 2114, 15439, 16014 }, [6571] = { -- redPresent 6574, 2195, 6394, 6576, 6578, 2114, 15439, 2153, 5944, 2492, 2520, 2156, 5080, 2112, 2498, 2173, 5791 }, [9108] = { -- surpriseBag {2148, 10}, 7487, 2114, 8072, 7735, 8110, 6574, 6394, 7377, 2667, 9693 }, [16094] = { -- surpriseBag {10559, 15},{2670, 15}, 5917, 2385, 11219, 2238, 5928, 5926, 5927, 6095, 5918, 6097, 6098, 5462, 5091 }, [16102] = { -- surpriseBag {6569, 10}, {6541, 10}, {6542, 10}, {6543, 10}, {6544, 10}, {6545, 10}, 6574, 4850, 6570, 6571, 11400 } } local surpriseBag = Action() function surpriseBag.onUse(cid, item, fromPosition, itemEx, toPosition) local present = config[item.itemid] if not present then return false end local count = 1 local gift = present[math.random(1, #present)] if type(gift) == "table" then count = gift[2] gift = gift[1] end Player(cid):addItem(gift, count) Item(item.uid):remove(1) fromPosition:sendMagicEffect(CONST_ME_GIFT_WRAPS) return true end surpriseBag:id(6570, 6571, 9108, 16094, 16102) surpriseBag:register() Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. Editado Setembro 4, 2021 3 anos por zGiovani (veja o histórico de edições)
Postado Setembro 4, 2021 3 anos @zGiovani Boa tarde, tente assim: local config = { [6570] = { -- bluePresent {2687, 10}, {6394, 3}, 6280, 6574, 6578, 6575, 6577, 6569, 6576, 6572, 2114, 15439, 16014 }, [6571] = { -- redPresent 6574, 2195, 6394, 6576, 6578, 2114, 15439, 2153, 5944, 2492, 2520, 2156, 5080, 2112, 2498, 2173, 5791 }, [9108] = { -- surpriseBag {2148, 10}, 7487, 2114, 8072, 7735, 8110, 6574, 6394, 7377, 2667, 9693 }, [16094] = { -- surpriseBag {10559, 15},{2670, 15}, 5917, 2385, 11219, 2238, 5928, 5926, 5927, 6095, 5918, 6097, 6098, 5462, 5091 }, [16102] = { -- surpriseBag {6569, 10}, {6541, 10}, {6542, 10}, {6543, 10}, {6544, 10}, {6545, 10}, 6574, 4850, 6570, 6571, 11400 } } local surpriseBag = Action() function surpriseBag.onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local present = config[item.itemid] if not present then return false end for index = 1, #present do local gift = present[index] local amount = 1 if type(gift) == "table" then addGiftToPlayer(player, gift[1], gift[2], item) else addGiftToPlayer(player, gift, amount, item) end end return true end function addGiftToPlayer(player, gift, amount, usedItem) local count = 1 player:addItem(gift, amount) Item(usedItem.uid):remove(count) fromPosition:sendMagicEffect(CONST_ME_GIFT_WRAPS) end surpriseBag:id(6570, 6571, 9108, 16094, 16102) surpriseBag:register()
Postado Setembro 6, 2021 3 anos Autor Boa tarde amigo, obrigado pela ajuda! O único problema é que está dando apenas 2 itens, com o " Item(usedItem.uid):remove(count) " no final, o item usado é consumido mas recebo apenas 2 itens da lista ai então fiquei um tempão fuçando tentando resolver e substitui o " Item(usedItem.uid):remove(count) " pelo " Item:remove(1) " então recebi todos os itens da lista, mas o item usado não é removido, tornando assim um item infinito ? ainda estou fuçando, mas n consegui fazer receber todos os itens e o item usado ser consumido. 3 minutos atrás, zGiovani disse: @MatteusDeli Editado Setembro 6, 2021 3 anos por zGiovani (veja o histórico de edições)
Postado Setembro 7, 2021 3 anos @zGiovani Tenta assim, aonde ta a linha: Item(usedItem.uid):remove(count) Substitua por essa: usedItem:remove(count) Se nao funcionar, voce substitui por essa: Item(usedItem):remove(count)
Postado Setembro 7, 2021 3 anos Autor Resolvido!!! Muito Obrigado pela ajuda @MatteusDeli o ponto chave está citado a baixo ? Spoiler local surpriseBag = Action() function surpriseBag.onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local present = config[item.itemid] if not present then return false end for index = 1, #present do local gift = present[index] local amount = 1 if type(gift) == "table" then addGiftToPlayer(player, gift[1], gift[2], item ) end end return true end function addGiftToPlayer(player, gift, amount, usedItem) local count = 1 player:addItem(gift, amount) Item:remove(1) usedItem:remove(count) fromPosition:sendMagicEffect(CONST_ME_GIFT_WRAPS) end surpriseBag:id(40811) surpriseBag:register() Editado Setembro 7, 2021 3 anos por zGiovani (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.