GetClosestPlayer (originally posted by cessil)
#5

Doesn't work! It arrest the wanted player even if you are so far away from him. Here is the full code:
pawn Код:
stock Float:GetDistanceBetweenPoints(Float:rx1,Float:ry1,Float:rz1,Float:rx2,Float:ry2,Float:rz2)
{
    return floatadd(floatadd(floatsqroot(floatpower(floatsub(rx1, rx2), 2)), floatsqroot(floatpower(floatsub(ry1, ry2), 2))), floatsqroot(floatpower(floatsub(rz1, rz2), 2)));
}

stock GetClosestPlayer(playerid, Float:limit)
{
    new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:Dist, id = INVALID_PLAYER_ID;
    GetPlayerPos(playerid,x1,y1,z1);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) continue;
        if(i == playerid) continue;
        GetPlayerPos(i, x2, y2, z2);
        Dist = GetDistanceBetweenPoints(x1, y1, z1, x2, y2, z2);
        if(Dist < limit || id == INVALID_PLAYER_ID)
        {
            limit = Dist;
            id = i;
        }
    }
    return id;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if ((newkeys & KEY_LOOK_BEHIND) && !(oldkeys & KEY_LOOK_BEHIND))
    {
        if(IsCop[playerid] == true)
        {
            new targetid = GetClosestPlayer(playerid,5.0);
            if(IsKidnapped[playerid] == true && Spawned[playerid] == false) return 1;
            if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}[Error:] {FFFFFF}There are no players close enough to arrest.");
            if(GetPlayerWantedLevel(targetid) == 0) return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}[Error:] {FFFFFF}There are no players close enough to arrest.");
            if(IsSpawned[targetid] == false || IsFreezed[targetid] == true) return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}[Error:] {FFFFFF}There are no players close enough to arrest.");

            if(GetPlayerWantedLevel(targetid) >= 4)
            {
                //rest of code
                return 1;
            }
        }
    }
    return 1;
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)