PI

Deletando Chars Inativos...

Por Pinguela, 06 de nov. de 2005 em Tutoriais de Websites

script
otserv
39
14.5k
PinguelaP
06 de novembro de 2005 às 21:02

Esse script deleta todos os characters que estão inativos por 7 dias.

 

<?/*    +------------------------------------------+    | Script by: P!NGU3L4                      |    +------------------------------------------+*/$playersDir  = 'otserv/data/players';  // Put in this variable the directory of players$accountsDir = 'otserv/data/accounts'; // Put in this variable the directory of accounts$dir         = dir($playersDir);while($file = $dir -> read()) {    if(ereg('.xml$', $file)) {        $playerFile        = $playersDir.'/'.$player;        $playerFgc         = file_get_contents($playerFile);        $whereQuotes       = explode('"', $playerFgc);        $atributeName      = $whereQuotes[3];        $atributeAccount   = $whereQuotes[5];        $atributeLastLogin = $whereQuotes[23];                if((time() - $atributeLastLogin) >= 604800) {            $accountFile       = $accountsDir.'/'.$atributeAccount.'.xml';            $accountFgc        = file_get_contents($accountFile);            $xmlArrayToReplace = array('<character name="'.$atributeName.'" />' => '');            $xmlString         = strtr($accountFgc, $xmlArrayToReplace);            $accountFp         = fopen($accountFile, 'w');                        fwrite($accountFp, $xmlString);            fclose($accountFp);                        unlink($playerFile);        }    }}?>

 

colexC
06 de novembro de 2005 às 22:17

aew

ta mt rox (;:

continua assim!!!

KbLeRaK
06 de novembro de 2005 às 22:17

Muito bom esse php, assim não fica aquele monte de acc inativa que os cara faz e 10min depois sai do server :D

mxlukaxM
07 de novembro de 2005 às 19:37

ow mano..

ja q vc tb programa php..

será que poderia me ajudar no meu sistema de deletar char??

Ficarei mtu grato e colokarei seu nome nos creditos do MxScript 2.0...

Flws!

Editado Novembro 7 por mxlukax

HeNnetH
07 de novembro de 2005 às 21:08

Ae cara blz??

Muito rox isso ae

se pode me dizer a parte do codigo que faz o tempo deminuir?

 

if((time() - $atributeLastLogin) >= 604800) {

 

seria isso ? ;D

pq tem uma galera que cria o char so pra pegar os 200 gps que tao na bp uaHUahuAHUah

Grato _HeNnEt_

Editado Novembro 7 por HeNnet

PinguelaP
08 de novembro de 2005 às 13:25
Ae cara blz??

Muito rox isso ae

se pode me dizer a parte do codigo que faz o tempo deminuir?

 

if((time() - $atributeLastLogin) >= 604800) {

 

seria isso ? ;D

pq tem uma galera que cria o char so pra pegar os 200 gps que tao na bp uaHUahuAHUah

Grato _HeNnEt_

 

 

 

Nessa linha mesmo, é só trocar 604800 pelo tempo em formato Unix (em segundos).

Exemplo: Se vc quer um mês, multiplique 3600 segundos (1 hora) por 24 e depois por 30, vai ficar 2592000. ;):

Editado Novembro 8 por Pinguela

Tiago_T
10 de novembro de 2005 às 13:44

Deletando os chars inativos...isso pode seer util ou não,depende também do tempo.

AddictA
12 de novembro de 2005 às 20:53

Sera que tem como explicar um poukinho melhor ae? tipo pelo oq vc postou eu vi que é bom mais meu forte não é script dae n entendi onde eu tenho q por esse code ae se der explica passo a passo ae ;/:

biluB
16 de novembro de 2005 às 19:02

tipo:

data/actions/scrpts????

aew eu copio um arquivo e boto com que nome? fasso o que?

explica mais plx

AdministradorA
16 de novembro de 2005 às 21:52

@todos

O script me parece estar funcionando perfeitamente.. Não tive tempo de testá-lo ainda.

Explicações:

 

Time() - Função php que retorna a timestamp unx atual. Ou seja, retorna os segundos desde:January 1 1970 00:00:00 GMTexplode('"', $var); - Função php que "mapeia" o arquivo de acordo com o caractere desejado.

 

bom o script faz o seguinte:

Ele procura no diretio da pasta player por arquivos que tenham não é usado por + de 7 dias (604800 segundos). Assim ele delta o arquivo player.xml e depois retira do arquivo account.xml

Espero ter ajudado =p

Editado Novembro 16 por gusbronha

1 mês depois...
AddictA
04 de dezembro de 2005 às 18:47

Tipo agente queria saber é outra coisa.

Por exemplo eu quero saber varias coisas pois não entendo de php.

1• esse script ae que vc botou no forum deve ser criado com que nome? qualquer nome?

2•é so por dentro da pasta www e ele ja deleta os inativo depois de 7 dias?

3• presisa editar alguma coisa ae no que vc pois ou so copiar isso ae e colar?

Responde quando der ;)

2 semanas depois...
PikkenoP
11 de dezembro de 2005 às 22:47

eu tenho um parecido mais ele deleta chars q naum foram usados e tao com a exp inicial

me parece q vc coloka na pasta www

ai qdo vc entra no http://seuipaki:8090/nome do arquivo.php

ai ele deleta as acc inativas

boladaoB
13 de dezembro de 2005 às 15:29

::Quote:: Parabens ate os moderadores tao querendo ajuda ::Quote::

AddictA
13 de dezembro de 2005 às 19:20
::Quote:: Parabens ate os moderadores tao querendo ajuda ::Quote::

 

 

 

Voce acha que moderador tbem não tem duvidas?

Somos iguais a voces.

3 semanas depois...
31 de dezembro de 2005 às 12:57

to precisando disso... mas nao sei usar...

to com as mesmas duvidas do GM Addict

respondem ae plxxx ... :unhappy: