07.12.2018, 21:00
An example using FileManager but it has to read once to retrieve how many files exist and a second to select the random one:
If you know the number of files will not exceed a certain amount, an array to store the file names and avoid the second loop is also a choice.
pawn Код:
new dir: dHandle, item[40], type, counter, random_file;
dHandle = dir_open("path_here");
while (dir_list(dHandle, item, type))
{
if(type == FM_FILE) counter++;
}
dir_close(dHandle);
random_file = random(counter);
counter = 0;
dHandle = dir_open("path_here");
while (dir_list(dHandle, item, type))
{
if(type == FM_FILE && counter++ == random_file) break;
}
dir_close(dHandle);
printf("random file: \"%s\"", item);