Ir para conteúdo
  • Cadastre-se

Normal Deletar conta se ficar X tempo offline


Posts Recomendados

se for mysql pode usar esse clean db

globalevents:
<globalevent name="initoa" interval="3000" event="script" value="cleandb.lua"/>

 

Spoiler

--[[ Advanced Auto-DB Clean By >>Doggynub<< ]]--
--[[ tiny little part from : Automated Database Cleanup 1.1 //By Cybermaster ]]--
-- [[ credits for a better loop through database get result to :SpiderOt ]] --
 
local c = {
                    accounts = true ,              -- delete accounts that doenst contain players(same as deleting acc after the time down, as on deleting players that been inactive account will be emty so account will be deleted)
 
                    players = true,             -- delete players who are inactive?(this must be enabled)
 
                    time = 45,                     -- in days
 
                    remove_all = true,             -- remove all players data from data baase whe he is deleted?  
 
                    log_File = true,                -- make a log file state amount of player cleaned in every clean with their names?
 
                    print_console = true -- print amount of player and accounts deleted on each start up
 
                }
 
 
 
local players = {}
local names = {}
function cleanPlayers()
local Info = db.getResult("SELECT players.id AS id , players.name AS name FROM players WHERE  players.name NOT IN ('Account Manager','Druid Sample','Knight Sample','Paladin Sample','Sorcerer Sample') AND group_id < 2 AND lastlogin > 0 AND lastlogin < UNIX_TIMESTAMP() - '".. (c.time*24*60*60) .."' ;")
 
        if (Info:getID() ~= -1) then
            while true do
            table.insert(players, Info:getDataInt("id"))
            table.insert(names, Info:getDataString("name"))
            if not Info:next() then
                break
            end
        end
        Info:free()
        end  
        if #players > 0 then
            db.executeQuery("DELETE FROM players WHERE players.id IN ("..table.concat(players,",")..") ;")
            if c.remove_all == true then
                db.executeQuery("DELETE FROM player_skills WHERE player_id IN ("..table.concat(players,",")..") ;")
                db.executeQuery("DELETE FROM player_items WHERE player_id IN ("..table.concat(players,",")..") ;")
                db.executeQuery("DELETE FROM  player_depotitems WHERE player_id IN ("..table.concat(players,",")..") ;")
                db.executeQuery("DELETE FROM  player_deaths WHERE player_id IN ("..table.concat(players,",")..") ;")
                db.executeQuery("DELETE FROM  player_storage WHERE  player_id IN ("..table.concat(players,",")..") ;")
                db.executeQuery("DELETE FROM  player_killers WHERE  player_id IN ("..table.concat(players,",")..") ;")
                db.executeQuery("DELETE FROM  player_namelocks WHERE  player_id IN ("..table.concat(players,",")..") ;")
                db.executeQuery("DELETE FROM  player_spells WHERE  player_id IN ("..table.concat(players,",")..") ;")
                db.executeQuery("DELETE FROM  player_viplist WHERE  player_id IN ("..table.concat(players,",")..") ;")
            end
            if c.print_console == true then
                print(">> [DB] : "..#players.." players have been removed for not loggin for long time.")
            end
            if c.log_File == true then
                doWriteLogFile("data/logs/Database clean.txt"," : "..#players.." players cleaned --> (".. table.concat(names,", ")..") \n\n ")
            end
        end
 
 
 
end
local accounts = {}
function cleanDBAcc()
    function getDB()
        local result = db.getResult("SELECT COUNT(`id`) as `count` FROM `accounts`;")
        local tmp = result:getDataInt("count")
        result:free()
        return tmp
    end
    local before = getDB()
    local Info = db.getResult("SELECT accounts.id AS `id` FROM accounts INNER JOIN players ON accounts.id = players.account_id ;")
 
        if (Info:getID() ~= -1) then
            while true do
            table.insert(accounts, Info:getDataInt("id"))
            if not Info:next() then
                break
            end
        end
        Info:free()
        end  
        db.executeQuery("DELETE FROM accounts WHERE accounts.id NOT IN("..table.concat(accounts,",")..");")
        local new = before - getDB()
        if c.print_console == true then
            if new > 0 then
                if c.print_console == true then
                    print("\n>>>>[DB] : "..new.." Accounts were deleted\n")
                end
                if c.log_File == true then
                    doWriteLogFile("data/logs/Database clean.txt"," : "..new.." accounts cleaned \n\n ")
                end
            end
        end
    return true
end  
function onThink()
    cleanPlayers()
    if c.accounts == true then
        cleanDBAcc()
    end
    return true
end

 


 

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo