Das Script ist unsinnig. Wie schon erwähnt wurde: Es fehlt eine Schleife außerhalb der Funktion um die Beendigung des Scripts zu verhindern und außerdem beendet sich das Script auch gleich wieder, wenn nicht alle neun Clients geöffnet sind. Zudem hat man noch den Nachteil, dass man jeden Client starten muss, diesen umbenennen muss und anschließend den nächsten Client starten muss (und das acht mal). Außerdem ist das Script voll mit redundantem Code.
Ich habe mal ein Script erstellt, welches an jedes "S4Client" Fenster die entsprechenden Tasten sendet. Dabei ist es irrelevant, wie viele Fenster geöffnet sind und dass diese einen identischen Namen besitzen. Dadurch spart man sich das unnötige umbenennen. Sollte der Titel automatisch aufgrund eines Bots oder ähnlichem geändert werden funktioniert das Script dennoch noch, da ich die "WinTitleMatchMode" Option geändert habe.
Code:
AutoItSetOption("WinTitleMatchMode", 2)
Global $paused = False
HotKeySet("{F8}", "_Start")
HotKeySet("{F9}", "_TogglePause")
HotKeySet("{F10}", "_Exit")
While True
Sleep(100)
WEnd
Func _Start()
While True
$winList = WinList("S4Client")
For $i = 1 To $winList[0][0]
ControlSend($winList[$i][1], "", 0, "{F5}")
Sleep(1500)
ControlSend($winList[$i][1], "", 0, "{ESC}")
Sleep(1500)
Next
WEnd
EndFunc
Func _TogglePause()
$paused = Not $paused
While $paused
Sleep(100)
WEnd
EndFunc
Func _Exit()
Exit
EndFunc