SA-MP Forums Archive
Duda - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Duda (/showthread.php?tid=374044)



Duda - Glimma - 01.09.2012

Bueno, en mi gamemode tengo un sistema de placas y demбs, la cosa es que hoy intentй colocarlo para que aparezca la placa asignada de cada uno en /miembros, pero lo que obtuve fue que a todos les aparece el mismo valor, del ъltimo que coge una placa..

pawn Код:
if (strcmp(cmd, "/miembros", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(JugadorInfo[playerid][jMiembro] == 1 || JugadorInfo[playerid][jLider] == 1)
            {
                SendClientMessage(playerid, AMARILLO, "RCSD Online:");
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(JugadorInfo[i][jMiembro] == 1 || JugadorInfo[i][jLider] == 1)
                        {
                            GetPlayerName(i, sendername, sizeof(sendername));
                            if(JugadorInfo[i][jLider] == 1)
                            {
                                format(string, 256, "** Sheriff ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 9)
                            {
                                format(string, 256, "** Sheriff Adjunto ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 8)
                            {
                                format(string, 256, "** Sub Sheriff ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 7)
                            {
                                format(string, 256, "** Comandante ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 6)
                            {
                                format(string, 256, "** Capitбn ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 5)
                            {
                                format(string, 256, "** Teniente ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 4)
                            {
                                format(string, 256, "** Sargento ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 3)
                            {
                                format(string, 256, "** Inspector ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 2)
                            {
                                format(string, 256, "** Oficial ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 1)
                            {
                                format(string, 256, "** Cadete ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else
                            {
                                format(string, 256, "** Cadete ** %s ** Placa %d", sendername, Placa[playerid]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                        }
                    }
                }
            }
Asн lo definн:

pawn Код:
new Placa[MAX_PLAYERS];
Entonces.. їcuбl es el error que tengo?


Respuesta: Duda - WCrimson - 01.09.2012

Quй en el format estas utilizando ' Placa[playerid]; ( lo cual asignarб el valor que tienes el que usa el comando )' cuando deberнa ser ' Placa[i]; ( el cual asignarб el valor que tenga el jugador en el que va el bucle ).'


Respuesta: Duda - -[R]hysi- - 01.09.2012

Si no me equivoco tu error esta en "Placa[playerid]); " ya que con eso te dara la placa que tiene el que coloco el comando.

De esta manera creo que deberнa funcionar.

pawn Код:
if (strcmp(cmd, "/miembros", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(JugadorInfo[playerid][jMiembro] == 1 || JugadorInfo[playerid][jLider] == 1)
            {
                SendClientMessage(playerid, AMARILLO, "RCSD Online:");
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(JugadorInfo[i][jMiembro] == 1 || JugadorInfo[i][jLider] == 1)
                        {
                            GetPlayerName(i, sendername, sizeof(sendername));
                            if(JugadorInfo[i][jLider] == 1)
                            {
                                format(string, 256, "** Sheriff ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 9)
                            {
                                format(string, 256, "** Sheriff Adjunto ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 8)
                            {
                                format(string, 256, "** Sub Sheriff ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 7)
                            {
                                format(string, 256, "** Comandante ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 6)
                            {
                                format(string, 256, "** Capitбn ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 5)
                            {
                                format(string, 256, "** Teniente ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 4)
                            {
                                format(string, 256, "** Sargento ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 3)
                            {
                                format(string, 256, "** Inspector ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 2)
                            {
                                format(string, 256, "** Oficial ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else if(JugadorInfo[i][jRango] == 1)
                            {
                                format(string, 256, "** Cadete ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                            else
                            {
                                format(string, 256, "** Cadete ** %s ** Placa %d", sendername, Placa[i]);
                                SendClientMessage(playerid, BLANCO, string);
                            }
                        }
                    }
                }
            }
EDIT: Mientras escribнa ya te respondiу WCrimson ¬¬