!!VRy12:S1 R99;
!!VRy11:S254;
!!VRy10:S0;
!!VRy10&y12<=20:S2; мелкие
!!VRy10&y12<=10:S4; средние
!!VRy10&y12<=5:S8; крупные арты
!!UN&y10<>0:J6/y10/?y11;
!!VRy11:+1;
!!PO2:Hy11;
!!VRx4 : Sy10;
!!VRx5 : Sy11;
!!VRx6 : Sy12;
То есть, условие из if-а (y11=255) ставим со знаком & на вызов функции. В параметры (после P) записываем все используемые в функции локальные (например y) переменные, потому, что так просто они обнулились бы в начале функции. В начале записываем просто (Py10/y11/y12), в функции они превратятся в переменные x1, x2, x3. Затем со знаком вопроса (/?y10/?y11/?y12), в эти переменные запишутся данные из переменных x4, x5, x6 - это на случай, если в функции изменяются значения переменных.
В начале функции передаём из x-переменных данные в локальные переменные нашей функции
(!!VRy10 : Sx1;
!!VRy11 : Sx2;
!!VRy12 : Sx3;)
- это нужно, чтобы не заменять локальные переменные на x-переменные по всей функции, как я делал в прошлый раз.
В конце функции передаём данные из локальных переменных в x-переменные с возвратом значения
(!!VRx4 : Sy10;
!!VRx5 : Sy11;
!!VRx6 : Sy12;)
- то есть возвращаем значения.