SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 30/10/2018, 03:57 PM   #1
axellech
Big Clucker
 
Join Date: Mar 2016
Posts: 198
Reputation: 0
Default Update no MYSQL em "IsConnected"

Bom, para fins de algumas coisas dentro do gamemode estou usando a definição "IsConnected"
identificando se o jogador está on/off após login.

Eu estava tentando fazer algo na ucp do servidor, mas precisa que o IsConnected fique igual a 1 na base de dados quando o player logar, e 0 quando deslogar.
Criei a coluna IsConnected e tals, mas não sei que código devo fazer para da o update na base de dados quando o player logar/sair, alguém pode me ajudar? ou me passar alguma base?
axellech is offline   Reply With Quote
Old 30/10/2018, 04:07 PM   #2
ipsLuan
High-roller
 
ipsLuan's Avatar
 
Join Date: Feb 2013
Location: Ilhéus, BA
Posts: 4,227
Reputation: 314
Default Re: Update no MYSQL em "IsConnected"

Simples.
Em OnPlayerConnect/OnPlayerSpawn, faça um update da coluna e coloque 1.
Em OnPlayerDisconnect, faça um update da coluna e coloque 0.
__________________
O fim.
ipsLuan is offline   Reply With Quote
Old 30/10/2018, 04:37 PM   #3
axellech
Big Clucker
 
Join Date: Mar 2016
Posts: 198
Reputation: 0
Default Re: Update no MYSQL em "IsConnected"

Quote:
Originally Posted by ipsLuan View Post
Simples.
Em OnPlayerConnect/OnPlayerSpawn, faça um update da coluna e coloque 1.
Em OnPlayerDisconnect, faça um update da coluna e coloque 0.
Bem, usei

PHP Code:
    mysql_format(g_WritesaveQuerysizeof(saveQuery), "UPDATE accounts SET IsConnected = 1");
    
mysql_pquery(g_WritesaveQuery); 
em "OnPlayerConnect/OnPlayerSpawn", e funcionou normal, digo, esta atualizando na base de dados.
Mas tenho uma duvida.

Eu simplesmente coloquei o código em "OnPlayerConnect/OnPlayerSpawn", não sei como funciona, mas fiquei pensando aqui, será que há alguma possibilidade de tipo, eu logo e seta 1 "Na minha conta", e outra pessoa em outra conta desloga e seta 0 na minha conta? pq n tem identificação de playerid, bem, nem sei se precisa.
Mas pode acontecer isso?
axellech is offline   Reply With Quote
Old 30/10/2018, 04:56 PM   #4
ipsLuan
High-roller
 
ipsLuan's Avatar
 
Join Date: Feb 2013
Location: Ilhéus, BA
Posts: 4,227
Reputation: 314
Default Re: Update no MYSQL em "IsConnected"

Quote:
Originally Posted by axellech View Post
Bem, usei

PHP Code:
    mysql_format(g_WritesaveQuerysizeof(saveQuery), "UPDATE accounts SET IsConnected = 1");
    
mysql_pquery(g_WritesaveQuery); 
em "OnPlayerConnect/OnPlayerSpawn", e funcionou normal, digo, esta atualizando na base de dados.
Mas tenho uma duvida.

Eu simplesmente coloquei o código em "OnPlayerConnect/OnPlayerSpawn", não sei como funciona, mas fiquei pensando aqui, será que há alguma possibilidade de tipo, eu logo e seta 1 "Na minha conta", e outra pessoa em outra conta desloga e seta 0 na minha conta? pq n tem identificação de playerid, bem, nem sei se precisa.
Mas pode acontecer isso?
Lógico que precisa.
O mais correto é você guardar essa informação na tabela onde você salva as informações do jogador.
Como você está fazendo o salvamento dos dados do jogador?

Seria algo mais ou menos assim:
PHP Code:
UPDATE contas SET conectado=1 WHERE jogador='%s' 
__________________
O fim.
ipsLuan is offline   Reply With Quote
Old 30/10/2018, 06:17 PM   #5
WLSF
High-roller
 
Join Date: Aug 2011
Posts: 3,542
Reputation: 783
Default Re: Update no MYSQL em "IsConnected"

Quote:
Originally Posted by axellech View Post
Bem, usei

PHP Code:
    mysql_format(g_WritesaveQuerysizeof(saveQuery), "UPDATE accounts SET IsConnected = 1");
    
mysql_pquery(g_WritesaveQuery); 
em "OnPlayerConnect/OnPlayerSpawn", e funcionou normal, digo, esta atualizando na base de dados.
Mas tenho uma duvida.

Eu simplesmente coloquei o código em "OnPlayerConnect/OnPlayerSpawn", não sei como funciona, mas fiquei pensando aqui, será que há alguma possibilidade de tipo, eu logo e seta 1 "Na minha conta", e outra pessoa em outra conta desloga e seta 0 na minha conta? pq n tem identificação de playerid, bem, nem sei se precisa.
Mas pode acontecer isso?
UPDATE e DELETE sem a clausula WHERE significa que você irá atualizar ou deletar todos os dados que existem no banco.

Você precisa seguir o modelo que o Luan mostrou acima, suponha que você tenha criado uma tabela que salve os usuários:

Code:
//   Users
//===============
//   name   |   connected
// axellech |         1
//   WLSF   |         0
//
Aonde connected seria a coluna que representa o seu código.


Você pode optar também por ter uma tabela separada pra marcar quem conecta ou quem desconecta, e adicionar o usuário como foreign_key nela, assim você meio que consegue fazer um histórico de login. (bem bacana)



Code:
//   Users
//================
//      id      |     name   
//-----------------------------
//       0      |   axellech 
//       1      |     WLSF 
//

//   history
//=================================
//    id    |     connected     |     created_at  
//----------------------------------------------------------
//    0     |          1            |   30/10/2018 10:17 
//    0     |          0            |   30/10/2018 15:17
//
No exemplo de cima você consegue ver que o usuário logou hoje as 10:17 e deslogou as 15:17.
WLSF is offline   Reply With Quote
Old 31/10/2018, 12:56 AM   #6
axellech
Big Clucker
 
Join Date: Mar 2016
Posts: 198
Reputation: 0
Default Re: Update no MYSQL em "IsConnected"

Acho que consegui, vlw.
axellech is offline   Reply With Quote
Old 31/10/2018, 05:27 PM   #7
BrunnoFdc
Little Clucker
 
Join Date: Mar 2018
Location: Porto Alegre, RS, Brasil
Posts: 43
Reputation: 3
Default Re: Update no MYSQL em "IsConnected"

Só pra saber: Por que você não usa o Query do SAMP no site pra ver se o jogador está online ou não?

Ai não precisa ficar atualizando no MySQL toda vez, economizando bastante trabalho.
BrunnoFdc is offline   Reply With Quote
Old 31/10/2018, 05:32 PM   #8
Locky_
High-roller
 
Locky_'s Avatar
 
Join Date: Jul 2012
Posts: 1,607
Reputation: 321
Default Re: Update no MYSQL em "IsConnected"

Quote:
Originally Posted by BrunnoFdc View Post
Só pra saber: Por que você não usa o Query do SAMP no site pra ver se o jogador está online ou não?

Ai não precisa ficar atualizando no MySQL toda vez, economizando bastante trabalho.
Acho que por sí só, alterando no MySQL apenas para conectado quando ele conectar, e alterar o status quando desconectar, ainda é vantagem.

Isto porque, a Query de informação SA-MP só é funcional caso tenha menos de 100 jogadores online, além do fato que falha muitas das vezes (as vezes não obtem os dados corretamente).

Então, se ele usar o MySQL para apenas isto, não seria vantagem, porém pra armazenar todas as informações do jogador + status online/offline, ainda vejo vantagem. Poderia usar algo semelhante apenas para não ocorrer falso/positivo (servidor cair por exemplo e ainda constar que o jogador está online).
Locky_ is offline   Reply With Quote
Old 31/10/2018, 06:49 PM   #9
BrunnoFdc
Little Clucker
 
Join Date: Mar 2018
Location: Porto Alegre, RS, Brasil
Posts: 43
Reputation: 3
Default Re: Update no MYSQL em "IsConnected"

Quote:
Originally Posted by Locky_ View Post
Acho que por sí só, alterando no MySQL apenas para conectado quando ele conectar, e alterar o status quando desconectar, ainda é vantagem.

Isto porque, a Query de informação SA-MP só é funcional caso tenha menos de 100 jogadores online, além do fato que falha muitas das vezes (as vezes não obtem os dados corretamente).

Então, se ele usar o MySQL para apenas isto, não seria vantagem, porém pra armazenar todas as informações do jogador + status online/offline, ainda vejo vantagem. Poderia usar algo semelhante apenas para não ocorrer falso/positivo (servidor cair por exemplo e ainda constar que o jogador está online).

Ahh, saquei.
Saco isso mano, muita coisa boa do SA-MP não funciona direito. Enfim, não vamos ficar saindo do foco do topico.
BrunnoFdc is offline   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
[MYSQL R40] cache_get_value_name expected token: ";", but found "]" iSanchez Scripting Help 3 14/04/2017 07:08 PM
MySQL Error: Function is not registered "mysql_connect" "mysql_close" iJohann3s Scripting Help 5 26/06/2016 09:28 AM
undefined symbol "UPDATE" - MYSQL DarkLouis Scripting Help 18 10/05/2015 08:54 PM
[Ajuda] Mysql "UPDATE" query Mr.Hardy Português/Portuguese 2 06/01/2014 02:02 PM
undefined symbol "UPDATE" mysql Face9000 Scripting Help 4 30/12/2013 09:52 AM


All times are GMT. The time now is 06:36 AM.


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