Итак господа. Нарисовалась проблема такого рода, что я 3й день плавлю себе мозг и ломаю клаву на ноуте.
Значит так.
Вчера запускал скрипт и все работает отменно, выбираются пункты меню так как мне надо.
Ну думаю все отлично, продолжу упрощать скрипт в другом месте. В какой то момент перестали выбираться пункты. То есть выбираешь что угодно, а выполнятся будет пункт первый. ВСЕГДА. При чем все последние переделки ни коим образом не касались этой части кода.
Я 3 дня парил себе мозг и наконец просто скопировал те блоки которые отвечают за выбор пункта меню со старого скрипта. И все заработало! 1 раз )) далее все по прежнему, без вмешательства в код, он просто перестает выбирать нужные пункты.
Я может чето не понимаю. скорее все, но чето тут не чисто. Я уже подумываю что возможно дело в кеше? Хотя не понимаю при чем он. После перезагрузки кибора и запуске скрипта он переодично начинает работать,а иногда нет. При этом старый код так же перестал работать.С которого я копировал блоки.
Я СЕБЕ БАШКУ СЛОМАЛ !!!
Что за хрень происходит. Может ктонить подсказать. Кое какие блоки готов выложить по требованию так сказать. Изменю только названия пунктов чтоб не палить игрушку.
31. 10970 - 28 Апреля, 2020 - 02:57:38 - перейти к сообщению
32. Kibor - 28 Апреля, 2020 - 03:10:09 - перейти к сообщению
Какой кнопкой запускается работа скрипта?
33. 10970 - 28 Апреля, 2020 - 03:14:13 - перейти к сообщению
Цитата:
m_KIB1: CREATE_INTERFACE
{
DIALOG "Настройка" 237 180 //РазмерX РазмерY
BUTTONSCRIPT "Запуск бота" 125 121 100 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......
COMBO_0 0 /*Выбор работы*/ "картошка" | "морковка" | "лук" | "капуста" | "редька" | "малина" | "клубника" | "Сало" 5 10 75 200 //ПозицияX ПозицияY РазмерX РазмерY_выпадающий список
COMBO_1 0 /*инструмент*/ "вилы" | "тяпка" | "лопата" 5 40 75 200 //ПозицияX ПозицияY РазмерX РазмерY_выпадающий список
EDIT_0 "мин" 185 10 29 20 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_1 "мин" 185 40 29 20 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_2 "Час" 155 70 29 20 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_3 "Мин" 185 70 29 20 //ПозицияX ПозицияY РазмерX РазмерY
STATIC_0 "Период работы" 95 14 90 18 //ПозицияX ПозицияY РазмерX РазмерY
STATIC_1 "Время отдыха" 95 44 90 18 //ПозицияX ПозицияY РазмерX РазмерY
STATIC_2 "Off Bot" 95 74 50 18 //ПозицияX ПозицияY РазмерX РазмерY
}
это первая часть, меню
Далее оыбчный блок кода в теле основного скрипта.
if (getcontrol(COMBO_0) == "картошка")goto global a;
if (getcontrol(COMBO_0) == "морковка")goto global b;
if (getcontrol(COMBO_0) == "лук")goto global c;
if (getcontrol(COMBO_0) == "капуста")goto global d;
if (getcontrol(COMBO_0) == "редька")goto global e;
if (getcontrol(COMBO_0) == "малина.Хаб")goto global f;
if (getcontrol(COMBO_0) == "клубника")goto global h;
if (getcontrol(COMBO_0) == "Сало")goto global g;
глобал воткнул просто так. Думаю разницы не будет и без него.
далее такой же блок перехода но уже реализованный внутри функции.Саму функцию нет смысла скидывать, скину только блок перехода
if (COMBO_0 == картошка)goto global a;
if (COMBO_0 == морковка)goto global b;
if (COMBO_0 == лук)goto global c;
if (COMBO_0 == капуста)goto global d;
if (COMBO_0 == редька)goto global e;
if (COMBO_0 == малина)goto global f;
if (COMBO_0 == клубника)goto global g;
if (COMBO_0 == Сало)goto global h;
Правильно ли все это сделано?
Мало того что он как то рандомно выполняется, так еще требует переменные, которые я задал после этого в отдельном опять же блоке вне функции.
картошка_G_q:;
морковка_G_q:;
лук_G_q:;
капуста_G_q:;
редька_G_q:;
малина_G_q:;
{
DIALOG "Настройка" 237 180 //РазмерX РазмерY
BUTTONSCRIPT "Запуск бота" 125 121 100 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......
COMBO_0 0 /*Выбор работы*/ "картошка" | "морковка" | "лук" | "капуста" | "редька" | "малина" | "клубника" | "Сало" 5 10 75 200 //ПозицияX ПозицияY РазмерX РазмерY_выпадающий список
COMBO_1 0 /*инструмент*/ "вилы" | "тяпка" | "лопата" 5 40 75 200 //ПозицияX ПозицияY РазмерX РазмерY_выпадающий список
EDIT_0 "мин" 185 10 29 20 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_1 "мин" 185 40 29 20 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_2 "Час" 155 70 29 20 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_3 "Мин" 185 70 29 20 //ПозицияX ПозицияY РазмерX РазмерY
STATIC_0 "Период работы" 95 14 90 18 //ПозицияX ПозицияY РазмерX РазмерY
STATIC_1 "Время отдыха" 95 44 90 18 //ПозицияX ПозицияY РазмерX РазмерY
STATIC_2 "Off Bot" 95 74 50 18 //ПозицияX ПозицияY РазмерX РазмерY
}
это первая часть, меню
Далее оыбчный блок кода в теле основного скрипта.
if (getcontrol(COMBO_0) == "картошка")goto global a;
if (getcontrol(COMBO_0) == "морковка")goto global b;
if (getcontrol(COMBO_0) == "лук")goto global c;
if (getcontrol(COMBO_0) == "капуста")goto global d;
if (getcontrol(COMBO_0) == "редька")goto global e;
if (getcontrol(COMBO_0) == "малина.Хаб")goto global f;
if (getcontrol(COMBO_0) == "клубника")goto global h;
if (getcontrol(COMBO_0) == "Сало")goto global g;
глобал воткнул просто так. Думаю разницы не будет и без него.
далее такой же блок перехода но уже реализованный внутри функции.Саму функцию нет смысла скидывать, скину только блок перехода
if (COMBO_0 == картошка)goto global a;
if (COMBO_0 == морковка)goto global b;
if (COMBO_0 == лук)goto global c;
if (COMBO_0 == капуста)goto global d;
if (COMBO_0 == редька)goto global e;
if (COMBO_0 == малина)goto global f;
if (COMBO_0 == клубника)goto global g;
if (COMBO_0 == Сало)goto global h;
Правильно ли все это сделано?
Мало того что он как то рандомно выполняется, так еще требует переменные, которые я задал после этого в отдельном опять же блоке вне функции.
картошка_G_q:;
морковка_G_q:;
лук_G_q:;
капуста_G_q:;
редька_G_q:;
малина_G_q:;
Но вначале написания скрипта, он потребовал чтоб я обьявил переменную "q".. Нахрена она и откуда взялась я в душе не чаю, и зачем она.
Далее возникала проблема что нет метки goto в строке вызова . В ошибке описана строчка в которой прописана строчка вызова функции но с переменной. Короче не знаю как обьяснить..проще наверно показать в скайпе или скинуть комуто код.
Прошу помощи я ...
(Добавление)
Kibor пишет:
Какой кнопкой запускается работа скрипта?
Добрый день Владимир, ссылки вверху.
Обычный скрипт по вашим примерам.
скобочки превратились на форуме в смайлик)
34. Zireael - 28 Апреля, 2020 - 03:33:46 - перейти к сообщению
Цитата:
Но вначале написания скрипта, он потребовал чтоб я обьявил переменную "q"
Значит она где-то есть.
Цитата:
картошка_G_q
Может быть в киборе такое и прокатит, смешивать русс. и англ. буквы, но так не делают. Либо русс., либо англ.
35. 10970 - 28 Апреля, 2020 - 03:39:04 - перейти к сообщению
Zireael пишет:
Цитата:
Но вначале написания скрипта, он потребовал чтоб я обьявил переменную "q"
Значит она где-то есть.
Цитата:
картошка_G_q
Может быть в киборе такое и прокатит, смешивать русс. и англ. буквы, но так не делают. Либо русс., либо англ.
это я понял слишком поздно, но скрипт в общем то работает.
Но с каких то пор, меню выбора перестает работать. При чем с переменным успехом, Вроде бы ни чего не меняю, и он не срабатывает. Через какой то время разных перетрубаций вновь работает. Далее опять после манипуляций с текстом не относящимся к меню снова перестает работать. Короче я запутался и мне нужна реальная помощ. Один раз разжевать мне достаточно. не совсем тупой)))
(Добавление)
10970 пишет:
картошка_G_q
эту переменную я обьявил только изза того что меня кибор заставил) в противном случае пишет ошибку.
36. Zireael - 28 Апреля, 2020 - 03:57:33 - перейти к сообщению
Цитата:
Но с каких то пор, меню выбора перестает работать.
Что значит перестаёт работать? Пункты выбираются? Выводите в messagebox какой пункт выбран. Если всё правильно, значит где-то в скрипте ошибка.
Цитата:
картошка_G_q
эту переменную я обьявил только изза того что меня кибор застави
эту переменную я обьявил только изза того что меня кибор застави
Исправляйте ошибки сразу, потом уже не найти что не так работает.
Отрыть скрипт, к примеру, в Notepad++, в нём есть поиск и замена текста сразу во всём документе.
37. 10970 - 28 Апреля, 2020 - 04:02:16 - перейти к сообщению
когда я серьезно переделываю скрипт, то сохраняю его уже с другим именем. То есть я добиваюсь чтоб изменения работаю, и меняю название. Таким образом я настроил работу меню нормально. После этого в каких то поздних версиях вдруг перестало работать. Я выбираю в меню допустим 3й пункт, а срабатывает все равно первый.
Сегодня я устал уже искать ошибку, я просто скопировал со старого скрипта рабочие блоки и вставил в новый.
Меню сработало ровно 1 раз. Далее опять перестало выполнятся. Где зарылась проблема я не пойму(((
(Добавление)
Уважаемый Zireael я не умею писать кодом от руки)) я делаю в графическом редакторе кибора. Там все нагляднее, но я учусь по малу. Сейчас задача запустить этот скрипт, в рабочее состояние, далее при отладке уже буду чтото думать и пробовать..Но для этого как минимум нужно понимать правильность написания, синтаксис и тд..
Сегодня я устал уже искать ошибку, я просто скопировал со старого скрипта рабочие блоки и вставил в новый.
Меню сработало ровно 1 раз. Далее опять перестало выполнятся. Где зарылась проблема я не пойму(((
(Добавление)
Уважаемый Zireael я не умею писать кодом от руки)) я делаю в графическом редакторе кибора. Там все нагляднее, но я учусь по малу. Сейчас задача запустить этот скрипт, в рабочее состояние, далее при отладке уже буду чтото думать и пробовать..Но для этого как минимум нужно понимать правильность написания, синтаксис и тд..
38. Zireael - 28 Апреля, 2020 - 04:10:14 - перейти к сообщению
Цитата:
После этого в каких то поздних версиях вдруг перестало работать.
Вариантов не так уж много. Открыть работающий проект и пописать нужное без ошибок. Искать ошибку в блоках, после добавления которых перестало работать.
39. 10970 - 28 Апреля, 2020 - 04:12:12 - перейти к сообщению
Zireael пишет:
Цитата:
После этого в каких то поздних версиях вдруг перестало работать.
Вариантов не так уж много. Открыть работающий проект и пописать нужное без ошибок. Искать ошибку в блоках, после добавления которых перестало работать.
так ведь первый запуск после копирайта рабочих блоков в новый скрипт проходит нормально. Меню выбирается. А далее опять ломается..
(Добавление)
можно как то с вами в личку пообщаться? Минут 15-20 своего времени мне не уделите?
40. 10970 - 30 Апреля, 2020 - 11:02:26 - перейти к сообщению
итак по факту.
Скрипт запустил, все работает отлично, за исключением выбора перехода из функции.
Это я так победить и не смог. Раз 20 штудировал форум, смотрел видосы, делал по примерам.Не хочет скрипт выходить в начальные настройки хоть ты лопни.
То есть задаешь в модальном окне данные, например третий в списке COMBO_0, скрипт запускается как надо, работает как надо.
Примерно это выглядит так.
Собираю картошку по третьему пункту, все отлично, картошка на данной грядке кончилась.Скрипт открывает поиск, находит следующую грядку и все отлично.Но вот пошел дождь, мы спрятались в сарае,условия поменялись. Дождь закончился, мы вы ходим, запускается скрипт и ищет уже не картошку (3ю в списке меню) а капусту, которая первая в списке.
Ну и как вы понимаете это фейл(( и это победить я не могу НИ КАК.
То есть готов скрипт ВЕСь, все работает с учетом логики и всевозможных манипуляций, А самое по сути главное, чтоб у него был выбор не работает(((
и что с этим делать я не понимаю и не знаю. Можете ктонить подсказать куда копать где искать выход?
Скрипт запустил, все работает отлично, за исключением выбора перехода из функции.
Это я так победить и не смог. Раз 20 штудировал форум, смотрел видосы, делал по примерам.Не хочет скрипт выходить в начальные настройки хоть ты лопни.
То есть задаешь в модальном окне данные, например третий в списке COMBO_0, скрипт запускается как надо, работает как надо.
Примерно это выглядит так.
Собираю картошку по третьему пункту, все отлично, картошка на данной грядке кончилась.Скрипт открывает поиск, находит следующую грядку и все отлично.Но вот пошел дождь, мы спрятались в сарае,условия поменялись. Дождь закончился, мы вы ходим, запускается скрипт и ищет уже не картошку (3ю в списке меню) а капусту, которая первая в списке.
Ну и как вы понимаете это фейл(( и это победить я не могу НИ КАК.
То есть готов скрипт ВЕСь, все работает с учетом логики и всевозможных манипуляций, А самое по сути главное, чтоб у него был выбор не работает(((
и что с этим делать я не понимаю и не знаю. Можете ктонить подсказать куда копать где искать выход?