Update no MYSQL em "IsConnected" -
axellech - 30.10.2018
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?
Re: Update no MYSQL em "IsConnected" -
ipsLuan - 30.10.2018
Simples.
Em OnPlayerConnect/OnPlayerSpawn, faзa um update da coluna e coloque 1.
Em OnPlayerDisconnect, faзa um update da coluna e coloque 0.
Re: Update no MYSQL em "IsConnected" -
axellech - 30.10.2018
Quote:
Originally Posted by ipsLuan
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_Write, saveQuery, sizeof(saveQuery), "UPDATE accounts SET IsConnected = 1");
mysql_pquery(g_Write, saveQuery);
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?
Re: Update no MYSQL em "IsConnected" -
ipsLuan - 30.10.2018
Quote:
Originally Posted by axellech
Bem, usei
PHP Code:
mysql_format(g_Write, saveQuery, sizeof(saveQuery), "UPDATE accounts SET IsConnected = 1");
mysql_pquery(g_Write, saveQuery);
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'
Re: Update no MYSQL em "IsConnected" -
WLSF - 30.10.2018
Quote:
Originally Posted by axellech
Bem, usei
PHP Code:
mysql_format(g_Write, saveQuery, sizeof(saveQuery), "UPDATE accounts SET IsConnected = 1");
mysql_pquery(g_Write, saveQuery);
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.
Re: Update no MYSQL em "IsConnected" -
axellech - 31.10.2018
Acho que consegui, vlw.
Re: Update no MYSQL em "IsConnected" -
BrunnoFdc - 31.10.2018
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.
Re: Update no MYSQL em "IsConnected" -
Locky_ - 31.10.2018
Quote:
Originally Posted by BrunnoFdc
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).
Re: Update no MYSQL em "IsConnected" -
BrunnoFdc - 31.10.2018
Quote:
Originally Posted by Locky_
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.