Добавлен , опубликован
Программы
Предназначение:
Прочее
Поддерживаемые версии игры: 1.26a, 1.27a

Возможности

  • Настройка хоткеев кнопок на панели приказов.
  • Альтернативные хоткеи для меню постройки/изучения/книги заклинаний.
  • Горячая клавиша способности зависит от её текущей позиции на панели приказов.
  • Хоткей для переключения автокаста.
  • Хоткей для быстрого каста на выделеного юнита.
  • Хоткей для быстрого каста на юнита/точку под курсором.
  • Настройка хоткеев для инвентаря.
  • Добавляет хоткей для сворачивания/разворачивания мультиборда.
  • Смена позиции кнопок на панели приказов.
  • Сокрытие кнопок на панели приказов.

Горячие клавиши

Имя опции Хоткей Требует супер режим Описание
command_bar_hotkeys ряд 1 = M G F A, ряд 2 = Y S D T, ряд 3 = Q W E R нет Хоткеи для панели приказов в обычном режиме.
submenu_hotkeys ряд 1 = Q W E R, ряд 2 = A S D F, ряд 3 = Shift+Z Shift+X Shift+C Shift+V нет Хоткеи для панели приказов при открытом подменю (меню постройки/прокачки скилов)
inventory_bar_hotkeys ряд 1 = Z X, ряд 2 = C V, ряд 3 = B N нет Хоткеи для предметов в инвентаре.
close_submenu_hotkey Escape нет Закрыть текущее подменю панели приказов (постройка/изучение/книга заклинаний), если таковое имеется.
хоткеи панели приказов да Сдвигает кнопку под курсором в слот, соответствующей хоткею.
hide_button_hotkey Delete да Удаление кнопки под курсором.
reset_hidden_buttons_hotkey Ctrl + F11 нет Очистка списка скрытых кнопок.
super_mode_toggle_hotkey Ctrl + F12 нет Переключение "супер режима".
multiboard_toggle_hotkey ~ нет Сворачивает/разворачивает мультиборд.

Действия

В конфиге также присутствует опция "actions", которая содержит список действий, которые будут совершаться при использовании хоткеев для панели приказов/инвентаря в зависимости от зажатых модификаторов.
По умолчанию, при использовании модификатора Alt переключается автокаст, а зажатие Ctrl приводит к применению способности на выделенного юнита (селфкаст).
Вот как выглядит поле "actions" в стандартном конфиге (ниже можно подробнее узнать о формате):
[
	["", "PressButton"],
	["ALT", "ToggleAutocast"],
	["CONTROL", "CastOnSelf"]
],
При желании, можно включить режим квиккаста, при котором, вместо вхождения в режим прицеливания, способность будет сразу применяться на курсор. Для этого, замените тип действия по умолчанию (то, что с пустыми модификаторами, идет первым в списке) с "PressButton" на "CastOnCursor".
Формат действий
Индекс элемента Название Тип Описание
0 Дополнительные модификаторы Строка Если при использовании хоткея для командной кнопки будут также зажаты указаные клавиши модификаторы, то будет выполнено соответствующее действие.
1 Действие Строка Имя действия, которое следует совершить при активации (см. таблицу ниже).
Возможные действия
Имя Описание
PressButton Просто нажимает кнопку. Если способность не имеет цели, то она будет применена, а иначе будет открыто меню прицеливания.
CastOnSelf Использует способность на выделеного юнита.
CastOnCursor Использует способность на боевую единицу или точку под курсором.
ToggleAutocast Переключает режим автоприменения для способности.

Установка

Распакуйте архив в папку с игрой.

Исходный код

Зависимости:
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
3 комментария удалено
Ответы (2)
19
hacaigivay, я скачал архив с сайта, распаковал в папку с игрой и у меня всё работает.
Ты уверен, что установил правильную версию? Попробуй удалить все старые хоткеи и скачать заново.
Если проблема продолжится, то скинь мне краш лог из папки Errors (дата в имени файла должна соответствовать времени краша).
1
IceFog:
Я сделал неправильный шаг, я только что скопировал файл super_hotke.mix, это вызвало ошибку. Спасибо за вашу помощь
19
Вышла новая версия! Прокрутить к ресурсу
  • Добавлен хоткей для быстрого каста на выделеного юнита.
  • Добавлен хоткей для быстрого каста на юнита/точку под курсором.
19
Вышла новая версия! Прокрутить к ресурсу
  • Удалил недоделанную систему хоткеев с активацией по двойному нажатию.
  • Исправил вновь появившийся баг с невозможностью использования предметов на содержимое инвентаря, используя хоткеи.
Ответы (2)
19
KaneThaumaturge, они там использовали обфускатор на своем коде, а я прежде не занимался расшифровкой программ, разработчики которых используют защиту от анализа кода.
Да и если близарды не хотят, чтобы пользователи делали моды для их новой игры, то пускай сами всё делают.
1
Здравствуйте!
Я столкнулся с ошибками при попытке скомпилировать исходники wc3 в .lib. Могли бы вы, пожалуйста, помочь мне с решением этой проблемы? Также, если возможно, я бы хотел создать Super Hotkey на основе этих исходников, которые вы предоставите.
Заранее благодарен за вашу помощь!
Error (active) E0020 identifier "CPlayer" is undefined
Загруженные файлы
Ответы (3)
19
SLina, нужно смотреть на место первой ошибки: "На строке 33 отсутствует «;»".
раскрыть
class __attribute__((packed)) CPlayer: TSHashObject<CPlayer, HASHKEY_NONE> {
public:
	BYTE start_loc;
	PLAYERDATA data;
	DWORD field32;
	BYTE Index;
	BYTE field37;
	DWORD pauses_counter_;
	DWORD saves_performed_;
	DWORD finished_saving__;
	DWORD finished_saving_result__;
};
Здесь я использую "__attribute__((packed))", чтобы выключить выравнивание данных.
Вероятно, это какое-то нестандартное расширение компилятора, которое понимает мой GCC, но не принимает твой MSVC. В таком случае, замени эту опцию на аналог из своей системы.
1
IceFog, Не могли бы вы прислать мне скомпилированный файл wc3.lib? У меня никак не получается его скомпилировать, несмотря на все мои попытки.♥
19
SLina, если не можешь адаптировать код под компилятор microsoft'а, то попробуй воспользоваться GCC. Если сидишь на windows'е, то установи MSYS или WSL. Там можно будет установить компилятор и запускать bash скрипты.
Вот скрипт, который может скомпилировать пакет wc3 (хотя лучше, конечно, воспользоваться какой-нибудь системой сборки):
раскрыть
mkdir -p build || exit 1
files=$(find src -iname *.cpp)

echo "$files" | while read file_path
do
	relative_path=$(realpath -s --relative-to=src "$file_path")
	i686-w64-mingw32-g++ "$file_path" -Iinclude -c -O2 -o "build/$relative_path.o" || exit 1
done

i686-w64-mingw32-ar csr build/wc3.lib build/*.o || exit 1
Приложил архив со скомпилированой статической библиотекой, но в следующий раз тебе стоит сделать это самостоятельно.
Загруженные файлы
1
Зарегался только чтобы оставить комментарий. Квик касты реализованы просто 10/10, прямо как в доте 2. В Wfe тоже есть квиккасты но они вроде кривые. Жмёшь условным станом случайно на союзнике, и у тебя курсор переключается в режим подтверждения действия. Тут такого нет. +Автокаст тоже моё почтение. Жму руку в общем.
Ответы (2)
22
Привет. Спасибо за очередную замечательную утилиту!
У меня возникла следующая проблема. Я в своей карте использую изменённое положение кнопок стандартных приказов (патрулирование, атаку и другие). Конкретно, я поменял положения кнопки атаки и патрулирования, но оставил для команды атаки клавишу "A".
Т.е., импортировав кастомный commandfunc.txt, сделал чтобы по умолчанию расположение клавиш на клавиатуре соотвествовало расположению и на панели команд:
Z-X-C-V
A-S-D-F
Q-W-E-R
Один из игроков в мою карту обратился с жалобой, что с использованием этой (или любой другой) програмы теперь для команды атаки, так как она передвинулась из своего привычного места, горячая клавиша вместо превычного "A" становится другой. Что не очень удобно, и приходится специально под карту перезапускать игру и менять конфигурацию.
Соотвествено, можно ли будет в теории реализовать один из любого из следующих моментов, который бы помог более гибко использовать програму:
  • Добавить клавишу на переключение раскладки на стандартную/кастомную прямо во время игры;
  • Добавить в конфиг опцию (force_map_commandfunc: TRUE/FALSE, по умолчанию пусть будет отключена), которая бы детектила, что в случае если в карте используется нестандартный commandfunc.txt, то использовать стандартную раскладку;
  • Добавить возможность настроить конфиг для отдельных карт;
  • Добавить возможность запустить exe файл Warcraft с параметром -super_hotkey "super_hotkey.json", т.е. возможность подключить конкретный файл с настройками при запуске.
Спасибо.
Ответы (3)
19
makkad, сам я редко играю в варкрафт, так что и мотивации полировать хоткей до идеального состояния нет. Но так как я выложил исходники, у страждущих всё же есть шанс исправить положение.
Добавить клавишу на переключение раскладки на стандартную/кастомную прямо во время игры;
Могу даже подсказать что делать: добавить переменную enabled и, если её значение false, отменить действия в функции on_command_bar_hotkey вернув false, чтобы событие попало к игре. Дальше можно добавить хоткей для переключения состояния по аналогии с другими из config.json.
Это позволит отключать хоткей во время игры и использовать стандартные средства.
19
makkad, если мешают измененные позиции кнопок, то можно вернуть их обратно при помощи "супер" режима. Хоткеи зависят от положения кнопок и эти самые положения настраиваемы.
22
IceFog, Спасибо за уточнение. Да, это очевидное решение. Странно, что игрок который пожаловался сам это не знал как сделать.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.