Anti-jogo não funciona ao relogar - fear - 04/01/2024
Boa noite. estou com o seguinte problema.. o player esta saindo rendido, algemado ou em perseguição porém.. o anti-jogo não esta aplicando a punição da cadeia ao relogar depois que o mesmo da /q em ação.. percebi que dentro do .txt no scriptfiles dos presos ele da como PRESO: 0 se eu coloco PRESO: 1 ele aplica a punição porém ele fica na tela e não da o tempo certo fica flutuando o player.. devo colocar isso em onplayerconnect? pois esta em onplayerdisconnect.
Código PHP: if(PlayerInfo[playerid][Rendido] == 1) { SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor Rendido!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true; ResetPlayerWeapons(playerid);
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo."); DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica."); DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]); DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60); DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30); DOF2_SaveFile(); } switch(PlayerInfo[playerid][pers]) { case 1,2: { SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor em Perseguicao!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true; ResetPlayerWeapons(playerid);
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo."); DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica."); DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]); DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60); DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30); DOF2_SaveFile(); } } if(PlayerInfo[playerid][Algemado] == 1) { SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor Algemado!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo."); DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica."); DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]); DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60); DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30); DOF2_SaveFile(); }
RE: Anti-jogo não funciona ao relogar - xbruno1000x - 05/01/2024
Código: DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
Tem alguma coisa de errada com esse salvamento, pois ele seta um valor de 1800(30 vezes 60) na variável "Preso". Porém, apesar disso, você diz estar sendo inserido o valor 0.
Use o printf para fazer um debug dos valores que estão sendo salvos e verificar se estão entrando corretamente.
RE: Anti-jogo não funciona ao relogar - fear - 13/01/2024
(05/01/2024 02:16)xbruno1000x Escreveu: Código: DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
Tem alguma coisa de errada com esse salvamento, pois ele seta um valor de 1800(30 vezes 60) na variável "Preso". Porém, apesar disso, você diz estar sendo inserido o valor 0.
Use o printf para fazer um debug dos valores que estão sendo salvos e verificar se estão entrando corretamente.
Boa tarde. poderia me ajudar com esse printf.. eu não sei muito aplicar debug
RE: Anti-jogo não funciona ao relogar - xbruno1000x - 13/01/2024
Tente assim:
Código: if(PlayerInfo[playerid][Rendido] == 1)
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor Rendido!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
ResetPlayerWeapons(playerid);
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
switch(PlayerInfo[playerid][pers])
{
case 1,2:
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor em Perseguicao!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
ResetPlayerWeapons(playerid);
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
}
if(PlayerInfo[playerid][Algemado] == 1)
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor Algemado!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
Quando você realizar uma prisão, serão mostrados no log os resultados. Faça os testes in-game e veja os resultados.
RE: Anti-jogo não funciona ao relogar - fear - 13/01/2024
(13/01/2024 19:54)xbruno1000x Escreveu: Tente assim:
Código: if(PlayerInfo[playerid][Rendido] == 1)
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor Rendido!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
ResetPlayerWeapons(playerid);
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
switch(PlayerInfo[playerid][pers])
{
case 1,2:
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor em Perseguicao!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
ResetPlayerWeapons(playerid);
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
}
if(PlayerInfo[playerid][Algemado] == 1)
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor Algemado!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
Quando você realizar uma prisão, serão mostrados no log os resultados. Faça os testes in-game e veja os resultados.
boa noite.
segue o resultado:
Código PHP: [21:02:26] 'Preso' = , 'Temp' = RENDIDO [21:02:26] 'Preso' = , 'Temp' = EM PERSEGUIÇÃO [21:05:43] 'Preso' = , 'Temp' = ALGEMADO
como faço pra resolver?
RE: Anti-jogo não funciona ao relogar - xbruno1000x - 14/01/2024
Eu esqueci de colocar as variáveis, por isso saiu vazio.
Código: Printf("'Preso' = %d, 'Temp' = %d", DOF2_GetInt(GetPlayerPresos(playerid),"Preso"), DOF2_GetInt(GetPlayerPresos(playerid),"Temp"));
Substitua e tente novamente
RE: Anti-jogo não funciona ao relogar - fear - 14/01/2024
(14/01/2024 14:47)xbruno1000x Escreveu: Eu esqueci de colocar as variáveis, por isso saiu vazio.
Código: Printf("'Preso' = %d, 'Temp' = %d", DOF2_GetInt(GetPlayerPresos(playerid),"Preso"), DOF2_GetInt(GetPlayerPresos(playerid),"Temp"));
Substitua e tente novamente
Resultado:
Código PHP: [18:06:19] 'Preso' = 1800, 'Temp' = 30 [18:06:19] 'Preso' = 1800, 'Temp' = 30 [18:10:12] 'Preso' = 1800, 'Temp' = 30
RE: Anti-jogo não funciona ao relogar - xbruno1000x - 15/01/2024
(14/01/2024 18:11)fear Escreveu: (14/01/2024 14:47)xbruno1000x Escreveu: Eu esqueci de colocar as variáveis, por isso saiu vazio.
Código: Printf("'Preso' = %d, 'Temp' = %d", DOF2_GetInt(GetPlayerPresos(playerid),"Preso"), DOF2_GetInt(GetPlayerPresos(playerid),"Temp"));
Substitua e tente novamente
Resultado:
Código PHP: [18:06:19] 'Preso' = 1800, 'Temp' = 30 [18:06:19] 'Preso' = 1800, 'Temp' = 30 [18:10:12] 'Preso' = 1800, 'Temp' = 30
Os valores estão sendo salvos certinhos, o que indica que o problema não está aí. Você diz que quando o player desconecta o valor de "Preso" fica igual a 0, mas nessa public ao menos está salvando os 1800. Tem alguma coisa relacionada a esse sistema na OnPlayerDisconnect?
RE: Anti-jogo não funciona ao relogar - fear - 15/01/2024
(13/01/2024 19:54)xbruno1000x Escreveu: Tente assim:
Código: if(PlayerInfo[playerid][Rendido] == 1)
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor Rendido!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
ResetPlayerWeapons(playerid);
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
switch(PlayerInfo[playerid][pers])
{
case 1,2:
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor em Perseguicao!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
ResetPlayerWeapons(playerid);
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
}
if(PlayerInfo[playerid][Algemado] == 1)
{
SendClientMessageToAll(Vermelho,"| ZONE - Admin | %s[%d] foi punido automaticamente por sair do servidor Algemado!",pName[playerid],playerid);
PlayerInfo[playerid][preso]=true;
DOF2_SetString(GetPlayerPresos(playerid),"Motivo","Anti-Jogo.");
DOF2_SetString(GetPlayerPresos(playerid),"Resp","Punicao Automatica.");
DOF2_SetBool(GetPlayerPresos(playerid),"Abuser",PlayerInfo[playerid][preso]);
DOF2_SetInt(GetPlayerPresos(playerid),"Preso",30*60);
DOF2_SetInt(GetPlayerPresos(playerid),"Temp",30);
Printf("'Preso' = %d, 'Temp' = %d");
DOF2_SaveFile();
}
Quando você realizar uma prisão, serão mostrados no log os resultados. Faça os testes in-game e veja os resultados. Isso aqui fica no onplayerdisconnect
RE: Anti-jogo não funciona ao relogar - xbruno1000x - 15/01/2024
(15/01/2024 14:04)fear Escreveu: Isso aqui fica no onplayerdisconnect
E como essas informações estão sendo carregadas? Como está saindo no arquivo de salvamento?
|