SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 12/02/2019, 12:13 PM   #1
JacKPanK
Big Clucker
 
JacKPanK's Avatar
 
Join Date: Dec 2015
Location: Brasil - Ceará
Posts: 106
Reputation: 1
Exclamation [DUVIDA] USO DE CPU DO MYSQL

Olá bom dia meu povo, alguém pode me ajudar nessa questão? Eu tô criando um servidor completo alimentado pelo MySQL e eu quero saber se o plugin do MySQL incorporado ao PlayerUpdate pode ocasionar um congestionamenro por conta da constante atualização de dados, quero colocar para que o OnPlayerUpdate fique checando qual quer que seja a mudança no banco para alterar no jogo de imediato.

Alguém por favor pode me tirar essa dúvida e se tiver alguma maneira de diminuir o acesso constante ao DB por favor me ajudem.

Chegar em casa atualizo com o código que coloquei no Update do GM.
Dês de já agradeço a atenção.
JacKPanK is offline   Reply With Quote
Old 12/02/2019, 12:59 PM   #2
DanielMatrix
Big Clucker
 
Join Date: Sep 2018
Posts: 91
Reputation: 9
Default Re: [DUVIDA] USO DE CPU DO MYSQL

Olá tudo bem , olha minha opnião própria, o MysQL seus dados são armazenados e solicitados em milissegundos, usar o OnPlayerUpdate , seria desnecessário , caso queira fazer atualizações instantâneas , tem outras possibilidades, eu particularmente , não faria isso, evite usar OnPlayerUpdate . Conflito direto creio que não vai dar pois, o banco de dados esta pronto para receber atualizações , o seu problema vai ser em sua maquina, ela suporte constantes atualizações ?
DanielMatrix is offline   Reply With Quote
Old 12/02/2019, 01:09 PM   #3
JacKPanK
Big Clucker
 
JacKPanK's Avatar
 
Join Date: Dec 2015
Location: Brasil - Ceará
Posts: 106
Reputation: 1
Default Re: [DUVIDA] USO DE CPU DO MYSQL

Quote:
Originally Posted by DanielMatrix View Post
Olá tudo bem , olha minha opnião própria, o MysQL seus dados são armazenados e solicitados em milissegundos, usar o OnPlayerUpdate , seria desnecessário , caso queira fazer atualizações instantâneas , tem outras possibilidades, eu particularmente , não faria isso, evite usar OnPlayerUpdate . Conflito direto creio que não vai dar pois, o banco de dados esta pronto para receber atualizações , o seu problema vai ser em sua maquina, ela suporte constantes atualizações ?
Eu acho que não, irei usar uma VPS simples em Linux.

Eu estava pensando nisso:
Cria-se uma variável com a quantia em dinheiro retirado do banco de dados ao efetuar o login;
Houve uma mudança na quantidade do dinheiro no GivePlayerMoney ou mais provável HACK;
O OnPlayerUpdate identifica a mudança, verifica se esse valor do GetPlayerMoney é igual ao da variável, se for ele conecta ao banco de dados e muda a informação do mesmo com a quantia da variável, caso a mudança do valor não estiver igual a variável ele não irá mudar nada no banco de dados e irá resetar o dinheiro para o valor da variável.

Ou teria uma maneira mais eficiente pra isso sem ser o OnPlayerUpdate? Se sim. Qual?
JacKPanK is offline   Reply With Quote
Old 12/02/2019, 01:20 PM   #4
DanielMatrix
Big Clucker
 
Join Date: Sep 2018
Posts: 91
Reputation: 9
Default Re: [DUVIDA] USO DE CPU DO MYSQL

Vou lhe da uma logica.
Você criou o sistema de registro etc.. o jogador logou ganhou R$500,00 por ter se registrado, logo em seguida ele desconecta , eu salvo alguns dados ao jogador ao desconectar, dentre ele o dinheiro , agora vamos a questão , o jogador loga , nisso eu uso a função SELECT d MysQL , verifico a quantidade que esta armazenada no Banco de Dados, depois uso o cache_get_value_int(0, "Dinheiro",Suavariavel); para setar,
a questão do "hack" tem que ver outras possibilidades, não conheço 100% as nativas do samp em si.
DanielMatrix is offline   Reply With Quote
Old 12/02/2019, 01:30 PM   #5
G4M30V3R
Big Clucker
 
G4M30V3R's Avatar
 
Join Date: Jun 2016
Posts: 86
Reputation: 17
Default Re: [DUVIDA] USO DE CPU DO MYSQL

Essa ideia é absurdamente bizarra!
OnPlayerUpdate é chamado centenas de vezes por segundo. Calcula isso com uma quantidade significativa de jogadores...

A lógica mais viável é criar um timer de 1s que verifica se o valor da variável que contém o dinheiro é diferente do que consta no HUD do dinheiro.
Isso é algo extremamente básico, otimizado e mais funcional de que verificar a cada passo que o jogador dá!
G4M30V3R is offline   Reply With Quote
Old 12/02/2019, 02:17 PM   #6
JacKPanK
Big Clucker
 
JacKPanK's Avatar
 
Join Date: Dec 2015
Location: Brasil - Ceará
Posts: 106
Reputation: 1
Default Re: [DUVIDA] USO DE CPU DO MYSQL

Quote:
Originally Posted by G4M30V3R View Post
Essa ideia é absurdamente bizarra!
OnPlayerUpdate é chamado centenas de vezes por segundo. Calcula isso com uma quantidade significativa de jogadores...

A lógica mais viável é criar um timer de 1s que verifica se o valor da variável que contém o dinheiro é diferente do que consta no HUD do dinheiro.
Isso é algo extremamente básico, otimizado e mais funcional de que verificar a cada passo que o jogador dá!
@EDIT

Então qual timer eu deveria usar para atualizar as informações do player? SetTimer no OnGameModeInit ou no OnPlayerConnect? e qual seria o SetTimer ou o SetTimerEx?
JacKPanK is offline   Reply With Quote
Old 12/02/2019, 02:25 PM   #7
Koplan
Big Clucker
 
Koplan's Avatar
 
Join Date: Aug 2016
Location: 127.0.0.1
Posts: 111
Reputation: 32
Default Re: [DUVIDA] USO DE CPU DO MYSQL

Quote:
Originally Posted by JacKPanK View Post
Então qual timer eu deveria usar para atualizar as informações do player? SetTimer no OnGameModeInit, ou o SetTimerEx no OnPlayerConnect?
OnPlayerConnect.
__________________
Koplan is online now   Reply With Quote
Old 12/02/2019, 02:38 PM   #8
IsaacAsimov
Little Clucker
 
IsaacAsimov's Avatar
 
Join Date: Jan 2019
Location: :X
Posts: 17
Reputation: 0
Thumbs down QUE IDÉIA ABSURDA. não use timer, muito menos OPU()

cara para que salvar os dados o tempo todo?

salve somente quando houver atualizações (salve o dinheiro quando comprar algo ou ganhar)
salve as posições quando desconectar do servidor.

simples.
IsaacAsimov is offline   Reply With Quote
Old 12/02/2019, 04:05 PM   #9
RenanMsV
Big Clucker
 
Join Date: May 2016
Posts: 101
Reputation: 4
Default Re: [DUVIDA] USO DE CPU DO MYSQL

Ja tem um sistemas de ant-money-haack aqui no forum, da uma pesquisada
__________________
RenanMsV is online now   Reply With Quote
Old 12/02/2019, 05:56 PM   #10
Malandrin
Big Clucker
 
Malandrin's Avatar
 
Join Date: Jun 2018
Posts: 163
Reputation: 6
Default Re: [DUVIDA] USO DE CPU DO MYSQL

Como muitos disseram aí em cima, NÃO coloque na update, somente em últimos casos, por toda via use um timer. E também não há necessidade de você atualizar toda hora(se vc fizer isso poderá gerar lag no seu servidor), eu recomendo você criar um timer que irá salvar os dados a cada 5/10 minutos, e também salvar ao player desconectar.
__________________
Desenvolvendo um servidor.
Coming soon
Malandrin is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Dúvida em mysql Lontresca Português/Portuguese 3 14/10/2017 05:16 AM
[Ajuda] Duvida Mysql MorteAmerica Português/Portuguese 4 02/03/2017 02:53 PM
[Ajuda] Duvida MySQL Wellington1999 Português/Portuguese 4 24/05/2016 12:31 PM
[Off] [DUVIDA] mysql StarPeens Português/Portuguese 8 08/03/2015 10:45 PM
[Ajuda] Duvida com MySql Caio_Freeze Português/Portuguese 6 19/09/2013 04:53 PM


All times are GMT. The time now is 09:38 PM.


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