[Ajuda] Alguem sabe como fazer isso?
#1

й o seguinte
alguem sabe como faz pra criar numeros aleatorios sem que eles se repitam? por exemplo pra fazer numero de celular mas nao й pra isso que eu vou usar.

eu poderia usar uma variavel randomica mas ai se eu for fazer de 4 numeros por exemplo eu teria q fazer 1 a 9999...

obrigado desde jб
Reply
#2

No caso de nъmeros de celular com 4 digitos ficaria assim.

pawn Код:
new phone = 1000 + random(8999);
Onde phone й o nъmero do telefone.

1000 й o que torna ele um nъmero de 4 digitos, se fossem 6 digitos, usaria 100000

8999 й um numero aleбtorio, que somado а 1000, daria a possibilidade mбxima de 9999 nъmeros de celulares diferentes
Reply
#3

gosteiiii mano!! mas uma pergunta, esses numeros podem se repetir? se sim, tem como nao faze-los repetir? obrigado
Reply
#4

Sim, apesar da pouca possibilidade, sempre acontece um caso de 2 jogadores com nъmeros iguais.

Supondo que seu GM seja RPG/GF/Thug:

Fiz para vocк, se quiser salvar os numeros ja usados, terб que salvar cada valor de dentro da array (no caso os 2005 valores):

pawn Код:
//No topo do GM:

new bool:NumeroJaExistente[2005];//Vai definir uma variavel para travar um numero jб pego por alguem


//Quando for definir o nъmero do celular:

new NumeroCelular = (random(2000));//Vai escolher determinado nъmero pra dado ao jogador
if(NumeroJaExistente[NumeroCelular]) return SendClientMessage(playerid,0xFFFFFFAA,"Alguйm jб tem este nъmero!");//Vai travar caso ja tenha alguem com o numero
PlayerInfo[playerid][pPnumber] = NumeroCelular;//Se passar do IF acima, quer dizer o numero estб livre, e serб colocado nesta linha.
NumeroJaExistente[NumeroCelular] = true;//Coloca o nъmero recйm colocado no jogador como um "nъmero que jб estб sendo usado".

Espero ter ajudado
Reply
#5

brigaaado mano hehehe sу q eu to criando meu gm do 0
entгo nao tem PlayerInfo[giveplayerid][pPnumber] hehehehehe

valeeu mano

com numeros fico perfeito se eu fosse fazer com letras eu teria q escrever todas as letras nй? (se tiver q escrever nao tem problema pq sгo poucas)
Reply
#6

Podem atй se repetir, mas a probabilidade й mнnima.

Ao usar random, nгo tem como prever o resultado...
Reply
#7

Quote:
Originally Posted by Fabricio_Rios
Посмотреть сообщение
brigaaado mano hehehe sу q eu to criando meu gm do 0
entгo nao tem PlayerInfo[giveplayerid][pPnumber] hehehehehe

valeeu mano

com numeros fico perfeito se eu fosse fazer com letras eu teria q escrever todas as letras nй? (se tiver q escrever nao tem problema pq sгo poucas)
Com letras seria quase a mesma coisa, mas claro, a variбvel teria que poder suportar texto, veja:

pawn Код:
//No Topo do GM:

new Letra[26][2] = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q",
"r","s","t","u","v","w","x","y","z"};


//No Final do GM:

stock PalavraAleatoria()
{
    new string[15], y = random(26);
    for(new x = 0; x <= 25; x++)
    {

        format(string, sizeof(string), "%s%s%s%s%s%s%s%s%s%s", Letra[y], Letra[y]
        ,Letra[y], Letra[y], Letra[y], Letra[y], Letra[y], Letra[y], Letra[y], Letra[y]);
    }
    return string;
}
Assim, faria assim pra igualar a variбvel б palavra (texto), supondo que a variбvel fosse de texto:

pawn Код:
format(VariavelTexto, sizeof(VariavelTexto), "%s", PalavraAleatoria());
Tambйm poderia fazer igualando cada caractere da variбvel texto.

Espero ter ajudado
Reply
#8

aah vlw
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)