oloko nao funcionou aki.
info
Grupo: Infante
Registrado: 27/07/09
Posts: 1.5k
Reputação: +405
Char no Tibia: Gean Riot

Está dando Event OnTime not found, oque poderia ser?
info
Grupo: Conde
Registrado: 10/07/08
Posts: 574
Reputação: +13
Gênero: Masculino
Char no Tibia: Hebi Of Amera

No meu também de o mesmo erro que o cara ai de cima.
info
Grupo: Artesão
Registrado: 12/08/11
Posts: 110
Reputação: +39

coloque isso no globalevents.xml
<globalevent name="housecleaner" type="startup" event="script" value="housecleaner.lua"/>
e mude isso:
function onTimer()
por isso no script:
function onStartup()
Agora quando der ss quando o serv ligar dnv as houses são deletadas sem erro.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

para quem está com esse erro:
Event OnTime not found
É porque em servidores mais recentes não existe mais a função onTimer()
então usem dessa forma:
function onThink(interval, lastExecution)
local days = 15*24*60*60
if tostring(os.date("%X")):sub(1, 5) == "00:00" then
doSaveServer()
local query = db.getResult("SELECT `owner`,`id` FROM `houses`;")
if (query:getID() ~= -1) then
while true do
local own,houseid = query:getDataInt("owner"),query:getDataInt("id")
local qry = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = "..own)
if(qry:getID() ~= -1) then
last = tonumber(qry:getDataInt("lastlogin"))
if last < os.time() - days then
setHouseOwner(houseid, NO_OWNER_PHRASE,true)
end
end
if not(query:next()) then
break
end
end
query:free()
end
end
return true
end
globalevents.xml
<globalevent name="HouseClean" interval="60" event="script" value="houseclean.lua"/>
obs: está para executar as "00:00"
qualquer coisa só mudar o horário, por exemplo:
"22:00"
Cara, excelente script, mas eu acho que atualmente é desnecessario...
Os OT´s atuais ja vem com a função no config.lua:
houseCleanOld = xxxx
que é exatamente pra isso, ou eu estou enganado ?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

Cara, excelente script, mas eu acho que atualmente é desnecessario...
Os OT´s atuais ja vem com a função no config.lua:
houseCleanOld = xxxxque é exatamente pra isso, ou eu estou enganado ?
Bah não sei cara, vou ficar te devendo essa...
Irei dar uma olhada nessa função no config.lua
obrigado por compartilhar!
Cara, excelente script, mas eu acho que atualmente é desnecessario...
Os OT´s atuais ja vem com a função no config.lua:
houseCleanOld = xxxxque é exatamente pra isso, ou eu estou enganado ?
Se não me falha a memória, é pra limpar as houses, dai você coloca essa parte em segundos.
@Vodkart
O seu sistema, caso a house seja limpa, os players perdem os items?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

Cara, excelente script, mas eu acho que atualmente é desnecessario...
Os OT´s atuais ja vem com a função no config.lua:
houseCleanOld = xxxxque é exatamente pra isso, ou eu estou enganado ?
Se não me falha a memória, é pra limpar as houses, dai você coloca essa parte em segundos.
@Vodkart
O seu sistema, caso a house seja limpa, os players perdem os items?
os items vao para o dp
ei amigo script perfeito mas tipo se o sv cair dentro deses 15 dias a contagem zera?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ei amigo script perfeito mas tipo se o sv cair dentro deses 15 dias a contagem zera?
não, isso depende de quanto tempo o jogador ficar offline, se o server cair não tem problema.
nossa perfeito então cara.
pensei que eu tinha que deixar o sv 15 dias direto online.
agora posso por online agora desligar e atualizar e o tempo continua contando sem reseta coreto?
(so nao dou outro rep+ pq ja dei hoje)
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

tempo continua contando sim
info
Grupo: Barão
Registrado: 23/03/08
Posts: 205
Reputação: +4

no lugar de onTimer()
eu coloquei onTime(), pois com R tava dando erro de event alguma coisa.. nao me lembro.
ficou assim
function onTime()local days = 7*24*60*60
doSaveServer()
local query = db.getResult("SELECT `owner`,`id` FROM `houses`;")
if (query:getID() ~= -1) then
while true do
local own,houseid = query:getDataInt("owner"),query:getDataInt("id")
local qry = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = "..own)
if(qry:getID() ~= -1) then
last = tonumber(qry:getDataInt("lastlogin"))
if last < os.time() - days then
setHouseOwner(houseid, NO_OWNER_PHRASE,true)
end
end
if not(query:next()) then
break
end
end
query:free()
end
return true
end
nao testei ainda se ta indo pro dp os items.
Meu servidor é globalful 9.60








info
Grupo: Artesão
Registrado: 10/08/12
Posts: 114
Reputação: +15
@Vodkart, muito bom o seu script, muito util para otservs com alto numero de players on e q tenham poucas houses, muito bem elaborado...Parabéns!
Por Isso, NO preocupação!
APROVADO!