[Ajuda] Update no MYSQL em "IsConnected"
#1

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?
Reply
#2

Simples.
Em OnPlayerConnect/OnPlayerSpawn, faзa um update da coluna e coloque 1.
Em OnPlayerDisconnect, faзa um update da coluna e coloque 0.
Reply
#3

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?
Reply
#4

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' 
Reply
#5

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.
Reply
#6

Acho que consegui, vlw.
Reply
#7

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.
Reply
#8

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).
Reply
#9

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)