Suporte george192 388 Postado 6 de Abril Suporte Compartilhar Postado 6 de Abril Boa tarde galera, Antes de mais nada, este código é exclusivamente do tibiaDevs, não será permitido a cópia dele e nem postagem em outros fóruns, valeu 😄 Seguinte, fiz um código de bigorna que funciona da seguinte forma: Ele verifica de qual clã o player é, por exemplo, Naturia ou Volcanic, e de acordo com o clã ele adiciona itens. screen-capture-_17_.mp4 Como alterar o código: local itemsPedraClan são os ID's das stones, elas são usadas para o craft. local quantidadeStone é a quantidade de stone que será retirado do player a cada vez que ele clicar na bigorna local itemsPremio São os ids dos items que o player pode ganhar, isso aqui você pode adicionar para cada clã local keys são os ID's das keys de DG, caso no teu game tenha Aqui você pode alterar a quantidade dos itens que o player vai ganhar e a % de chance que o player tem de ganhar o item randomItems = { {itemId = keys.naturia, quantity = 3, chance = 11}, {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } Bom, parte de configuração é isso ai. Em actions.xml você precisa adicionar isso aqui: <action actionid="54367" event="script" value="bigorna.lua"/> No remeres, basta adicionar uma bigorna e adicionar este actionid nela em actions/scripts você precisa criar um script chamado bigorna.lua e adicionar o código abaixo. Segue o código pra vocês: --- Código desenvolvido pelo george192 do site tibiadevs local itemsPedraClan = { Naturia = 11441, Volcanic = 11447, Seavell = 11442, Raibolt = 11444, Orebound = 11445, Psycraft = 11452, Malefic = 11450, Wingeon = 19694, Gardestrike = 11446 } local quantidadeStone = 10 local itemsPremio = { boostStone = 12618, rareCandy = 6569, shinyCharm = 23468, essenceShiny = 23418, diamond = 2145 } local keys = { naturia = 25295, volcanic = 25290, seavell = 25291, raibolt = 25292, orebound = 25297, psycraft = 25298, malefic = 25296, wingeon = 25294, gardestrike = 25293 } function getRandomItem(playerClan) local randomItems = {} -- Defina as listas de itens para cada clã com chance de aparecimento if playerClan == "Naturia" then randomItems = { {itemId = keys.naturia, quantity = 3, chance = 11}, {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Volcanic" then randomItems = { {itemId = keys.volcanic, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Seavell" then randomItems = { {itemId = keys.seavell, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Orebound" then randomItems = { {itemId = keys.orebound, quantity = 3, chance = 31}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Wingeon" then randomItems = { {itemId = keys.wingeon, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Malefic" then randomItems = { {itemId = keys.malefic, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Gardestrike" then randomItems = { {itemId = keys.gardestrike, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Psycraft" then randomItems = { {itemId = keys.psycraft, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Raibolt" then randomItems = { {itemId = keys.raibolt, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } end -- Calcula a chance total local totalChance = 0 for _, itemInfo in ipairs(randomItems) do totalChance = totalChance + itemInfo.chance end -- Seleciona um número aleatório dentro da chance total local randomChance = math.random(1, totalChance) -- Seleciona o item baseado na chance local accumulatedChance = 0 for _, itemInfo in ipairs(randomItems) do accumulatedChance = accumulatedChance + itemInfo.chance if randomChance <= accumulatedChance then return itemInfo end end -- Se nenhum item for selecionado, retorna nil return nil end function onUse(cid, item, frompos, item2, topos) local playerClan = getPlayerClanName(cid) local quantidadeStone = 10 if playerClan then local stoneID = itemsPedraClan[playerClan] if getPlayerItemCount(cid, stoneID) >= quantidadeStone then doPlayerRemoveItem(cid, stoneID, quantidadeStone) local randomItem = getRandomItem(playerClan) if randomItem then doPlayerAddItem(cid, randomItem.itemId, randomItem.quantity) -- Exibe uma mensagem para o jogador doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce ganhou: " .. getItemNameById(randomItem.itemId) .. " (Quantidade: " .. randomItem.quantity .. ")") return true else doPlayerSendCancel(cid, "Não foi possível selecionar um item para craft. Por favor, verifique as configurações.") end else doPlayerSendCancel(cid, "Voce nao tem pedras suficientes para fazer o craft. 10 stones do seu cla, por exemplo leaf stone = NATURIA") end else doPlayerSendCancel(cid, "Você não faz parte de um clã.") end end 1 1 Link para o comentário https://tibiadevs.com/forums/topic/369-036-craft-system-de-cl%C3%A3/ Compartilhar em outros sites Mais opções de compartilhamento...
Administrador TELASKO 2.953 Postado 6 de Abril Administrador Compartilhar Postado 6 de Abril 1 minuto atrás, george192 disse: Boa tarde galera, Antes de mais nada, este código é exclusivamente do tibiaDevs, não será permitido a cópia dele e nem postagem em outros fóruns, valeu 😄 Seguinte, fiz um código de bigorna que funciona da seguinte forma: Ele verifica de qual clã o player é, por exemplo, Naturia ou Volcanic, e de acordo com o clã ele adiciona itens. Como alterar o código: local itemsPedraClan são os ID's das stones, elas são usadas para o craft. local quantidadeStone é a quantidade de stone que será retirado do player a cada vez que ele clicar na bigorna local itemsPremio São os ids dos items que o player pode ganhar, isso aqui você pode adicionar para cada clã local keys são os ID's das keys de DG, caso no teu game tenha Aqui você pode alterar a quantidade dos itens que o player vai ganhar e a % de chance que o player tem de ganhar o item randomItems = { {itemId = keys.naturia, quantity = 3, chance = 11}, {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } Bom, parte de configuração é isso ai. Em actions.xml você precisa adicionar isso aqui: <action actionid="54367" event="script" value="bigorna.lua"/> No remeres, basta adicionar uma bigorna e adicionar este actionid nela em actions/scripts você precisa criar um script chamado bigorna.lua e adicionar o código abaixo. Segue o código pra vocês: --- Código desenvolvido pelo george192 do site tibiadevs local itemsPedraClan = { Naturia = 11441, Volcanic = 11447, Seavell = 11442, Raibolt = 11444, Orebound = 11445, Psycraft = 11452, Malefic = 11450, Wingeon = 19694, Gardestrike = 11446 } local quantidadeStone = 10 local itemsPremio = { boostStone = 12618, rareCandy = 6569, shinyCharm = 23468, essenceShiny = 23418, diamond = 2145 } local keys = { naturia = 25295, volcanic = 25290, seavell = 25291, raibolt = 25292, orebound = 25297, psycraft = 25298, malefic = 25296, wingeon = 25294, gardestrike = 25293 } function getRandomItem(playerClan) local randomItems = {} -- Defina as listas de itens para cada clã com chance de aparecimento if playerClan == "Naturia" then randomItems = { {itemId = keys.naturia, quantity = 3, chance = 11}, {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Volcanic" then randomItems = { {itemId = keys.volcanic, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Seavell" then randomItems = { {itemId = keys.seavell, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Orebound" then randomItems = { {itemId = keys.orebound, quantity = 3, chance = 31}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Wingeon" then randomItems = { {itemId = keys.wingeon, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Malefic" then randomItems = { {itemId = keys.malefic, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Gardestrike" then randomItems = { {itemId = keys.gardestrike, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Psycraft" then randomItems = { {itemId = keys.psycraft, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } elseif playerClan == "Raibolt" then randomItems = { {itemId = keys.raibolt, quantity = 3, chance = 11}, -- {itemId = itemsPremio.essenceShiny, quantity = 3, chance = 20}, {itemId = itemsPremio.rareCandy, quantity = 5, chance = 30}, {itemId = itemsPremio.boostStone, quantity = 3, chance = 35}, {itemId = itemsPremio.shinyCharm, quantity = 1, chance = 3}, {itemId = itemsPremio.diamond, quantity = 1, chance = 1} } end -- Calcula a chance total local totalChance = 0 for _, itemInfo in ipairs(randomItems) do totalChance = totalChance + itemInfo.chance end -- Seleciona um número aleatório dentro da chance total local randomChance = math.random(1, totalChance) -- Seleciona o item baseado na chance local accumulatedChance = 0 for _, itemInfo in ipairs(randomItems) do accumulatedChance = accumulatedChance + itemInfo.chance if randomChance <= accumulatedChance then return itemInfo end end -- Se nenhum item for selecionado, retorna nil return nil end function onUse(cid, item, frompos, item2, topos) local playerClan = getPlayerClanName(cid) local quantidadeStone = 10 if playerClan then local stoneID = itemsPedraClan[playerClan] if getPlayerItemCount(cid, stoneID) >= quantidadeStone then doPlayerRemoveItem(cid, stoneID, quantidadeStone) local randomItem = getRandomItem(playerClan) if randomItem then doPlayerAddItem(cid, randomItem.itemId, randomItem.quantity) -- Exibe uma mensagem para o jogador doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce ganhou: " .. getItemNameById(randomItem.itemId) .. " (Quantidade: " .. randomItem.quantity .. ")") return true else doPlayerSendCancel(cid, "Não foi possível selecionar um item para craft. Por favor, verifique as configurações.") end else doPlayerSendCancel(cid, "Voce nao tem pedras suficientes para fazer o craft. 10 stones do seu cla, por exemplo leaf stone = NATURIA") end else doPlayerSendCancel(cid, "Você não faz parte de um clã.") end end Amei, obrigado pela contribuição seria massa uns printszin ou vídeo dele funcionando. 1 Link para o comentário https://tibiadevs.com/forums/topic/369-036-craft-system-de-cl%C3%A3/#findComment-1935 Compartilhar em outros sites Mais opções de compartilhamento...
Suporte george192 388 Postado 6 de Abril Autor Suporte Compartilhar Postado 6 de Abril Agora, TELASKO disse: Amei, obrigado pela contribuição seria massa uns printszin ou vídeo dele funcionando. Adicionado 1 Link para o comentário https://tibiadevs.com/forums/topic/369-036-craft-system-de-cl%C3%A3/#findComment-1936 Compartilhar em outros sites Mais opções de compartilhamento...
PokeXTibia 70 Postado 10 de Abril Compartilhar Postado 10 de Abril Em 06/04/2024 em 13:38, george192 disse: Adicionado Poderia fazer outro desse para mim sem ser de clan, livre para todoas tlgd Link para o comentário https://tibiadevs.com/forums/topic/369-036-craft-system-de-cl%C3%A3/#findComment-1964 Compartilhar em outros sites Mais opções de compartilhamento...
Suporte george192 388 Postado 10 de Abril Autor Suporte Compartilhar Postado 10 de Abril 10 horas atrás, PokeXTibia disse: Poderia fazer outro desse para mim sem ser de clan, livre para todoas tlgd É só vc retirar a validação do clã ali e pimba, sistema funcional 🙂 Link para o comentário https://tibiadevs.com/forums/topic/369-036-craft-system-de-cl%C3%A3/#findComment-1975 Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora