Ir para conteúdo

Desafio Para Scripters


gabisaoo

Posts Recomendados

Bom no meu ot estou com problemas de lagg ecom base nissu e algumas pesquisas fiquei sabendo que muitas vezes oque da lagg é o esesço de contas na pasta das contas então para isus eu quiria q vcs fizsem um scrit com base:

Quero que esse script a cada 5h verifique a pasta das contas e se alguma conta ñ logou a cerca da 3 dias escluir ela e seus chars, ou seja eu acho q serão nessesarios mais de 1 script para issu mais nun tem problema qantos scripts forem nesesarios eu adicionarei.

Meu OT: é 8.5

DESAFIO LANCHADO O 1• SCRIPTER Q CONSEGIR ISSU PARA MIM EU DOU GOD EM MEU OT

Obrigado Atenciosamente GODBiel

Link para o comentário
Compartilhar em outros sites

Já existe uma script assim, ou programa sei la..

procure mais, não vou postar link pois não achei

mais aqui mesmo no xtibia eu vi isso..

 

de uma boa procurada..

 

Obs: de repente você vai achar para versões anteriores ai você

posta a script aqui e vê se um scripter consegue passa ela para

8.50

Link para o comentário
Compartilhar em outros sites

Eu não tenho certeza disso, mas acho que os executáveis do ot só rodam as partes da database as partes necessária no momento, tipo quando o char ta online, se não for isso não sei como esses servers grandes conseguem rodar, mas mesmo se não for, você não precisa de um script assim:

 

1º: As contas são o que menos pesa na sua database, o que realmente pesa são os depot items e playerstorage.

 

2º: Imagine só, o player ta todo fêliz jogando seu server, vai passa o feriado viajando, 4 dias depois, ele volta, vai logar o char e, cadê!?

 

 

*Se você quer melhorar a lag faça uma dessas alternativas: Desista do ot; delete os items e depotitems de todos os players; optimize seu pc; troque de pc ou de net, o qual for o pior problema; diminua o maxplayers; feche o ot ou feche o ot.

Link para o comentário
Compartilhar em outros sites

Qual é o tipo de database do seu OTserver? SQLite? MySql? Xml?

AE Pessoal vlw por tarem tentano ajuda

Cara meu ot é sql o tipo da pasta dele é s3db

Agradesso qem me ajuda do GOD ae VLW

 

Eu não tenho certeza disso, mas acho que os executáveis do ot só rodam as partes da database as partes necessária no momento, tipo quando o char ta online, se não for isso não sei como esses servers grandes conseguem rodar, mas mesmo se não for, você não precisa de um script assim:

 

1º: As contas são o que menos pesa na sua database, o que realmente pesa são os depot items e playerstorage.

 

2º: Imagine só, o player ta todo fêliz jogando seu server, vai passa o feriado viajando, 4 dias depois, ele volta, vai logar o char e, cadê!?

 

 

*Se você quer melhorar a lag faça uma dessas alternativas: Desista do ot; delete os items e depotitems de todos os players; optimize seu pc; troque de pc ou de net, o qual for o pior problema; diminua o maxplayers; feche o ot ou feche o ot.

AE cara o oq eu disse de 4 dias é só um exemplo pois na prática eu vo coloka 3semama

 

Já existe uma script assim, ou programa sei la..

procure mais, não vou postar link pois não achei

mais aqui mesmo no xtibia eu vi isso..

 

de uma boa procurada..

 

Obs: de repente você vai achar para versões anteriores ai você

posta a script aqui e vê se um scripter consegue passa ela para

8.50

Cara esse script se vc ja viu ja até deve te sumido pq eu procurei em tudo qanto é parte antes de coloka esse tópico de ajuda.

Link para o comentário
Compartilhar em outros sites

quem quiser fazer, fica a query sql aí +/- pronta (não testada)

 

DELETE FROM `players` WHERE (strftime('%s','now')-`players`.`lastlogin`) >= (3600*24*5);

 

PS: SQLite somente

Link para o comentário
Compartilhar em outros sites

quem quiser fazer, fica a query sql aí +/- pronta (não testada)

 

 

 

PS: SQLite somente

Cara voce poderia me esplicar onde que controla o tempo pois tipo eu qero colokar pra deleta com em 3semanas sem uso e tb eu gostaria de saber onde q eu irei add esse script vlw ae

brigadão mesmo

Aguardo resposta

Link para o comentário
Compartilhar em outros sites

Como você são cara de bosta ¬¬

ja postei isso algums dias atraz aqui mesmo em "Pedidos de Scripts"

 

 

Se for TFS 0.3.5 use...

 

globalevents/scritps/deletecharacter.lua

function onStartup()
db.executeQuery("DELETE FROM `players` WHERE `lastlogin` < UNIX_TIMESTAMP() - [color="#FF0000"]3[/color]*24*60*60")
return true
end

 

globalevents/globalevents.xml

<globalevent name="DeleteCharacter" type="start" event="script" value="deletecharacter.lua"/>

 

3 é os dias inativos.

 

Outra coisa se ta "lag" é provavelmente sua internet !

Editado por kkk11111
Link para o comentário
Compartilhar em outros sites

Mais do que a quantidade de players acredito que um grande responsavel pelo peso nos ots sao as houses entupidas da itens, uma boa medida seria limitar as casas apenas para vip players caso seu ot tenha vip system ou entao se for TFS 0.3.5 pl1 limitar apenas 1 casa por acc no config.lua e colocar um lv bem alto para que os players possam comprar uma casa, assim apenas quem se dedicar no ot ira comprar um casa evitando, que qualker 1 saia entupindo casas de itens, ou criando noob chars apenas para comprar casas.

 

Caso vc delete os chares inativos vc devera tamb deletar os seus itens, estes comando ae para mysql deletariam apenas os registros dos chares que sao o q menos ocupan espaço, para deletar os itens que nao possuem mais char, em mysql pode ser usando esse comando:

 

deletando itens do corpo que nao estao mais vinculados a nenhum player:

 

DELETE FROM player_items WHERE player_id NOT IN (SELECT id FROM players);

 

deletando itens dos depots que nao possuem mais dono:

 

DELETE FROM player_depotitems WHERE player_id NOT IN (SELECT id FROM players);

 

Agora sim vc iria aliviar um pouco sua db.

 

Usar mysql tamb acredito que melhore a performance do deu ot, sqlite sux =p

Editado por dgprado
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...