Algor, сделал такой скрипт - работает. Комп тоже артефакты гребёт )))
igrik, наверное уже не надо, нашёлся способ
!?TM??&v2023=1;
!!UN:X?v9554/d; ** размер карты
!!UN:U5/-1/?y1; **узнаём число артефактов на карте
!!DO903/1/y1/1&y1>0:P5; **цикл по всем артефактам
!?FU903;
!!UN:Ux1/-1/x16/2002; ** узнаём координаты артефакта x16 и записываем в v2002 v2003 v2004
!!VRy1:Sv2002 -1; ** отнимаем единицу для смещения по Х, для цикла проверки 3 на 3 клетки вокруг артефакта
!!VRy2:Sv2003 -1; ** по Y
!!DO830033/1/3/1:Py1/y2/v2004; ** цикл по оси X в окрестностях артефакта
!?FU830033;
!!DO830034/1/3/1:Px1/x2/x3; ** цикл по оси Y в окрестностях артефакта
!!VRx1:+1; ** увеличиваем координату Y на 1
!?FU830034;
!!if&x1>0/x2>0/x1<v9554/x2<v9554:; ** если не выходит за края карты то проверяем
!!OBx1/x2/x3:T?y1; ** какой тип объекта в соседней с артефактом клетке
!!TR2002&y1=54:P0; ** если 54, то делаем клетку недоступной
!!en:;
!!VRx2:+1;
!$OB54&v2023=1; ** точно так же проверяем вокруг монстра есть ли артефакт или нет, и после победы над ним делаем клетку артефакта доступной
!!VRy1:Sv998 -1;
!!VRy2:Sv999 -1;
!!DO830035/1/3/1:Py1/y2/v1000;
!?FU830035;
!!DO830036/1/3/1:Px1/x2/x3;
!!VRx1:+1;
!?FU830036;
!!if&x1>0/x2>0/x1<v9554/x2<v9554:;
!!OBx1/x2/x3:T?y1;
!!TRx1/x2/x3&y1=5:P?y2;
!!TRx1/x2/x3&y1=5/y2=0:P1;
!!en:;
!!VRx2:+1;
x1>0/x2>0/x1<v9554/x2<v9554 - координаты не совсем правильные, но это во избежание всяких ошибок, по идее должно быть >=0 и <=9554
Да и вообще эта проверка по сути не нужна... просто на всякий случай
Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 04.11.2018 01:07 by totkotoriy.)