Ir para conteúdo

Contagem Randomizada De Item


gonorreiaswat

Posts Recomendados

Boa tarde galera, estou voltando (novamente) para a Área de OTServers'...

E eu gostaria de uma ajuda com um Script que funcionasse da seguinte forma:

 

É bem semelhante o da "Obsidian Knife" porém, além do item (geralmente leather do monstro) ele desse dinheiro também, e essa quantia fosse randomizada.

 

 

Segue abaixo o Script da Obsidian Knife.

 

 

local SKINS = {

-- Minotaurs

[2830] = {25000, 5878},

[2871] = {25000, 5878},

[2866] = {25000, 5878},

[2876] = {25000, 5878},

[3090] = {25000, 5878},

 

-- Lizards

[4259] = {25000, 5876},

[4262] = {25000, 5876},

[4256] = {25000, 5876},

 

-- Dragons

[3104] = {25000, 5877},

[2844] = {25000, 5877},

 

-- Dragon Lords

[2881] = {25000, 5948},

 

-- Behemoths

[2931] = {25000, 5930, 90000, 5893},

 

-- Bone Beasts

[3031] = {25000, 5925}

}

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

if(getPlayerLevel(cid) <= 1) then

doPlayerSendCancel(cid, "Precisa ser level 2 ou maior para usar esta ferramenta.")

return TRUE

end

 

local skin = SKINS[itemEx.itemid]

if(skin == nil) then

doPlayerSendCancel(cid, "Desculpe, isso eh impossivel.")

return TRUE

end

 

local random = math.random(1, 100000)

if(random <= skin[1]) then

doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)

doPlayerAddItem(cid, skin[2], 1)

if math.random(1, 3) == 1 then

doPlayerAddItem(cid, 2148, 16)

end

return TRUE

elseif(skin[3] and random >= skin[3]) then

doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)

doPlayerAddItem(cid, skin[4], 1)

if math.random(1, 1) == 1 then

doPlayerAddItem(cid, 2148, 21)

end

return TRUE

else

 

doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)

end

 

doTransformItem(itemEx.uid, itemEx.itemid + 1)

return TRUE

end

 

 

Pode perceber que eu fiz o "math.random", porém, só cai a mesma quantidade de dinheiro quando cai.

 

Eu queria um "count.random" não sei se é assim que ficaria o nome...mas que randomizasse a quantia que iria cair e não as chances de cair a mesma quantidade sempre quando cai.

 

 

Fico no aguardo de alguma ajuda.

 

Abraços smile_positivo.gif

Link para o comentário
Compartilhar em outros sites

entendi o seguinte: além do couro, dar uma quantia randomizada de gps? se for isso, então fica assim(coloquei de 1 à 26):

local SKINS = {
-- Minotaurs
[2830] = {25000, 5878},
[2871] = {25000, 5878},
[2866] = {25000, 5878},
[2876] = {25000, 5878},
[3090] = {25000, 5878},
-- Lizards
[4259] = {25000, 5876},
[4262] = {25000, 5876},
[4256] = {25000, 5876},
-- Dragons
[3104] = {25000, 5877},
[2844] = {25000, 5877},
-- Dragon Lords
[2881] = {25000, 5948},
-- Behemoths
[2931] = {25000, 5930, 90000, 5893},
-- Bone Beasts
[3031] = {25000, 5925}
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(getPlayerLevel(cid) <= 1) then
doPlayerSendCancel(cid, "Precisa ser level 2 ou maior para usar esta ferramenta.")
return TRUE
end
local skin = SKINS[itemEx.itemid]
if(skin == nil) then
doPlayerSendCancel(cid, "Desculpe, isso eh impossivel.")
return TRUE
end
local random = math.random(1, 100000)
if(random <= skin[1]) then
doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
doPlayerAddItem(cid, skin[2], 1)
if math.random(1, 3) == 1 then
doPlayerAddItem(cid, 2148, 16)
end
return TRUE
elseif(skin[3] and random >= skin[3]) then
doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
doPlayerAddItem(cid, skin[4], 1)
doPlayerAddItem(cid, 2148, math.random(1,26))
return TRUE
else
doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)
end
doTransformItem(itemEx.uid, itemEx.itemid + 1)
return TRUE
end

não testado

Editado por JeDiAN
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...