Boa Tarde,
Tenho um código que me dá 100% de chance de reward se for 1 só jogador no boss, o que eu queria fazer é o seguinte:
Quem ataca o boss entra na lista de participantes que vai ganhar o estorage
Quanto mais participantes a change de ganhar o storage fosse maior
exemplo: 1 só matou o boss ele teria 60% de chance de pegar estorage
2 mataram o boss, cada um deles teria 70% de chance de pegar estorage
3 mataram o boss, cada um deles teria 80% de chance de pegar estorage
4 mataram o boss, cada um deles teria 90% de chance de pegar estorage
5 mataram o boss, cada um deles teria 100% de chance de pegar estorage
mas não poderia ser 1 sorteio para todos participantes, e sim teria que ser individual.
Segue o código e eu utilizo hj
local bosses = {
['behemoth'] = {storage = 77076},
}
function onKill(creature, target)
local targetMonster = target:getMonster()
if not targetMonster then
return true
end
local bossConfig = bosses[targetMonster:getName():lower()]
if not bossConfig then
return true
end
local participantes = {}
for pid, _ in pairs(targetMonster:getDamageMap()) do
local attackerPlayer = Player(pid)
if attackerPlayer then
table.insert(participantes, attackerPlayer)
end
end
math.randomseed(os.time())
for i = 1, #participantes do
local playerSorteado = participantes[math.random(i)]
if playerSorteado and playerSorteado:getStorageValue(bossConfig.storage) ~= 1 then
playerSorteado:setStorageValue(bossConfig.storage, 1)
playerSorteado:getPosition():sendMagicEffect(56)
playerSorteado:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You were chosen to take the boss's treasure in Adventurers Guild.")
end
end
return true
end
fico no aguardo, obrigado a todos,