Но появилась новая проблема. Иногда скрипт во время работы внезапно запрещает выделять действия. Т.е при клике на любое действие, оно просто не выделяется красным. Это второй баг, независимый от первого если что
Баг в экшене "Выполнить код"
-
-
В чём ошибка:
В режиме записи код правильно и без ошибок отрабатывает, в режиме воспроизведения вылетает ошибка на экшене "Выполнить код"
[15:52:10] Скрипт выполнен с ошибкой : SyntaxError: Parse error во время выполнения действия 475382685
Файл проекта прикладываю test2.xml -
Принцип работы:
Код читает данные из текстового файла ss.txt в переменную [[SAVED_CONTENT]] (как тип-строка). Файл ss.txt прикладываю ss.txt Далее код в экшене "Выполнить код" обрабатывает данные из [[SAVED_CONTENT]] и пересохраняет в переменную [[SAVED_CONTENT]] .
Содержимое в экшене "Выполнить код" :
var SAVED_CONTENT = [[SAVED_CONTENT]]; function convertViews(savedContent) { savedContent = savedContent.replace(/"accessibilityData":\{"label":"([\d.]+)\s*([KkMm]|million)?\s*views"\}\},"simpleText":"([\d.]+)\s*([KkMm]|million)?\s*views"/g, function (match, num1, unit1, num2, unit2) { var multiplier1 = unit1 === 'M' || unit1 === 'm' || unit1 === 'million' ? 1000000 : unit1 === 'K' || unit1 === 'k' ? 1000 : 1; var multiplier2 = unit2 === 'M' || unit2 === 'm' || unit2 === 'million' ? 1000000 : unit2 === 'K' || unit2 === 'k' ? 1000 : 1; var views1 = Math.round(parseFloat(num1) * multiplier1); var views2 = Math.round(parseFloat(num2) * multiplier2); return '"accessibilityData":{"label":"' + views1 + ' views"}},"simpleText":"' + views2 + ' views"'; }); savedContent = savedContent.replace(/"viewCountText":\{"simpleText":"([\d,]+)\s*views"\}/g, function (match, num) { var views = parseInt(num.replace(/,/g, ''), 10); return '"viewCountText":{"simpleText":"' + views + ' views"}'; }); return savedContent; } SAVED_CONTENT = convertViews(SAVED_CONTENT); // console.log(SAVED_CONTENT); [[SAVED_CONTENT]] = SAVED_CONTENT; -
-
-
Сделал как вы советовали в этой теме https://community.bablosoft.com/topic/5037/ошибка-при-запуске/6
Я переместил экшены "Выполнить код" которые вызывают эту ошибку - каждый в свою функцию.
Теперь та же ошибка , но на последнем элементе ( на кубике рандом сон, см скрин ниже) в функции где весь скрипт лежит.
Причем эта ошибка "выбивает скрипт моментально" в режиме запуска, тоесть скрипт даже не успевает отработать и секунды.