Postado Novembro 17, 2023 1 ano Alguem altera esse script para que o item va dentro de uma bp porfavor ! >.< Citar local config = { monsters = {"The Mega Boss Rox"}, rewards = { {itemID = 2160, chanceToGainInPercent = 3, quantity = 100}, {itemID = 2148, chanceToGainInPercent = 3, quantity = 100}, }, effect = 27, } -- Função para selecionar um item com base na porcentagem function selectRandomItem() local totalChance = 0 for _, reward in pairs(config.rewards) do totalChance = totalChance + reward.chanceToGainInPercent end local randomValue = math.random(1, totalChance) local cumulativeChance = 0 for _, reward in pairs(config.rewards) do cumulativeChance = cumulativeChance + reward.chanceToGainInPercent if randomValue <= cumulativeChance then return reward end end end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) then if getCreatureMaster(target) ~= nil then return true end local monsterNameKilled = getCreatureName(target) if isInArray(config.monsters, monsterNameKilled) then local selectedItem = selectRandomItem() doPlayerAddItem(cid, selectedItem.itemID, selectedItem.quantity) doSendMagicEffect(getCreaturePosition(cid), config.effect) doBroadcastMessage("Mataram o boss.", 19) end end return true end function onLogin(cid) registerCreatureEvent(cid, "killTheBoss") return true end
Postado Novembro 17, 2023 1 ano Diretor local config = { monsters = {"The Mega Boss Rox"}, rewards = { {itemID = 2160, chanceToGainInPercent = 3, quantity = 100}, {itemID = 2148, chanceToGainInPercent = 3, quantity = 100}, }, effect = 27, backpackID = 2853, -- ID da mochila, ajuste conforme necessário } -- Função para selecionar um item com base na porcentagem function selectRandomItem() local totalChance = 0 for _, reward in pairs(config.rewards) do totalChance = totalChance + reward.chanceToGainInPercent end local randomValue = math.random(1, totalChance) local cumulativeChance = 0 for _, reward in pairs(config.rewards) do cumulativeChance = cumulativeChance + reward.chanceToGainInPercent if randomValue <= cumulativeChance then return reward end end end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) and getCreatureMaster(target) == nil then local monsterNameKilled = getCreatureName(target) if isInArray(config.monsters, monsterNameKilled) then local selectedItem = selectRandomItem() local backpack = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK) if backpack.uid > 0 then doAddContainerItem(backpack.uid, selectedItem.itemID, selectedItem.quantity) doSendMagicEffect(getCreaturePosition(cid), config.effect) doBroadcastMessage("Mataram o boss.", 19) else print("O jogador não possui uma mochila equipada.") end end end return true end function onLogin(cid) registerCreatureEvent(cid, "killTheBoss") return true end Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
Postado Novembro 17, 2023 1 ano Autor Solução Em 17/11/2023 em 04:22, L3K0T disse: local config = { monsters = {"The Mega Boss Rox"}, rewards = { {itemID = 2160, chanceToGainInPercent = 3, quantity = 100}, {itemID = 2148, chanceToGainInPercent = 3, quantity = 100}, }, effect = 27, backpackID = 2853, -- ID da mochila, ajuste conforme necessário } -- Função para selecionar um item com base na porcentagem function selectRandomItem() local totalChance = 0 for _, reward in pairs(config.rewards) do totalChance = totalChance + reward.chanceToGainInPercent end local randomValue = math.random(1, totalChance) local cumulativeChance = 0 for _, reward in pairs(config.rewards) do cumulativeChance = cumulativeChance + reward.chanceToGainInPercent if randomValue <= cumulativeChance then return reward end end end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) and getCreatureMaster(target) == nil then local monsterNameKilled = getCreatureName(target) if isInArray(config.monsters, monsterNameKilled) then local selectedItem = selectRandomItem() local backpack = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK) if backpack.uid > 0 then doAddContainerItem(backpack.uid, selectedItem.itemID, selectedItem.quantity) doSendMagicEffect(getCreaturePosition(cid), config.effect) doBroadcastMessage("Mataram o boss.", 19) else print("O jogador não possui uma mochila equipada.") end end end return true end function onLogin(cid) registerCreatureEvent(cid, "killTheBoss") return true end Resolvido! Editado Novembro 18, 2023 1 ano por Doidodepeda (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.