[AJUDA] Bug no comando /prender
#7

Quote:
Originally Posted by marcelodell
Посмотреть сообщение
No caso deste 0, й o ID do player (NO CASO EU), no codigo esta escrito "TEMPO" aonde eu coloquei o 0, mas na verdade й o ID.

Na verdade o ID do jogador que irб ser preso nгo й definido pelo jogador que prenderб atravйs do comando, mas sim por esta linha do cуdigo :




pawn Код:
new suspect = GetClosestPlayer(playerid);



Que igualarб o ID de quem serб preso ao ID do suspeito mais prуximo de vocк .




O 0 do qual falei й realmente um valor que deve estar entre 0 e 10000, como prova esta parte do seu cуdigo que й responsбvel pela formaзгo do primeiro parвmetro do comando :




pawn Код:
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
    SendClientMessage(playerid, COLOR_GRAD2, "USE: /prender [preco] [Tempo (minutos)] [Fianca (0=nao 1=sim)] [Preco da Fianca]");
    return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, "   Preco da fianca Minimo 1, Maximo 99999!"); return 1; }



Caso queira definir o ID do jogador pelo comando, adaptei o mesmo para vocк :



pawn Код:
if(strcmp(cmd, "/prender", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gTeam[playerid] == 2  || IsACop(playerid))
            {
                if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Voce nao esta em servico!");
                    return 1;
                }
                if(!IsPlayerinCela(playerid))
                {// Jail spot
                    SendClientMessage(playerid, COLOR_GREY, "   Voce nao esta perto das celas!");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "USE: /prender [ID do Suspeito] [Tempo (minutos)]");
                    return 1;
                }
                new suspect = strval(tmp);
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "USE: /prender [ID do Suspeito] [Tempo (minutos)]");
                    return 1;
                }
                new time = strval(tmp);
                if(time < 1 || time > 20) { SendClientMessage(playerid, COLOR_GREY, "   Tempo de prisao Minimo 1, Maximo 20!"); return 1; }
                if(IsPlayerConnected(suspect))
                {
                    if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
                    {
                        GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        if(WantedLevel[suspect] < 1)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Jogador precisa de no minimo 1 nivel de procurado!");
                            return 1;
                        }
                        if(IsACop(suspect))
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O Jogador й um Policial!");
                            return 1;
                        }
                        format(string, sizeof(string), "* Voce prendeu %s !", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "Voce foi preso pelo %s", sendername);
                        GameTextForPlayer(suspect, string, 5000, 5);
                        ResetPlayerWeapons(suspect);
                        if(PlayerInfo[playerid][pMember]==1 || PlayerInfo[playerid][pLeader]==1)
                        {
                            format(string, sizeof(string), "<< Policial Militar %s prendeu o suspeito %s >>", sendername, giveplayer);
                            OOCNews(COLOR_LIGHTRED, string);
                            PlayerInfo[suspect][pJailed] = 1;
                        }
                        else if(PlayerInfo[playerid][pMember]==2 || PlayerInfo[playerid][pLeader]==2)
                        {
                            format(string, sizeof(string), "<< BOPE %s prendeu o suspeito %s >>", sendername, giveplayer);
                            OOCNews(COLOR_LIGHTRED, string);
                            PlayerInfo[suspect][pJailed] = 1;
                        }
                        else if(PlayerInfo[playerid][pMember]==3 || PlayerInfo[playerid][pLeader]==3)
                        {
                            format(string, sizeof(string), "<< Policial Militar %s prendeu o suspeito %s >>", sendername, giveplayer);
                            OOCNews(COLOR_LIGHTRED, string);
                            PlayerInfo[suspect][pJailed] = 3;
                        }
                        else if(PlayerInfo[playerid][pMember]==4 || PlayerInfo[playerid][pLeader]==4)
                        {
                            format(string, sizeof(string), "<< Policial Civil %s prendeu o suspeito %s >>", sendername, giveplayer);
                            OOCNews(COLOR_LIGHTRED, string);
                            PlayerInfo[suspect][pJailed] = 3;
                        }
                        else if(PlayerInfo[playerid][pMember]==19 || PlayerInfo[playerid][pLeader]==19)
                        {
                            format(string, sizeof(string), "<< Policial Federal %s prendeu o suspeito %s >>", sendername, giveplayer);
                            OOCNews(COLOR_LIGHTRED, string);
                            PlayerInfo[suspect][pJailed] = 4;
                        }
                        PlayerInfo[suspect][pJailTime] = time * 60;
                        SetPlayerHealth(suspect, 0);
                        JailPrice[suspect] = 0;
                        format(string, sizeof(string), "Voce foi preso por %d segundos.", PlayerInfo[suspect][pJailTime]);
                        SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
                        PlayerInfo[suspect][pArrested] += 1;
                        SetPlayerFree(suspect,playerid, "Preso");
                        WantedPoints[suspect] = 0;
                        WantedLevel[suspect] = 0;
                        WantLawyer[suspect] = 1;
                    }//distance
                }//not connected
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Ninguem perto para voce prender.");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   Voce nao e um oficial!");
                return 1;
            }
        }//not connected
        return 1;
    }


Espero ter ajudado .
Reply


Messages In This Thread
[AJUDA] Bug no comando /prender - by marcelodell - 04.11.2011, 15:23
Re: [AJUDA] Bug no comando /prender - by Lуs - 04.11.2011, 15:41
Re: [AJUDA] Bug no comando /prender - by marcelodell - 04.11.2011, 16:00
Re: [AJUDA] Bug no comando /prender - by Lуs - 04.11.2011, 16:02
Re: [AJUDA] Bug no comando /prender - by rjjj - 04.11.2011, 16:09
Re: [AJUDA] Bug no comando /prender - by marcelodell - 04.11.2011, 16:22
Re: [AJUDA] Bug no comando /prender - by rjjj - 04.11.2011, 16:36

Forum Jump:


Users browsing this thread: 1 Guest(s)