SA-MP Forums Archive
[Ajuda] Anti sniper de perto - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Anti sniper de perto (/showthread.php?tid=437518)



Anti sniper de perto - matanza87 - 16.05.2013

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


Re: Anti sniper de perto - Delete_ - 16.05.2013

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);
    }



Re: Anti sniper de perto - Hugo_Matos - 16.05.2013

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..


Re: Anti sniper de perto - BreakDriFT - 16.05.2013

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



Re: Anti sniper de perto - Hulk3000 - 16.05.2013

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