Portal SAMP
[Ajuda] Detectar Localização - 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] Detectar Localização (/showthread.php?tid=3178)



Detectar Localização - yoda - 14/01/2023

Olá amigos, conhecem algum plugin que conseguimos detectar se o player está em baixo da terra? Ou voando?


RE: Detectar Localização - ziiQz - 14/01/2023

Existem vários anti-cheats bem completos, alguns até postados aqui na board, mas, você poderia fazer uma verificação com base nos anims para os players que estão voando..

Por exemplo:

Citar:Estas são as animações de paraquedas, as duas padrões, quando o player usa um fly de s0beit por exemplo, é aplicado estas animações (ou era, no meu tempo de samp kkk)
if(GetPlayerWeapon(playerid) != WEAPON_PARACHUTE && GetPlayerAnimationIndex(playerid) == 959) return Kick(playerid);
if(GetPlayerWeapon(playerid) != WEAPON_PARACHUTE && GetPlayerAnimationIndex(playerid) == 958) return Kick(playerid);

Estas são as animações de nadar, muito utilizada por alguns cleos, ví em um servidor de DM esses dias.
if(!IsPlayerInWater(playerid) && GetPlayerAnimationIndex(playerid) == 1539) return Kick(playerid);
if(!IsPlayerInWater(playerid) && GetPlayerAnimationIndex(playerid) == 1538) return Kick(playerid);


Baseando-se que o player vai estar usando um cheat que force-o a utilizar uma animação, será muito eficaz. Teste, se funcionar, use como base para uma adaptação melhor, crie uma checagem e aplique-a, se tiver nas condições citadas acima, tomará um KICK.



Agora falando sobre estar abaixo do limite do chão.
Existe um plugin chamado MapAndreas. Você pode utilizar uma função para detectar se a coordenada Z do player é menor que a detectada pelo plugin, assim.. Cuidado, as vezes os players caem do mapa ao entrar em alguns interiores ou apenas por um carro passar em cima dele, então, a adaptação terá que ser feita de uma forma que aceite estas condições.


RE: Detectar Localização - yoda - 14/01/2023

A minha questão é o player de baixo da terra, e fica sem anim


RE: Detectar Localização - xbruno1000x - 14/01/2023

O plugin utilizado para isso é o MapAndreas. Ele consegue retornar pra você a coordenada do chão com o X e o Y do jogador.

Exemplo:
Código:
new Float:pos;
    if (MapAndreas_FindAverageZ(20.001, 25.006, pos)) {
        // Posição do chão ficará na variável 'pos'
    }
Se a coordenada Z do jogador for menor que pos, então ele está abaixo do chão.


Link:
https://github.com/philip1337/samp-plugin-mapandreas


RE: Detectar Localização - yoda - 14/01/2023

Bruno obrigado pela ajuda e humildade, de fato eu não tinha o conhecimento sobre esse sistema!


RE: Detectar Localização - xbruno1000x - 14/01/2023

Qualquer postagem de bate boca, com ou sem razão, serão deletadas. Todos nós somos adultos e esse tipo de intriguinha não soma nada para nossa comunidade, então não faz sentido.