Random number with no repating.
#1

How do i get a random number WITHOUT repeating. I mean if the number is used,it can't be used again. Any help?
Reply
#2

// somewhere on top of script
Код:
new LastNumber;
Код:
new TheNumber = random(15656);
if(TheNumber == LastNumber)
{
TheNumber = random(15656);
}
else
{
LastNumber = TheNumber;
//other code here
}
Reply
#3

pawn Код:
#define MAX_MEMORY 20
#define A_LOT 5
new memory[MAX_MEMORY];

stock TrulyRandom() {
    new tmp;
    static trials;
    while(!tmp) {
        tmp = random(A_LOT);
        for(new i = 0; i != trials; ++i) {
            if(memory[i] == tmp) {
                tmp = 0;
                break;
            }
        }
    }
    ++trials;
    return tmp;
}
Reply
#4

Quote:
Originally Posted by cj101
Посмотреть сообщение
// somewhere on top of script
Код:
new LastNumber;
Код:
new TheNumber = random(15656);
if(TheNumber == LastNumber)
{
TheNumber = random(15656);
}
else
{
LastNumber = TheNumber;
//other code here
}
And if it get's same number again?

pawn Код:
stock GetRandomNumber(maximum,lastnumber)
{
    new i=-1;
    while(i == -1)
    {
        i=random(maximum+1);
        if(i == lastnumber) i = -1;
    }
    return i;
}
I created this stock for you now. Params are obvious. If you want to get new random number between 0 and 100 and it should differ from 56 (example) you would do
pawn Код:
new number = GetRandomNumber(100,56);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)