Смотри, я прохожусь от i = цвет первого игрока до цвет последнего игрока
Вот эти константы:
Далее, тебе нужен был массив из 8 счётчиков. Скажем, visits[8] выделит
[y20, y21, y22, y23, y24, y25, y26, y27] под это дело.
visits[0], где 0 - логический индекс элемента в массиве (всегда от нуля), скомпилируется в y20.
visits[1] в y21 и т.д.
А @visits или @visits[0] скомпилируется в индекс без y-префикса: 20.
@visits[0] = 20
@visits[7] = 27.
Тогда данная строка просто вычислит индекс y-переменной счётчика для i-го игрока
!!VR(visitPtr:y):S(@visits) +i;
=>
!!VR(visitPtr:y):S20 +i;
А значит y(visitPtr) означает y20..y27 поочерёдно. То есть буквально y-переменная с индексом, хранимым как число в переменной (visitPtr)