getclosest player again..<.>
#1

could someone please just please conver tthis command to if u do /ar it will get the closest player and continue the command if no players inrangeofpoint.. return msg and if the player specifics an id /ar 4 it will continue the command.. I've asked this before but i can't seem to get anyhelp and if someone coould explain to me about getclosestplayer.


pawn Код:
CMD:arrest(playerid, cmdtext[])
{
    new string[128],giveplayerid,tmp[256],idx;
    if(IsSpawned[playerid] == 0)
    {
    SendClientMessage(playerid, red, "You are dead. You cannot use this command");
    return 1;
    }
    if(gTeam[playerid] != TEAM_COPS)
    {
    SendClientMessage(playerid,red,"You are not a Law Enforcement officer ");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, red, "USAGE: /ar (id)");
    return 1;
    }
    giveplayerid = strval(tmp);
    if(!IsNumeric(tmp))
    {
    SendClientMessage(playerid, red, "USAGE: /ar (id) ID Must be a number");
    return 1;
    }
    if(!IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "ID (%d) Is Not On The Server", giveplayerid);
    SendClientMessage(playerid, red, string);
    return 1;
    }
    new oname[24];
    new pname[24];
    GetPlayerName(playerid,oname, 24);
    GetPlayerName(giveplayerid, pname, 24);
    if(GetPlayerWantedLevel(giveplayerid) <= 3)
    {
    format(string, sizeof(string), "%s(%d) Does Not Have A Warrant Please Use /TK [playerid]",pname,giveplayerid);
    SendClientMessage(playerid,red,string);
    return 1;
    }
    if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 10)
    {
    format(string, sizeof(string), "%s(%d) Is too far away. You Cannot Arrest Him/Her",pname,giveplayerid);
    SendClientMessage(playerid,red,string);
    return 1;
    }
    if(IsSpawned[giveplayerid] == 0)
    {
    format(string, sizeof(string), "%s(%d) Is Not Alive. He/She Is Dead.",pname,giveplayerid);
    SendClientMessage(playerid,red,string);
    return 1;
    }
    SetPlayerVirtualWorld(giveplayerid,0);
    if(giveplayerid == playerid)
    {
    SendClientMessage(playerid,red,"You Can't Arrest Yourself Fucking Idiot");
    return 1;
    }
    new spawn = random(sizeof(PrisonSpawn)), string2[250], Float:health, copname[MAX_PLAYER_NAME], arrested[MAX_PLAYER_NAME];
    GetPlayerName(playerid, copname, sizeof(copname));
    GetPlayerName(strval(tmp), arrested, sizeof(arrested));
    GetPlayerHealth(strval(tmp), health);
    SendClientMessage(strval(tmp), BLUE, "|____ Los Santos Police Dept. ____|");
    format(string, sizeof(string), "Offier %s Has Arrested You.", copname);
    SendClientMessage(strval(tmp), TEAL, string);
    ResetPlayerWeapons(strval(tmp));
    SetPlayerPos(strval(tmp), PrisonSpawn[spawn][0], PrisonSpawn[spawn][1], PrisonSpawn[spawn][2]);
    SetPlayerFacingAngle(strval(tmp), PrisonSpawn[spawn][3]);
    SetCameraBehindPlayer(strval(tmp));
    if(GetPlayerWantedLevel(strval(tmp)) >= 4 && GetPlayerWantedLevel(strval(tmp)) <= 5)
    {
    PrisonTime[strval(tmp)] = 80;
    GivePlayerMoney2(strval(tmp),-200);
    GivePlayerMoney2(playerid,3000);
    SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
    }
    else if(GetPlayerWantedLevel(strval(tmp)) >= 6 && GetPlayerWantedLevel(strval(tmp)) <= 8)
    {
    PrisonTime[strval(tmp)] = 120;
    GivePlayerMoney2(strval(tmp),-200);
    GivePlayerMoney2(playerid,3500);
    SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
    }
    else if(GetPlayerWantedLevel(strval(tmp)) >= 9 && GetPlayerWantedLevel(playerid) <= 11)
    {
    PrisonTime[strval(tmp)] = 180;
    GivePlayerMoney2(strval(tmp),-200);
    GivePlayerMoney2(playerid,4000);
    SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
    }
    else if(GetPlayerWantedLevel(strval(tmp)) >= 12 && GetPlayerWantedLevel(strval(tmp)) <= 14)
    {
    PrisonTime[strval(tmp)] = 240;
    GivePlayerMoney2(strval(tmp),-200);
    GivePlayerMoney2(playerid,4500);
    SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
    }
    else if(GetPlayerWantedLevel(strval(tmp)) >= 15)
    {
    PrisonTime[strval(tmp)] = 300;
    GivePlayerMoney2(strval(tmp),-200);
    GivePlayerMoney2(playerid,5000);
    SetPlayerScore(playerid,GetPlayerScore(playerid)+3);
    }
    SetPlayerWantedLevel(strval(tmp), 0);
    SetPlayerInterior(strval(tmp),3);
    SetPlayerHealth(strval(tmp),99999);
    TogglePlayerControllable(strval(tmp), true);
    SetPlayerJailed(strval(tmp), true);
    format(string2, sizeof(string2), "Officer %s[%d] Has Arrested %s[%d].", copname, playerid, arrested, strval(tmp));
    SendClientMessageToAll(TEAL,string2);
    if(health <= 90)
    {
    SendClientMessage(strval(tmp), GREY, "|____ Los Santos Police Dept. ____|");
    SendClientMessage(strval(tmp), WHITE, "LSPD has given you some food.");
    SetPlayerHealth(strval(tmp), health+10);
    OnePlayAnim(strval(tmp), "FOOD", "EAT_Burger", 4.0, 0, 0, 0, 0, 0);
    }
    return 1;
}
May God Bless You.
Reply
#2

Not tested (im using strtok xD)
pawn Код:
stock GetClosestPlayer(playerid)
{
    new Float:P[3];
    GetPlayerPos(playerid,P[0],P[1],P[2]);
    for(new i,MaxP=GetMaxPlayers(); i < MaxP; i++)
        if(IsPlayerConnected(i) && !IsPlayerNPC(i))
            if(i != playerid)
                if(IsPlayerInRangeOfPoint(i, 30.0, P[0],P[1],P[2]))
                    return i;
    return INVALID_PLAYER_ID;
}
CMD:arrest(playerid, cmdtext[])
{
    new string[128],giveplayerid,tmp[256],idx;
    if(!IsSpawned[playerid]) return SendClientMessage(playerid, red, "You are dead. You cannot use this command");
    if(gTeam[playerid] != TEAM_COPS) return SendClientMessage(playerid,red,"You are not a Law Enforcement officer ");
    tmp = strtok(cmdtext, idx);
    //if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /ar (id)");
    if(!strlen(tmp)) giveplayerid = GetClosestPlayer(playerid);
    else{
        if(!IsNumeric(tmp)) return SendClientMessage(playerid, red, "USAGE: /ar (id) ID Must be a number");
        giveplayerid = strval(tmp);
    }
    if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "No players in range of point");
    if(!IsPlayerConnected(giveplayerid))
    {
        format(string, sizeof(string), "ID (%d) Is Not On The Server", giveplayerid);
        return SendClientMessage(playerid, red, string);
    }
    new copname[24],arrested[24];
    GetPlayerName(playerid,copname, 24);
    GetPlayerName(giveplayerid, arrested, 24);
    if(GetPlayerWantedLevel(giveplayerid) <= 3)
    {
        format(string, sizeof(string), "%s(%d) Does Not Have A Warrant Please Use /TK [playerid]",arrested,giveplayerid);
        return SendClientMessage(playerid,red,string);
    }
    if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 10)
    {
        format(string, sizeof(string), "%s(%d) Is too far away. You Cannot Arrest Him/Her",arrested,giveplayerid);
        return SendClientMessage(playerid,red,string);
    }
    if(!IsSpawned[giveplayerid])
    {
        format(string, sizeof(string), "%s(%d) Is Not Alive. He/She Is Dead.",arrested,giveplayerid);
        return SendClientMessage(playerid,red,string);
    }
    SetPlayerVirtualWorld(giveplayerid,0);
    if(giveplayerid == playerid) return SendClientMessage(playerid,red,"You Can't Arrest Yourself Fucking Idiot");
    new spawn = random(sizeof(PrisonSpawn)), Float:health;
    GetPlayerHealth(giveplayerid, health);
    SendClientMessage(giveplayerid), BLUE, "|____ Los Santos Police Dept. ____|");
    format(string, sizeof(string), "Offier %s Has Arrested You.", copname);
    SendClientMessage(giveplayerid, TEAL, string);
    ResetPlayerWeapons(giveplayerid);
    SetPlayerPos(giveplayerid, PrisonSpawn[spawn][0], PrisonSpawn[spawn][1], PrisonSpawn[spawn][2]);
    SetPlayerFacingAngle(giveplayerid, PrisonSpawn[spawn][3]);
    SetCameraBehindPlayer(giveplayerid);
    switch(GetPlayerWantedLevel(giveplayerid)) {
        case 4,5: {
            PrisonTime[giveplayerid] = 80;
            GivePlayerMoney2(giveplayerid,-200);
            GivePlayerMoney2(playerid,3000);
            SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
        }
        case 6..8: {
            PrisonTime[giveplayerid] = 120;
            GivePlayerMoney2(giveplayerid,-200);
            GivePlayerMoney2(playerid,3500);
            SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
        }
        case 9..11: {
            PrisonTime[giveplayerid] = 180;
            GivePlayerMoney2(giveplayerid,-200);
            GivePlayerMoney2(playerid,4000);
            SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
        }
        case 12..14: {
            PrisonTime[giveplayerid] = 240;
            GivePlayerMoney2(giveplayerid,-200);
            GivePlayerMoney2(playerid,4500);
            SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
        }
        case 15..50: {
            PrisonTime[giveplayerid] = 300;
            GivePlayerMoney2(giveplayerid,-200);
            GivePlayerMoney2(playerid,5000);
            SetPlayerScore(playerid,GetPlayerScore(playerid)+3);
        }
    }
    SetPlayerWantedLevel(giveplayerid, 0);
    SetPlayerInterior(giveplayerid,3);
    SetPlayerHealth(giveplayerid,99999);
    TogglePlayerControllable(giveplayerid, true);
    SetPlayerJailed(giveplayerid, true);
    format(string, sizeof(string), "Officer %s[%d] Has Arrested %s[%d].", copname, playerid, arrested, giveplayerid);
    SendClientMessageToAll(TEAL,string);
    if(health <= 90) {
        SendClientMessage(giveplayerid, GREY, "|____ Los Santos Police Dept. ____|");
        SendClientMessage(giveplayerid, WHITE, "LSPD has given you some food.");
        SetPlayerHealth(giveplayerid, health+10);
        OnePlayAnim(giveplayerid, "FOOD", "EAT_Burger", 4.0, 0, 0, 0, 0, 0);
    }
    return 1;
}
Reply
#3

Untested...
pawn Код:
CMD:arrest(playerid, cmdtext[])
{
    new string[128],giveplayerid,tmp[256],idx;
    if(IsSpawned[playerid] == 0)
    {
        SendClientMessage(playerid, red, "You are dead. You cannot use this command");
        return 1;
    }
    if(gTeam[playerid] != TEAM_COPS)
    {
        SendClientMessage(playerid,red,"You are not a Law Enforcement officer ");
        return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
        giveplayerid = GetClosestPlayer(playerid);
        new temp[32];
        GetPlayerName(giveplayerid, temp, 32);
        format(string,sizeof(string),"The closest player to you is (%d)%s",giveplayerid,temp);
        SendClientMessage(playerid, red, string);
        format(string,sizeof(string),"To attempt the arrest of this player use: /ar %d",giveplayerid);
        SendClientMessage(playerid, red, string);
        return 1;
    }
    if(!IsNumeric(tmp))
    {
        SendClientMessage(playerid, red, "USAGE: /ar (id) ID Must be a number");
        return 1;
    }
    giveplayerid = strval(tmp);
    if(!IsPlayerConnected(giveplayerid))
    {
        format(string, sizeof(string), "ID (%d) Is Not On The Server", giveplayerid);
        SendClientMessage(playerid, red, string);
        return 1;
    }
    new oname[24];
    new pname[24];
    GetPlayerName(playerid,oname, 24);
    GetPlayerName(giveplayerid, pname, 24);
    if(GetPlayerWantedLevel(giveplayerid) <= 3)
    {
        format(string, sizeof(string), "%s(%d) Does Not Have A Warrant Please Use /TK [playerid]",pname,giveplayerid);
        SendClientMessage(playerid,red,string);
        return 1;
    }
    if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 10)
    {
        format(string, sizeof(string), "%s(%d) Is too far away. You Cannot Arrest Him/Her",pname,giveplayerid);
        SendClientMessage(playerid,red,string);
        return 1;
    }
    if(IsSpawned[giveplayerid] == 0)
    {
        format(string, sizeof(string), "%s(%d) Is Not Alive. He/She Is Dead.",pname,giveplayerid);
        SendClientMessage(playerid,red,string);
        return 1;
    }
    SetPlayerVirtualWorld(giveplayerid,0);
    if(giveplayerid == playerid)
    {
        SendClientMessage(playerid,red,"You Can't Arrest Yourself Fucking Idiot");
        return 1;
    }
    new spawn = random(sizeof(PrisonSpawn)), string2[250], Float:health, copname[MAX_PLAYER_NAME], arrested[MAX_PLAYER_NAME];
    GetPlayerName(playerid, copname, sizeof(copname));
    GetPlayerName(strval(tmp), arrested, sizeof(arrested));
    GetPlayerHealth(strval(tmp), health);
    SendClientMessage(strval(tmp), BLUE, "|____ Los Santos Police Dept. ____|");
    format(string, sizeof(string), "Offier %s Has Arrested You.", copname);
    SendClientMessage(strval(tmp), TEAL, string);
    ResetPlayerWeapons(strval(tmp));
    SetPlayerPos(strval(tmp), PrisonSpawn[spawn][0], PrisonSpawn[spawn][1], PrisonSpawn[spawn][2]);
    SetPlayerFacingAngle(strval(tmp), PrisonSpawn[spawn][3]);
    SetCameraBehindPlayer(strval(tmp));
    if(GetPlayerWantedLevel(strval(tmp)) >= 4 && GetPlayerWantedLevel(strval(tmp)) <= 5)
    {
        PrisonTime[strval(tmp)] = 80;
        GivePlayerMoney2(strval(tmp),-200);
        GivePlayerMoney2(playerid,3000);
        SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
    }
    else if(GetPlayerWantedLevel(strval(tmp)) >= 6 && GetPlayerWantedLevel(strval(tmp)) <= 8)
    {
        PrisonTime[strval(tmp)] = 120;
        GivePlayerMoney2(strval(tmp),-200);
        GivePlayerMoney2(playerid,3500);
        SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
    }
    else if(GetPlayerWantedLevel(strval(tmp)) >= 9 && GetPlayerWantedLevel(playerid) <= 11)
    {
        PrisonTime[strval(tmp)] = 180;
        GivePlayerMoney2(strval(tmp),-200);
        GivePlayerMoney2(playerid,4000);
        SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
    }
    else if(GetPlayerWantedLevel(strval(tmp)) >= 12 && GetPlayerWantedLevel(strval(tmp)) <= 14)
    {
        PrisonTime[strval(tmp)] = 240;
        GivePlayerMoney2(strval(tmp),-200);
        GivePlayerMoney2(playerid,4500);
        SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
    }
    else if(GetPlayerWantedLevel(strval(tmp)) >= 15)
    {
        PrisonTime[strval(tmp)] = 300;
        GivePlayerMoney2(strval(tmp),-200);
        GivePlayerMoney2(playerid,5000);
        SetPlayerScore(playerid,GetPlayerScore(playerid)+3);
    }
    SetPlayerWantedLevel(strval(tmp), 0);
    SetPlayerInterior(strval(tmp),3);
    SetPlayerHealth(strval(tmp),99999);
    TogglePlayerControllable(strval(tmp), true);
    SetPlayerJailed(strval(tmp), true);
    format(string2, sizeof(string2), "Officer %s[%d] Has Arrested %s[%d].", copname, playerid, arrested, strval(tmp));
    SendClientMessageToAll(TEAL,string2);
    if(health <= 90)
    {
        SendClientMessage(strval(tmp), GREY, "|____ Los Santos Police Dept. ____|");
        SendClientMessage(strval(tmp), WHITE, "LSPD has given you some food.");
        SetPlayerHealth(strval(tmp), health+10);
        OnePlayAnim(strval(tmp), "FOOD", "EAT_Burger", 4.0, 0, 0, 0, 0, 0);
    }
    return 1;
}
Reply
#4

jeff urs return cophater fdoesnt have a wanted level used /tk playerid and someone was right next to me and cophater is my bot xD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)