Deletando players inativos banco de dados.

ShockZz
em Scripts

ShockZz

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 10/12/06Posts: 102

Boa tarde pessoal, estou em busca de um script 8.6 tfs 0.4 para deletar players que não loguem na sua conta por TAL quantidade de dias.

 

Eu encontrei esse script aqui.

 

DELETE FROM players WHERE level < 50 AND lastlogin < UNIX_TIMESTAMP() - 20*24*60*60

 

 

Que faz delete da DB dos players pela quantidade de dias e leveis informados no mesmo.

 

Porém, esse script, se executado, não vai apagar também os samples chares? :|

 

Pois não há nenhuma exceção nele, para que não seja feito isso...

 

 

Obrigado, aguardando retorno..

 

 

hostinger-300x250-1.gif              

Alexclusive

Um bom Veterano...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/12Posts: 2399Gênero: MasculinoChar no Tibia: Nuncative

Cara, isso se chama query.

 

Para deletar TODOS os players, menos os Acc Man e os Samples, execute essa:

DELETE FROM `players` WHERE NOT `players`.`name` IN ("Account Manager", "Rook Sample", "Sorcerer Sample", "Druid Sample", "Paladin Sample", "Knight Sample");

Se você quiser usar a sua query:

DELETE FROM players WHERE level < 50 AND lastlogin < UNIX_TIMESTAMP() - 20*24*60*60 

Como voce mesmo disse, isso pode fazer com que os samples e o Acc Man sejam deletados.

 

Se forem deletados, basta você executar essa:

INSERT INTO `players` (`id`, `name`, `world_id`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `skull`, `skulltime`, `rank_id`, `guildnick`, `lastlogout`, `blessings`, `balance`, `stamina`, `direction`, `loss_experience`, `loss_mana`, `loss_skills`, `loss_containers`, `loss_items`, `premend`, `online`, `marriage`, `promotion`, `deleted`, `description`, `created`, `nick_verify`, `old_name`, `hide_char`, `worldtransfer`, `comment`, `show_outfit`, `show_eq`, `show_bars`, `show_skills`, `show_quests`) VALUES
(1, 'Rook Sample', 0, 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1),
(2, 'Sorcerer Sample', 0, 1, 1, 8, 1, 185, 185, 0, 0, 0, 0, 0, 128, 0, 0, 35, 35, 0, 0, 2, 0, 0, 0, '', 600, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1),
(3, 'Druid Sample', 0, 1, 1, 8, 2, 185, 185, 0, 0, 0, 0, 0, 128, 0, 0, 35, 35, 0, 0, 2, 0, 0, 0, '', 600, 0, 1302858859, 16777343, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1),
(4, 'Paladin Sample', 0, 1, 1, 8, 3, 185, 185, 0, 0, 0, 0, 0, 128, 0, 0, 35, 35, 0, 0, 2, 0, 0, 0, '', 600, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1),
(5, 'Knight Sample', 0, 1, 1, 8, 4, 185, 185, 0, 0, 0, 0, 0, 128, 0, 0, 35, 35, 0, 0, 2, 0, 0, 0, '', 600, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1);

Espero que sirva pra algo...

 

CURTA O FACEBOOK DO Ekz.

graphic_design.png  Seja um incentivador de pessoas. O mundo já tem críticos demais.  hardware_19.png

 

 

 

ShockZz

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 10/12/06Posts: 102

Obrigado Alex,

 

Assim, gostaria de executar a minha query mas sem deletar os samples e acc manager. É possível você me passar uma única query que faça isto?

 

Não desejo apagar todos os players não, somente os que selecionei conforme o tempo do login mesmo.

 

Abraço.

hostinger-300x250-1.gif              

ShockZz

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 10/12/06Posts: 102

É eu tenho a query dos meus samples aqui.. tão editados e tal.

 

Mas queria uma que não excluisse eles..

Vou dar uma pesquisada de novo..

Creio que seja simples...

hostinger-300x250-1.gif              

Alexclusive

Um bom Veterano...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/12Posts: 2399Gênero: MasculinoChar no Tibia: Nuncative
DELETE FROM `players` WHERE level < 50 AND lastlogin < UNIX_TIMESTAMP() - 20*24*60*60 WHERE NOT `players`.`name` IN ("Account Manager", "Rook Sample", "Sorcerer Sample", "Druid Sample", "Paladin Sample", "Knight Sample");

Pode ser que funcione...recomendo que você crie um backup da DB e tente.

 

CURTA O FACEBOOK DO Ekz.

graphic_design.png  Seja um incentivador de pessoas. O mundo já tem críticos demais.  hardware_19.png

 

 

 

Zaruss

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/08/13Posts: 93Char no Tibia: Evarin Thin

Alex fui executar essa query e deu esse erro:

Error while executing query: foreign key constraint failed
sabe arruma?

zipter98

avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 20/09/12Posts: 2553Gênero: Masculino

Tópico movido para a seção de dúvidas e pedidos resolvidos.

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.