[Ajuda] Verificar se o Player esta On [MySQL]
#1

Alguem sabe alguma forma de verificar se o player esta online?, tipo, vai mostrar na info do player no site se ele esta online ou nгo.. ja tentei usando SetTimer, mais n salva os dados se o player estiver off, justamente pq ele esta offline e n tem como pega os dados dele pa salvar, em onplayerdisconnect ja coloquei, so que eu queria algo mais trabalho , tipo si o server cair ou algo do tipo vai fica salvo como q o player esta online.
Reply
#2

Й sу criar uma variбvel.
Reply
#3

Pode fazer uma conexгo direta alterando um valor da tabela usando valor booleano e assim quando ele conectar ou desconectar vc altera para True/False e no site vc filtra somente os que estгo "true" para mostrar no mesmo...
Quanto ao salvamento, utilize no OnPlayerDisconnect e por seguranзa, em casos de crash, pode utilizar um timer de 15 minutos ou mais...
Reply
#4

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Pode fazer uma conexгo direta alterando um valor da tabela usando valor booleano e assim quando ele conectar ou desconectar vc altera para True/False e no site vc filtra somente os que estгo "true" para mostrar no mesmo...
Quanto ao salvamento, utilize no OnPlayerDisconnect e por seguranзa, em casos de crash, pode utilizar um timer de 15 minutos ou mais...
Exatamente, Isto йo bбsico de MySQL nгo й algo difнcil de se fazer
Reply
#5

Exemplos.. ?
Reply
#6

Crie uma variбvel simples cara e aplique ela ao mysql
pawn Код:
new bool: Logado[MAX_PLAYERS];
Vб fazendo modificaзхes pra poder adaptar o cуdigo a sua necessidade

pawn Код:
OnPlayerDisconnect:

Logado[playerid] = false;

Onde o player digita a senha de login:

Logado[playerid] = true;
Sу estou dando exemplos.
Reply
#7

Apenas para complementar na parte do MySQL:

OnPlayerConnect
Код:
mysql_query(Connection, String, sizeof String, "UPDATE `TABLE_USER` SET `LOGADO` = '1' WHERE `NOME_PLAYER` = 'F1N4L'");
OnPlayerDisconnect
Код:
mysql_query(Connection, String, sizeof String, "UPDATE `TABLE_USER` SET `LOGADO` = '0' WHERE `NOME_PLAYER` = 'F1N4L'");
P.S: Nгo leve ao pй da letra, й sу um exemplo...
Reply
#8

Eu quero saber como que atualizo "Logado" (a coluna da tabela), caso o player esteja off, pq qnd o sv cai o OnPlayerDisconnect n atualiza os dados dos mesmos.

@Edit

Dessas coisas eu jб sei, vocкs nгo entenderam a pergunta..
Reply
#9

Quote:
Originally Posted by LosLipe
Посмотреть сообщение
Eu quero saber como que atualizo "Logado" (a coluna da tabela), caso o player esteja off, pq qnd o sv cai o OnPlayerDisconnect n atualiza os dados dos mesmos.

@Edit

Dessas coisas eu jб sei, vocкs nгo entenderam a pergunta..
criar uma callback e usa um settimer, dentro da callback coloque para fazer um UPDATE colocar um settimer para salvar a conta em cada 15 segundos
Reply
#10

Quote:
Originally Posted by ZEDD666
Посмотреть сообщение
criar uma callback e usa um settimer, dentro da callback coloque para fazer um UPDATE colocar um settimer para salvar a conta em cada 15 segundos
Tenha em mente q um servidor nгo terб 1 ou 2 players, terб bem mais e devemos levar isto em consideraзгo, ou seja, lag na certa e sem falar que sobrecarregarб o BD...

Quote:
Originally Posted by LosLipe
Посмотреть сообщение
Eu quero saber como que atualizo "Logado" (a coluna da tabela), caso o player esteja off, pq qnd o sv cai o OnPlayerDisconnect n atualiza os dados dos mesmos.
Supondo que o servidor cair ou mesmo ser finalizado... Podemos fazer uma alteraзгo "global", acredito que se nгo colocar o argumento WHERE farб uma alteraзгo em todas as tabelas, nunca testei, mas vc pode tentar.

Код:
mysql_query(Connection, String, sizeof String, "UPDATE `TABLE_USER` SET `LOGADO` = '0'");
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)