Portal SAMP
[Ajuda] verificar agachado - 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] verificar agachado (/showthread.php?tid=3732)



verificar agachado - diggao - 29/06/2023

como faço pra verificar se o player está agachado?


RE: verificar agachado - xbruno1000x - 29/06/2023

Dessa forma:
Código:
//Na OnPlayerKeyStateChange
if (newkeys == KEY_CROUCH){
printf("Está agachado");
}



RE: verificar agachado - diggao - 29/06/2023

Boa noite, Brunno.

Estou usado um sistema de Surf ( detectar se o player está em cima do veiculo ) mas em algumas situações q n tem nada a ver com surf ele detecta como se fosse o surf:

Ex: O player agachado ele detecta como surf, a animação que faz ao entrar no veiculo até sentar no banco se o timer executar na hora disso ele detecta como Surf tb, eu consegui colocar caso estiver trabalhando ele ignorar e retornar mas esses dois problemas de Agachado e do veiculo n consegui ignorar.



callback CheckSurfing(newkeys,vehicleid,oldstate,newstate)
{
foreach(new i : Player)
{
if (!PlayerData[i][Logado])
continue;

new surfingVehicleId = GetPlayerSurfingVehicleID(i);
if (surfingVehicleId == INVALID_VEHICLE_ID)
{
SendClientMessage(i, corError, "Voce nao esta surfando");
}else
{
if (!PlayerData[i][Logado])
continue;

if(GetPlayerState(i) == KEY_CROUCH) // está detectando e jogando pra cima :/
return 1;

if(GetPlayerState(i) == PLAYER_STATE_ENTER_VEHICLE_DRIVER) // está detectando e jogando pra cima :/
return 1;

if(ProduzirInfo[i][Trabalhando]) // está retornando e nao detecta
return 1;

if(ProduzirInfo2[i][Trabalhando2]) // está retornando e nao detecta
return 1;


SendClientMessage(i, corError, "Voce esta surfando");
static Float: Pos[4];
GetPlayerPos(i, Pos[0], Pos[1], Pos[2]);
SetPlayerPos(i, Pos[0], Pos[1], Pos[2]+3.0);
}
}
return 1;
}