Poste Os Devidos Creditos.
- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- Automatico House Clean [Works 100%]
TI
globalevent
Automatico House Clean [Works 100%]
Por TibiaGame, 31 de jan. de 2013 em Globalevents e Spells
house
clan
clean
houseclean
script
4
2.1k
1 mês depois...
info
Grupo: Banidos
Registrado: 03/02/13
Posts: 62
Reputação: 0
Char no Tibia: Anikilator

15 de fevereiro de 2013 às 15:50
15 de fevereiro de 2013 às 23:14
Só uma pergunta.
Ao remover os itens, estes itens vão pro depot do jogador que éra o dono da casa? e casa tambem fica livre?
info
Grupo: Campones
Registrado: 03/01/12
Posts: 32
Reputação: +2
Char no Tibia: nick ant

18 de fevereiro de 2013 às 20:54
Bom me parece que a house fica livre, agora em relação aos itens já não sei.




info
Grupo: Campones
Registrado: 06/01/09
Posts: 30
Reputação: +4
Olá pessoal, eu sei que ja tem um tópico nessa área sobre esse script de House Clean, porém, não funcionou no meu TFS 0.4.0, aqui eu vou postar um que tem as funções corretamente para limpar as casas em todas as cidades do Servidor.
Créditos: nsanee
MOD VERSION:
<?xml version="1.0" encoding="UTF-8"?> <mod name="Cleanhouses" version="1.03" author="nsanee" contact="otland.net" enabled="yes"> <globalevent name="cleanhouses" type="start" event="buffer"><![CDATA[ local config = { days = 14, log = true, file = getDataDir() .. "/logs/cleanhouses.txt", onlyNonPremium = true } local ns_query =[[ SELECT houses.owner, houses.id as hid, houses.name as house_name ,players.name FROM houses LEFT JOIN players ON players.id=houses.owner LEFT JOIN accounts ON players.account_id=accounts.id WHERE players.lastlogin < (UNIX_TIMESTAMP() - ]] ..config.days.. [[*24*60*60) ]] ..(config.onlyNonPremium and ' AND accounts.premdays=0 ' or '')..[[ AND players.world_id =]] .. getConfigValue("worldId") local house = db.getResult(ns_query) local logs = " Houses cleaned:\n\n" if house:getID() ~= -1 then repeat logs = logs .. house:getDataString('house_name') ..", owned by " .. house:getDataString('name') .. "\n" setHouseOwner(house:getDataInt('hid'), 0) until not house:next() house:free() else logs = logs .. "There were no houses to clean." end if config.log then doWriteLogFile(config.file, logs) end addEvent(doSaveServer, 1000) ]]></globalevent> </mod>GLOBALEVENTS (SCRIPTS)
Abra -> globalevents/globalevents.xml
Coloque:
<globalevent name="cleanhouses" type="start" event="script" value="cleanhouses.lua"/>
Crie um arquivo dentro da pasta scripts:
-> globalevents/scripts/cleanhouses.lua
Explicando: Onde está verde, você define os dias que o player tem que tár inativo (ausente) para a house ser limpa.
Para quem não entende um pouco, e tem dúvida, exemplo: "Onde coloco a hora pra limpar" , a resposta é, quando você liga o servidor ele já faz isso automatico!, qualquer outra dúvida só postar aqui!
Obrigado a todos!
Editado Janeiro 31 por TibiaGame