Portal SAMP
[Ajuda] HS com player de ESC - 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] HS com player de ESC (/showthread.php?tid=1906)



HS com player de ESC - fear - 07/12/2021

boa noite. estou com um problema no sistema de HS que quando o player esta de esc o outro player atira na cabeça aparece a frase de headshot e quando o player que tomo esse tiro volta do esc ele morre sendo que nem foi HS pois ele estava de esc. teria como evitar do player morrer de HS estando de ESC e a frase so aparece quando o player estiver ativo tb pois muitos abusam desse bug e flooda o chat e atrabalho o jogador.

OBS: ISSO ACONTECE TANTO NOS MOBILE QUANTO PARA PLAYER DE PC

SISTEMA DE HS
Código PHP:
public OnPlayerGiveDamage(playeriddamagedidFloat:amountweaponidbodypart)
{
    if(
bodypart == 9)
    {
    new 
string[128];
    
format(stringsizeof(string), "** ~> {FFF000}%s{A9A9A9} Deu um {FF0000}headshot {A9A9A9}no jogador {FFF000}%s{A9A9A9}.",  Nome(playerid), Nome(damagedid), playerid);
    
SendClientMessageToAll(0xb9eec0AAstring);
    
SetPlayerHealth(damagedid0.0);
    
SetPlayerArmour(damagedid0);
    } 



RE: HS com player de ESC - xbruno1000x - 07/12/2021

Use a callbacks.inc para a solução:
https://github.com/emmet-jones/New-SA-MP-callbacks/blob/master/callbacks.inc

Código:
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart)
{
    if(!IsPlayerPaused(damagedid)) //verifica se o jogador que levou dano não está de esc
    {
        if(bodypart == 9)
        {
            new string[128];
            format(string, sizeof(string), "** ~> {FFF000}%s{A9A9A9} Deu um {FF0000}headshot {A9A9A9}no jogador {FFF000}%s{A9A9A9}.",  Nome(playerid), Nome(damagedid), playerid);
            SendClientMessageToAll(0xb9eec0AA, string);
            SetPlayerHealth(damagedid, 0.0);
            SetPlayerArmour(damagedid, 0);
        }
    }



RE: HS com player de ESC - fear - 07/12/2021

(07/12/2021 20:15)xbruno1000x Escreveu: Use a callbacks.inc para a solução:
https://github.com/emmet-jones/New-SA-MP-callbacks/blob/master/callbacks.inc

Código:
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart)
{
    if(!IsPlayerPaused(damagedid)) //verifica se o jogador que levou dano não está de esc
    {
        if(bodypart == 9)
        {
            new string[128];
            format(string, sizeof(string), "** ~> {FFF000}%s{A9A9A9} Deu um {FF0000}headshot {A9A9A9}no jogador {FFF000}%s{A9A9A9}.",  Nome(playerid), Nome(damagedid), playerid);
            SendClientMessageToAll(0xb9eec0AA, string);
            SetPlayerHealth(damagedid, 0.0);
            SetPlayerArmour(damagedid, 0);
        }
    }

resolveu... porém o player de esc ainda perde vida mesmo estando de esc.


RE: HS com player de ESC - xbruno1000x - 08/12/2021

(07/12/2021 20:25)fear Escreveu: resolveu... porém o player de esc ainda perde vida mesmo estando de esc.

Sim, pois esse código é apenas para headshot.

Tente:
Código:
if(IsPlayerPaused(damagedid)) return 0;