(10/12/2021 00:06)xbruno1000x Escreveu:(09/12/2021 23:59)fear Escreveu:(09/12/2021 23:13)SrBlue Escreveu:(09/12/2021 23:07)fear Escreveu:(09/12/2021 23:04)SrBlue Escreveu: nesse caso de flood, é porque a public é chamada, quando o jogador leva um tiro,
ou seja, sempre que leva um tiro na cabeça ( na bodypart 9 ) reconhece como HS, e por isso o flood no chat.
pra evitar o spam, utilize alguma variável de verificação, preferencial global, que sempre que o jogador da spawn, a variavel vire zero, e quando leva hs, fica 1, e quando tiver ativa, não reconhecer mais outro hs, anular no caso.
não sei fazer isso não kkk sei o basico do basico maninho
código de mão beijada abaixo...
Código://inicio da gm:
new hasHS[MAX_PLAYERS];
// inicio do player connected ( para resetar a var )
public OnPlayerConnect(playerid){
hasHS[playerid] = 0;
}
// na public OnPlayerGiveDamage dentro do bodypary...
if(bodypart == 9){
if(hasHS[damagedid] == 0){
hasHS[damagedid] = 1;
}else{
return 1;
}
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);
}
// no OnPlayerSpawn ( inicio )
public OnPlayerSpawn(playerid){
hasHS[playerid] = 0;
}
coloquei assim:
deu esses erros no gamemode...lembrando que o meu givedamage está em uma include de um sistema que eu paguei então tenho que usar dentro da include pra funcionar.Código PHP: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){
if(hasHS[damagedid] == 0){
hasHS[damagedid] = 1;
}else{
return 1;
}
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);
if(!IsPlayerAutorized_(playerid))
return 0;
if(GetPlayerTeam(playerid) == TEAM_JAIL && GetPlayerTeam(damagedid) == TEAM_JAIL)
return 0;
#if defined police_OnPlayerGiveDamage
police_OnPlayerGiveDamage(playerid, gamagedid, amount, weaponid, bodypart);
#else
if(damagedid != INVALID_PLAYER_ID && !playerDeath[playerid] && !IsPlayerPaused(damagedid))
{
if(!((IsPlayerPolice(playerid) && IsPlayerPCC(damagedid)) || (IsPlayerPolice(damagedid) && IsPlayerPCC(playerid))))
{
new team = random(NO_TEAM);
while(team == TEAM_POLICE || team == TEAM_PCC || team == TEAM_JAIL)
{
team = random(NO_TEAM);
}
playerTakedDamage[damagedid] = playerid;
playerTeam[damagedid] = GetPlayerTeam(damagedid);
playerTeam[playerid] = GetPlayerTeam(playerid);
SetPlayerTeam(playerid, team);
SetPlayerTeam(damagedid, team);
}
}
return 1;
}
ERROS:
Código PHP:error 017: undefined symbol "CreateGlobalTDPolice"
undefined symbol "GetMembersPCC"
undefined symbol "Procurar"
undefined symbol "IsPlayerInArea"
undefined symbol "IsPlayerAutorized_"
error 017: undefined symbol "hasHS"
undefined symbol "hasHS"
warning 217: loose indentation
undefined symbol "IsPlayerAutorized_"
invalid expression, assumed zero
function "OnPlayerText" is not implemented
undefined symbol "text"
undefined symbol "text"
warning 215: expression has no effect
expected token: ";", but found "]"
invalid expression, assumed zero
too many error messages on one line
Todas as vezes que você abrir uma chave ( { ) é necessário que exista uma chave fechada ( } )para ela.
Exemplo:
Código:{
{
{
{
}
}
}
}
sim sim nem tinha me ligado. mas o problema persiste. segue o print do chat quando eu uso ex: arma id 28 como e duas akimbo conta como dois hs.. sera que teria como burlar armas akimbo contar como um hs ou ta normal isso?
segue os prints!