[Ajuda] Alguem sabe como fazer isso? -
Fabricio_Rios - 20.02.2011
й 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б
Re: [Ajuda] Alguem sabe como fazer isso? -
ViniBorn - 20.02.2011
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
Re: [Ajuda] Alguem sabe como fazer isso? -
Fabricio_Rios - 20.02.2011
gosteiiii mano!! mas uma pergunta, esses numeros podem se repetir? se sim, tem como nao faze-los repetir? obrigado
Re: [Ajuda] Alguem sabe como fazer isso? - rjjj - 20.02.2011
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
Re: [Ajuda] Alguem sabe como fazer isso? -
Fabricio_Rios - 20.02.2011
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)
Re: [Ajuda] Alguem sabe como fazer isso? -
ViniBorn - 20.02.2011
Podem atй se repetir, mas a probabilidade й mнnima.
Ao usar random, nгo tem como prever o resultado...
Re: [Ajuda] Alguem sabe como fazer isso? - rjjj - 20.02.2011
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
Re: [Ajuda] Alguem sabe como fazer isso? -
Fabricio_Rios - 20.02.2011
aah vlw