Ir para conteúdo
  • Cadastre-se

[PEDIDO] Incrementar sistema


Posts Recomendados

Criei um sistema para que players vasculhem gavetas, guarda-roupas, baús e etc.
Com esse sistema, há chances de encontrar diversos itens em diferentes quantidades e também a possibilidade de não encontrar nada.

 

 

 

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
time = 1
local rand = math.random(1, 1200)

    if rand <= 350 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..")  -- cents
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 ,cid, 2148, math.random(1, 100))
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 380 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..") -- dollar
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 ,cid, 2152, math.random(1, 5))
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 382 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..")  --  spray
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 , cid, 2269, 1)
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 385 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..")  -- nurse kit
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 , cid, 2273, math.random(1, 3))
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 400 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..") -- relogio
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 ,cid, 2036, 1)
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 402 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..")  -- caixa de joias
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 , cid, 8261, 1)
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 420 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..") --anel
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 , cid, 2357, 1)
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 425 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..")
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 , cid, 2322, 1)
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 430 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..")
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
        addEvent(doPlayerAddItem, time*3700 , cid, 6579, 1)
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand <= 440 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
        addEvent(doPlayerAddItem, time*3700 , cid, 2032, 1)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Encontrou algo..")
		addEvent(doSendMagicEffect, time*3700, fromPosition, 16)
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    elseif rand >= 440 then
		doCreatureSetNoMove(cid, true)
		addEvent(doCreatureSetNoMove, 3700, cid, false)
		addEvent(doSendMagicEffect, time*3700, fromPosition, 2)
		addEvent(doPlayerSendTextMessage, time*3700, cid, MESSAGE_EVENT_ADVANCE, "Está vazio.")
		addEvent(doPlayerSendTextMessage, time*1, cid, MESSAGE_EVENT_ADVANCE, "Vasculhando..")
    end
		return true
end

 

 

 

 

 

 

O sistema está funcional e sem bugs, porém quero fazer o seguinte:

O player vasculhou a gaveta, então depois disso por um tempo aleatório configurável não será possível que ninguém vasculhe a gaveta, e depois desse tempo volta ao normal seguindo o ciclo do sistema.
Basicamente preciso de um exaust no item ao invés do player e não sei como fazer isso, então se alguém puder me ajudar agradeço e reputo!
ps: fiz do jeito que sei, se alguém quiser otimizar o código com uma tabela ou padronização, agradeço também.

 

Grato desde já!

 

Editado por biel.stocco (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
setPlayerStorageValue(cid, 22334, os.time() + 1000 * 60 * 60 * 10) -- 10 horas

 

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

 

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo