Привет! Я решил проблему и исправил скрипт для тебя. Вот три способа, которые ты можешь использовать⁚
Первый способ⁚
F1⁚⁚
FileRead, str, 707.txt
StringSplit, lines, str, `n
Random, index, 1, lines0
word ⁚ lines%index%
If (word <> prevWord) ; Проверяем, не совпадает ли текущее слово с предыдущим
{
Clipboard ⁚ word
SendInput, ^v
}
prevWord ⁚ word ; Запоминаем текущее слово для следующей проверки
return
В этом способе я добавил переменную prevWord, в которой будет храниться предыдущее выбранное слово. Я проверяю, не совпадает ли текущее слово с предыдущим, и только в этом случае я записываю его в буфер обмена и вставляю с помощью SendInput, иначе ничего не делаю.Второй способ⁚
F1⁚⁚
FileRead, str, 707.txt
StringSplit, lines, str, `n
while (1) ; Запускаем бесконечный цикл
{
Random, index, 1, lines0
word ⁚ lines%index%
If (word <> prevWord) ; Проверяем, не совпадает ли текущее слово с предыдущим
{
Clipboard ⁚ word
SendInput, ^v
break ; Выходим из цикла, чтобы остановить выборка слов
}
}
prevWord ⁚ word ; Запоминаем текущее слово для следующей проверки
return
В этом способе я использую бесконечный цикл while(1), чтобы продолжать выбирать новые слова до тех пор, пока не будет найдено слово, которое не совпадает с предыдущим. Затем я записываю его в буфер обмена и вставляю его, и затем выхожу из цикла.Третий способ⁚
F1⁚⁚
FileRead, str, 707.txt
StringSplit, lines, str, `n
Random, index, 1, lines0
word ⁚ lines%index%
wordCount ⁚ lines0
indexArray ⁚ ″″
Loop % wordCount ; Создаем массив индексов для всех слов в файле
indexArray . A_Index . ″ ″
Loop % wordCount ; Проверяем, не совпадает ли текущее слово с предыдущими
{
Random, newIndex, 1, wordCount
If (InStr(indexArray, newIndex) 0) ; Проверяем٫ что новый индекс не был выбран ранее
{
word ⁚ lines%newIndex%
indexArray ⁚ indexArray . newIndex ; ″ ″
Clipboard ⁚ word
SendInput, ^v
break ; Выходим из цикла, чтобы остановить выборку слов
}
}
prevWord ⁚ word ; Запоминаем текущее слово для следующей проверки
return
В этом способе я создаю массив индексов indexArray для всех слов в файле. Затем я выбираю случайный новый индекс, который еще не был выбран, и проверяю, не совпадает ли текущее слово с предыдущими. Если нет, то я записываю его в буфер обмена и вставляю его.
Теперь ты можешь использовать любой из этих способов в своем скрипте и избавиться от повторения одного слова при быстром нажатии на F1. Удачи!