Infection
#4

pawn Код:
forward Float:GetDistanceBetweenPlayers(p1,p2); // Up top of script

forward GetClosestPlayer(p1); // Up top of script

public Float:GetDistanceBetweenPlayers(p1,p2)
{
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
    {
        return -1.00;
    }
    GetPlayerPos(p1,x1,y1,z1);
    GetPlayerPos(p2,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}

public GetClosestPlayer(p1)
{
    new x,Float:dis,Float:dis2,player;
    player = -1;
    dis = 99999.99;
    for (x=0;x<MAX_PLAYERS;x++)
    {
        if(IsPlayerConnected(x))
        {
            if(x != p1)
            {
                dis2 = GetDistanceBetweenPlayers(x,p1);
                if(dis2 < dis && dis2 != -1.00)
                {
                    dis = dis2;
                    player = x;
                }
            }
        }
    }
    return player;
}
Put those in your script, then you can do something like....

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys & KEY_FIRE)
    {
        if(GetPlayerWeapon(playerid) == 4)
        {
            new victimid = GetClosestPlayer(playerid);
            if(IsPlayerConnected(victimid))
            {
                if(GetDistanceBetweenPlayers(playerid,victimid) < 2)
                {
                    new Float:health;
                    GetPlayerHealth(victimid, health);
                    SetPlayerHealth(victimid, health - 50.0);
                    return 1;
                }
            }
        }
    }
    return 1;
}
That'll do the trick. Excuse my indentations.
Reply


Messages In This Thread
Infection - by Kitten - 27.10.2010, 06:37
Re: Infection - by iggy1 - 27.10.2010, 06:41
Re: Infection - by Kitten - 27.10.2010, 06:44
Re: Infection - by Celson - 27.10.2010, 06:51
Re: Infection - by iggy1 - 27.10.2010, 06:53
Re: Infection - by Kitten - 27.10.2010, 06:55
Re: Infection - by Retardedwolf - 27.10.2010, 07:05
Re: Infection - by Kitten - 27.10.2010, 07:12

Forum Jump:


Users browsing this thread: 3 Guest(s)