SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Português/Portuguese (https://forum.sa-mp.com/forumdisplay.php?f=34)
-   -   [Off] Algumas dúvidas sobre DOF2 (https://forum.sa-mp.com/showthread.php?t=671006)

GasparzinhoXD 03/12/2019 08:45 PM

Algumas dúvidas sobre DOF2
 
Bom, eu sei que DOF2 não é indicado para salvamento muito grande, como por exemplo as contas do jogadores. Mas acredito que muita gente, assim como eu, usa o DOF2 por ser mais fácil de manipular. Apesar que eu pretendo migrar meu salvamento de DOF2 para MySQL, ainda continuo o mesmo, então me bateu algumas dúvidas...

Vamos supor que você tem slá... 50/100 mil contas registradas no seu servidor, pelo fato do DOF2 ser um pouco lento, é possível que quando você for pesquisar se o arquivo existe (Atrás de um comando In-Game) ele retorne que o arquivo não existe? Por que já aconteceu isso comigo e eu tive que digitar mais algumas vezes o comando até ele encontrar o arquivo. (Mesmo o código estando certinho).

Minha outra dúvida é em questão de salvamento/carregamento. Pode acontecer também de alguns dados se perderem no salvamento/carregando dos mesmos? Pois já aconteceu de dados como: (Dinheiro e Level) ficarem 0, mesmo o sistema de salvar/carregar estando certinho.

Falem aí o que vocês acham, se já aconteceu algo parecido com vocês também.

GasparzinhoXD 03/12/2019 10:36 PM

Re: Algumas dúvidas sobre DOF2
 
Eu possuo um timer que salva a cada 1 minuto. Nunca mexi com SQLite mas acho que seria melhor MySQL, para caso eu faça uma interação com WebSite já ficar no jeito. O estranho é isso ai do DOF2 que as vezes acontece.

RiqueP 04/12/2019 12:21 PM

Re: Algumas dúvidas sobre DOF2
 
1º Duvida: Eu, particularmente nunca vi um problema assim, mesmo antigamente onde todos os servidores praticamente usavam o dini antigo. Aliás, naquele tempo o samp era até mais populoso.

2º Duvida: Se no seu sistema, você colocou o save de contas só em OnPlayerDisconnect; você eventualmente terá perda de dados. Isso pq a casos em que o OnPlayerDisconnect não é chamado; por exemplo, quando você desliga o servidor. Um outro fator pode ser a forma como seu sistema é feito; eu vejo muita gente aqui no fórum usando o DOF_GetInt, DOF2_GetString... diversas vezes. O ideal é que quando o jogador se conect, você carregue tudo em uma variável(enum).

Sobre o uso do SQLite e do MySQL; ambos os dados você tem mais segurança, controle e integridade dos dados do que usando sistemas ini. Mas vale lembrar que o MySQL, mesmo te dando a possibilidade de integrar UCP, Fórum... ao servidor; seu cuidado é muito maior e muito técnico. Consultas mal formadas, hospedagem do banco de dados com pouco desempenho, má criação das tabelas, etc. Você terá que ter cuidado com tudo isso.

G4M30V3R 05/12/2019 02:23 PM

Re: Algumas dúvidas sobre DOF2
 
Considerando um número tão exagerado de usuários, eu consideraria utilizar banco de dados sempre!
Comece com SQLite e, caso o projeto cresça, basta converter as nativas para MySQL, pois uma conversão de arquivos de texto para DB exige muita atenção e tempo.

Sobre o "bug", provavelmente foi algum desleixo por parte do programador, pois eu também nunca vi nada disso!

@OFF

Esse negócio de "mais fácil manipular" é tão old pros dias atuais.
Não se trata de ser mais fácil, se trata de popularidade.

Um exemplo prático pra esclarecer essa desculpa do que é ou não mais fácil:
O que é DOF2 e o que ele faz?
É um include que, através de funções, otimiza o uso das nativas que gerenciam arquivos.

O que é Easy SQLite/MySQL?
É um include que, através de funções, otimiza o uso das nativas que gerenciam o banco de dados através de nomenclaturas diferentes (óbvio) e parâmetros adicionais.

É tudo uma questão de adaptação.

ipsLuan 05/12/2019 03:15 PM

Re: Algumas dúvidas sobre DOF2
 
Se usar o SQLite nativo do SA-MP (sem usar includes), fica mais fácil quando você for trabalhar com MySQL.

rjjj 06/12/2019 05:27 PM

Re: Algumas dúvidas sobre DOF2
 
Não acho que esses problemas sejam do próprio sistema de arquivos do SA-MP, que é praticamente o da linguagem C. Pode ser algo no seu código ou na include DOF2 (sempre usei Dini e nunca tive problemas).



Para mexer com banco de dados, o indivíduo tem que estudar. Caso contrário produzirá travamentos e corrompimentos em geral durante o jogo. É preferível, por isso, usar bases prontas e já consolidadas se for aplicar MySQL, por exemplo :mrgreen:.



Espero ter ajudado :p.


All times are GMT. The time now is 10:13 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.