Additional Custom Skill Panel.

iCevbyt

Wolf
Messages
32
Reaction score
68
Дисклеймер: К сожалению, у меня нет серьезного опыта программирования и опыта работы с языковыми моделями для кодинга. Поэтому код такой, какой получился. Если у вас есть замечания, то только с конкретными предложениями - как именно и что исправить/переписать. С GIT я тоже ранее не работал, но проект все же зачем-то создал и выложил...
--------------------------------------------------------------------

Скачать:



Уважаемые харборцы! Предлагаю вашему вниманию скрипт, реализующий Дополнительную Игровую Панель.

Суть. Панель оформлена с использованием текстур клиента, поэтому и сама панель, и проигрываемые анимации, все в стилистике старых хроник. Звук, к слову, взят из XP, тоже старее уже некуда... В этом и заключалась изначальная задумка -добавить удобное средство управления, сохранив максимально атмосферность.
P.S. тем, кто уже на этом абзаце нажал reply и собирается печатать, что "шта!? одна панелька это и есть отличительная черта С1! когда видишь несколько панелей на скриншоте, то "... то предлагаю вам более подходящую тему

1774987982808.png

Панель работает по следующему принципу: при нажатии на иконку (или через хоткей) скрипт отправляет команду основной игровой панели - переключение на другой номер, прожатие соответствующей ячейки, возврат панели к изначальному состоянию. При этом начинает проигрываться анимация. Длительность анимации фиксированная: для предопределенных расходников - то время, которое у них кулдаун, для быстрых скиллов и моментальных предметов - треть секунды, для тогглов - бесконечно. Кулдаун скиллов скрипт не_ рассчитывается динамически в зависимости от скорости каста или скорости атаки, поэтому панель в первую очередь задумывалась для расходников или редких (но быстрых) действий.

Видеообзор на 30 секунд:

Ограничения. Клиент старых хроник (а может сам Unreal2 движок), как вы знаете, имеет проблему переключения активных окон, наверное, вы сталкивались сами, что после возврата игру происходит клик левой клавиши мыши, и персонаж начинает туда бежать (а иногда прям десантируется с моста в кучу мобов), или что залипает Alt (обработка которого в свою очередь приводит к прожатию Ctrl, ну а там уже атака союзника или гварда). Мне так и не удалось полностью обойти эту проблему, поэтому на некоторых системах нормально пользоваться, увы, не получится, а там, где подобное будет случаться изредка, все же рекомендую использование в режиме "подпивасника"... в серьезном фарме, а уж тем более в пвп есть риск накосячить и подвести всю группу. По этим причинам панель вероятно так и останется в раннем доступе, и не увидит статуса полноценного релиза.


Для детальной настройки панели написан отдельный скрипт - Configurator. Настроить надо 1 раз перед использованием.
1774988414095.png

Чтобы каждый раз не выгружать и не перезапускать панель вручную, можете воспользоваться скриптом Starter. При закрытии (или краше) клиента - он выгрузит панель из памяти автоматически. И по хоткею запустит новый экземпляр.


Инструкция по пользованию.
1. Установить с настройками по умолчанию (в папку ProgramFiles) AHK v2.
2. Распаковать архив к игре в папку Patches.
3. Запустить Configurator и настроить панель.
4. Запустить Starter. В игре нажать Ctrl+Shift+z
1. Установить с настройками по умолчанию (в папку ProgramFiles ! как просит ) AHK v2.

2. Распаковать архив к игре в папку Patches. Убедиться, что не оказалось вложенных папок. Должно быть Lineage2/Patches/L2CustomSkillPanel/ и тут уже файлы скрипты. Т.е. все ровно также, как с любым другим патчом. Только вот в лоунчере галку ставить НЕ надо!

3. Выбрать в игре какую-нибудь неиспользуемую панельку и вынести на нее нужные скиллы, расходники и предметы.

4. Запустить дабл-кликом Configurator.ahk. Прочитать инструкцию по нажатии Tutorial. Указать вверху номер панели, настроенный в пункте выше.

5. Выбрать из выпадающих списков подходящие действия и иконки и настроить в соответствии с п.3

6. Настроить хоткеи, если требуется.

7. Если нужно сменить набор брони разом - в игре вынести все части брони на какую-нибудь другую панель, а в Конфигураторе выбрать в выпадающем списке Equipment и там указать номер панели, а номера ячеек указать через запятую.

8. Если нужно сказать в чат - выбрать в выпадающем списке Chat и ввести сообщение. В игре эту ячейку оставить пустой.

9. Нажать Save Config. Если нужно несколько по-разному настроенных панелей, то переименовать созданный файл в config1.ini config2.ini и тд.

10. Запустить дабл-кликом Starter и в игре прожать Ctrl+Shift+z, или просто запустить CustomSkillPanel.



Комфортной вам игры!



FAQ

F: Меня не забанят?
A: Нет

F: Как закрыть/выйти?
A: Найдите в трее (рядом с часами) иконку стартера и панели, правой клавишей -> exit.

F: В конфигураторе мало иконок
A: Да, есть такое. Добавил те, что вспомнил. С учетом ограничения описанного выше (что время отката скилла я не рассчитываю) скиллы с откатом порой специально и не добавлял, чтобы не возникало когнитивного диссонанса... Но вы можете скачать с любой базы нужную вам иконку и сохранить ее в формате .png в разрешении 32*32 пикселя и положить в одну из папок в /resources/action_type/. Ну или взять отсюда

F: Не отображается анимация / появляется на старте и пропадает сразу же / клик проскакивает мимо панели. Что делать?
A: В Конфигураторе в разделе Options выставите все галки и попробуйте с ними. Потом по 1 снимайте.

F: Все равно не помогает. Что делать?
A: Выставите в Конфигураторе опцию Debug_Mode, воспроизведите проблему и пришлите в личку описание с шагами воспроизведения проблемы и текстовый файл debug_log.txt, который появился в папке. Посмотрим.

F: Все работало, но зависло. Что делать?
A: Alt+Ctrl+Del, запустить диспетчер задач. Найти AutoHotKey и прибить.

F: Антивирус ругается.
A: Добавьте в исключения.
VirusTotal: Starter.ahk ; CustomSkillPanel.ahk

F: Произошел рассинхрон тоггла или скилл уже откатился, а кулдаун анимации все еще отображается. Как сбросить?
A: Правый клик по иконке

F: После смены игровой панели вызов скилла с Дополнительной порой приводит к тому, что возвращается старая панель (которая была до смены)
A: Проверка номера основной панели происходит раз в 2 секунды, после смены панели обождите 2 секунды, прежде чем использовать скиллы с дополнительной.

F: Не работают хоткеи
A: Если среди настроенных хоткеев есть хоть 1 буква, то все хоткеи будут работать только, если включен CapsLock. Скрипт запоминает состояние CapsLock в игре, поэтому при альт-табе или выходе вам не нужно за ним следить: статус будет сброшен, а когда снова вернетесь в игру, автоматически включится снова. Таким образом избавляемся и от любителей писать в чат КАПСОМ, и имеем возможность быстро включать/выключать хоткеи.

F: Как включить анимацию сосок?
A: В Конфигураторе укажите ячейки основной панели, где у вас лежат соски. В игре - левый клик по шапке (слева или сверху) дополнительной панели. Или можно из другого скрипта/программы отправить PostMessage(0x5555

F: Я включил анимацию, как указано выше, она отображается, но соски в игре сами все еще не прожимаются...
A: Все верно, Панель не задумывалась для автоматизации игрового процесса. Только анимация, чтобы красиво, или для индикации работы вашего другого макроса/скрипта.

F: Можно пример этого "другого макроса/скрипта"?
A: я сам не пользуюсь автососками, поэтому на текущий момент могу только предложить посмотреть вот эту тему.
Вместо F11 или F12 (выберите что-то одно, так как панель не поддерживает раздельное управление анимацией сосок, а скрипт по ссылке умеет жать разные соски из разных ячеек)
*F11::
{
global g_s_window_name
static t := false

settimer(() => f_controlsend_winactive("{F9}"),
g_i_shortcut_cyclic_ms * (t ^= 1))
}

*F12::
{
global g_s_window_name
static t := false

settimer(() => f_controlsend_winactive("{F10}"),
g_i_shortcut_cyclic_ms * (t ^= 1))
}
вставить (тоже что-то одно)
*F11::
{
static t := false
SendCommand5555(t := !t)
settimer(() => f_controlsend_winactive("{F9}"), g_i_shortcut_cyclic_ms * t)
}

*F12::
{
static t := false
SendCommand5555(t := !t)
settimer(() => f_controlsend_winactive("{F10}"), g_i_shortcut_cyclic_ms * t)
}
и в самый конец файла еще вставить
SendCommand5555(flag) {
static TargetScript := "CustomSkillPanel.ahk ahk_class AutoHotkey"
DetectHiddenWindows(True)

if WinExist(TargetScript) {
PostMessage(0x5555, flag, 0,, TargetScript)
}
}
Ну или вот такой скрипт (этим пользуюсь сам; его поместить рядом с другими скриптами): по нажатии Shift+F12 он включает/выключает некий "условный pvp режим". Когда этот "pvp режим" включается, основная панель переключается на 2ую, а нажатие F5, F6, F7 (где у меня атака и атакующие скиллы) осуществляется с дополнительным прожатием Ctrl и с отправкой F4, где у меня соска. Таким образом, для каждого удара с соской мне нужно жать 1 клавишу, а не 2. Но спамить нужно постоянно, да. Но я раньше играл на луке, и при кайте и так и так нужно было каждый раз жать, поэтому я привык... Может быть и вам подойдет такой вариант - редактировать в блокноте самому или в любую ИИ (гугль, яндекс) вставляете код и прям по-русски пишите "переделай так, чтобы вместо ххх было ...".

F: У меня несколько персонажей, мне надо несколько разных панелей. Каждый раз в Конфигураторе настраивать заново?
A: Во-первых, осуждаю, это не role-play... Во-вторых, нет, не придется. Создайте несколько конфиг файлов и переименуйте их в "config1.ini" "config2.ini" и тд. Используйте Starter для запуска Ctrl+Shift+Z (X,C,V,B,N,M) в зависимости от номера конфига

F: Я нищеброд и подкаблучник, у меня нет отдельного кабинета, а в спальне по ночам жена запрещает мне кричать в микрофон...
A: В Конфигураторе выберите раздел Chat и настройте сообщение. Дублировать сообщения можно только в групповой и клан чат, в общие чаты запрещено. Таймаут на отправку сообщений в групповой чат - 2 секунды, в общие - 5 минут.

F: У меня есть замечание, совет..
A: Если не попадает под дисклеймер, то пишите - форум все стерпит если интересная задумка (а главное если смогу вообще такое реализовать), то обсудим, может и впрямь получится запилить.

F: Нашел баг...
A: Опишите по шагам ситуацию, буду разбираться. Только не рассчитывайте на оперативность. И времени не могу много выделять, да и уж подустал сам от этой панели... Спасибо за понимание.
 
Last edited:
Прочитать раздел "Инструкция по пользованию" (это тот раздел, который сразу после картинки с иконками на белом фоне..)
 
Судя по коду это какой-то индусский калькулятор. Перед установкой весь этот код нужно как минимум прогнать через ллмку на анализ инъекций с кражей лог/пасс. Ставьте на свой страх и риск, но я бы 100% не рекомендовал.
Код - обезьяна на чатгпт тыкает бананом
 
Судя по коду это какой-то индусский калькулятор. Перед установкой весь этот код нужно как минимум прогнать через ллмку на анализ инъекций с кражей лог/пасс. Ставьте на свой страх и риск, но я бы 100% не рекомендовал.
Код - обезьяна на чатгпт тыкает бананом
М-да уж. Посмотрел бы код для начала, чтобы че то тут высрать...
 
Back
Top