Wait how am I doing it again?
#3

This one is right

pawn Код:
forward Float:GetDistanceBetweenPlayers(p1,p2);
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));
}


forward GetClosestPlayer(p1);
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;
}


public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/tackle", cmdtext, true, 6) == 0) {
        new victimid = GetClosestPlayer(playerid);
        if(GetDistanceBetweenPlayers(playerid,victimid) < 2)
        {
            ApplyAnimation(playerid,"DODGE","Cover_Dive_01",5.0,0,1,1,1,1,1);
            TogglePlayerControllable(victimid, false);
            ApplyAnimation(victimid,"PARACHUTE","FALL_skyDive_DIE",5.0,0,1,1,1,1,1);
        }
        return 1;
    }
}
Reply


Messages In This Thread
Wait how am I doing it again? - by Da' J' - 08.06.2012, 03:19
Re: Wait how am I doing it again? - by JaKe Elite - 08.06.2012, 03:28
Re: Wait how am I doing it again? - by leonardo1434 - 08.06.2012, 03:35

Forum Jump:


Users browsing this thread: 1 Guest(s)