10/12/2021 00:06
(Esta mensagem foi modificada pela última vez a: 10/12/2021 00:07 por xbruno1000x.)
(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:
{
{
{
{
}
}
}
}
Discente de Sistemas de Informação no Centro Federal de Ensino Tecnológico(CEFET/RJ)
Programador SA-MP desde 2012
Programador SA-MP desde 2012
Não envie dúvidas por inbox, crie um tópico. Sua dúvida pode ser a dúvida de outro alguém, e seu tópico ajudará outras pessoas no futuro.