[Duda/Ayuda] SetPlayerMarkerForPlayer
#1

Hola, primero que nada buenas tardes, mi problema consiste en lo siguiente:
por ej, si sos policia y pones /bk (/backup) que es para solicitar asistencia NO salta el marcador rojo en el mapa para los policias en servicio, el codigo es este:

pawn Код:
if(strcmp(cmd,"/backup",true)==0 || strcmp(cmd,"/bk",true)==0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsACop(playerid) || IsAFreecop(playerid))
            {
                if(PlayerInfo[playerid][pDBanned] == 1)
                {
                    SendClientMessage(playerid, COLOR_GREY, "** Tu estas Baneado Del Servicio Policial!");
                    return 1;
                }
                if(PlayerInfo[playerid][pDuty] == 0)
                {
                    SendClientMessage(playerid, COLOR_GREY, "** Usted no estб en servicio!");
                    return 1;
                }
                if (PlayerInfo[playerid][pRequestingBackup] != 1)
                {
                    format(string, sizeof(string), "TODAS LAS UNIDADES: %s estб solicitando asistencia inmediata,ha sido marcado en el mapa (rojo).", sendername);
                    PlayerInfo[playerid][pRequestingBackup] = 1;
                    for(new i = 0; i < MAX_PLAYERS; i++)
                    {
                        if(IsPlayerConnected(i))
                        {
                            if(IsACop(i) || IsAFreecop(i))
                            {
                                if(PlayerInfo[i][pDuty] == 1)
                                {
                                    SetPlayerMarkerForPlayer(i, playerid, COLOR_YELLOW);
                                    SendClientMessage(i, TEAM_BLUE_COLOR, string);
                                }
                            }
                        }
                    }
                    SendClientMessage(playerid, TEAM_BLUE_COLOR, "Escribe /BKC para limpiar su solicitud de refuerzos.");
                    SetTimerEx("BackupClear", 180000, false, "ii", playerid, 1);
                    new y, m, d;
                    new h,mi,s;
                    getdate(y,m,d);
                    gettime(h,mi,s);
                    format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /backup",d,m,y,h,mi,s,sendername);
                    CommandLog(string);
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "Usted ya tiene una solicitud de refuerzos activa!");
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "Tъ no eres un policнa!");
            }
        }
        return 1;
Quisiera saber si alguien sabe el problema, segъn vi es el "SetPlayerMarkerForPlayer(i, playerid, COLOR_YELLOW);" Pero eso lo que hace es setear el color del Policia en amarillo, tendria que crear otro "SetPlayerMarkerForPlayer" con una funcion que haga por ej, un checkpoint donde esta solicitando asistencia? Eso no entendн bien, Estuve viendo la funcion "SetPlayerCheckPoint" cosa que creo que seria la ideal para esta situaciуn, pero no entiendo bien como hacer que por ej, en vez de setear la coordenada estatica en cierto punto donde el solicito asistencia haga por ej, que esa persona aparezca en el radar color "Amarillo" como seria el caso del color del policia al solicitar asistencia
Reply
#2

Creo que nadie habнa antes arreglado ese bug, siempre lo vi.

El problema creo que es la zona que agarra para marcarla, una soluciуn segura serнa definir todas las zonas en un .txt o mismo en el gamemode y luego usarlas allн
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)