mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 16:44:13 +08:00
75 lines
10 KiB
Markdown
75 lines
10 KiB
Markdown
## настроек HOOK
|
||
|
||
1. #### Кодовая страница
|
||
|
||
?> Эта настройка имеет значение только тогда, когда текст, извлеченный из игры, является **строкой с неопределенной кодировкой внутри движка HOOK** и **многобайтовой строкой**. Когда движок HOOK уже указал кодовую страницу, или текст является **широкой символьной строкой** или **строкой UTF32**, эта настройка не имеет никакого значения.
|
||
|
||
Эта настройка обычно не требует изменения. Она необходима только для некоторых старых движков (например, Yuris), официальные китайские версии которых могут иметь GBK/BIG5/UTF8. Если вы не можете найти правильный текст, отправьте [issue](https://lunatranslator.org/Resource/game_support) напрямую мне; изменение этой настройки обычно бесполезно.
|
||
|
||
1. #### Задержка обновления
|
||
|
||
?> Относительно, это самый практичный вариант.
|
||
|
||
Если вы сталкиваетесь с одним из следующих ситуаций:
|
||
|
||
1. Текст извлекается по одному или двум символам за раз;
|
||
2. Текст извлекается построчно, заменяя предыдущую строку, и в итоге отображается только последняя строка;
|
||
3. Текст правильный, но извлекается очень медленно;
|
||
|
||
Тогда вам нужно настроить этот параметр.
|
||
|
||
Для **1 и 2** ситуаций, потому что текст игры отображается слишком медленно, а задержка обновления слишком низкая, что приводит к немедленному обновлению каждый раз, когда извлекается один или два символа или строка текста. В этом случае вам нужно **увеличить задержку обновления** или увеличить скорость отображения текста в игре.
|
||
|
||
Для **3**, вы можете **уменьшить задержку обновления**, одновременно обращая внимание на то, чтобы не возникали ситуации **1 и 2**.
|
||
|
||
1. #### Максимальная длина буфера
|
||
|
||
Иногда текст будет повторяться без остановки. В этом случае, если задержка обновления высокая и не может быть уменьшена, это приведет к постоянному получению текста до тех пор, пока текст не заполнит буфер или не перестанет обновляться, чтобы удовлетворить задержку обновления (обычно игра теряет фокус, чтобы остановить обновление, поэтому обычно ждут, пока буфер не заполнится).
|
||
|
||
Чтобы решить эту проблему, можно соответствующим образом уменьшить длину буфера, но обратите внимание, чтобы длина буфера не была слишком низкой, чтобы быть меньше фактической длины текста.
|
||
|
||
1. #### Максимальная длина кэшированного текста
|
||
|
||
Полученный исторический текст будет кэшироваться, и когда вы просматриваете содержимое какого-либо текста в окне выбора текста, будет запрашиваться исторический кэшированный текст. Если есть слишком много элементов текста или текст повторяется, это приведет к слишком большому кэшированному тексту, что сделает просмотр текста более медленным (иногда даже без просмотра). На самом деле большая часть кэшированного текста здесь бесполезна; полезный исторический текст можно просмотреть в исторических переводах, и это значение можно свободно уменьшить (по умолчанию 1000000, но на самом деле достаточно 1000).
|
||
|
||
1. #### Использование YAPI для инъекции
|
||
|
||
Этот параметр иногда может немного повысить комфорт, но может быть проблемы с совместимостью, поэтому не рекомендуется использовать.
|
||
|
||
<details>
|
||
<summary>Подробное объяснение</summary>
|
||
При инъекции Dll в игру, обычно процесс инъекции Dll и процесс, в который инъектируется Dll, должны иметь одинаковую разрядность.
|
||
|
||
Чтобы решить эту проблему, Luna обычно использует shareddllproxy32 и shareddllproxy64 для инъекции Dll в игры с разной разрядностью.
|
||
|
||
Однако, когда этот прокси-процесс работает, он может быть заблокирован антивирусной программой на некоторое время, что приведет к задержке или сбою работы и необходимости запускать снова. В этом случае можно использовать YAPI для прямой инъекции Dll с помощью основного процесса Luna.
|
||
|
||
В YAPI, если процесс игры и процесс Luna имеют одинаковую разрядность, инъекция будет проходить нормально; если разрядность разная, будет использоваться специальный shellcode для реализации инъекции. Это также одна из причин, почему LunaHost32.dll легче обнаруживается антивирусной программой.
|
||
|
||
Использование YAPI для инъекции относительно более плавное. Однако на планшетах с Arm может быть несовместимость.
|
||
|
||
Когда Luna работает с низкими правами, а игра с правами администратора, этот параметр будет недействителен, он вернется к исходному режиму и запросит права для инъекции.
|
||
</details>
|
||
|
||
## Настройки по умолчанию и специальные настройки для игр
|
||
## Специальные настройки игры
|
||
|
||
1. #### Дополнительные хуки
|
||
1. #### Хук функции отрисовки текста Win32 и хук функции строки Win32
|
||
При активации эта опция позволит вручную внедрить общие функциональные хуки для Win32 в игру.
|
||
Внедрение слишком большого количества хуков может замедлить игру, поэтому по умолчанию эти хуки не внедряются.
|
||
Если правильный текст не может быть извлечен, можно попробовать включить эти две опции.
|
||
1. #### Специальные коды
|
||
Эта специальная кодировка будет записана только тогда, когда **введен специальный код** и **выбран текст специального кода**. При следующем запуске игры этот специальный код будет автоматически введен. В этой настройке записаны все ранее записанные специальные коды, где вы можете добавлять или удалять специальные коды.
|
||
|
||
1. #### Отложенное внедрение
|
||
Иногда позиция в игре, которую нужно захукать, находится в dll-файле, который загружается только после того, как игра проработает некоторое время. Также нам нужно дождаться загрузки dll перед внедрением.
|
||
|
||
1. #### Специальные настройки HOOK
|
||
Настройки, сделанные в интерфейсе настроек -> настройках HOOK, являются стандартными настройками. Когда для игры не указаны специальные настройки HOOK, используются стандартные настройки.
|
||
|
||
Для установки специальных настроек HOOK для игры вам нужно перейти в **Управление играми**, открыть интерфейс **Настроек игры** и переключиться на вкладку подменю HOOK в карточке выбора настроек игры. После снятия отметки с **Следовать по умолчанию**, вы сможете установить специальные настройки HOOK для игры.
|
||
|
||
![img](https://image.lunatranslator.org/zh/gamesettings/1.jpg)
|
||
|
||
![img](https://image.lunatranslator.org/zh/gamesettings/2.png) |