Postado Maio 29, 2014 11 anos Autor entendi.. amigo então tenho uma proposta pra ti... não pensei em nenhuma maneira de fazer isso, só pensei se a soma total de % de vir todos os itens são 100%, ou tem 10 itens e a chance de vir cada um é 10%, exemplo 1 5 itens... primeiro item 5% segundo item 6% terceiro item 10% quarto item 14% quinto item 15% 50% de chancer de vir nada... exemplo 2 se forem 10 itens cada um tem 10% de chance.... se forem 5 itens cada um tem 20% de chances... se forem 11 itens cada um tem 9% de chances.... então a procetangem de3 cada um é = 100%/total de itens. é tipo esse exemplo 2 quue s eeu tiver 10 itens cada um tem su porcentagem e a porcentagem maior sera a mais que vai ser ganhada e a porcentagem menor sera a mais difícil de ganhar entendeu ?
Postado Maio 29, 2014 11 anos Mas então... Assim volta ao conceito do primeiro exemplo, não dando pra fazer... Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
Postado Maio 29, 2014 11 anos local config = { [90] = {ID, COUNT}, [80] = {ID, COUNT}, [59] = {ID, COUNT}, [50] = {ID, COUNT}, [40] = {ID, COUNT}, [30] = {ID, COUNT}, [20] = {ID, COUNT}, [10] = {ID, COUNT}, [3] = {ID, COUNT}, [1] = {ID, COUNT}, } function onUse(cid) if getPlayerStorageValue(cid, STORAGE) > 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já recebeu seu prêmio.") return false end local chance_growing = {} for chance, _ in pairs(config) do table.insert(chance_growing, chance) end table.sort(chance_growing, function(a, b) return a > b end) local chance = 0 for _, v in pairs(chance_growing) do if math.random(100) < v then chance = v break end end local item = config[chance] if item then doPlayerAddItem(cid, item[1], item[2]) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você encontrou ".. item[2] .." ".. item[1] .. ".") setPlayerStorageValue(cid, STORAGE, 1) doSendMagicEffect(getThingPos(cid), 13) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Não foi dessa vez, tente na próxima ):") end return true end -"Supra Omnes Lux Lucis" - Acima de todos brilha a Luz -
Postado Maio 29, 2014 11 anos local config = { [90] = {ID, COUNT}, [80] = {ID, COUNT}, [59] = {ID, COUNT}, [50] = {ID, COUNT}, [40] = {ID, COUNT}, [30] = {ID, COUNT}, [20] = {ID, COUNT}, [10] = {ID, COUNT}, [3] = {ID, COUNT}, [1] = {ID, COUNT}, } function onUse(cid) if getPlayerStorageValue(cid, STORAGE) > 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já recebeu seu prêmio.") return false end local chance_growing = {} for chance, _ in pairs(config) do table.insert(chance_growing, chance) end table.sort(chance_growing, function(a, b) return a > b end) local chance = 0 for _, v in pairs(chance_growing) do if math.random(100) < v then chance = v break end end local item = config[chance] if item then doPlayerAddItem(cid, item[1], item[2]) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você encontrou ".. item[2] .." ".. item[1] .. ".") setPlayerStorageValue(cid, STORAGE, 1) doSendMagicEffect(getThingPos(cid), 13) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Não foi dessa vez, tente na próxima ):") end return true end ISSO MAX, MOSTRA A ELES. Testado e funcionando. 愛"A alma permanece em suas criações" 平(Não dou suporte por mensagem privada.)
Postado Maio 29, 2014 11 anos Esse é o cara ... No caso esta para usar só 1 vez... Caso queira usar mais que uma vez só remova essa parte if getPlayerStorageValue(cid, STORAGE) > 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já recebeu seu prêmio.") return false end Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
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.