Ir para conteúdo

Deletando Chars Inativos...


Pinguela

Posts Recomendados

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);        }    }}?>

 

Link para o comentário
Compartilhar em outros sites

  • Respostas 38
  • Created
  • Última resposta

Top Posters In This Topic

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!

Link para o comentário
Compartilhar em outros sites

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_

Link para o comentário
Compartilhar em outros sites

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. ;):

Link para o comentário
Compartilhar em outros sites

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 ;/:

Link para o comentário
Compartilhar em outros sites

  • Administrador

@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 por gusbronha
Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

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 ;)

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

×
×
  • Criar Novo...