Nuevo error en el comando de los cargos
#1

ahora, cuando uso el comando /c ID cargos, me salen como 6 mensajes seguidos de que X tiene X cargos, capturar....


Bueno, me hace flood, їPorque me pasa?

pawn Код:
CMD:c(playerid, params[]){
    new string[170];
    new cargos[MAX_PLAYER_NAME];
    new cargos2[MAX_PLAYER_NAME];
    if(!IsACop(playerid)) return SendClientMessageEx(playerid, COLOR_WHITE, "No puedes usar este comando.");
    if(OnDuty[playerid] == 0 && IsACop(playerid)) return  SendClientMessageEx(playerid, COLOR_WHITE, "No estas en servicio!");
    if(!sscanf(params,"ii", params[0], params[1]))
    {
    GetPlayerName(params[0], cargos, sizeof(cargos));
    GetPlayerName(playerid, cargos2, sizeof(cargos2));
    switch(params[1])
    {
    case 0:
    {
    Info[params[0]][pWantedLevel] = 0;
    SetPlayerWantedLevel(params[0], 0);
    for(new i = 0; i < GetMaxPlayers(); i++)
    if(IsACop(i))
    {
    SetPlayerMarkerForPlayer(i, params[0], c0_color);
    format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}no presenta ningъn delito lo dejo continuar", cargos2, cargos);
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    }
    }
    case 1:
    {
    format(string, sizeof(string), "La policia quiere hablar contigo, no intentes escapar.", GetPlayerNameEx(playerid));
    SendClientMessageEx(params[0], COLOR_WHITE, string);
    Info[params[0]][pWantedLevel] = 1;
    SetPlayerWantedLevel(params[0], 1);
    for(new i = 0; i < GetMaxPlayers(); i++)
    if(IsACop(i))
     {
    SetPlayerMarkerForPlayer(i, params[0], c1_color);
    format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}parece sospechoso, voy a interrogarlo.", cargos2, cargos);
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    }
    }
    case 2:
    {
    Info[params[0]][pWantedLevel] = 2;
    SetPlayerWantedLevel(params[0], 2);
    for(new i = 0; i < GetMaxPlayers(); i++)
    if(IsACop(i))
     {
    SetPlayerMarkerForPlayer(i, params[0], c2_color);
    format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}se resistiу al arresto, procedemos a su persecuciуn.", cargos2, cargos);
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    }
    }
    case 3:
    {
    Info[params[0]][pWantedLevel] = 3;
    SetPlayerWantedLevel(params[0], 3);
    for(new i = 0; i < GetMaxPlayers(); i++)
    if(IsACop(i))
     {
    SetPlayerMarkerForPlayer(i, params[0], c3_color);
    format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}se encuentra armado, procedan con precauciуn.", cargos2, cargos);
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    }
    }
    case 4:
    {
    Info[params[0]][pWantedLevel] = 4;
    SetPlayerWantedLevel(params[0], 4);
    for(new i = 0; i < GetMaxPlayers(); i++)
    if(IsACop(i))
     {
    SetPlayerMarkerForPlayer(i, params[0], c4_color);
    format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}abriу fuego, necesito refuerzos.", cargos2, cargos);
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    }
    }
    case 5:
    {
    Info[params[0]][pWantedLevel] = 5;
    SetPlayerWantedLevel(params[0], 5);
    for(new i = 0; i < GetMaxPlayers(); i++)
    if(IsACop(i))
     {
    SetPlayerMarkerForPlayer(i, params[0], c5_color);
    format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}asesinу, detener vivo o muerto.", cargos2, cargos);
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    }
    }
    case 6:
    {
    Info[params[0]][pWantedLevel] = 6;
    SetPlayerWantedLevel(params[0], 6);
    for(new i = 0; i < GetMaxPlayers(); i++)
    if(IsACop(i))
     {
    SetPlayerMarkerForPlayer(i, params[0], c6_color);
    format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}es extremadamente peligroso, disparen a matar.", cargos2, cargos);
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    }
    }
    }
    }
    else SendClientMessage(playerid, -1, "Utiliza: {6E9AFF}/c{FFFFFF} [ID] [0-6]");
    return 1;
    }
    forward Policia(member, color, string[]);
    public Policia(member, color, string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    SendClientMessage(i, color, string);
    }
    }
    }
    }
Reply
#2

podrнas hacerlo con un solo bucle. Usa return 1 al mandar el mensaje
Reply
#3

їASi?

pawn Код:
return SendRadioMessage(1, TEAM_BLUE_COLOR, string);

Y el error es que si hay 10 policias en la faccion, manda 10 mensajes, si hay 1, manda 1, si hay 20 manda 20.
Reply
#4

Te ayudarнa, pero el comando perjudicarнa la salud de mis ojos.
Reply
#5

En tu caso no necesitas un bucle, ve a ver como estб hecha la funciуn SendRadioMessage. El bucle ya estб dentro de la funciуn.

Yo lo harнa asн:

pawn Код:
CMD:c(playerid, params[])
{
    new string[170];
    new cargos[MAX_PLAYER_NAME];
    new cargos2[MAX_PLAYER_NAME];
    if(!IsACop(playerid)) return SendClientMessageEx(playerid, COLOR_WHITE, "No puedes usar este comando.");
    if(OnDuty[playerid] == 0 && IsACop(playerid)) return  SendClientMessageEx(playerid, COLOR_WHITE, "No estas en servicio!");
    if(!sscanf(params,"ui", params[0], params[1]))
    {
        GetPlayerName(params[0], cargos, sizeof(cargos));
        GetPlayerName(playerid, cargos2, sizeof(cargos2));
        Info[params[0]][pWantedLevel] = params[1];
        SetPlayerWantedLevel(params[0], params[1]);
        switch(params[1])
        {
            case 0:
            {
                SetPlayerMarkerForPlayer(i, params[0], c0_color);
                format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}no presenta ningъn delito lo dejo continuar", cargos2, cargos);
                SendRadioMessage(1, TEAM_BLUE_COLOR, string);
            }
            case 1:
            {
                format(string, sizeof(string), "La policia quiere hablar contigo, no intentes escapar.", GetPlayerNameEx(playerid));
                SendClientMessageEx(params[0], COLOR_WHITE, string);
                SetPlayerMarkerForPlayer(i, params[0], c1_color);
                format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}parece sospechoso, voy a interrogarlo.", cargos2, cargos);
                SendRadioMessage(1, TEAM_BLUE_COLOR, string);
            }
            case 2:
            {
                SetPlayerMarkerForPlayer(i, params[0], c2_color);
                format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}se resistiу al arresto, procedemos a su persecuciуn.", cargos2, cargos);
                SendRadioMessage(1, TEAM_BLUE_COLOR, string);
            }
            case 3:
            {
                SetPlayerMarkerForPlayer(i, params[0], c3_color);
                format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}se encuentra armado, procedan con precauciуn.", cargos2, cargos);
                SendRadioMessage(1, TEAM_BLUE_COLOR, string);
            }
            case 4:
            {
                SetPlayerMarkerForPlayer(i, params[0], c4_color);
                format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}abriу fuego, necesito refuerzos.", cargos2, cargos);
                SendRadioMessage(1, TEAM_BLUE_COLOR, string);
            }
            case 5:
            {
                SetPlayerMarkerForPlayer(i, params[0], c5_color);
                format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}asesinу, detener vivo o muerto.", cargos2, cargos);
                SendRadioMessage(1, TEAM_BLUE_COLOR, string);
            }
            case 6:
            {
                SetPlayerMarkerForPlayer(i, params[0], c6_color);
                format(string, sizeof(string), "[Radio] {FFFFFF}Oficial %s dice: {00D2CF}%s {FFFFFF}es extremadamente peligroso, disparen a matar.", cargos2, cargos);
                SendRadioMessage(1, TEAM_BLUE_COLOR, string);
            }
        }
    }
    else SendClientMessage(playerid, -1, "Utiliza: {6E9AFF}/c{FFFFFF} [ID] [0-6]");
}
Reply
#6

Ahi creo que los players que los policias marcan, los verian los que no son policia... їNo?
Reply
#7

Quote:
Originally Posted by Metzone
Посмотреть сообщение
Ahi creo que los players que los policias marcan, los verian los que no son policia... їNo?
No. Sуlo lo verнa la facciуn 1 (suponiendo que la funciуn SendRadioMessage estй bien hecha).
Reply
#8

Me da errores,

undefined symbol (i)
Reply
#9

Cambia los 'i' de SetPlayerMarkerForPlayer por el parбmetro que corresponda (playerid, si no me equivoco. Depende como quieras mostrar el marker).
Reply
#10

їNo tiene return al final?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)