Postado Abril 12, 2017 8 anos Queria saber se tem alguma script que deleta a conta do player se ficar X tempo offline.
Postado Abril 12, 2017 8 anos 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: Spoiler [CREATURESCRIPT] Auto TP depois de matar boss [ACTION] Clean Area [TALKACTION] !FelizAnoNovo [ACTION + MOVEMENT] Cartas ao GOD [CREATURESCRIPT] Always Emblem System [ACTION] Anihi simples [TALKACTIONS] Urinar / fazer xixi 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.
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.