Ir para conteúdo

House Clean


Vodkart

Posts Recomendados

@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!

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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"

Link para o comentário
Compartilhar em outros sites

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 ?

Link para o comentário
Compartilhar em outros sites

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 ?

 

Bah não sei cara, vou ficar te devendo essa...

Irei dar uma olhada nessa função no config.lua

obrigado por compartilhar!

Link para o comentário
Compartilhar em outros sites

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 ?

 

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?

Link para o comentário
Compartilhar em outros sites

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 ?

 

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

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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)

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

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

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...