28.06.2018, 03:08
Olб, como eu faзo para gerar 2 nъmeros aleatуrios de 0 a 5 e fazer eles nгo repetir?
Eu tentei fazer aqui, mas nгo to conseguindo.
Eu tentei fazer aqui, mas nгo to conseguindo.
stock randomValue(max, non_r_value = -1) { // randomValue(valor mбximo, valor que nгo pode repetir);
new rand = random(max);
while(non_r_value == rand) {
rand = random(max);
}
return rand;
}
// Exemplo de uso
new cor1 = random(5), cor2 = randomValue(5, cor1);
CreateVehicle(402, /*Nas coordenadas foda-se*/, cor1, cor2, 0);
CMD:numero(playerid)
{
new number1, number2, string[255];
number1 = randomValue(9, number1);
number2 = randomValue(9, number2);
format(string, sizeof(string), "%d %d", number1, number2);
SendClientMessage(playerid, -1, string);
return 1;
}
|
Eu fiz assim:
PHP код:
|
randomValue(max, non_r_value = -1) // max: O valor mбximo que a funзгo pode retornar. // non_r_value = -1: O valor que nгo deve ser repetido. new valor1, valor2; valor1 = random(100); // Vai retornar um valor entre 0 e 100. valor2 = random(100, valor1); // Vai retornar um valor entre 0 e 100 diferente do valor da variбvel valor1.
CMD:numero(playerid)
{
new number1, number2, string[255];
number1 = random(9);
number2 = randomValue(9, number1);
format(string, sizeof(string), "%d %d", number1, number2);
SendClientMessage(playerid, -1, string);
return 1;
}
new val_array[100]; // Se mudar o nome desta array, mude dentro da funзгo tambйm.
public OnGameModeInit() {
for(new r; r < sizeof val_array; r++) val_array[r] = -1; // Coloque isto no seu GM.
}
stock randomValue(max) { // randomValue(valor mбximo);
new rand = random(max);
for(new i; i < sizeof val_array; i++) {
while(val_array[i] == rand) {
rand = random(max);
}
}
for(new j; j < sizeof val_array; j++) {
if(val_array[j] == -1)
val_array[j] = rand;
}
return rand;
}
new string[255];
format(string, sizeof(string), "%d %d", randomValue(255), randomValue(255));
SendClientMessage(playerid, -1, string);
new string[255];
format(string, sizeof(string), "%d%d", randomValue(1), randomValue(2));
SendClientMessage(playerid, -1, string);
|
Tipo, com essa funзгo ai, eles podem repetir assim nй: 55, mas nгo aparecer em baixo o mesmo exemplo:
55 55 correto? |
|
@edit Por quando coloquei PHP код:
|