27.04.2016, 18:40
Buenas! Tengo un problema con un cуdigo creador por DesingMyCry: (El cуdigo fue creado por йl respondiendo una duda mнa en otro post, de hace mas de 1 aсo, el post ya murio)
* Los problemas son:
1° Si hay solo 1 jugador conectado, da un error que peta todo. (Puse el "obtenerIDrandom" en un CMD: y cuando uso el Comando, si solo hay 1 jugador conectado, me dice que el comando no existe)
2° Ejemplo: Hay 5 jugadores, de los 5 en el random solo salen del 1 a 4, la ultima/mayor ID nunca sale seleccionada en el random.
3° Si hay 2 jugadores, en el random sale siempre la ID mas "pequeсa" (Ejemplo: Hay 2 jugadores conectados, uno es ID 1 y el otro ID 2/3/4 Etc o mayor a la ID del jugador 1, entonces siempre selecciona la ID 1 (El jugador con la ID mas pequeсa de los 2 jugadores conectados, siempre va ser el seleccionado, es como si detectara solo 1 jugador conectado, pero como dije arriba, cuando hay solo 1 jugador conectado, se buguea y no sigue el codigo, o algo asн, como con el ejemplo del CMD que puse en el error 1°))
PHP код:
stock obtenerIDrandom()
{
new a, b[MAX_PLAYERS];
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
if(!IsPlayerConnected(playerid)) continue;
b[a++] = playerid;
}
return b[random((a)-(0b01))];
}
1° Si hay solo 1 jugador conectado, da un error que peta todo. (Puse el "obtenerIDrandom" en un CMD: y cuando uso el Comando, si solo hay 1 jugador conectado, me dice que el comando no existe)
2° Ejemplo: Hay 5 jugadores, de los 5 en el random solo salen del 1 a 4, la ultima/mayor ID nunca sale seleccionada en el random.
3° Si hay 2 jugadores, en el random sale siempre la ID mas "pequeсa" (Ejemplo: Hay 2 jugadores conectados, uno es ID 1 y el otro ID 2/3/4 Etc o mayor a la ID del jugador 1, entonces siempre selecciona la ID 1 (El jugador con la ID mas pequeсa de los 2 jugadores conectados, siempre va ser el seleccionado, es como si detectara solo 1 jugador conectado, pero como dije arriba, cuando hay solo 1 jugador conectado, se buguea y no sigue el codigo, o algo asн, como con el ejemplo del CMD que puse en el error 1°))
Gracias de ante mano, espero me puedan ayudar.