forward MakePNumber();
public MakePNumber()
{
new number = Random(60001,69999);
if(IsValidPNumber(number))
{
SavePNumber(number);
return number;
}
else
{
MakePNumber();
}
return 1;
}
forward IsValidPNumber(number);
public IsValidPNumber(number)
{
new savednumbers[512];
new File:numb = fopen("numbers.info",io_readwrite);
fread(numb, savednumbers);
fclose(numb);
new numberstr[8];
format(numberstr,8,"%d",number);
if(strfind(savednumbers,numberstr) != -1)
{
return 0;
}
else return 1;
}
stock SavePNumber(number)
{
new savednumbers[512];
new newnumbers[512];
new File:numb = fopen("numbers.info",io_readwrite);
fread(numb, savednumbers);
format(newnumbers,1024,"%s|%d",savednumbers,number);
fwrite(numb, newnumbers);
fclose(numb);
return 1;
}
new number = Random(60001,69999);
Originally Posted by biltong
Random only has one parameter, it's maximum allowed value, so where you say
pawn Код:
Random starts at 0 and goes up to the value you give it, and picks a random number from that, not between two numbers. https://sampwiki.blast.hk/wiki/Random |
stock Random(min, max) return random(max - min+1) + min;
Originally Posted by biltong
I see. In that case maybe the problem still lies in there? Maybe your random isn't working properly?
|
Originally Posted by biltong
Tried printing debug messages?
|
forward MakePNumber();
public MakePNumber()
{
new number = Random(60001,69999);
if(IsValidPNumber(number))
{
SavePNumber(number);
printf("MAKE PHONE NUMBER: %i",number);
return number;
}
else
{
MakePNumber();
}
return 1;
}
forward IsValidPNumber(number);
public IsValidPNumber(number)
{
printf("IS VALID PHONE NUMBER CHECK: %i",number);
new savednumbers[512];
new File:numb = fopen("numbers.info",io_readwrite);
fread(numb, savednumbers);
printf("READ PHONE NUMBERS: %s",savednumbers);
fclose(numb);
new numberstr[8];
format(numberstr,8,"%d",number);
printf("MAKE PHONE NUMBER 2: %s",numberstr);
printf("MAKE PHONE NUMBER 3: %s",savednumbers);
if(strfind(savednumbers,numberstr) != -1)
{
return 0;
}
else return 1;
}
stock SavePNumber(number)
{
new savednumbers[512];
new newnumbers[512];
new File:numb = fopen("numbers.info",io_readwrite);
fread(numb, savednumbers);
format(newnumbers,1024,"%s|%d",savednumbers,number);
fwrite(numb, newnumbers);
fclose(numb);
return 1;
}
[08:46:57] IS VALID PHONE NUMBER CHECK: 62400 [08:46:57] READ PHONE NUMBERS: |67955|67955|67136|67955|67955|67136|64263 [08:46:57] MAKE PHONE NUMBER 2: 62400 [08:46:57] MAKE PHONE NUMBER 3: |67955|67955|67136|67955|67955|67136|64263 [08:46:57] MAKE PHONE NUMBER: 62400 |
Originally Posted by RSX
May i ask why newnumbers in second is doubled in size, maybe it doesn't even write because of this
![]() |