RevScript Doble EXP Dia / Weekend

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
Hola,

Aqui les dejo un script que he creado para dar doble EXP el dia X que deseáis, los dias se integran por escrito en inglés.
Se puede modificar la linea os.time() + 120, el 120 significa en segundos, por el cual 86400, corresponde a 1 dia.

Busca function Player:onGainExperience ; y debajo le agregas:

Código Lua:
if self:getStorageValue(115608) >= os.time() then
    exp = exp * 2.00
    end

Crea un script en data/scripts/ e integra lo siguiente:

Código Lua:
local dobleEXPSabado = GlobalEvent("dobleEXPSabado")
function dobleEXPSabado.onThink()
    if os.date("%A") ~= "Saturday" then
        return true
    end
   
    local players = Game.getPlayers()
    for _, player in ipairs(players) do
        if player:isPlayer() then
            local storageValue = player:getStorageValue(115608)
            local receivedValue = player:getStorageValue(115609)
            if storageValue == -1 and receivedValue == 0 then
                player:setStorageValue(115608, os.time() + 120)
                player:setStorageValue(115609, 1)
                player:sendTextMessage(MESSAGE_INFO_DESCR, "You have received double EXP for 2 minutes!")
            end
        end
    end
   
    return true
end
dobleEXPSabado:interval(10000)
dobleEXPSabado:register()


local reseteoEXP = GlobalEvent("resetDoubleEXPNextWeekend")
function reseteoEXP.onThink()
    if os.date("%A") ~= "Monday" then
        return true
    end
   
    local players = Game.getPlayers()
    for _, player in ipairs(players) do
        if player:isPlayer() then
            local storageValue = player:getStorageValue(115608)
            local receivedValue = player:getStorageValue(115609)
            if storageValue == 0 and receivedValue == 1 then
                player:setStorageValue(115608, -1)
                player:setStorageValue(115609, 0)
            end
            end
        end
   
    return true
end
reseteoEXP:interval(10000)
reseteoEXP:register()


En este script, veremos entonces que el 'Saturday' (Sábado) dará 120 segundos de doble EXP, ( 120 s = 2 Minutos, 1 dia = 86400s )
Integra una storage al player, para checar si ya lo ha recibido el sábado, si ya lo ha recibido no podrá volver a tener el doble EXP ese dia.
Debajo tenemos otro script que se ejecuta el lunes, que vemos que lo que hace es checar cada player Online y volver a resetear las storages para poder volver a utilizarlo el próximo sábado.
 
Última edición:
Arriba