@Q_Q К сожалению через node.js и ws модуль не могу конектится к сокету т.к там каждый раз создаётся уникальная ссылка для нового пользователя, а объект который её создаёт определить для меня трудно сайт написан на react + obfurscator. Плюс к этому ещё и в самом ws внутри нужно каждые 5 минут отправлять токен аутентификации который генерирует какая-то анонимная функция либо вообще на сервере. Вроде ещё как можно сделать обёртку или сделать прокси чтобы свои обработчики повесить но это уже вообще темный лес для меня недостижимый. Поэтому пришлось использовать такой костыль. В Принципе все работает, ws команды я отправляю также через Ява скрипт и взаимодействую с этим сайтом быстро не используя веб интерфейс сайта вообще. Единственная проблема это видеть всю консоль не только в режиме отладчика. Я думал может в BAS есть какой-то свой способ о котором я не знаю, просто парсить ее в переменную бесконечно каждый раз обращаясь к ней и записывая последнее действие по умолчанию
Вызов функции из ресурса или переменной
-
И что я должен там прочесть?
Как создавать ресурс при помощи действия выполнить код?
Мне не требуется ничего создавать, мне нужно всего лишь вызвать уже существующую функцию из переменной_call_function([[FOR_TEST]],{})но BAS отказывается выполнять код с подстановкой переменной выдавая ошибку:
TypeError: Result of expression 'f' [TEST] is not a functionпри том что если точно также подставлять переменную при выводе лога - все прекрасно работает.
log([[FOR_TEST]]) -
@sydhe said in Вызов функции из ресурса или переменной:
_call_function([[FOR_TEST]],{})
Во первых это асинхронный вызов и должен быть ! в конце _call_function([[FOR_TEST]],{})!
А во вторых БАС не предназначен для работы с его API напрямую, хотя это и возможно, но там очень много нюансов. -
@tts9 said in Вызов функции из ресурса или переменной:
@sydhe Вы рады? Прочесть на форуме можно 90% информации о басе, о том как он работает, и о том как он не работает.
Не понял чему я должен быть рад, тому что вы дали ссылку на абсолютно не относящуюся к вопросу тему?
Странный вопрос... -
@sydhe said in Вызов функции из ресурса или переменной:
Получается какие конструкции не пихай в действие выполнить код - с подстановкой значения из переменной работать оно не будет?
Будет, если знать как, но я это расписывать не стану тк это не рекомендуется разработчиком и придется провести большой ликбез.
-
@sydhe said in Вызов функции из ресурса или переменной:
И что я должен там прочесть?
Как создавать ресурс при помощи действия выполнить код?
Мне не требуется ничего создавать, мне нужно всего лишь вызвать уже существующую функцию из переменной_call_function([[FOR_TEST]],{})но BAS отказывается выполнять код с подстановкой переменной выдавая ошибку:
TypeError: Result of expression 'f' [TEST] is not a functionпри том что если точно также подставлять переменную при выводе лога - все прекрасно работает.
log([[FOR_TEST]])Можно создать свою функцию с возможностью указывать имя вызываемой функции из переменной. Например вот так:
function _call_function_var(f, a, n) { var c = new Cycle(function(i){ if(i>0) { _break(1, false); return; } eval(f + "()"); },n); c.SetLabel("function"); c.SetLabel("argument"); c._Arguments = a; c.Start(); }Тестовый скрипт
Правда работать такая функция будет только в режиме "запуска"

И какие баги могут всплыть при использовании подобной функции ни кто не знает..
:D
@UserTrue правильно сказал, @support крайне не рекомендует писать скрипт на методах BAS:
Писать такой код крайне не рекомендуется. Под "такой" я имею ввиду писать код целиком с использованием внутренних расширений БАС. Это приводило не раз и приведет в вашем случае к ошибкам, которые очень трудно выловить и исправить. -
Спасибо, жаль почти не юзабельно из за того что в режиме записи не работает, потом действительно не поймешь где что багнуло.
У себя в скрипте пока пользуюсь подстановкой значений в основные переменные указывая их за пределами функции, в итоге получается почти тот-же эффект, правда с кучей ненужных переменных, но в итоге их все равно меньше чем если создавать отдельно под каждую функцию. -
@sydhe теперь вы поняли зачем я вам давал ссылку? Непонятную ошибку 'f' ловить потом замаешься.
можете попробовать методом @Pragmatik -ка он в своей библиотеке решил эти проблемы путем обзывания функциклеров названиями которые точно никак не используются=)
Текст ссылки
Конечно немного непривычнодаже сильно непривычноно привыкаешь. -
@tts9 said in Вызов функции из ресурса или переменной:
можете попробовать методом @Pragmatik -ка он в своей библиотеке решил эти проблемы путем обзывания функциклеров названиями которые точно никак не используются=)
Да не, спс - не особо знаком с js и думал что это просто мелочь которую забыли добавить в BAS, ведь что может быть проще создания ярлыка, а тут оказалось что это целая проблема.
На самом деле мне способ с дублированием переменных вполне подходит, в отличии от функций у меня их не так уж и много.
Жаль сразу не понял что можно и так, и зря убил почти весь день на поиски не нужного мне и опасного функционала.