11/12/2021 10:54
(11/12/2021 01:21)xbruno1000x Escreveu: Agora eu vi que corrigiu.
Tente dessa forma:
Código:new bool:hasHS[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
hasHS[playerid] = 0;
}
if(bodypart == 9)
{
if(!hasHS[damagedid])
{
hasHS[damagedid] = true;
SetTimerEx("HeadshotSys", 1200, false, "ii", playerid, damagedid);
}
}
forward HeadshotSys(playerid, damagedid);
public HeadshotSys(playerid, damagedid)
{
if(hasHS[damagedid])
{
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);
hasHS[damagedid] = false;
}
}
O player ainda chamará a public duas vezes. Porém, na segunda vez, a if irá barra o texto de ser enviado novamente em função da hasHS ter se tornado falsa.
warning:
Código PHP:
warning 213: tag mismatch
linha no onplayerconnect:
Código PHP:
hasHS[playerid] = 0;