[ajuda] /encontrar bugado n aparece no mapa o ponto vermelhor
#1

pawn Код:
dcmd_encontrar(playerid, params[])
    {
        Player[playerid][CMD] = 0;
        if(Player[playerid][pJob] != DETETIVE)
            return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo й um Detetive.");

        if(GetTickCount() - AntiFlood[playerid][15] < TempoEncontrar[playerid]*1000)
        {
            format(thestring, 128, "[ERRO] Vocк precisa esperar %d segundos para usar esse comando novamente!",TempoEncontrar[playerid]-(GetTickCount() - AntiFlood[playerid][15])/1000);
            SendClientMessage(playerid, COLOR_GREY, thestring);
            return 1;
        }

        new tmp[24], idx; tmp = strtok(params, idx);
        if(!strlen(tmp))
            return SendClientMessage(playerid, COLOR_GREY, "[USO] /encontrar [id/nick]");

        new giveid = ReturnUser(tmp);
        if(IsPlayerConnected(giveid))
        {
            if(giveid != INVALID_PLAYER_ID)
            {
                if(PlayerTied[giveid] > 0)
                    return SendClientMessage(playerid, COLOR_RED,"[ERRO] O jogador foi sequestrado, nгo й possнvel saber sua localizaзгo!");

                if(giveid == playerid)
                    return SendClientMessage(playerid, COLOR_RED,"[ERRO] Vocк nгo pode procurar a sн mesmo!");

                new erro;
                new level = Player[playerid][pDetSkill];

                SetPlayerMarkerForPlayer(playerid, Procurado[playerid], 0xFFFFFF00);
                AntiFlood[playerid][15] = GetTickCount();
                Procurado[playerid] = giveid;
                if(level >= 0 && level <= 50)
                {
                    erro = 25;
                    TempoEncontrar[playerid] = 40;
                    Encontrando[playerid] = 5;
                }
                else if(level >= 51 && level <= 100)
                {
                    erro = 20;
                    TempoEncontrar[playerid] = 30;
                    Encontrando[playerid] = 10;
                }
                else if(level >= 101 && level <= 200)
                {
                    erro = 15;
                    TempoEncontrar[playerid] = 20;
                    Encontrando[playerid] = 10;
                }
                else if(level >= 201 && level <= 400)
                {
                    erro = 10;
                    TempoEncontrar[playerid] = 10;
                    Encontrando[playerid] = 15;
                }
                else if(level >= 401)
                {
                    erro = 5;
                    TempoEncontrar[playerid] = 1;
                    Encontrando[playerid] = 20;
                }
                SetPlayerMarkerForPlayer(playerid, giveid, 0xFF0000FF);
                SetPlayerMarkerForPlayer(playerid, giveid, 0xFF0000FF);
                Player[playerid][pDetSkill] ++;
                Encontrar(playerid,giveid,erro);

                if(Player[playerid][pDetSkill] == 50)
                { SendClientMessage(playerid, COLOR_YELLOW, "Sua habilidade como detetive agora й nнvel 2, seu tempo de espera diminuiu para 90 segundos e a precisгo aumentou para 40%"); }
                else if(Player[playerid][pDetSkill] == 100)
                { SendClientMessage(playerid, COLOR_YELLOW, "Sua habilidade como detetive agora й nнvel 3, seu tempo de espera diminuiu para 60 segundos e a precisгo aumentou para 60%"); }
                else if(Player[playerid][pDetSkill] == 200)
                { SendClientMessage(playerid, COLOR_YELLOW, "Sua habilidade como detetive agora й nнvel 4, seu tempo de espera diminuiu para 30 segundos e a precisгo aumentou para 80%"); }
                else if(Player[playerid][pDetSkill] == 400)
                { SendClientMessage(playerid, COLOR_YELLOW, "Sua habilidade como detetive agora й nнvel 5, seu tempo de espera diminuiu para 5 segundos e a precisгo aumentou para 99%"); }
            }
        }
        else
            SendClientMessage(playerid, COLOR_RED,"[ERRO] Jogador nгo encontrado.");

        return 1;
    }
Reply
#2

claro,nao tem a linha de criar o checkpoint,voce presica criar forward e enum
Reply
#3

toma la meio caminho andado,
pawn Код:
if(strcmp(cmd, "/encontrar", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_WHITE, "Comando: /encontrar [playerid]");
                    return 1;
                }
                if(TrackingPlayer[playerid] == 1)
                {
                SendClientMessage(playerid, COLOR_WHITE, "ERRO: Tu ja procuraste alguem.");
                return 1;
                }
                new id = strval(tmp);
                if (PlayerInfo[playerid][msJob] == 3)
                {
                    if(IsPlayerConnected(id))
                    {
                        if(playerid != id)
                        {
                            if(id != INVALID_PLAYER_ID)
                            {
                                if(PhoneOnline[id] == 0)
                                {
                                    SendClientMessage(id, COLOR_WHITE, " Alguem estб a tua procura.");
                                    format(string, sizeof(string), " Estas a procura de %s, despacha-te tens 60segundos.", GetPlayerNameEx(id));
                                    SendClientMessage(playerid, COLOR_WHITE, string);
                                    new Float:x,Float:y,Float:z;
                                    GetPlayerPos(id,x,y,z);
                                    SetPlayerCheckpoint(playerid,x,y,z,10.0);
                                    SetTimerEx("ClearCheckpointsForPlayer", 60000, false, "i", playerid);
                                    TrackingPlayer[playerid] = 1;

                                }
                                else
                                {
                                    SendClientMessage(id, COLOR_WHITE, "ERRO: Esse jogador tem o telemove! Nгo o podes encontrar.");
                                }
                            }
                        }
                        else
                        {
                            SendClientMessage(id, COLOR_WHITE, "ERRO: Nгo te podes encontrar a ti.");
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "ERRO: ID Invбlido");
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_WHITE, "ERRO: Nгo es detective!");
                }
            }
            return 1;
        }
agora so falta voce fazer a tal "transmutaзгo" do meu cmd ao seu cmd =)
Reply
#4

pawn Код:
C:\Documents and Settings\Vinicius\Desktop\Brasil ELite V1.2\gamemodes\Elite.pwn(46971) : error 017: undefined symbol "tmp"
C:\Documents and Settings\Vinicius\Desktop\Brasil ELite V1.2\gamemodes\Elite.pwn(46971) : error 017: undefined symbol "cmdtext"
C:\Documents and Settings\Vinicius\Desktop\Brasil ELite V1.2\gamemodes\Elite.pwn(46972) : error 017: undefined symbol "tmp"
C:\Documents and Settings\Vinicius\Desktop\Brasil ELite V1.2\gamemodes\Elite.pwn(46977) : error 017: undefined symbol "TrackingPlayer"
C:\Documents and Settings\Vinicius\Desktop\Brasil ELite V1.2\gamemodes\Elite.pwn(46977) : warning 215: expression has no effect
C:\Documents and Settings\Vinicius\Desktop\Brasil ELite V1.2\gamemodes\Elite.pwn(46977) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Vinicius\Desktop\Brasil ELite V1.2\gamemodes\Elite.pwn(46977) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Vinicius\Desktop\Brasil ELite V1.2\gamemodes\Elite.pwn(46977) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


7 Errors.
Reply
#5

pawn Код:
dcmd_encontrar(playerid, params[])
    {
        Player[playerid][CMD] = 0;
        if(Player[playerid][pJob] != DETETIVE)
            return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo й um Detetive.");

        if(GetTickCount() - AntiFlood[playerid][15] < TempoEncontrar[playerid]*1000)
        {
            format(thestring, 128, "[ERRO] Vocк precisa esperar %d segundos para usar esse comando novamente!",TempoEncontrar[playerid]-(GetTickCount() - AntiFlood[playerid][15])/1000);
            SendClientMessage(playerid, COLOR_GREY, thestring);
            return 1;
        }

        new tmp[24], idx; tmp = strtok(params, idx);
        if(!strlen(tmp))
            return SendClientMessage(playerid, COLOR_GREY, "[USO] /encontrar [id/nick]");

        new giveid = ReturnUser(tmp);
        if(IsPlayerConnected(giveid))
        {
            if(giveid != INVALID_PLAYER_ID)
            {
                if(PlayerTied[giveid] > 0)
                    return SendClientMessage(playerid, COLOR_RED,"[ERRO] O jogador foi sequestrado, nгo й possнvel saber sua localizaзгo!");

                if(Player[giveid][pAdmin] > 0)
                    return SendClientMessage(playerid, COLOR_RED,"[ERRO] Vocк nгo pode encontrar um admin.");

                if(giveid == playerid)
                    return SendClientMessage(playerid, COLOR_RED,"[ERRO] Vocк nгo pode procurar a sн mesmo!");

                new erro;
                new level = Player[playerid][pDetSkill];

                SetPlayerMarkerForPlayer(playerid, Procurado[playerid], 0xFFFFFF00);
                AntiFlood[playerid][15] = GetTickCount();
                Procurado[playerid] = giveid;
                if(level >= 0 && level <= 50)
                {
                    erro = 25;
                    TempoEncontrar[playerid] = 40;
                    Encontrando[playerid] = 5;
                }
                else if(level >= 51 && level <= 100)
                {
                    erro = 20;
                    TempoEncontrar[playerid] = 30;
                    Encontrando[playerid] = 10;
                }
                else if(level >= 101 && level <= 200)
                {
                    erro = 15;
                    TempoEncontrar[playerid] = 20;
                    Encontrando[playerid] = 10;
                }
                else if(level >= 201 && level <= 400)
                {
                    erro = 10;
                    TempoEncontrar[playerid] = 10;
                    Encontrando[playerid] = 15;
                }
                else if(level >= 401)
                {
                    erro = 5;
                    TempoEncontrar[playerid] = 1;
                    Encontrando[playerid] = 20;
                }
                SetPlayerMarkerForPlayer(playerid, giveid, 0xFF0000FF);
                Player[playerid][pDetSkill] ++;
                Encontrar(playerid,giveid,erro);

                if(Player[playerid][pDetSkill] == 50)
                { SendClientMessage(playerid, COLOR_YELLOW, "Sua habilidade como detetive agora й nнvel 2, seu tempo de espera diminuiu para 90 segundos e a precisгo aumentou para 40%"); }
                else if(Player[playerid][pDetSkill] == 100)
                { SendClientMessage(playerid, COLOR_YELLOW, "Sua habilidade como detetive agora й nнvel 3, seu tempo de espera diminuiu para 60 segundos e a precisгo aumentou para 60%"); }
                else if(Player[playerid][pDetSkill] == 200)
                { SendClientMessage(playerid, COLOR_YELLOW, "Sua habilidade como detetive agora й nнvel 4, seu tempo de espera diminuiu para 30 segundos e a precisгo aumentou para 80%"); }
                else if(Player[playerid][pDetSkill] == 400)
                { SendClientMessage(playerid, COLOR_YELLOW, "Sua habilidade como detetive agora й nнvel 5, seu tempo de espera diminuiu para 5 segundos e a precisгo aumentou para 99%"); }
            }
        }
        else
            SendClientMessage(playerid, COLOR_RED,"[ERRO] Jogador nгo encontrado.");

        return 1;
    }
Reply
#6

@Bug Flood KKKKK
Reply
#7

vlw ai galera
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)