09.12.2014, 21:29
El problema es que cuando encuentra al jugador que estб conectado y variable pDNI es la misma que colocaste como parбmetro te saca del bucle (break) y lo que estб despuйs de ese cуdigo no se cumplirб (hablo de lo que estб despuйs PERO dentro del bucle.) por ende, cuando te saca del bucle no se chequearб el siguiente if ni ejecutarбn las funciones que vienen...
ej.
Prueba de йsta manera a ver
ej.
pawn Код:
new variable[MAX_PLAYERS];
for(new i; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i) && variable[i] == 1) break; //Si el jugador estб conectado y la variable es 1 te saca del bucle y no se cumple lo que sigue abajo que estй dentro del bucle.
//funciones que no se ejecutarбn si se cumpliу la condiciуn de arriba ↑
}
pawn Код:
if(strcmp(cmd,"/verdni",true, 7)==0)
{
tmp1 = strtok(cmdtext,idx);
if(strlen(tmp1) == 0) return SendClientMessage(playerid,COLOR_GRIS,"USO: /verdni [D.N.I]");
if(strlen(tmp1) != 8) return SendClientMessage(playerid,-1,"Tienes que escribir un D.N.I de 8 digitos.");
new dni = strval(tmp1);
new Srt[256];
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(!IsPlayerConnected(i)) continue;
if(PlayerInfo[i][pDNI] == dni)
{
format(Srt,sizeof(Srt),"El D.N.I %d corresponde al jugador %s[%d]",dni,Name(i),i);
break;
}
else
{
format(Srt,sizeof(Srt),"El jugador con el nъmero de D.N.I %d no estб conectado o no existe", dni);
}
}
SendClientMessage(playerid,-1,Srt);
return 1;
}