• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Extra exp every day between x time

Ataro

Member
Joined
Oct 28, 2010
Messages
689
Reaction score
19
Location
Netherlands
What I want:
Every day between 8am and 10 am I want every player to get an exp boost.
Also a message when it starts and ends.
My main problem how to do something between x and x time and how to do a
doPlayerSetRate(cid, SKILL__LEVEL, 2)
For every player

Server: 0.4 Rev3777
 
Code:
<globalevent name="2xExp1" time="05:00" event="script" value="doubleexp.lua"/>
<globalevent name="2xExp2" time="06:00" event="script" value="doubleexp.lua"/>
<!--////////////////////////////15:00-16:00//////////////////////////////////////-->
<globalevent name="2xExp3" time="15:00" event="script" value="doubleexp.lua"/>
<globalevent name="2xExp4" time="16:00" event="script" value="doubleexp.lua"/>
<!--////////////////////////////20:00-21:00//////////////////////////////////////-->
<globalevent name="2xExp5" time="20:00" event="script" value="doubleexp.lua"/>
<globalevent name="2xExp6" time="21:00" event="script" value="doubleexp.lua"/>

Code:
local cyko = {
    new_rate = 2,
    old_rate = 1
}
function onTime()
    if getStorage(3000) == -1 then
        doSetStorage(3000, 1)
        doBroadcastMessage("Double Exp event is on.")
    for _, on in ipairs(getPlayersOnline()) do
        doPlayerSetRate(on, SKILL__LEVEL, cyko.new_rate)
    end
    else
        doSetStorage(3000, -1)
        doBroadcastMessage("Double Exp event is off.")
    for _, off in ipairs(getPlayersOnline()) do
        doPlayerSetRate(off, SKILL__LEVEL, cyko.old_rate)
        end
    end
    return true
end
 
Code:
<globalevent name="2xExp1" time="05:00" event="script" value="doubleexp.lua"/>
<globalevent name="2xExp2" time="06:00" event="script" value="doubleexp.lua"/>
<!--////////////////////////////15:00-16:00//////////////////////////////////////-->
<globalevent name="2xExp3" time="15:00" event="script" value="doubleexp.lua"/>
<globalevent name="2xExp4" time="16:00" event="script" value="doubleexp.lua"/>
<!--////////////////////////////20:00-21:00//////////////////////////////////////-->
<globalevent name="2xExp5" time="20:00" event="script" value="doubleexp.lua"/>
<globalevent name="2xExp6" time="21:00" event="script" value="doubleexp.lua"/>

Code:
local cyko = {
    new_rate = 2,
    old_rate = 1
}
function onTime()
    if getStorage(3000) == -1 then
        doSetStorage(3000, 1)
        doBroadcastMessage("Double Exp event is on.")
    for _, on in ipairs(getPlayersOnline()) do
        doPlayerSetRate(on, SKILL__LEVEL, cyko.new_rate)
    end
    else
        doSetStorage(3000, -1)
        doBroadcastMessage("Double Exp event is off.")
    for _, off in ipairs(getPlayersOnline()) do
        doPlayerSetRate(off, SKILL__LEVEL, cyko.old_rate)
        end
    end
    return true
end
Thanks a lot!
 
Last edited:
You can set global storage with the global event, then check for this global storage value in login.lua and set exp rate.
 
But when i use this script to tibia 8.6 comes eroors and not working pls help me i need for 8.6...
 
@Limos

[09/05/2015 10:23:05] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/doubleexp.lua)
[09/05/2015 10:23:05] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/doubleexp.lua)
[09/05/2015 10:23:05] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/doubleexp.lua)
[09/05/2015 10:23:05] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/doubleexp.lua)
[09/05/2015 10:23:06] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/doubleexp.lua)
[09/05/2015 10:23:06] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/doubleexp.lua)

can u help me pls how to solv this????
 
function onTime() -> function onTimer()

all works now but
[09/05/2015 15:00:00] > Broadcasted message: "Double Exp event is on.".
[09/05/2015 15:00:00] > Broadcasted message: "Double Exp event is off.".

how i can do how minuts stay this event??
 
Back
Top