AL
dúvida

Quest feita a cada uma Hora (Urgente)

Por allex9213, 26 de mar. de 2014 em Scripts

script
6
1.4k
allex9213A
26 de março de 2014 às 18:15

Oi Pessoal, bom, estou a dias procurando aqui no fórum um script, mas não estou achando :S

 

Ele Funciona assim: é um bau simples que o player tem que ter "x" level para usar e após dar use, você recebera algum item aleatório

entre 6 items, por exemplo e após 60 minutos o player poderá voltar e abrir o bau para pegar sua recompensa denovo, é comos e fosse um bonus.

 

Alguém pode montar pra mim? Dou Rep+ :)

Grato.

 

 

26 de março de 2014 às 18:27


local items = { --[[id = id do item, count = quantidade, chance = chance ]]--

[1] = {id = 7735, count = 1, chance = 2},

[2] = {id = 7735, count = 1, chance = 5},

[3] = {id = 7735, count = 1, chance = 10},

[4] = {id = 7735, count = 1, chance = 100}

}

 

 

local storage = 123 -- storage

local time = 60 -- tempo em minutos.

 

 

function onUse(cid, item, fromPos, itemEx, toPos)

 

 

if getPlayerStorageValue(cid, storage) - os.time() <= 0 then

for i = 1, #items do

 

 

if (items.chance > math.random(1, 100)) then

doPlayerAddItem(cid, items.id, items.count)

doPlayerSendCancel(cid, "Você Ganho! O Item "..getItemNameById(items.id).."!")

 

else

doPlayerSendCancel(cid, "Você não ganhou nada, volte em 1 hora.")

end

setPlayerStorageValue(cid, storage, os.time()+time*1*60)

end

else

doPlayerSendCancel(cid, "Você só pode pegar sua recompensa a cada 1 hora.")

end

 

 

return true

end

allex9213A
27 de março de 2014 às 18:42

Testei aqui mas não está pegando o item aleatório e não esta pedindo level :s

zipter98Z
27 de março de 2014 às 19:27
Melhor resposta

 

local items = {{ID, quantidade}, {ID, quantidade}, {ID, quantidade}, {ID, quantidade}, {ID, quantidade}, {ID, quantidade}}
local min_level = x    --Level mínimo para pegar os items do baú.
local time = 60     --Em minutos. 
local storage = 91838
function onUse(cid, item, frompos, item2, topos)
    if getPlayerLevel(cid) >= min_level then
        if getPlayerStorageValue(cid, storage) < os.time() then
            local it = items[math.random(#items)]
            doPlayerAddItem(cid, it[1], it[2])
            doPlayerSendTextMessage(cid, 27, "Você recebeu "..it[2].." "..getItemNameById(it[1])..". Você poderá pegar sua próxima recompensa em "..time.." minutos.")
            setPlayerStorageValue(cid, storage, os.time() + time * 60)
        else
            return doPlayerSendCancel(cid, "Você pegou sua recompensa recentemente.")
        end
    else
        return doPlayerSendCancel(cid, "Você não possui o nível adequado para pegar a recompensa ["..min_lv.."].")
    end
    return true
end
allex9213A
29 de março de 2014 às 11:39

Obrigado aos dois, ja dei os +REP de vocês, me ajudaram muito!

 

podem fechar!

29 de março de 2014 às 11:40

Tópico movido para Pedidos e dúvidas resolvidos.