Ir para conteúdo

Featured Replies

  • 6 months later...
  • Respostas 8
  • Visualizações 843
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Posted Images

Postado
Em 04/12/2017 em 21:44, Dwarfer disse:

Fiz um mod aqui rapidinho, testa aí:
 

  Ocultar conteúdo


<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Prize Time" version="1.0" author="Dwarfer" contact="tibiaking.com" enabled="yes">
<config name="Prize_func"><![CDATA[

PRIZE_TIME = {
    prizes = {{id = 2148, count = 2}, {id = 2160, count = 6}}, -- ids e quantidades dos prêmios adicionados
    days = {}, -- dias que os prêmios serão adicionados {"Monday", "Tuesday", "Friday"}, caso deixe vazio serão todos os dias
    onHour = "18:00", -- hora que serão adicionados os prêmios
    limitHour = "24:00", -- tempo limite para entrar e ganhar os prêmios
    stors = {98798, 98799} -- só modifique se necessário
}

function doPlayerAddPrizes(cid)
    for i = 1, #PRIZE_TIME.prizes do
        local item, count = PRIZE_TIME.prizes[i].id, PRIZE_TIME.prizes[i].count
        if count > 1 and (not isItemStackable(item)) then
            for k = 1, count do
                doPlayerAddItem(cid, item, 1)
            end
        else
            doPlayerAddItem(cid, item, count)
        end
    end
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You received the prizes!")
    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREWORK_YELLOW)
    setPlayerStorageValue(cid, PRIZE_TIME.stors[1], getSafeDelay() + os.time())
end

function doPlayersOnlineAddPrizes()
    for _, pid in ipairs(getPlayersOnline()) do
        doPlayerAddPrizes(pid) 
    end
return true
end

function checkPrizeTime()
    if os.date("%X", os.time()):sub(1,5) == PRIZE_TIME.onHour then
        setGlobalStorageValue(PRIZE_TIME.stors[2], 1)
        doPlayersOnlineAddPrizes()
    elseif os.date("%X", os.time()):sub(1,5) == PRIZE_TIME.limitHour then
        setGlobalStorageValue(PRIZE_TIME.stors[2], -1)
    end 
return true
end

function getSafeDelay()
local x, p = os.date("*t"), PRIZE_TIME 
local onHour = os.time{year = x.year, day = x.day, month = x.month, hour = p.onHour:sub(1,2), min = p.onHour:sub(4,5)}
local limitHour = os.time{year = x.year, day = x.day, month = x.month, hour = p.limitHour:sub(1,2), min = p.limitHour:sub(4,5)}
return math.ceil(os.difftime(limitHour, onHour))
end
]]></config>
<globalevent name="PrizeTime" interval="60000" event="script"><![CDATA[
domodlib('Prize_func')
function onThink(interval, lastExecution)
    if #PRIZE_TIME.days > 0 then
        if isInArray(PRIZE_TIME.days, os.date('%A')) then
            checkPrizeTime()
        end
    else
        checkPrizeTime()
    end
    return true
end]]></globalevent>
<event type="login" name="GetDelayedPrize" event="script"><![CDATA[
domodlib('Prize_func')
function onLogin(cid)
    if getPlayerStorageValue(cid, PRIZE_TIME.stors[1]) <= os.time() then
        if getGlobalStorageValue(PRIZE_TIME.stors[2]) == 1 then
            doPlayerAddPrizes(cid)
        else
            setPlayerStorageValue(cid, PRIZE_TIME.stors[1], -1)
        end
    end
return true
end]]></event>
</mod>

 

 

desculpa esta revivendo o Tópico mais precisava de algo parecido porem um Bau que quando clicka nele vc ganha Christmas Token valor configurável ... é que sejá possível pegar apenas a cada 24 hrs ... configurável se não for pedir muito ....

  • 2 weeks later...

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo