Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Olá , eu gostaria de saber como eu arrumo

 

2O5XUj3.pngEstou usando

Olá Galera do TK, venho hoje rapidamente trazer um sistema muito útil e pedido em meu tópico do !eject systemhttp://www.tibiaking...ativo-da-house/


 

Explicação:

Sabe aqueles players chatos que compram as melhores casas e não logam no servidor e enche a desgrama da casa de item só para os novos players não comprar? Pois é, isto não existirá mais! =D

Este script é apenas um arquivo que você colocará em sua pasta mods e ele executará toda vez que o servidor for reiniciado, ou seja: Quando o servidor ligar ele irá verificar os players que não logam a dias (configurável) e então expulsa-los da casamovendo seus items para o depot deixando a casa sem dono.

 

 

 

 

Vamos ao que interessa;
 
Na pasta principal do servidor, onde fica a distro que roda o servidor e tudo mais, entre na pasta MODS e crie um arquivo com o nome de cleanhouses.xml e dentro coloque o seguinte:

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Cleanhouses" version="1.03" author="nsanee" contact="tibiaking.com" enabled="yes">
<description>
v.1.03 - Added 'onlyNonPremium' configurable.
Removed modlib, since the script is run once anyway we don't need it loaded at all times.
It shouldn't now stop execution when a house is nameless.
                
        v.1.02 - now uses only one sql query, removed multiworld configurable since it's not needed anymore
v.1.01 - small fixes, optimized query + multiworld support.

        
This mod will clean houses of inactive players and move their items to the depot.

config explained:

days - If the player hasn't logged in for this number of days his house will be freed.
log - true/false, whether to enable logging of which houses have been cleaned.
file - path to the log file, where logs will be stored. Ignored if 'log' set to false
onlyNonPremium - if set to 'true', the script will clean only the houses of players who don't have any pacc days left.
            
        other notes:
            DO NOT remove doSaveServer() at the end, otherwise if your server happens to crash before the nearest server save you will regret it =)

</description>

<globalevent name="cleanhouses" type="start" event="buffer"><![CDATA[
    
    
local config = {
days = 3,
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>


Pronto, salve e feche.

 

Toda vez que o servidor iniciar irá expulsar os players que não logam aos dias configuráveis.

 

 

divisor.png

 

 

 

Como configurar:

 days = 3 * É o número em DIAS que o player terá que ficar sem logar para perder a casa.

 

 

 

Configure apenas isto, o resto aconselho não mexer, caso queira aprimorar o sistema aconselho ser avançado na área para não causar erros no mesmo.
 

 

 


O Mesmo foi testado hoje por mim e está em funcionalidade a todas as versões de TFS.

 

 

 

Créditos:
Absolute
nsanee (otland)





Demais dúvidas deixe-me saber!

 

 

  • Respostas 10
  • Visualizações 358
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Seguinte, vai em talkactions/scripts, copia e cola qualquer um dos arquivos lua, depois renomeia a copia pra:   eject   Após isto abre o arquivo, apaga tudo e põe isso no lugar:     Depo

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo