Выше написали про CYCLE_INDEX.
В любом цикле (for, while, foreach) есть встроенный счетчик [[CYCLE_INDEX]]. Он автоматически увеличивается с каждой итерацией (повтором). Без него цикл, в принципе, был бы невозможен.
Допустим есть бесконечный цикл while (или любой другой цикл):
while (true) {
Любая логика скрипта...
}
Нужно прервать цикл на 20 повторе, пишем условие и прерываем скрипт командой "Break". Как скрипт дойдет до условия if и [[CYCLE_INDEX]] будет равняться 20, цикл прервется:
while (true) {
if ( [[CYCLE_INDEX]] === 20 ) {
Break
}
Любая логика скрипта...
}
Условие можно любое писать, можно не использовать [[CYCLE_INDEX]], а вместо этого проверять, допустим равняется ли какая-нибудь переменная тому-то и если равняется, то прервать цикл Break'ом.
Это я в стиле JavaScript'а написал. В BAS точно так же делаешь этими же блоками (Цикл - while, условие - if, прервать цикл - Break).
А вообще если определенное количество повторов нужно, то лучше использовать цикл For. Там повторений столько, сколько ты написал.