[Ajuda] Anti sniper de perto
#1

oie gente...
tava querendo criar um anti sniper de perto
pq to num servidor que tem sistema headshot e a galera fica atirando de perto
bolei isso:

pawn Код:
if(!ProxDetectorS(5.0, playerid, giveplayerid))
    {
        GetPlayerName(killerid,kickname,sizeof(kickname));
        format(gstring,sizeof(gstring),"AdmCmd: %s ID:[%d] Atirou de sniper em %s ID:[%d] e foi kickado Automaticamente.",kickname,killerid,PlayerName(playerid),playerid);
        SendClientMessageToAll(COLOR_LIGHTRED,gstring);
        Kick(killerid);
    }
o problema й que quando ele mata de longe ele й kikado e recebe a menssagem
mas eu queria ao contrario queria que fosse de perto alguem pode me ajudar?grato desde ja
Reply
#2

pawn Код:
if(ProxDetectorS(5.0, playerid, giveplayerid))
    {
        GetPlayerName(killerid,kickname,sizeof(kickname));
        format(gstring,sizeof(gstring),"AdmCmd: %s ID:[%d] Atirou de sniper em %s ID:[%d] e foi kickado Automaticamente.",kickname,killerid,PlayerName(playerid),playerid);
        SendClientMessageToAll(COLOR_LIGHTRED,gstring);
        Kick(killerid);
    }
Reply
#3

Quote:
Originally Posted by Delete_
Посмотреть сообщение
pawn Код:
if(ProxDetectorS(5.0, playerid, giveplayerid))
    {
        GetPlayerName(killerid,kickname,sizeof(kickname));
        format(gstring,sizeof(gstring),"AdmCmd: %s ID:[%d] Atirou de sniper em %s ID:[%d] e foi kickado Automaticamente.",kickname,killerid,PlayerName(playerid),playerid);
        SendClientMessageToAll(COLOR_LIGHTRED,gstring);
        Kick(killerid);
    }
E como vai definir se ele atirou de sniper ou nгo? acho que ai se matar de perto com qualquer arma vai kickar..
Reply
#4

Faзa uma verificaзгo...
pawn Код:
if(GetPlayerWeapon(playerid) == 34)
Reply
#5

Nestas situaзoes podemos ultilizar de preferencia a public OnPlayerGiveDamage, onde ela detecta se o jogador deu um tiro.

Recomendo o codigo abaixo.


pawn Код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
    if (weaponid == 34)//Verificamos se o player estб com uma sniper...
    {
        new Float: X, Float: Y, Float: Z;// Vamos criar as variaveis para armazenar a posiзгo do atirador.
        GetPlayerPos(playerid, X, Y, Z);//Vamos Armazenar a posiзгo do atirador.
        if (IsPlayerInRangeOfPoint(damagedid, 5.0, X, Y, Z))// Verificamos se o player que levou o dano estб em um raio de 5 metros do atirador.
        {
            new Nome[24], OutroNome[24], HulkStr[128];//Criamos as variaveis.
            GetPlayerName(playerid, Nome, 24); GetPlayerName(damagedid, OutroNome, 24);//Pegamos os nomes de todos os individuos
            format (HulkStr, 128, "** O jogador %s[%d] foi kickado por atirar em %s[%d] com uma sniper.", Nome, playerid, OutroNome, damagedid);//Armazenamos a mensagem que sera exibida
            SendClientMessageToAll( 0xF1592EFF, HulkStr);//Exibimos a mensagem para todos
            Kick(playerid);//Kickamos o atirador do server :)
        }
    }
    return 1;
}// By: Hulk3000
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)