Jump to content

House Clean


Vodkart

Recommended Posts

Descrição: É para deletar house de players inativos, ou seja, o player que não loga em "X" dias perde a sua house!

 

 

 

houseclean.lua

function onTimer()
local days = 15*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

 

globalevents.xml

<globalevent name="HouseClean" time="03:00" event="script" value="houseclean.lua"/>

 

na tag está para executar o script as 3 da manhã se quiser alterar só mudar essa parte:

 

time="03:00"

 

para configurar os dias que o player que não logar em "X" dias É aqui:

 

local days = 15*24*60*60

 

no caso está para o jogador que não logar em 15 dias perder a house.</globalevent>

Edited by Vodkart
Link to comment
Share on other sites

haha, fizemos um script semelhante no globalwar esses tempos.

 

quando vc usa a função setHouseOwner(houseid, 0, true) vc não precisa usar o cleanHouse(houseid), porque o true da função setHouseOwner faz os itens da casa irem para o dp do antigo dono.

 

enfim, parabéns pelo código, falo.

Link to comment
Share on other sites

Vodkart o meu distro é tfs 0.4 ( acho q isso)

 

ele da error no globalevents.xml quando eu adiciono esse script caso eu ponha assim sera que funciona?

 

 

<globalevent name="houseclean" type="start" event="script" value="houseclean.lua"/>

Link to comment
Share on other sites

@up

 

mas nesse caso só vai executar o script quando o server abrir

 

tenta colocar o por interval mesmo então, n esquece de mudar a função main no script

 

abraços

Link to comment
Share on other sites

Tiago é possível fazer um script mande os itens pra o depot do antigo dono? assim evitando prejuízos e players revoltados.

Link to comment
Share on other sites

  • 2 weeks later...

Ficou com um erro na sintaxe amigo.

 

 

<globalevent name="HouseClean" time="03:00" event="script" value="houseclean.lua">

Aqui faltou fechar a função:

 

<globalevent name="HouseClean" time="03:00" event="script" value="houseclean.lua\">

Tirando isso ficou ótimo.

Link to comment
Share on other sites

  • 3 weeks later...

Belo script vou testar aqui vê se vai pegar certinho...Valeu Vodkart =)

 

Uma pequena duvida..Eu tenho um script que limpa players, account, itens e tals,,,so que ele só pega quando liga, se eu quiser por ele para rodar com um horario igual esse da house eu posso? Valeu

Edited by cs007
Link to comment
Share on other sites

  • 2 weeks later...

Belo script vou testar aqui vê se vai pegar certinho...Valeu Vodkart =)

 

Uma pequena duvida..Eu tenho um script que limpa players, account, itens e tals,,,so que ele só pega quando liga, se eu quiser por ele para rodar com um horario igual esse da house eu posso? Valeu

 

sim, pode.

 

 

uma ideia quando execulta o script bem que podia kickar todos os players que estive online menos os da staff

 

qual a finalidade disso?

Link to comment
Share on other sites

×
×
  • Create New...