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 - MerlinUA

Pages: [1]
1
Только не с сабом. Условие с гото после каждой команды.
Это единственное что приходит на ум. Но это же мама родная и пройдёт если поток всего на десяток строк.
Это не наш метод.
Я вот тоже слепил и это явно не подходит. Сильно тормозит всю программу. Едиственый разумный выход из ситуации, который я нашел, это создать много одинаковых потоков и вызывать все поочереди(благо это нужно делать не очень много раз). Код конечно корявый, но программа работает шустро.

P.S. Всем спасибо за ответы!!

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

Во блин. А я чёт ни одного не вижу ;D Протри мне глаза.
Может я сильно погрузился в питон и в кликере замылился глаз.
Мне кажеться, что тут можно goto использовать, но как - не могу понять.
А ты не пробовал IF использовать?
Code: (clickermann) [Select]
THREAD(thr_name,1)
   IF($a=1)
   LOGWRITE("1")
   WAIT(1)
   LOGWRITE("2")
   WAIT(1)
   LOGWRITE("3")
   WAIT(1)
   LOGWRITE("4")
   WAIT(1)
   LOGWRITE("5")
   WAIT(1)
   LOGWRITE("6")
   waitms(10)
END_IF
END_THREAD
Code: (clickermann) [Select]
$a=1
THREAD(1,1)
   IF($a=1)
   LOGWRITE("1")
   WAIT(1)
   LOGWRITE("2")
   WAIT(1)
   LOGWRITE("3")
   WAIT(1)
   LOGWRITE("4")
   WAIT(1)
   LOGWRITE("5")
   WAIT(1)
   LOGWRITE("6")
   waitms(10)
END_IF
END_THREAD

WAIT(3)
SETTHREAD (1, 0)
LOGWRITE("Stop")
WAIT(1)
$a=0
SETTHREAD (1, 1)
WAIT(5)
halt

Что получилосЬ:

7:52:42 PM 1
7:52:43 PM 2
7:52:44 PM 3
7:52:45 PM Stop
7:52:46 PM 4
7:52:47 PM 5
7:52:48 PM 6

Может я не так понял?

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

Во блин. А я чёт ни одного не вижу ;D Протри мне глаза.
Может я сильно погрузился в питон и в кликере замылился глаз.
Мне кажеться, что тут можно goto использовать, но как - не могу понять.
А ты не пробовал IF использовать?
Code: (clickermann) [Select]
THREAD(thr_name,1)
   IF($a=1)
   LOGWRITE("1")
   WAIT(1)
   LOGWRITE("2")
   WAIT(1)
   LOGWRITE("3")
   WAIT(1)
   LOGWRITE("4")
   WAIT(1)
   LOGWRITE("5")
   WAIT(1)
   LOGWRITE("6")
   waitms(10)
END_IF
END_THREAD
Но если остановить поток, он начнеться с того же места, независимо от значения переменной.

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

Во блин. А я чёт ни одного не вижу ;D Протри мне глаза.
Может я сильно погрузился в питон и в кликере замылился глаз.
Мне кажеться, что тут можно goto использовать, но как - не могу понять.

5
ты же мерлин, взмахни палочкой скажи трах-тибидох и сделается по другому. я вот недумая вижу два способа запускать потоки поставленные на паузу из любого выбранного места потока, но сохраню интригу, чтоб не лишать народ радости творчества и надеюсь что найденные способы будут проще и красивее моих, если конечно подумать нужным местом.  :-X
Я новичок, не так шарю как вы. Если можете - помогите, пожалуйста.

6
Никак не реализовано пока, доступна только пауза.

Спасибо, буду думать как по другому сделать)

7
Общие вопросы / Полная остановка потока
« on: December 02, 2015, 09:30:01 PM »
Всем доброго времени суток, вот мучаюсь, как полностью остановить поток.
Нужно начать работу потока сначала, а не приостанивить, а позже возобновить его, как это реализовано в кликере. Помогите, пожалуйста, кто сталкивался!

Code: (clickermann) [Select]
THREAD(thr_name,1)
   LOGWRITE("1")
   WAIT(1)
   LOGWRITE("2")
   WAIT(1)
   LOGWRITE("3")
   WAIT(1)
   LOGWRITE("4")
   WAIT(1)
   LOGWRITE("5")
   WAIT(1)
   LOGWRITE("6")
   waitms(10)
END_THREAD
WAIT(3)
SETTHREAD(thr_name,0)
WAIT(1)
LOGWRITE("ОСНОВНОЙ ПОТОК")
WAIT(1)
SETTHREAD(thr_name,1)
WAIT(5)
halt

Что получилось:

8:25:17 PM 1
8:25:18 PM 2
8:25:19 PM 3
8:25:20 PM 4
8:25:21 PM Основной поток
8:25:22 PM 5
8:25:23 PM 6

Что должно получиться:

8:25:17 PM 1
8:25:18 PM 2
8:25:19 PM 3
8:25:20 PM 4
8:25:21 PM Основной поток
8:25:22 PM 1
8:25:23 PM 2

Pages: [1]