Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - nolek

Pages: [1]
1
Использование / Re: GOTO в SUB и INCLUDE
« on: September 19, 2022, 04:59:11 PM »
главное чтоб скрипт работал, и в тех редакторах, которыми я пользуюсь всё подсвечивается нормально

2
Использование / Re: GOTO в SUB и INCLUDE
« on: September 19, 2022, 11:17:02 AM »
всем спасибо за отклик, избавился от GOTO, действительно тупанул, ведь переменная и есть переменная, присвоили значение больше чем условие цикла и мы выходим из цикла.. =))

выкинул весь код с координатами каждой ячейки из таблицы и заменил циклами, теперь подтягиваю по инклуду нужный файл

Code: (clickermann) [Select]
// рабочий цикл
logshow(1, 100,100)
$1ax1 = 637 //тут стоит формула, но для примера поставил число
$1ay1 = 321
$6hx1 = $1ax1+216
$6hy1 = $1ay1+288


FOR($tby1=$1ay1, $tby1 < $6hy1-5, +36)
   FOR($tbx1=$1ax1, $tbx1 < $6hx1-5, +36)
      //вычисляем и присваиваем координаты ячейки, и всех остальных отталкиваясь от верхнего левого угла
      $tbx2 = $tbx1+36
      $tby2 = $tby1+36
     
      //тут тело скрипта действий с ячейкой
     
      logwrite($tbx1,$tby1)
      waitms(100)
   END_CYC
END_CYC
halt

3
Использование / Re: GOTO в SUB и INCLUDE
« on: September 16, 2022, 11:51:43 PM »
спасибо за советы, сейчас буду ковырять, отпишусь как расковыряю, спасибо за потраченное время.

там ячейки в таблице 6х8 - пример я уже получил, буду адаптировать, за несколько дней думаю справлюсь

4
Использование / Re: GOTO в SUB и INCLUDE
« on: September 15, 2022, 12:49:28 PM »
у меня нет переменных которым что-то присвоено - удалять нечего

последовательное открытие скриптов - это как ? или как их можно открыть паралельно ?

суть проблемы, что Clickermann.exe генерирует весь сценарий при открытии, то есть инклуды и подпрограммы все превращаются в единый сценарий, который хранится в памяти, и меня интересует есть ли какая то возможность очистить какую-то часть памяти, после исполнения, как очистка переменных, только к куску кода, пока что я не смог найти как.

Сейчас у меня мой вопрос решён уникальными таргетами по GOTO - через генерацию рэндом числа в диапазоне, но есть риск, что сгенерируется одинаковое число, и тогда сценарий словит глюк, запоминать переменные и писать проверку каждой  на совпадение тоже не хочу, а вот если очистить из памяти сценария часть кода, тогда и уникальных таргетов ненадо и сценарий будет без глюков.

если у вас есть решение - покажите на участке кода, который я привёл выше в постах.

UPD
1) почитал про потоки, - в моём случае не вариант, слишком ресурсоёмкое.
2) отказался от генерации рэндом числа в диапазоне для уникальных таргетов GOTO, глючит почему-то, перезаписал вручную таргеты всё заработало как часы.


5
Использование / Re: GOTO в SUB и INCLUDE
« on: September 14, 2022, 11:57:56 PM »
GOTO из циклов работает без нареканий и к поднятой проблеме прямого отношения не имеет, из подпрограмм выхода по GOTO у меня нет.

при назначении уникального таргета по GOTO у меня проблем нет.

суть вопроса можно ли как-то изолировать от общего сценария отдельный скрипт подтягиваемый по инклуду или изолировать подпрограмму, например выполнили подпрограмму и основной сценарий не держит её в памяти.

6
Использование / Re: GOTO в SUB и INCLUDE
« on: September 14, 2022, 06:12:54 PM »
я пытался и инклудом и подпрограмой - результат один и тот же - глюк

часть основного сценария (выше в сценарии есть похожие места с похожими внешними файлами и одинаковыми названиями GOTO)
Code: [Select]
t6-8:
#include "\bl\t+2Kpdrdpr.cms"
#include "bl\sld48.cms"

GETSCREEN(624, 288, 851, 616)
IF_PICTURE_IN(624, 288, 851, 616, "\pict\001.bmp", -1, 60)
   MOVE($_return1, $_return2)
   WAIT(1)
ELSE
   #include "bl\plznv.cms"
   GOTO(bgn1)
END_IF

GETSCREEN(624, 288, 851, 616)
COLORMODE(8, 624, 288, 851, 616)
IF_PICTURE_IN(624, 288, 851, 616, "\pict\06.bmp", -1, 98)
   #include "\bl\t+2Kpdrdpr.cms"
   #include "bl\plznv.cms"
ELSE
   #include "bl\plznv.cms"
END_IF
GOTO(bgn1)

часть файла t+2Kpdrdpr.cms
Code: [Select]
//1-1
GETSCREEN
IF_PICTURE_IN(624, 317, 680, 367, "\pict\001.bmp", -1, 60)
GOTO(1h1)
ELSE
GOTO(1h-2)
END_IF
1h1:
FOR($a=0, $a < 2)
MOVE(1013,831)
WAITMS(201)
LDOWN(1013,831)
WAITMS(99)
LUP(1013,831)
WAITMS(1501)
MOVE(652,343)
WAITMS(201)
LDOWN(652,343)
WAITMS(500)
MOVER(10,10)
WAITMS(201)
MOVE(1059,467)
WAITMS(201)
LUP(1059,467)
WAITMS(101)
MOVE(1014,740)
WAITMS(101)
LDOWN(1014,740)
MOVER(10,10)
WAITMS(102)
MOVE(1016,477)
WAITMS(103)
LUP(1016,477)
WAITMS(104)
MOVE(974,577)
WAITMS(902)
LDOWN(974,577)
WAITMS(99)
LUP(974,577)
WAITMS(4701)
GETSCREEN
IF_PICTURE_IN(988, 431, 1043, 491, "\pict\cri.bmp", -1, 60)
GOTO(1h-2)
END_IF
END_CYC
//1-2
1h-2:
GETSCREEN
IF_PICTURE_IN(664, 317, 716, 367, "\pict\001.bmp", -1, 60)
GOTO(1h2)
ELSE
GOTO(1h-3)
END_IF
1h2:
FOR($a=0, $a < 2)
MOVE(1013,831)
WAITMS(201)
LDOWN(1013,831)
WAITMS(99)
LUP(1013,831)
WAITMS(1501)
MOVE(691,343)
WAITMS(201)
LDOWN(691,343)
WAITMS(500)
MOVER(10,10)
WAITMS(201)
MOVE(1059,467)
WAITMS(201)
LUP(1059,467)
WAITMS(101)
MOVE(1014,740)
WAITMS(101)
LDOWN(1014,740)
MOVER(10,10)
WAITMS(102)
MOVE(1016,477)
WAITMS(103)
LUP(1016,477)
WAITMS(104)
MOVE(974,577)
WAITMS(902)
LDOWN(974,577)
WAITMS(99)
LUP(974,577)
WAITMS(4701)
GETSCREEN
IF_PICTURE_IN(988, 431, 1043, 491, "\pict\cri.bmp", -1, 60)
GOTO(1h-3)
END_IF
END_CYC
//1-3
1h-3:
GETSCREEN
IF_PICTURE_IN(704, 317, 752, 367, "\pict\001.bmp", -1, 60)
GOTO(1h3)
ELSE
GOTO(1h-4)
END_IF
1h3:
FOR($a=0, $a < 2)
MOVE(1013,831)
WAITMS(201)
LDOWN(1013,831)
WAITMS(99)
LUP(1013,831)
WAITMS(1501)
MOVE(727,343)
WAITMS(201)
LDOWN(727,343)
WAITMS(500)
MOVER(10,10)
WAITMS(201)
MOVE(1059,467)
WAITMS(201)
LUP(1059,467)
WAITMS(101)
MOVE(1014,740)
WAITMS(101)
LDOWN(1014,740)
MOVER(10,10)
WAITMS(102)
MOVE(1016,477)
WAITMS(103)
LUP(1016,477)
WAITMS(104)
MOVE(974,577)
WAITMS(902)
LDOWN(974,577)
WAITMS(99)
LUP(974,577)
WAITMS(4701)
GETSCREEN
IF_PICTURE_IN(988, 431, 1043, 491, "\pict\cri.bmp", -1, 60)
GOTO(1h-4)
END_IF
END_CYC
и дальше ещё 2000+ строк кода но они похожи

глюк при таком раскладе начинался уже на первом проходе
Code: [Select]
IF_PICTURE_IN(624, 288, 851, 616, "\pict\06.bmp", -1, 98)
   #include "\bl\t+2Kpdrdpr.cms"

до конца не проигрывается, иногда на середине начинается сбой, когда в конце, и таких включений с GOTO еще около дестяка м везде пришлось на сейчас присваивать уникальные таргеты на GOTO и тогда всё работает.

пробовал через подпрограмму

описание в самом начале сценария штук 5 как ниже
Code: [Select]
sub(2Kpdrdpr)
#include "\bl\t+2Kpdrdpr.cms"
end_sub

и потом вызов
Code: [Select]
2Kpdrdpr()
но также сбоит и с такими же симптомами как и по инклуду

7
Использование / GOTO в SUB и INCLUDE
« on: September 14, 2022, 12:49:01 PM »
есть ли возможность подтягивать один и тот же внешний скрипт с GOTO в разных частях основного сценария ??

пробовал через SUB и INCLUDE , но ловлю глюки из-за того, что основной скрипт похоже генерирует все подпрограммы и инклуды и путается, так как имеем одинаковых таргетов по GOTO множество в разных местах.

еслиб как-то изолировать каждую подтяжку внешнего скрипта, то проблемы не было бы, или очистить после выполнения из основного скрипта..

Pages: [1]