2025.08.24
1. В бот добавлен прокси сервер для получения следующих возможностей:
Отслеживание сундука на расстоянии около 55 клеток, отслеживание и поиск мобов на расстоянии 60 клеток в одну сторону, тоесть поле 120 на 120 клеток персонаж видит всех мобов...
что бы включить gameproxy добавьте в файл config.ini следующую команду:
enable_gameproxy=1

затем в главном меню игры пропишите данные для подключения к прокси:
ip: 127.0.0.1
port: 1088
При использовании прокси доступны следующие события и функции:
доступные события:
event_chest:x;y
отправляет событие когда встречает появление сундука
event_mob_remove:id
удаление моба, ну или его гибель
event_mob_update:name;id;x;y
обновление координат моба
event_mob_add:name;id;x;y
появление моба в зоне видимости
функции для работы через gameproxy
функция для поиска ближайшего моба
get_nearest_mob

функция генерирует такие события:
event_nearest_mob:name;id;x;y
показывает ближайшего моба
event_nearest_mob_empty
мобы не найдены
доступные переменные:
nearest_mob_x
nearest_mob_y
nearest_mob_id
nearest_mob_name

поиск моба по имени
find_mob=regexp={"true": [""], "false": [""]}
генерирует следующие события:
event_find_mob_empty
event_find_mob:name;id;x;y
при нахождении генерирует следующие переменные
find_mob_x
find_mob_y
find_mob_id
find_mob_name
если ничего не найдет, то переменные очищает

2. реализована система анти-залипания персонажа на карте.
если персонаж в течении 10 попыток оказывается на тех же самых координатах, то бот считает что персонаж залип и убивает процес игры.
Первых 3 секунды от вызова функции goposition, бот не считает повторы координат.

3. переработан механизм парсинга тегов в результате срабатывания тригеров
теперь переменные %%1, %%2... видимые только внутри результатов тригера.
Раньше можно было делать так:
add_action_speak=test={"text": [";(\\d+);"], "execute": ["go_to_block=test"]}
wait
//press e
block=test
speak=result: %%1

4. переработан механизм открытия справки по клавишам ctrl+h
теперь должно корректно открывать форум со справкой.

5. по прозьбе добавлены звуки в обменник на события удаления и отправки файла на сервер.
sounds/file_deleted.wav
sounds/file_uploaded.wav

6. новая настройка: goposition_sticky
указать количество раз повторных координат. если персонаж проверит указаное количество раз и получит одни и теже координаты, то будет считаться что персонаж залип и процесс игры будет завершен.
что бы отключить эту систему укажите значение 0. по умолчанию 10 раз

2025.07.27
исправление мелких и не очень ошибок как правило в пунктах не учитываю.

1. фикс работы функции goposition.

2. изменение поведения функции searchitems
при стандартном поведении после нахождения предмета бот устанавливает паузу, для продолжения поиска необходимо снять паузу.
Теперь это можно изменить при помощи параметра:
searchitems_pause_on_result=1 or 0
1 - стандартное поведение, после нахождения предмета установить паузу.
0 - после нахождения предмета перейти к следующей инструкции сценария.

3. Настройка уровней использования кеширования для функции goposition.
настройки вносить в config.ini.
параметр:
gopath_cache=0 or 1 or 2
0 - кеш выключен. максимальная нагрузка на процесор
1 - включено кеширование маршрутов, если персонаж ходит по одним и тем же маршрутам то хорошо.
легкая нагрузка на оперативную память, снимает нагрузку с процессора при повторных расчетах путей. Но всеравно есть большая нагрузка на процесор при построении матрицы grid
2 - кеширование маршрутов и матрицы. максимальная оптимизация на нагрузку процессора и максимальная нагрузка на оперативную память.


2025.07.13
1. Оптимизирована работа функции продажи коллекций: sellcollection

2. оптимизирована функция проверки данных для очистки временных файлов.

3. добавлена возможность в тестовом режиме по мульти запуску игры.
Тоесть доступна возможность запуска нескольких копий игры одновременно без использования виртуальной машины.
Спасибо говорим Nikolaj.
Что бы сделать запуск игры в меню по клавише alt
находим пункт: start game
Обратите внимание, использовать сценарии в нескольких копиях игры не выйдет.
Это  в большей степени сделано для того, чтобы вам было удобно войти в пещеру или на арену в одиночку.
Каждый новый запуск копии игры меняет заголовок игры что бы различать запущенные окна.

4. оптимизация модуля goposition.
Добавлены методы создания кеша для создания матрицы и прокладывания маршрутов.
кеши храняться в папке temp/cache
кеши для матриц: locname_make time_version
кеши для маршрутов: locname_make time_version_diagonal mode_start1_start2_end1_end2

5. Добавлены информативные сообщения в общий лог mw.log, данных о drop_end_offset и enable_drop_control end time

6. Реализована система индивидуальных шифрованых карт преград.

7. Реализована система автоматического запуска не завершенного сценария.
Завершенным сценарием считается сценарий который был выполнен, был закрыт по клавишам ctrl+f2, или функциями exit, или botexit.
все остальные варианты считаются незавершенными и после запуска бота, будет запущен незавершенный сценарий.
Что бы активировать такой функционал в файл конфигурации бота (config.ini)
необходимо добавить параметр:
resume_scenario_on_startup=1
и перезагрузить бот.

8. теперь функция goposition выдает ошибки если указать некорректные значения для диапазонов.
x: 1-600
y: 1-600
details: 0-50

9. Теперь поумолчанию рисуется матрица размерами 600 x 600. на скорость особо не будет влиять, всеравно происходит кеширование. один раз нарисует и дальше будет быстро это выполнять.

2025.06.29
1. новая функция: var_delete=variablename
удаление переменной
пример:
var=text=Hello, World!
speak=%text%
sleep=1
var_exists=text={"false": ["var=text=Empty text in variable"]}
speak=%text%

2. Фикс goposition

3. фикс перехвата глобальных хуков.\

4. фикс зависания поиска текста в keypress=keyname=regexp
в моменты когда игра зависала, или просто небыло текста от игры

5. Проверка работы функции xp_control перенесена выше и должна срабатывать более корректно.

6. Оптимизация вызова питомца при объявлении функции enable_pet

7. Новая функция: goposition_turn_details
детализация координат на промежуточных поворотах. что бы на повороде персонаж не прям точно подходил на нужные координаты, а с указанным разбросом.
По умолчанию: goposition_turn_details=0

8. оптимизация работы отлова глобальных хуков.

2025.06.19
1. новая функция: menusearch
позволяет искать пункты в меню и списках.
Пример:
menusearch=regexp={"keys": "keyname", "true": ["speak=ok"], "false": ["speak=no"]}
keys: клавиша для перебора, по умолчанию клавиша: s
false: выполняется список команд если пункт не найден
true: выполняется список команд если пункт найден.
обязательно должен быть один из атрибутов: true, или false.

2. фикс перехвата глобальных хуков.

3. фикс в некоторых моментов с некорректным отрабатыванием процессов в тригерах и функциями timewait, wait

4. оптимизирован алгоритм goposition.
Он стал более жаден к поворотам.
задать жадность алгоритма можно при помощи функции:
goposition_turn_penalty=100
по умолчанию 100

5. При попытке загрузки конфига через функцию loadoptions=filename, и файл несуществует, будет выброшена ошибка и сценарий завершит свою работу.

6. Если указанная точка для движения в goposition находится в стене, или туда невозможно будет пройти, будет выброшена ошибка.
Что бы перехватить ошибку можно использовать событие:
event_goposition_error
add_action_speak=error={"text": ["event_goposition_error"], "execute": ["go_to_block=next path"]}
если отслеживания события не будет, то будет выброшена ошибка и сценарий завершит свою работу.

7. В методе атаки enable_one_target, если у цели 10000000 маны, то считаем что это или сундук, или npc и не атакуем.

2025.06.08
1. фикс функции waitspeak
должно корректно успевать обрабатывать
keypress=enter
waitspeak=regexp

2. фикс работы функции goposition в момент когда установлен флаг атаки one_target и настройка attack_type=0

3. выполнена оптимизация получения поверсионных обновлений.

4. фикс работы перехвата речи.

2025.06.07
1. новая настройка: keypress_text_timeout
время ожидания текста после нажатия клавиши в функции:
keypress=keyname=regexp
по умолчанию значение 1 секунда
пример:
keypress_text_timeout=1

2. фикс вызова питомца когда персонаж умер.

3. Когда бот получает уровень hp=0, устанавливается флаг смерти.
Раньше флаг устанавливался лишь когда получал фразы про смерть персонажа.

4. реализована утилита aiChat.exe
вызов по клавише f8 в окне бота. Необходимо что бы утилита aiChat.exe, находилась в той же папке где и бот.
доступны следующие настройки в файле config.ini:
aichat_temperature=float 0.0 - 2.0
креативность ответов. 0.0 максимально детерминированный ответ.
2.0 - максимально креативный ответ, может снижаться точность ответов.
по умолчанию 1.0

aichat_timeout=int time
время для ожидания ответа от чата.
По умолчанию 60 секунд.

aichat_frequency_penalty=float 0.0 - 2.0
параметр, уменьшающий вероятность повторения одних и тех же слов или фраз в ответе.
По умолчанию 1.0

aichat_drop_provider=regexp
регулярное выражение для скрытия провайдеров из списка доступных моделей

aichat_drop_model=regexp
регулярное выражение для скрытия моделей из списка доступных моделей.


2025.06.05
1. оптимизация настроек для подключения к серверу.

2. фикс мелкого бага при выводе речи через nvda.

3. фикс мелкого бага при расчете маршрута в goposition

2025.06.04
1. Оптимизация контроля работы функции keypress=keyname=text и отслеживания данных в тригере.
как только текст будет похожий  с шаблоном тригера выполнение команды keypress=keyname=text будет остановлен и будет выполнен блок тригера.

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

3. новые переменные:
%LASTBLOCK%
название последнего блока который выполнялся. название блока по умолчанию: default
перекидывает на первую строку скрипта
%CURRENTBLOCK%
название текущего блока

4. новая настройка для сценариев:
ignore_mortal_timeout=10
таймаут в течении какого времени будет игнорироваться фраза о смерти персонажа.
Необходимо что бы ограничить повторный запуск функции mortal.
в основном рассчитана для работы когда отслеживания смерти идет через тригер по событию: event_mortal

2025.06.03
1. фикс работы события event_mortal
add_action_speak=death={"text": ["event_mortal"], "execute": ["go_to_block=mortal"]}
wait
block=mortal
speak=successfull, death
sleep=2
go_to_block=mortal

2. Уменьшин таймаут контроля процесса игры. с 0.5 до 0.1

3. фикс данных в файле адаптации для китайского сервера.

4. Оптимизация некоторых функций в моменте когда пропадает процес игры.

2025.06.01
1. Исправлена работа функций:
playfile_stop, player_all_stop, player_stop
Благодарность пользователю: Dippydippy

2. Новая функция: playfile_wait=filename
Эта функция приостанавливает выполнение скрипта до завершения воспроизведения файла filename.
Пример использования:
playfile=clear_logs.wav
playfile_wait=clear_logs.wav
speak=ended
Примечание: Реализовано не в полном объеме согласно изначальному предложению пользователя Dippydippy.

3. Внутренние работы


2025.05.25
1. фикс критической ошибки при использовании функции reset_defaults
Спасибо говорим пользователю Nikolaj

2025.05.22
1. Установлена скорость перемещения персонажа по умолчанию — `9` для функции `goposition`:
goposition_speed=9

2. Исправлена обработка перевода строк в редакторе скриптов по нажатию `Shift+Enter`.

3. Добавлена возможность замены текста, произносимого NVDA.
Параметры для config.ini:
speak_replace=1
- включить замену текста.
Файл замен необходимо создать в корне бота: speakreplace.txt
Формат строк:
ключ=значение
исходный текст=новый текст
Также можно указать путь к другому файлу замен через параметр:
speak_replace_path=filepath
Где filepath - путь к файлу относительно текущей директории бота.
Пример:
speak_replace_path=myreplace.txt

4. Выполнена внутренняя оптимизация некоторых процедур.

5. Теперь корректно обрабатывается ситуация, когда скрипт запускается по клавише Enter при закрытой игре, и после загрузки персонаж оказывается мёртв.
Ранее в таких случаях срабатывал только скрипт mortal, и бот прекращал работу. Сейчас всё работает корректно — бот продолжает выполнение.

6. при установке громкости в функции volume=0
теперь звук выключается полностью.

7. Добавлена новая функция: reset_defaults — сбрасывает все настройки к значениям по умолчанию.
Пример:
attack_type=1
keys_attack=j|i|h
enable_one_target
reset_defaults
В результате бот вернёт все параметры к дефолтным:
attack_type=0
keys_attack=j
disable_one_target

8. Добавлена новая функция: shutdown — выключает компьютер.
Пример использования:
shutdown
Эту команду можно использовать, например, в сочетании с отложенным таймером.

2025.05.10
1. фикс функции last_login

2. фикс переносов строк в поле для сообщения чата при нажатии клавишь shift+enter

3. новая переменная %GAMELANG%
указывает выбранный язык адаптации игры
пример:
if=["%GAMELANG%", "english", "!=", ["speak=The script is written only for the English version of the game.", "sleep=2", "break"]]

4. обновление таймера запуска скриптов.
Спасибо говорим пользователю: Lilou
Раньше было возможно устанавливать только 1 таймер, теперь доступно множество таймеров к установке.
Что бы удалить таймер из списка находясь на таймере нажмите клавишу delete для его удаления из списка.

5. обновлен загрузчик последней версии update.exe

2025.05.04
1. смена клавишь управления интерфейсом бота.
f1 - открыть меню серверного меню.
навкладке со скриптами сменились клавиши управления.
f2 - переименовать скрипт
f3 - создать новый скрипт.
f4 - редактировать выбраный скрипт

2. фикс фокусирования окна на окне бота

3. фикс открытия сундуков в китайской версии.

4. смена параметра start_game для файла config.ini
новое название launch_game
что бы небыло конфликта в названиях с функцией в скриптах.

5. новый параметр для config.ini
stop_sounds=1
выключить все звуки бота.

6. новый параметр для config.ini
notify_sound_timeout=300
время повторения уведомления в секундах.

7. новый параметр для скриптов:
open_chest_timeout=10
таймаут ожидания для подхода к сундуку. по умолчанию 10 секунд.

2025.05.01
1. Устранён автопереход к списку скриптов после завершения выполнения скрипта.

2025.04.30
1. добавлена переменная %CURRENTDATEFULL%
отображает дату в формате:
HH:II:SS YYY-MM-DD

2. очередной фикс работы enable_drop_control=3|blockname

2025.04.29
1. фикс работы функции enable_drop_control=3|blockname

2025.04.28
1. исправления бага с назначением клавишь атаки.

2. оптимизирован метод проверки новых уведомлений.
уведомления доступны в меню сервера по клавише f1.

2025.04.27
1. фикс работы по открытию сундуков на карте.

2. теперь если включена функция enable_one_target и происходит бой, то бот всеравно может продолжать выбор движения в функции goposition, конечно если включен тип атаки attack_type=1

3. данные про открытие сундука теперь записывает в файл openbox.log.

2025.04.26
1. новая функция: shopscript
позволяет использование персональных скриптов, или шифрованых.
скрипты хранятся на сервере доступ можно только получить по его хеш значению.
Но если установлен персональный доступ, то его сможет запустить только тот пользователь для кого он был создан.
пример:
shopscript=string hash

2. переработан интерфейс обменника.
Добавлен функционал добавлять описание к выгружаемому файлу.
если файл уже выгружен, или вы захотели сменить описание у файла, установите фокус на файл и нажмите клавишу f3 для установки нового описания.
Клавишей delete вы можете удалить загруженный файл.

3. реализован функционал серверного меню по клавише f1.
находясь на вкладке для ввода сообщения нажмите клавишу f1.
теперь так же вы иногда можете получать уведомления о тех или инных операциях.
В момент получения уведомления вы получите звуковой сигнал, что бы просмотреть ваши уведомления, если они есть, зайдите в меню по f1 и вы увидите пункт notify +1
зайдите что бы их просмотреть.
так же по клавише tab могут быть дополнительные пункты с информацией на против пункта меню.

4. внесены исправления с ошибкой двойного ремонта ящиками в бою.

5. улучшин метод обработки события смерти персонажа.

6. увеличено время ожидания данных hp; mp персонажа с 1 до 2 секунд. иногда игра не отдавала данных за 1 секунд.

7. переработан список сообщений чата.
находясь на сообщении нажмите ctrl+c что бы скопировать текст сообщения.
Нажмите alt+enter что бы открыть информацию о сообщении.

8. много других мелких правок которые я уже забыл и незаписал.

2025.04.07
1. Для тех у кого не работает новый поиск по рынку, реализована возможность использовать старую функцию поиска по рынку, её название
old_searchitems=search string

2. заложен функционал системы меню в интерфейсе бота.
Находясь на поле для ввода сообщения нажмите клавишу f1.

3. другие правки

2025.03.30
1. фикс ремонта ящиками

2. фикс получения времени для функции enable_drop_control и работы опции drop_end_offset
если будут ошибки они будут записываться в файл error.log

3. в логе badequipment.log выводится полная дата с учетом года, месяца и дня

4. добавлен вывод лога в отдельный файл для вещей которые выбрасываются из сумки через функцию clearbag

5. в момент смерти происходит автоматическое отключение от сервера уведомлений server_bot_disconnect

2025.03.23-1
1. востановление доступа к боту.

2025.03.23
1. новый параметр: pet_food_timeout
таймаут проверки сытости питомца
По умолчанию 300 секунд
pet_food_timeout=300

2. новая переменная: COUNTMORTAL
показывает сколько раз персонаж погиб за сеанс
можно реализовывать вида
if=["%COUNTMORTAL%","5",">=", ["break"]]

3. правки багов, мелких и не очень.

2025.03.20
1. Реализован функционал очистки папки логов по горячим клавишам
Предложение MoonPrincess
Горячие клавиши: ctrl+shift+delete
звук предложила Dippydippy
sound file: clear_logs.wav

2. Реализован функционал перемещения фокуса по элементам интерфейса
Предложение Squish
Горячие клавиши:
lalt+a - список скриптов
lalt+s - поле для воода сообщений
lalt+d - история чата
Сочетания можно сменить через файл config.ini
список скриптов
key_focus_scripts=lalt+a
поле для ввода сообщения
key_focus_message=lalt+s
история чата
key_focus_history=lalt+d

3. доступна возможность скачать файл с обменника сразу в папку скриптов, для этого достаточно зажать клавишу shift+enter
enter - скачивает в папку files.
shift+enter - скачивает в папку scripts.

4. Добавлен звук при окончании загрузки файла
sound file: download_finish.wav

5. теперь писать в начале скриптов команду для открывания окна игры open_game_window, ненадо
бот автоматически это делает.

6. новый метод боя, атака одной цели пока цель не будет уничтожена.
enable_one_target
disable_one_target
цель атакуется пока её уровень здоровья не станет равен 0

7. фикс функции ремонта

8. новая настройка для config.ini
muted_speak=regexp
если regexp совпадет, то этот текст не будет озвучин nvda.
пример:
muted_speak=^(broadcast ;|system)

9. настройка muted_speak так же доступна в скриптах
для очистки строки clear_muted_speak

10. новый метод поиска по рынку
Спасибо пользователю: Jlex
Скорость поиска увеличена

11. Новая функция: pastetext
скопировать текст с буфера обмена в переменную
пример
pastetext=text
текст с буфера обмена будет помещен в переменную text
pastetext=my_text
speak=%my_text%

12/. разные методы перевода текста.
Используется настройка в config.ini
translate_method=string
доступные переводчики:
googlefree, nvdaes, aifree, gemini

2025.02.23
1. Новые переменные
%LASTPOSITIONX%
последняя полученная координата x
%LASTPOSITIONY%
последняя полученная координата y
%LASTLOCNAME%
последняя полученная местность
Получение данных происходит в момент работы функции goposition

2. Убран лимит для нажатия клавишь с навыками в setInterval
Теперь клавиши будут нажиматься вне-зависимости что это за клавиши и сколько прошло времени от применения навыков

2025.02.22-1
1. Фикс pet_regen

2025.02.22
1. фикс вызова питомца

2025.02.21
1. Добавлена возможность указывать период для нажатия клавиши escape
Пример:
enable_key_esc=float seconds
Если не указывать, то работает период по умолчанию 5 секунд.

2. Новая функция: volume
управление громкостью виндовс.
Пример:
volume=100
максимальная громкость
volume=0
минимальная громкость

3. Фикс обработки файлов адаптации

4. фикс работы функции badequipment

5. В момент срабатывания функции возрождения отключаются питомцы, работа поиска цели и авто-атака.

2025.02.16
1. теперь если в строке содержаться только цифры и знаки вида: .*[]{}()':;><. цифры
то такая строка не будет переводиться, а сразу будет отдаваться на вывод речи.

2. фикс работы с фрагментами и продажей коллекций.

3. фикс разворачивания окна бота.

4. Другие мелкие правки которые я забыл записать

2025.02.06-1
1. Фикс от 2025.02.06

2025.02.06
1. новый параметр: keyboard_write_speed
скорость введения символов в поля
keyboard_write_speed=0.1
каждых 0.1 секунды будет введен символ.
По умолчанию 0

2. фикс залипания клавиши при запуске игры по горячим клавишам.

3. мелкие фиксы по основным функциям

2025.01.29
1. Оптимизация некоторых функций

2025.01.25
1. фикс работы атрибута main_stream в модуле тригеров.

2. фикс работы маппера

3. фикс незначительных моментов в вычислениях

2025.01.24
1. исправление мелких ошибок по коду от предыдущих обновлений

2025.01.22
1. оптимизация функции возрождения

2025.01.21
1. Новая функция: speak_stop
остановить проговаривание
это заставит остановиться nvda если она в этот момент что то проговаривала.

2. фикс работы функции возрождения персонажа

2025.01.19
1. новая функция: includefile
Вставка строк с другого файла в текущую позицию+
пример:
файл main:
open_game_window
get_def=test1
get_def=test2
wait
includefile=file1
файл file1:
def=test1
sleep=1
speak=current file; file1
enddef=test1
includefile=file2
файл file2:
def=test2
sleep=1
speak=current file; file2
enddef=test2
Проще скажу, поддерживаются рекурсивные вложения

2. фикс продажи фрагментов, если у вас более 2000 фрагментов, то они будут проданы частями по 2000 штук

3. Новая переменная: LASTSPEAK
последний полученный текст от игры:
copytext=%LASTSPEAK%

4. Оптимизирован метод фиксации обработки смерти персонажа

5. В окружение var_eval, eval добавлена среда библиотеки re, работа с регулярными выражениями
пример:
var=text=my 5 points
var_eval=result=match.group(1) if (match := re.search(r'my (\d+) points', var_text)) else 0
//result = 5

2025.01.14-1
1. фикс поиска по рынку.

2. фикс при запуске скриптов по горячим клавишам.

2025.01.14
1. реализована функциональность функциональных блоков по типу вызова функций
идея (Dippydippy)
Пример:
def=my name
more code...
enddef=my name
этот блок кода может находиться хоть в конце скрипта
что бы вызвать его на исполнение:
get_def=my name

2. вернуть результат вычисления, функция eval python
var_eval=variablename=eval string
результат eval string помещается в переменную variablename
Например:
var_eval=result=2+2
speak=%result%
//result = 4
или вида:
var=name=100
var_eval=result='yes' if %name%>=100 else 'no'
speak=%result%
//result = yes

3. Реализована видимость переменных со скрипта в пространстве eval.
var=name=test
var_result='yes' if var_name == 'test' else 'no'
или с математическими действиями, данные с переменных надо обрабатывать дополнительно что бы точно определять тип переменной
var=num=2
var_eval=result=int(var_num)+2

4. реализован список функций плеера
player_play=name={params}
проиграть файл
запустить плеер с именем "name" и параметрами {params}
пример:
player_play=test={"file": "sounds/click.wav", "volume":50, "balance":0, "loops":0}
параметры:
file - путь к  файлу
volume - громкость от 0 до 100
balance - от -100 левый канал до 100 правый канал
loops - количество повторений трека -1 постоянный повтор, 0 по умолчанию, 1 раз повторяет, всё что больше количество повторений после основного проигрывания

player_stop=name
остановить проигрывание плеера "name"

player_pause=name
установить паузу в плеере "name"

player_unpause=name
снять с паузы плеер "name"

player_volume=name=volume
установить громкость для плеера "name" от 0 до 100

player_balance=name=balance
выставить баланс для плеера "name" от -100 левый канал до 100 правый канал.

player_all_stop
остановить проигрывание всех плееров

5. после запуска скрипта фокус сбрасывается на список сообщений чата

6. Плеер теперь может подгружать звуки по http | https протоколу с интернета.

7. реализована возможность реплейсов в виде функций
пример:
speak=result: %function.eval(2+2)%
//result: 4
пример:
speak=distance: %function.abs(-10-10)%
//result 20

8. реализован функционал ввода данных в поле ввода текста и помещения их в переменную
Пример:
entry=variablename
//variablename - имя вашей переменной
speak=%variablename%

9. Переработана строка для поиска по рынку.
Раньше необходимо было прописывать товары через разделитель вертикальной черты: |
сейчас используется строка регулярного выражения что будет более гибче

10. добавлена функция: eval
пример:
eval=выражение в виде строки

11. расширен функционал обработки данных в функции eval
появилась возможность помещать данные обработки в переменные например:
var=text=Hello, world!
eval=function_var('result', var_text.replace('Hello', 'Hi')) if var_text.startswith('Hello') else function_var('result', 'my string')
speak=%result%
//result = Hi, world!

12. разрешена возможность парсинга тегов как команды например
var=text=speak=Hello, world!
%text%
обработчик распарсит переменную %text% и обработает строку как speak=Hello, world!

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

2025.01.04
1. новая настройка для config.ini
server_connect_timeout=5
таймаут подключения к серверу.
Если у вас плохое соединение с сервером, увеличьте показания таймаута подключения.
По умолчанию таймаут равен 5 секундам. Максимальный показатель 30 секунд.

2. фикс работы горячих клавишь для start_bot развернуть окно бота.

3. в speak.log время теперь указывается полностью вида: 13:30:00 2025-01-04

4. фикс вызова start_game=email account
переписан под новые реалии игры

2024.12.31
1. новая функция: goposition_stop
copyright Dippydippy
остановить движение к указаной точке

2. Развернуть окно с ботом: lalt+b
смена клавишь в файле config.ini
параметр: start_bot=сочитание клавишь

3. режим nvda pasive установлен как режим по умолчанию.

2024.12.29-1
1. Фикс получения и распаковки обновлений

2. Фикс отправки пустых сообщений

2024.12.29
1. переписаны функции для поиска и определения нужного окна как бота так и игры.

2. Теперь в логе ошибки скрипта указывается верная строчка.

3. отредактированы клавиши для остановки скрипта. Обратно можно использовать как левый так и правый ctrl.
Для паузы так же, как левый так и правый alt.

4. Смена названия клавишь: numpad+, numpad-
новые имена: numpadplus, numpadminus

2024.12.28
1. Переработан механизм функции sleep.

2. Написан собственный перехватчик глобальных клавиш Windows.
Теперь доступен обход ограничений отслеживания нажатий клавиш в игре.

3. Если в поле для ввода текста есть текст и вы выбираете пользователя с помощью клавиш Alt+Enter, то при нажатии клавиши Enter на выбранном нике произойдет отправка сообщения указанному пользователю.

4. Новый атрибут для системы триггеров: main_stream.
Заставляет выполнять инструкции из "execute" в основном потоке бота, а не в параллельном.
Пример:
add_action_speak=test={"text": ["debug"], "execute": ["sleep=1.1", "lshift+."], "main_stream": 1}
По умолчанию: main_stream = 0.

5. Расширение функционала функции setonkey.
Новый атрибут: pass = 1 | 0.
Позволяет передавать сработавшие клавиши в игру или блокировать их передачу. По умолчанию: pass = 1.
Пример:
setonkey=test={"keys": "j", "execute": ["playfile=start.wav"], "pass": 0}
При нажатии клавиши j будет воспроизводиться звук, но атака не произойдет.
Если установить "pass": 1, то нажатие клавиши будет передано и в игру.

6. Расширение функции setonkey.
Теперь можно указать альтернативные клавиши для срабатывания.
Ранее можно было указать только одну комбинацию, теперь несколько.
Пример:
setonkey=test={"keys": "f3", "execute": ["playfile=click.wav"]}
Срабатывает только при нажатии клавиши f3.
setonkey=test={"keys": ["f3", "lctrl+f4"], "execute": ["playfile=click.wav"]}
В этом примере срабатывает как при нажатии f3, так и lctrl+f4.

7. Новая переменная по умолчанию: %LASTSERVERBOTTIME%.
Указывает, сколько секунд назад было получено сообщение от сервера управления "server_bot_connect".
По умолчанию возвращает -1.

8. Исправлен отображение времени в списке приватных сообщений при нажатии клавиши f3.

9. Исправлена ошибка при добавлении символа в конец переменной:
var_append=text=

10. Новая переменная по умолчанию: %SCRIPTNAME%.
Имя текущего скрипта.

11. Новая функция: wlog.
Записывает обработанную строку в лог mw.log.
Пример:
wlog=текущий скрипт: %SCRIPTNAME%

2024.12.05
1. добавлена переменная с текущей датой
%CURRENTDATE%
формате: yyyy-mm-dd

2. фикс работы клавиатуры keyboard_type=1

2024.12.04
1. Исправлена ​​функция filedelete
2. Новая функция: goposition_diagonal_mode
включает или отключает режим диагонального движения
Пример:
goposition_diagonal_mode=1
enable
goposition_diagonal_mode=0
disable
По умолчанию функция всегда выключена.

3. Доступно нажатие нескольких клавишь одновременно через функцию keydown
Пример:
keydown=s+d
sleep=4
keyup=s+d
4. Теперь при завершении выполнения скрипта так же завершается проигрывание всех звуков.
5. фикс работы функций: var_minus, var_plus, var_div, var_mult
6. фикс очистки временных файлов.
7. новые переменные по умолчанию: CURRENTMICROTIME, CURRENTTIME
получение текущего времени в милисекундах и секундах в формате юникс.
Пример:
open_game_window
var=start=%CURRENTTIME%
sleep=2
var=end=%CURRENTTIME%
var_minus=end=%start%
speak=time: %end%
sleep=2
8. новый параметр: goposition_stop_get_coords
в режиме goposition останавливать движение в момент проверки координат?
Пример:
goposition_stop_get_coords=1
останавливать
goposition_stop_get_coords=0
не останавливать
по умолчанию 0
9. фикс интерфейса бота

2024.11.26
1. реализован функционал для воспроизведения звуков из сети
пример:
playfile=https://mwbot.org/1.mp3
2. Новая функция: playfile_stop
Остановить воспроизведение
пример:
playfile_stop
3. Отображение личных сообщений
находясь на вкладках: написать сообщение, или в списке сообщений
нажмите клавишу f3, чтобы попасть в список личных сообщений
будет показан список личных сообщений.
Если нажать клавишу tab, то попадете в поле для ввода сообщения.
Если написать в нем сообщение и нажать клавишу enter, то сообщение будет отправлено пользователю из списка выбранного сообщения.
Чтобы очистить список входящих личных сообщений, находясь на вкладках со списком всех сообщений, или в поле для ввода сообщения нажмите: shift+f3
4. Теперь при отправке личных сообщений также работает система перевода текста

2024.11.24
1. Новая функция: var_replace
замена текста в переменной
Пример:
var=text=hello
var_replace=text=["llo", "y"]
speak=%text%
result=>hey
или
var=text=ring (left)
var_replace=text=[["(",")"], ["\\(","\\)"]]
speak=%text%
result=>ring \(left\)
или
var=text=hello
var_replace=text=[["l","o"], ["","y"]]
speak=%text%
result=>hey
2. Обновлен инструментарий при обновлениях.
3. новая функция: nvda_mode
переключение режимов nvda со сценариев.
Пример:
nvda_mode=0обычный режим
nvda_mode=1пасивный режим
nvda_mode=2режим без звука

2024.11.23
1. Исправлена ​​работа filedelete
2. Критические изменения!
Переработана система хранения файлов языковой адаптации.
Теперь в папке lang/ хранятся файлы перевода игры и интерфейса бота.
Файлы выглядят так:
english.bot.txt
Перевод интерфейса бота
english.game.txt
Адаптация к английскому интерфейсу игры
3. Критические изменения!
Теперь папка со скриптами имеет название: scripts
что больше соответствует текущей действительности.
Директория со стенами локации теперь находится по адресу: scripts/wall
4. Новое событие: event_attack
позволяет примерно отслеживать начало и конец боя
event_attack:0
Бой окончен
event_attack:1
Бой начался
event_attack:2
Цель существует
5. Выбор режимов nvda
клавишами: alt+n
доступны следующие режимы nvda:
обычный режим - обычный режим по умолчанию
пассивный режим - nvda будет стараться не прерывать речь. То есть когда она уже что-то говорит, она будет стараться не прерывать произношение.
спящий режим - nvda полностью замолкает в игре, я думаю, это будет полезно в моменты, когда мы просто стоим где-то, например когда добываем минералы, или просто стоим в городе.

2024.11.10
фикс. работы функции fileexists
фикс. выбора для открытия английской, или испанской версии справки по клавишам ctrl+h

2024.11.09
1. фикс. работы функции fileexistс
2. Проведена работа по оптимизации выполнения строк сценария и рефакторинг кода. Скорость выполнения строк сценария была повышена
3. новый параметр: repair_max_retries
указать количество попыток для ремонта:
repair_max_retries=5
бот будет пытаться 5 раз провести ремонт, если ему за 5 раз этого не удасться, игра и бот будут закрыты
5. Критическое изменение!
Теперь пауза и запуск скрипта после паузы по клавише f2!
по умолчанию таймаут при повторном нажатии клавиши f2 становит 0.3 секунды.
Чтобы сменить данные, установите в сценарии настройку:  pause_timeout = float(секунд)
или укажите этот параметр в вашей конфигурации бота в файле config.ini
pause_timeout=float seconds
6. реализован переход по блокам в форме редактора по клавишам:
alt+b: следующая строчка начинающаяся с block=
alt+shift+b: предыдущая строчка начинающаяся с block=
в момент когда найдена строчка, произносится её содержимое например: block=city
7. новая функция: var_random
генерация случайных значений
пример:
var_random=variable=1,300
генерирует случайное значение в переменную %variable% от 1 до 300
другой пример:
var_random=variable=["b1", "b2","b3","b4","b5"]
go_to_block=%variable%
делает случайную выборку из предоставленого списка
8. новый атрибут для системы тригеров: ignorepause
продолжать работу тригера даже в момент паузы
Пример:
add_action_speak=lack of={"text": ["^lack of vitality"], "execute": ["gameexit"], "ignorepause":1, "noclear":1}
9. фикс работы функции fileexists
10. Другие мелкие правки

2024.10.20
новая функция: filedelete
удаление файла:
filedelete=filename
новая функция: filerename
переименование файла
пример:
filerename=old name=new name
новая функция: fileexists
проверка существования файла
пример:
fileexists=filename={"true": ["speak=file exists"], "false": ["speak=no find file"]}
fileexists=filename1={"false": ["fileopen=filename1=w=100"]}
Новая функция: var_exists
проверяет существует ли переменная
пример:
var_exists=varname={"true": ["speak=yes, variable exists"], "false": ["speak=no, empty variable"]}
var_exists=varname={"false": ["var=varname=1"]}
Произошла смена проигрывателя "playfile"
теперь доступно проигрывать так же и звуки mp3

2024.10.13
фикс. работы записи данных об e-mail который последний раз проходил авторизацию.
фикс. доступности полей редактора для ввода сообщения и списка сообщений чата.
фикс. работы функции enable_xp_control
фикс. работы функции onkey и в целом отслеживания глобальных нажатий клавишь
фикс. работы функции: if.
теперь не обязательно указывать блок "else" если в нем нету не каких действий. Теперь можно упростить написание:
if=["2", "2", "==", ["speak=yes"]]
новая функция: mapwall_reset
очистить данные о подключенной карте в функции mapwall=filename
находясь на поле для ввода сообщения в чате бота нажмите сочитание клавишь: alt+enter
что бы получить список пользователей онлайн, выбирите пользователя и нажмите клавишу enter.
в поле для ввода сообщения будет уже вставлен текст для начального написания приватного сообщения: /p nickname 
новая функция: drop_end_offset=int time seconds
указать за сколько секунд следует прекращать работу скрипта, уточняет работу функции enable_drop_control.
Пример:
drop_end_offset=600
enable_drop_control
скрипт завершит работу за 10 минут до окончания времени фарма
новый параметр: count_attack=int count
количество повторений атаки при выполнении атаки. по умолчанию 2 раза
новая система обмена данными между разными ботами на уровне скриптов.
server_bot_connect=string
string - название вашего канала, придумайте сложную строчку что бы чужие не зашли на ваш канал.
server_bot_disconnect
отключиться от канала
server_bot_write=string | json
написать в канал
если обычная строка, то все участники получат событие вида:
event_server_message:text
add_action_speak=server_message={"text": ["^event_server_message:hello"], "execute": ["speak=say hello"]}
если будет передана json строчка то будет выполнен список функций у всех кто подключен к этому каналу
server_bot_write=["speak=hello", "playfile=click.wav"]
или можно указать конкретного получателя указав его nickname. Nickname - это имя в системе бота.
server_bot_write={"nick": "Eugen", "execute": ["speak=hello", "playfile=click.wav"]}
что бы нельзя было выполнять разные опасные функции мы указываем какие функции можно исполнять. Если не указать то будем считать что можно исполнять любые функции бота.
server_bot_allowed_functions=["speak", "playfile"]
новая функция: copytext
производит копирование текста в буфер обмена
Пример:
copytext=ваш текст
copytext=%variablename%
Новая функция: var_append=variablename=text
добавление текста в конец к содержимому переменной %variablename%
Фикс. теперь если запущен сценарий на исполнение и не установлена пауза не возможно отправить сообщение в чат бота.
реализована работа с файлами
fileopen=filename=mode=value
filename - имя файла, файлы создаются по пути: temp/fileopen/filename
mode - доступные режимы с открытым файлом
a - дописать данные [value] в конец файла
w - перезаписать данные [value] в файл
r - считать данные в переменную value, value должна быть без тегов %variablename%, просто variable
r+ - дописать данные в конец переменной value

2024.09.22
новая функция: clear_var_action
очищение данных тегов с тригеров %%1,%%2....
спасибо пользователям: Jgonzalezh, Cassius
расширение функциональности функции: enable_xp_control=int xp|time period=block name
int xp - лимит опыта
time period - как часто проверять уровень опыта
block name - если набран опыт запустить на выполнение блок
Теперь при вызове функции: disable_pet с параметром recall
disable_pet=recall
в момент если перед этим была вызвана функция: enable_pet
то питомец будет отозван.
если просто вызвать функцию: disable_pet, то будет просто отключено управление питомцем, но сам питомец не будет отозван
теперь если мы хотим что бы бот запустил игру с конкретным e-mail адресом можно прописать команду:
start_game=your@mail.com
доступна новая функция: last_login=your@mail.com
устанавливает в параметрах последний e-mail.
что бы игра увидела эти изменения необходимо игру перезагрузить.
доступен диалог выбора файлов адаптации игры.
Что бы выбрать на каком языке у вас игра в боте нажмите комбинацию: alt+l
при первом запуске когда отсутствует параметр lang=...
в файле config.ini, тоже будет показан этот диалог с выбором языка игры.
Теперь прежде чем начать использование бота необходимо прочитать руководство по работе с ботом, если вы совсем согласны то нажмите соответствующую кнопку, если нет - то нет.
Так же доступна кнопка что бы попасть в руководство по использованию бота.
Новые функции: setonkey, delonkey
setonkey=name={"keys": "lalt+f4", "execute": ["playfile=click.wav", "sleep=1", "speak=game exit", "gameexit"]}
при нажатии заданных клавишь бот будет выполнять определенные действия указаны в атрибуте "execute": [list command]
delonkey=name
удалить контроллер нажатия клавишь с названием "name"


2024.09.15
фикс. если атака была выключена "disable_attack"
то не работали клавиши поиска цели "enable_nav_attack"
добавлена возможность смены горячих клавишь для запуска игры и для закрытия игры.
что бы сменить клавиши по умолчанию добавьте такие строки в ваш файл config.ini
запуск игры, или развернуть окно с игрой
start_game=lalt+g
закрыть игру
quit_game=lalt+q
внесены некоторые правки с отжатием клавишь бега в режиме random_going
расширена возможность функции goposition=int x|int y
теперь можно указывать точность конечной позиции, (не работает на промежуточных поворотах)
goposition=int x|int y=details
по умолчанию 0 - точное совпадение
если мы укажим данные например:
goposition=100|100=5
и наш персонаж прийдет на координаты: 102|96
то это будет считаться нужной точкой.
так сказать, мы указали допустимую величину отклонения от конечной точки


2024.09.11
фикс. работы функции mastersynthfrag
проведен перевод некоторых сообщений на английский язык
добавлены некоторые сообщения к переводу в файле anguage.ini
новые функции:
var_div=variable=value
разделить значение в переменной variable на value
var_mult=variable=value
умножить переменную на value
реализована функциональность таймера запуска сценариев по клавише f7
теперь при вылите игры бот не будет перезагружатся при повторном запуске игры
дополнения в работе функции: badequipment=regexp
бот теперь записывает в файл: log/badequipment.txt
список предметов которые выбрасывает

2024.09.04
фикс. работы функции playfile=filename
выполнена системная оптимизация.


2024.08.21
новый параметр: keypress_limit=int number
по умолчанию 5
если number раз встретится такая же фраза в функции keypress=keyname=regexp
то будет считать что начали листать меню по кругу и прекратит работу.
Выполнен переезд на новый сервер, Франкфурт-на-Майне встречай :)

2024.08.18
при добавлении нового тригера "add_action_speak"
атрибут: "onecopy" теперь по умолчанию равен 1
Новая функция: enable_mount=name
персонаж попытается использовать вашего зверя "name"
disable_mount=не обязательное значение
бот попытается снять вашего зверя.
если не указано значение, то название будет взято с предыдущего шага enable_mount=name,
если указано название, то будет нажимать на указаном звере клавишу вызова.

2024.08.16
добавлен переключатель для запуска блока по истечению времени:
enable_drop_control=3|blockname

2024.08.14
Новое в функции: enable_drop_control
За идею спасибо пользователю: Jgonzalezh
enable_drop_control=3|blockname
когда выходит время фарма, скрипт перейдет к выполнению блока "blockname"

2024-08-13
добавлена новая функция: enable_drop_control
позволяет завершать сценарий когда ваше время фарма вышло.
enable_drop_control
завершает сценарий и закрывает игру.
enable_drop_control=1
завершает работу компьютера.
enable_drop_control=2|scriptname
после того как закончится время, запускает указаный сценарий.
Исправлена работа параметра с config.ini: key)open_profile
и другие мелкие правки.

2024.08.08
Теперь буду указывать дату выпуска обновление, так будет проще и мне и понятней вам когда было последнее обновление.
Исправил работу функции clearbag, возникала ошибка если небыло указано данных про таймауты.

99.11
Реализована функция продолжения скрипта после нужной даты, противоположность функции enable_time_exit.
Спасибо за идею пользователю: Dippydippy
использование:
enable_time_start=2024-08-06 03:00:00
бот дойдет до этой строки в скрипте и продолжит чьтение других инструкций только когда время станет больше того что указано.
Отключить этот указатель:
disable_time_start
появилась возможность указать задержки при очистке сумки: clearbag.
clearbag=время ожидания после нажатия клавишь: lshift+delete|время ожидания после того как бот пропишет количество и перед нажатием enter

99.10
fix. clear_action_speak
теперь данные о состоянии перевода сохраняются в файле config.ini
ctrl+t и alt+t

99.9
доступно сочитание клавишь для перезагрузки программыL: alt+r
в редакторе скриптов по клавише f2 можно указать на какую строку надо перейти.
по умолчанию прописана текущая строчка и так же указывается сколько всего строк в скрипте.
для тригеров добавлен новый атрибут: noclear
если существует этот атрибут, то данный тригер не будет очищатся при вызове функции: clear_action_speak, его можно будет удалить только при помощи функции
del_action_speak=name


99.8
доступна пробная возможность переназначения клавиш для базовых функций:
открытия профиля персонажа, открытия чата, узнать hp персонажа и узнать hp питомца.
что бы задействовать переназначение клавишь необходимо поместить нужные строки в файл: config.ini
key_open_profile=`
key_open_chat=backslash
key_get_hp=r
key_get_pet_hp=lshift+r

99.7
фикс. назначения и запуска горячих скриптов.

99.6
Реализована функция быстрой выгрузки скриптов в обменник по горячим клавишам ctrl+u
становимся на нужный скрипт и нажимаем ctrl+u
фикс. отключение клавишь f10,f11, f12

99.5
изменены клавиши для запуска игры на alt+g
добавлено сочитание клавишь для закрытия игры: alt+q
Внимание! Как правило сочитание клавишь для закрытия игры в активном окне игры не срабатывает.
Удалены горячие клавиши: f10, f11, f12.
добавлена возможность назначения горячих скриптов:
становимся на скрипт и нажимаем клавиши: alt+shift+ цифры от 1 до 9
тем самым мы назначаем этот скрипт на горячую клавишу.
что бы вызвать этот скрипт используем сочитание:
alt+ цифра

99.4
по клавишам ctrl+h открывает раздел согласно установленному языку игры в боте.
В противном случае открывает справку на английском языке.
изменена функция для запуска игры/.
правки в выводе логирования.
открытие игры по клавишам: left alt + left shift + g, если игра запущена, разворачивает окно с игрой.
Внимание! клавиши открытия игры глобальные, можно использовать не только в окне бота.

99.3
Добавлена возможность открыть раздел со справкой: ctrl+h
новая функция, изменение данных action_speak_change=["trigger name", "attribute name", "value"]
add_action_speak=critical={"text": ["^crit"], "is_count": 2, "execute":["keypress=n"], "onecopy":1}
action_speak_change=["critical", "text", "no crit"]
есть возможность запустить сценарий командой в чате:
/map script name
другие мелкие правки

99.2
новая функция: switch
синтаксис:
switch=string={"default": ["действия по умолчанию"], "значение 1": ["список действия"], "string 2": ["списко действия"]}
например:
var=counter=0
switch=%counter%={"default": ["speak=default case: %counter%"], "1": ["speak=case 1"], "2": ["speak=case 2"]}
var_plus=counter=1
sleep=1
go_to_line=2

99.1
попытка определить ошибку клавиатуры

99.0
Fix. внесения данных в logerror при отсутствии файла в конструкции: mapwall=filename
Новая функция: var_plus
var_plus=variable_name=int value
прибавляет value к значению
новая функция: var_minus
var_minus=variable_name=int value
отнимает value от значения переменной
примеры:
var=counter=0
speak=counter: %counter%
sleep=1
var_plus=counter=5
speak=new counter: %counter%
Новая функция: if
проверка условий.
if=["cond1", "cond2", "operator", ["true_action"], ["false_action"]]
пример:
if=["1", "2", "<", ["speak=1 < 2, ok"], ["no, 1 > 2 :)"]]
Пример со счетчиком и переменными:
var=counter=0
speak=counter: %counter%
sleep=1
var_plus=counter=1
if=["%counter%", "5", ">=", ["break"], ["go_to_line=2"]]
как только значение переменной %counter% станет 5 или больше, выполнение скрипта прекратится.
Допустимые операнты:>
< > <= >=
== !=
Вопросы оставляем на форуме https://mwbot.pp.ua/
или в репорт:
/report ваш вопрос, или предложение.

98.9
Реализована функциональность открытия директории с ботом по горячим клавишам:
ctrl+e
идея от пользователя: Jgonzalezh

98.8
оптимизирована работа функции sellcollection.
Подготовка к переносу на новый адрес. Не функция бота.

98.7
реализована возможность в функции поиска цели указывать клавиши вида: lshift+5|lshift+6
nav_keys=lshift+5|lshift+6|k|;
поправлена работа с реплейсами клавишь в файле config.ini
kbr_rctrl=space
означает что бот место правого контрол, будет нажимать клавишу space

98.6
fix работы go_to_line
Спасибо пользователю: Jgonzalezh

98.5
Fix работы функции go_to_line:
неверное срабатывание в некоторых ситуациях.
Спасибо за обнаружение пользователю: Jgonzalezh

98.4
добавлена функция генерации событий: action_speak_generate=your text
что бы перехватить событие используем текст:
add_action_speak=test={"text": ["^event_generate_action:your text"], "execute":...}
98.3
исправлена работа функции go_to_block
98.2
исправлена работа атрибута onecopy в тригерах.
добавлен новый атрибут timeout: 123 - запускать тригер не чаще указаного времени
add_action_speak=testTimeout={"text":["^(\\d+); (\\d+)$"], "execute":["sleep=1", "speak=hp: %%1; mp: %%2"], "onecopy":1, "timeout": 5}
когда мы нажмем клавишу "r", узнать показатели то тригер этот будет работать не чаще чем 1 раз в 5 секунд

добавлена функция: stopwall=regexp
место того что бы добавлять стоп фразы стен в файл stopwallword.txt, теперь можно вносить фразы регулярным выражением прямо в вашем скрипте, работа данных с файла stopwallword.txt так же учитывается.

добавлена команда: execute=["cmd1", "cmd2", "cmd3"]
выполнение команд в одну строчку, предпологается в использовании для установки настроек

фикс. использовании функции go_to_block в работе тригеров в атрибуте execute.
