В данной теме мы детально познакомимся с программой-ассистентом Yoko Injection.

Injection (инжекшн, обычно просто — инжект,инжа) это программа которая была создана как бесплатная альтернатива уже популярному много лет назад UOAssist’у для игроков на эмуляторах сервера Ultima Online. Сам Injection является не только бесплатным, но и распространяется с открытым кодом, а это значит, что все разбирающиеся в программирование имеют возможность изменить его или дополнить своими функциями, так и поступил украинский программист Yoko (Йоко). Существует множество альтернативных версий Injection, но наибольшую популярность получила версия именно Yoko, так как он не развивал те нестандартные (читерные) функции, которые дали известно Injection как программе для читеров. Дело в том, что Injection сразу стал именем нарицательным, его стали запрещать на серверах,а игроков использующих его — банить. Это произошло по той причине, что в различные версии Injection появились функции, позволяющие переименовывать других игроков и предметы, выводить других игроков из игры, быстро перемещаться по миру и выполнять другие действия, нарушающие игровой процесс и не доступные игрокам на обычном клиенте. Со временем многие серверы научились делать защиту от этих функций, к примеру наш сервер не запрещает использование Injection любых версий, это стало возможным благодаря работе скриптеров, которые создали уникальную защиту распознающую нестандартные действия и просто, не заметно для игроков, блокирующую их.

На данный момент сообщество Yoko Injection насчитывает около тысячи последователей, людей играющих только на инжекте от йоко, использующие различные системы создания скриптов (perl, asm, стандартные скрпиты) итд. Игроки выбирающие Injection отмечают, что в отличие от других ассистентов Yoko Injection дает возможность создавать более сложные макросы, удовлетворяющие индивидуальным требованиям, удобно настраивать сочетания клавиш, быстро создавать нужные макросы и расширять их по мере необходимости.

На самом деле явных преимуществ Yoko Injection не дает, разница заключается только в индивидуальных различиях, у кого-то другие ассистенты могут работать медленнее, они выбирают Yoko Injection, другим просто нравится мощный инструментарий настройки макросов для себя, но основной причиной является удобная система назначения сочетаний клавиш и макросов для PvP.

Если Вы решили перейти на Yoko Injection, то Вам потребуется знание основ создания макросов, после чего дальнейшее их изучение Вы можете продолжить сами. Данная статья содержит основы создания макросов для Yoko Injection.

 На картинках показаны рекомендуемые параметры.

Вклада Main

Выпадающее меню (с текстом None (Ignition) на картинке) — выбор шифрования для сервера, у нас оно не требуется, поэтому None (Ignition).

Flush log — сохранение системной информации Injection в файл (нужно для отслеживания ошибок программы)
Verbose Logging — аналогично функции Flush Log включает запись технической информации в файл.
Light — функция отключает затемнение в игре (ночь), таким образом всегда светло и ярко.
Tracker — если галочка установлена, то в клиенте будет появляться стрелочка, показывающая направление в котором находится последний трупп вашего персонажа. Также может применяться с командой ,track <координаты> для поиска кладов или еще чего.
Corpse autoopen — автоматические открытие трупов появившихся возле вашего персонажа (может не работать)
Destroy server menus — убивает все гампы при их появление, если включить, то вы перестанете видеть трейд окна, гампы вендоров итд, однако скрипты Injection будут иметь возможность обрабатывать эти гампы, даже если их не видно.
Filter sound — включает фильтр звуков типа ржания лошадей и игры музыкальных инструментов
Filterspeech — не пересылает клиенту текст сервера, который встречается в шаблонах, заданных командой ,filterspeech.
Verbose menu — отменяет вывод на экран (и в журнал инжекта) сообщений о результатах выполнения различных команд инжекта. В частности, сообщения о результатах поиска командами Findtype и Findobject, а также сообщения команд Waitmenu и Automenu.
Undead — не показавает черный экран с надписью «you are dead» при смерти, не производится автоматический ,resend (поэтому, например, вы будете видеть у себя в бакпаке вещи, которые были там перед смертью. При этом вы должны понимать — в реальности там этих вещей нет!).
Autostart — при запуске автоматически запускается скрипт sub autostart(), при этом сам файл скриптов должен находится в каталоге с инжектом под названием autoload.sc
Target XYZ fix — чтобы мишени Injection были точно такими же как у клиента.
Unset before set — С ним меньше глюков клиента, так как правильно запоминаются наборы одежды и оружия.
Stealth counter — счетчик шагов в хайде. При ходьбе в хайде выводит на экран сообщения о количестве шагов, пройденных без расхайдивания.
Smooth walk — при выключенной опции при плохом коннекте меньше лагов при ходьбе, но легко сбивается визуальное положение игрока (может не работать)
TUS bb-fix — Иначе TUS сервера выдаёт ошибку при подключении (у нас не работает)
Relay
Font color — цвет вашей речи в игре
AntiCrash — Предотвращает падение клиента от команды ,crash в pgde injection. У нас не нужно, у нас не работает pgde injection.
No client hung message — не выводит на экран сообщения о «подвисах» клиента. Это необходимо при выполнении команд типа massmove, но может помешать при обычной игре, потому что тогда вы не получите сообщения при реальном зависе клиента.
Permit vars loopback — с этой опцией команды инжекта действуют на сам инжект т.е. waittarget примет прицел от info, hide… Кроме того команды будут обновлять lastobject, lasttarget
Status bars fix — предотвращает удаления изображений персонажей. Cущества при исчезновении превращаются в зомби и полоски жизни не исчезают. Они исчезают в любом случае если вы убегаете от создания.
Poison: bottle then obj — «Если на вашем шарде при Poisoning сперва запрашивается бутылка с ядом, то включите».
Track world item — постоянный опрос сервера о изменениях в окружающем чара пространстве. Необходимо если вы хотите в своих скриптах контролировать окрестности вокруг чара, но может привести к зависаниям (у нас не требуется) клиента при телепорте чара в места с большим скоплением чаров или объектов (например, на рынок)
IgnoreSocket (400x) — может помочь исправить некоторые особенности работы с протоколом 3.0.8+. Используйте это логинясь с клиентом 400c.
Version — посылает серверу указанную версию клиента. В выключеном состоянии отображает текущую версию при заходе на шард.
Battle Filter — «На стадии разработки. Предполагается с её помощью отображать только необходимые предметы окружения, что облегчает нагрузку на клиента на слабых машинах».
MulyUO — это неудачная попытка разрешить автоматический запуск нескольких окон УО.
SocksCap relay fix — перенаправлят пакеты на localhost; для програм типа HTTPport.

Вкладка Skills

В верхней части вкладки Skills вы видите цифры, на картинке это 5569.1171 — это координаты нахождения персонажа в мире.

КнопкаReq — обновить данные о навыках с сервера.

Кнопка Reset — сброс значений навыков.
Кнопка Save to clipboard — копирует все навыки с их значениями в буфер Windows (например можно вставить на форуме или в блокнот).

Сам список навыков представляет из себя таблицы с названием столбцов, на названия столбцов можно нажимать, таким образом:
-нажатие на Skill title сортирует список навыков по названию
-нажатие на Val (value = значение) сортирует по значению навыка
-нажатие на Chg (change = изменение) сортирует навыки по приросту к скилу с момента последнего входа в игру
-нажатие на L (locked — заблокировано) сортирует навыки, если они заблокированы (то есть прокачка дальнейшая не возможна) — у нас блокировка навыков не работает.

Ниже списка навыков Вам доступны параметры:
SkillCap — общая сумма всех навыков.
StatCap — общая сумма статов (str,dex,int).

Переключатель Show Real отображает реально значение навыков (у нас не требуется).

Вкладка Object Types

Вкладка Object Types позволяет добавлять типы объектов и назначать им имена. Например, если в скриптах вы хотите использовать бинт по типу, то вам достаточно добавить типа bandage (как на картинке), для этого нужно ввести в поле Name требуемое обозначение типа предметов латинскими буквами, нажать From Target (для получения типа предмета в игре нажав прицелов) либо указав Graphic самому. Далее нажимаете либо кнопку Save (для сохранения изменений у типа) либо кнопку New (для добавление нового типа), перед нажатием New необходимо указать Name.

Все объекты в мире имеют тип и ID. Тип назначается группе предметов, например бинты, скрол рекола, лошадь — у всех этих предметов есть свой уникльный тип. ID назначается каждому предмету и необходим для обозначения конкретного предмета в мире (например id у скрола рекола в вашем бекпаке будет один, а аналогичный скрол у бекпаке у вашего врага будет другой).

Кроме того на данной вкладке отображаются типы предметов для EasyUO.

Вкладка Objects

Вкладка Objects работает аналогично вкладке Object Types, но предназначена для назначения имен конкретным предметам по их ID.

К примеру, вы хотите создать макрос, который при нажатие кнопки одевал бы на персонажа определенный предмет. Тогда Вам достаточно добавить этот предмет на вкладку Objects и использовать его в скриптах не по длинным id а короткому и запоминающемуся имени.

На вкладе доступны следующие кнопки:
Use — использовать объект в клиенте прямо сейчас
Wait & target — установить ловушку прицела на данный объект, то есть следующее ваше действие в игре, которое требует указания прицела будет направленно на предмет, который вы выделили из списка в Injection на вкладке Objects и нажали эту кнопку.
Target — аналогично, но не дожидаться прицела, а послать его прямо сейчас (допустим, если прицел у вас уже включен)
Click — нажать на предмет
receivingcontainer — установить предмет как контейнер для команд grab,moveitem итд.
catchbag — устанавливает предмет как контейнер catchbag, это контейнер в который будут перемещаться все предметы попавшие в backpack персонажа
unset — сброс установок перечисленных выше
Layers — отображает предметы которые одеты на персонажа, а так же его транспорт.
Delete — удаляет объект выделенный в списке

Для создания нового объекта укажите его имя, нажмите кнопку From Target, далее в клиенте укажите прицелом нужный предмет и нажмите в Injection кнопку New. Для изменения Serial объекта — выделите его из списка, аналогично нажмите From Target и на объект в мире и далее кнопку Save.

Вкладка Display

ON/OFF — включение/отключение специального заголовка для окна клиента Ultima Online

Hitpoints, Amror Rating, Mana, Stamina, Weight, Gold — отображают в заголовке основные параметры персонажа.
Ниже идет список с магическими реагентами, которые так же могут отображаться в заголовке с указанием количества в бекпаке персонажа.
Далее идут Grave Dust, Daemon Blood, Nox Crystal, Pig Iron, Batwing — специальные регаенты, которые так же можно отображать в заголовке.
Ниже следуют поушены (Potions)
Следующий ряд — позволяет отображать в заголовке количество бинтов (Bandages), стрел для лука (Arrows) и арбалета (Bolts)

Caption view:
Colored —
выделяет все параметры в заголовке цветом, причем, в случае маленького количества ресурсов — фон меняется с зеленого на красный.
Icons — включает отображения значков ресурсов. В Windows Vista/7 обязательно отключить, иначе клиент будет зависать.
Bars — Отображает три шкалы, для жизни, манны и стамины. В Windows Vista/7 обязательно отключить, иначе клиент будет зависать.
Fix caption ‘U’ — если отключить отображение информации в заголовке переключателем ON/OFF, то вместо заголовка будет отображаться буква U, чтобы вернуть к стандартному виду Ultima Online — персонаж (Forgotten Lands) — необходимо установить данную галку.

Остальные параметры не требуются.

Для пользователей Windows Vista и Windows 7 прочитайте статью: Значки в заголовке Windows Vista/7