Portal SAMP
[Ajuda] Jogador loga com váriveis de outro. - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Jogador loga com váriveis de outro. (/showthread.php?tid=2755)



Jogador loga com váriveis de outro. - TheGuilherme020 - 03/09/2022

Bom, eu percebi um bug no meu servidor que não ao certo como corrigi-lo.
Sempre que um jogador desloga do servidor, e se outro jogador logar depois as  vezes ele recebe as váriaveis de um jogador que tenha deslogado.
Tem como corrigir isso com algum desbug?



RE: Jogador loga com váriveis de outro. - Sants - 03/09/2022

Desconheço um método eficaz que detecte e zere as variáveis pra você, até arrisco dizer que você terá de encontrá-las. Contudo, sugiro criar o hábito de assim que criar uma variável para um player, lembrar de zerá-la assim que o player desconectar.

Recomendo também zerar todas as variáveis que tenha [MAX_PLAYERS] ou que use [playerid]


RE: Jogador loga com váriveis de outro. - TheGuilherme020 - 03/09/2022

(03/09/2022 00:18)Sants Escreveu: Desconheço um método eficaz que detecte e zere as variáveis pra você, até arrisco dizer que você terá de encontrá-las. Contudo, sugiro criar o hábito de assim que criar uma variável para um player, lembrar de zerá-la assim que o player desconectar.

Recomendo também zerar todas as variáveis que tenha [MAX_PLAYERS] ou que use [playerid]

Tá bom meu mano. Vou começar esse hábito, agradeço o auxilio.


RE: Jogador loga com váriveis de outro. - razt - 03/09/2022

reseta todas as variáveis no OnPlayerConnect.


RE: Jogador loga com váriveis de outro. - xbruno1000x - 03/09/2022

As variáveis são atreladas a um playerid, que nada mais é que o ID que o player utiliza no servidor. Se eu sou ID 0, desconecto e as minhas variaveis não são zeradas, o próximo jogador irá herdá-las.

Existem algumas maneiras interessantes de zerar como:

Código:
//COLOQUE AS VARIAVEIS NESSA pInfo ABAIXO
enum pInfo
{
    pVariaveis
};
new Player[MAX_PLAYERS][pInfo];

Código:
//Coloque o código abaixo na OnPlayerDisconnect
    new playerInfoRaw[pInfo];
    Player[playerid] = playerInfoRaw;

(OBS: Código retirado de algum tópico aqui do fórum, mas não me recordo qual)


RE: Jogador loga com váriveis de outro. - TheGuilherme020 - 03/09/2022

(03/09/2022 02:25)xbruno1000x Escreveu: As variáveis são atreladas a um playerid, que nada mais é que o ID que o player utiliza no servidor. Se eu sou ID 0, desconecto e as minhas variaveis não são zeradas, o próximo jogador irá herdá-las.

Existem algumas maneiras interessantes de zerar como:

Código:
//COLOQUE AS VARIAVEIS NESSA pInfo ABAIXO
enum pInfo
{
    pVariaveis
};
new Player[MAX_PLAYERS][pInfo];

Código:
//Coloque o código abaixo na OnPlayerDisconnect
    new playerInfoRaw[pInfo];
    Player[playerid] = playerInfoRaw;

(OBS: Código retirado de algum tópico aqui do fórum, mas não me recordo qual)


Obrigado!