[Ajuda] Salvamento instantвneo [SQLite]
#1

Boa parte dos scripters de SA-MP conhecem o FS admin feito pelo Gammix, que salva instantaneamente os dados armazenados no arquivo '.db' .
Eu consegui integrar o salvamento da FS no GM, ou seja, ambos salvam os dados no mesmo arquivo .db, o problema (q nгo й tecnicamente um problema) й que os dados salvos no GameMode salvam apenas quando o player DESCONECTA e nгo InGame como o FS. Um modo simples e que nгo aderi, й salvar os dados de 1 em 1 segundo, ou seja, uma callback que salva os dados de tempo em tempo. Nгo achei apropriado (ou talvez seja) e queria pedir a ajuda de vcs:

1- Existe alguma maneira de salvar os dados armazenados no arquivo .db instantaneamente assim como no FS?
2- Salvar os dados de tempos em tempos (callback update) seria recomendбvel?
Reply
#2

Poderia reformular sua pergunta? Pois toda vez que faz um Query para inserir dados, ele й salvo instantaneamente.

Pelo que entendi й vocк deve usar um temporizador como vocк disse, mas nгo de segundo em segundo, quem sabe de minutos em minutos.
Reply
#3

Melhor forma й sempre que vc manipula os dados salvar eles. Isso do tempo a tempo nгo й nada bom.
Reply
#4

Vocкs sabem, ocorrem muitos ataques, crash's e fico me perguntando: Se o server cair e os players estiverem jogando a mais de uma hora, o progresso deles serб perdido, entгo o salvamento do player ao desconectar й inutil, jб que o servidor irб cair (se o samp-server.exe fechar, nenhum dado й salvo)!
Reply
#5

Por isso que vc deve salvar os dados sempre que sгo manipulados.

Imagina o player ganha mais 1 Level salvas o level do player.

Essas ideias de ter de salvar todos os dados de o player de 1 vez esta errada.
Reply
#6

Entгo salve em um temporizador de curto espaзo como 5 minutos, imagine que vocк tem um timer de 1 segundo que irб percorrer todos players, e incrementar/decrementa entгo vocк farб 1 query por player a cada 1 segundo, supondo que vocк tem 200 players online, vocк estaria fazendo 200 queries por segundo, repetidamente. Nгo acha isto que isto й um USO de cpu desnecessбrio? Quando se pode fazer estes mesmos 200 queries a cada 5 minutos?
Reply
#7

@PT
Se eu bem entendi, vc quer que eu adicione a minha stock de salvamento ' SaveDados(playerid) ' em cada comando onde quero atribuir valores em algum player. Certo?

@Day_
Este era meu medo, lag e problemas no salvamento, ja que exigiria muito do servidor. Nao tinha imaginado pela quantidade de players, vc esta totalmente correto quanto a isto!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)