Olá amigos, tenho um OT mapa baiak, estou com o sql muito carregado de players, estou com cerca de 400 players no sql, sendo que tem apenas 150 jogando...
Pedido: quero algum script que delete esses players inativos, com 12 dias de inatividade, independente do level.
Problema: ja testei varios scripts de outros sites e ate mesmo daqui, nao consegui arrumar nenhum 100%, ja executei na SQL esse seguinte comando, mas da error...
-DELETE FROM `players` WHERE `level` < 50 AND `lastlogin` < UNIX_TIMESTAMP() - 20 * 24 * 60 * 60
O ERROR FALA ALGUMA COISA SOBRE UNIX_TIMESTAMP..
Ja tentei tambem um que é pelo globalevents, acho que o nome é dbclean... algo assim, mas da erro na distro...
MINHA DISTRO É A TFS 0.36, DA OTLAND, OU A DO MAPA BASE DO BAIAK BARAO, QUE A A ALISSOW, uso as 2 pq roda perfeito com alto uptime.
Pergunta
jhowzikah 2
Olá amigos, tenho um OT mapa baiak, estou com o sql muito carregado de players, estou com cerca de 400 players no sql, sendo que tem apenas 150 jogando...
Pedido: quero algum script que delete esses players inativos, com 12 dias de inatividade, independente do level.
Problema: ja testei varios scripts de outros sites e ate mesmo daqui, nao consegui arrumar nenhum 100%, ja executei na SQL esse seguinte comando, mas da error...
-DELETE FROM `players` WHERE `level` < 50 AND `lastlogin` < UNIX_TIMESTAMP() - 20 * 24 * 60 * 60
O ERROR FALA ALGUMA COISA SOBRE UNIX_TIMESTAMP..
Ja tentei tambem um que é pelo globalevents, acho que o nome é dbclean... algo assim, mas da erro na distro...
MINHA DISTRO É A TFS 0.36, DA OTLAND, OU A DO MAPA BASE DO BAIAK BARAO, QUE A A ALISSOW, uso as 2 pq roda perfeito com alto uptime.
Me ajudem por favor
----------------------------------------------------------
Um membro de outro forum me falou o seguinte:
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Esse unix_timestamp não funciona corretamente no SQLite Studio, e sim no MySQL
eu acho que você pode optar por outro jeito
Crie uma talkaction qualquer e execute ela in-game
function onSay(cid, words, param)
db.query("DELETE FROM `players` WHERE `level` < 50 AND `name` <> `Account Manager` AND `lastlogin` < ".. os.time() - 20 * 24 * 60 * 60)
return true
end
20 * 24 * 60 * 60 = tempo em segundos de inatividade.
20 * 24 * 60 * 60 = 20 dias offline.
40 * 24 * 60 * 60 = 40 dias offline.
-------------------------------------------------------------------------------
Eu n sei se fiz corretamente, mas n deu certo aqui... quando eu executo o comando, da erro na distro!
Estou desesperado pq quando o ot vai salvar, demora muito!
ME AJUDEM POR FAVOR!
Link para o comentário
Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados