Jump to content

Изменение Quick Raid Buttons


Recommended Posts

У меня неоднократно спрашивали, как можно повесить в Профите на макро-кнопки группового и рейдового окна (пять кнопок с циферками) собственные макросы или изменить существующие.

Это делается очень просто.

В ProfitUI и ModEQU есть текстовый файл _ProfitUI_QuickRaidButtons.txt, который содержит макросы для всех классов. Они общие для окна группы и окна рейда, то есть будут использоваться сразу в обоих окнах.

!!! если вы хотите, чтобы этот файл НЕ обновлялся при обновлении модификации (как следствие, вы потеряете все сделанные вами изменения), то надо поставить на нем галочку "только чтение". А еще лучше делать резервную копию того, что вы намутили.

Итак, открываем этот файл (например, блокнотом) и видим примерно такую структуру (если убрать не интересующие нас строки и команды):

<Page ButtonOpacityLevel="1.000" Name="ProfitUI_QuickRaidButtons">

  <Page Name="Assassin>

    <Data Name="Button1" Macro="макрос #1" Tooltip="всплывающая подсказка"/>

    <Data Name="Button2" Macro="макрос #2" Tooltip="всплывающая подсказка"/>

    <Data Name="Button3" Macro="макрос #3" Tooltip="всплывающая подсказка"/>

    <Data Name="Button4" Macro="макрос #4" Tooltip="всплывающая подсказка"/>

    <Data Name="Button5" Macro="макрос #5" Tooltip="всплывающая подсказка"/>

  </Page>

  <Page Name="Berserker">

    <Data Name="Button1" Macro="макрос #1" Tooltip="всплывающая подсказка"/>

    <Data Name="Button2" Macro="макрос #2" Tooltip="всплывающая подсказка"/>

    <Data Name="Button3" Macro="макрос #3" Tooltip="всплывающая подсказка"/>

    <Data Name="Button4" Macro="макрос #4" Tooltip="всплывающая подсказка"/>

    <Data Name="Button5" Macro="макрос #5" Tooltip="всплывающая подсказка"/>

  </Page>

  <Page Name="Brigand"> ...
В принципе, здесь все должно быть понятно, а если кому-то непонятно, значит вам лучше не пытаться редактировать этот файл самостоятельно. 1. Сделайте копию файла перед его редактированием. 2. При редактировании обратите особое внимание на количество кавычек. Если после редактирования файла у вас слетела модификация, значит вы скорее всего поставили или удалили необходимую кавычку. Все переменные должны быть заключены в кавычки. 3. Лучше всего, если вы постараетесь вообще не трогать кавычки и символы <, >, и /> и не будете использовать специальные символы #, & и проч. 4. В макросах не надо ставить символ /, он предназначен только для ввода команд посредством чата! 5. Все изменения вы делаете на свой страх и риск. Если у вас что-то не получается, то обращаться к создателям ModEQU и тем более ProfitUI будет бесполезно )) Можете написать мне в личку и если у меня будет время, то я отвечу на ваш вопрос. 6. Файл надо сохранять в формате UTF-8 (формат можно увидеть при использовании "сохранить, как" в блокноте). Если вы хотите использовать кириллицу в подсказках к кнопкам, то вам понадобится UTF-8 модификация игрового клиента, иначе вместо надписей будет абракадабра. Когда вы откроете данный файл, то увидите нечто более сложное, чем приведенный выше пример. Но на самом деле вся разница лишь в том, что в оригинальном моде используются сложные макросы, вычисляющие ваш актуальный уровень, в зависимости от которого используется умение соответствующего уровня. Вдаваться в подробности этого механизма я сейчас не буду, а приведу пример того, как можно забить в макрос конкретное умение, команду или даже использование предмета. Если у вас не установлена UTF-8 модификация клиента, то вы не сможете использовать стандартный макрос, навроде useability Починка. Если установлена, то может быть сможете, но не факт. Причина все в той же кириллице. Поэтому вместо названий заклинаний и предметов мы используем их ID. Проще всего узнать ID через строку ввода чата. Для этого надо перенести иконку заклинания из книги знаний или предмет из инвентаря в строку ввода чата, затем выделить появившееся название заклинания/предмета, скопировать его и вставить в какой-нибудь текстовый документ (CTRL+A выделить, CTRL+C скопировать, CTRL+V вставить). !!! если вы хотите выделить линк с помощью мышки, то перед линкованием следует набрать в чате 2-3 пробела Например, если вы хотите узнать ID Концентрированного "Гибельного лекарства", то вам надо: 1. Перенести предмет из инвентаря в строку чата. 2. Выделить появившееся название предмета с помощью CTRL+A. 3. Скопировать выделенное название с помощью CTRL+C. 4. Открыть любой текстовый файл и вставить в него ссылку на предмет с помощью CTRL+V. В результате мы получим игровую ссылку вида: \aITEM -1222056897 -1511728904:[>=F5=B@8@>20==>5 "815;L=>5 ;5:0@AB2>"]\/a В квадратных скобках мы видим абракадабру по причине все той же кривой кириллицы, но поскольку это всего лишь название предмета, то там может быть написано все, что угодно (в том числе вами самими, от этого ссылка не перестанет работать). Главное же в ссылке - это ID. В данном случае это первое (отрицательное, но может быть и положительное) число -1222056897. Замечу, что иногда встречаются ссылки содержащие ID, состоящий из двух чисел. Например, ID предмета, снимающего волшебный дот на Ахимагистерии Модфросте имеет вид 1395616505 2941. !!! знак "-" перед числом ИМЕЕТ значение Чтобы использовать бутылку, надо использовать макрос useability -1222056897. Чтобы использовать предмет на Модфросте, используется макрос use_itemvdl 1395616505 2941. Эти макросы работают и в чате (если поставить перед ними "/"), и в игровом редакторе макросов. Поэтому если у вас что-то не работает, то вы можете проверить правильность написания макроса вручную, чтобы потом уверенно вставить его в модификацию. !!! каждая команда в макросе должна начинаться с новой строки (в некоторых случаях даже первая команда должна начинаться с новой строки) Итак, ваш класс - убийца и вы хотите снимать волшебный дот с рейда на Модфросте с помощью макро-кнопки №3. Для этого вы открываете файл _ProfitUI_QuickRaidButtons.txt, делаете в нем поиск по классу аssassin и редактируете блок кнопок убийцы таким образом:
  <Page Name="Assassin">

    <Data Name="Button1" Macro="SpellForMyLevel=&apos;705062542&apos;

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 53 )

SpellForMyLevel=( COND ? &apos;3598453043&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 39 )

SpellForMyLevel=( COND ? &apos;4115775947&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 25 )

SpellForMyLevel=( COND ? &apos;1939112048&apos; : SpellForMyLevel )

useability SpellForMyLevel

target_previous" Tooltip="(11) Murderous Design

(25) Murderous Design II

(39) Murderous Design III

(53) Murderous Design IV"/>

    <Data Name="Button2" Macro="SpellForMyLevel=&apos;2829320935&apos;

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 72 )

SpellForMyLevel=( COND ? &apos;4191452681&apos; : SpellForMyLevel )

useability SpellForMyLevel

target_previous" Tooltip="(52) Apply Poison

(72) Apply Poison II"/>

    <Data Name="Button3" Macro="use_itemvdl 1395616505 2941

target_previous" Tooltip="Modfrost"/>

    <Data Name="Button4" Macro="NONE" Tooltip="NONE"/>

    <Data Name="Button5" Macro="assist" Tooltip="Assist Target"/>

  </Page>

  <Page Name="Berserker"> ...
Как многие (надеюсь) догадались, здесь изменена только строка, отвечающая за кнопку №3:
    <Data Name="Button3" Macro="use_itemvdl 1395616505 2941

target_previous" Tooltip="Modfrost"/>
Зачем здесь вставлен макрос target_previous? Дело в том, что в профитских окнах группы/рейда происходит автоматическое переключение цели на члена группы/рейда, а данный макрос возвращает вам предыдущую цель. Замечу, что я лично не проверял данный макрос на Модфросте, поэтому если кто-то рискнет попробовать, то буду рад информации о том, как это прошло ) !!! при использовании предметов иногда лучше НЕ применять макрос target_previous, потому что предмет может не сработать из-за быстрой смены цели или сработать не с первого раза (иногда стоит попробовать прописать макрос на использование предмета дважды) Если вы хотите повесить на макро-кнопку сообщение в личку на нормальном русском языке, не используя UTF-8 модификацию клиента, то вам придется использовать команду do_file_commands. Например, можно создать в корневой папке игры текстовый файл tell.txt (название файла может быть любое) и запустить его с помощью макроса do_file_commands tell.txt. Для сообщения в личку "Дай колпак!!!" файл tell.txt должен иметь примерно такое содержание (при использовании сообщений в чат, перед командой tt надо оставлять одну пустую строку):


tt Дай колпак!!!

target_previous

!!! не забывайте сохранять внешние файлы в формате UTF-8.

!!! иногда перед первым макросом в файле следует оставить одну пустую строку.

За сим пока все ))

Со временем, буду вносить дополнения или изменения )

Assassin ----- Убийца

Berserker ---- Берсерк

Brigand ------ Разбойник

Bruiser ------ Громила

Coercer ------ Гипнотизер

Conjuror ----- Заклинатель

Defiler ------ Осквернитель

Dirge -------- Менестрель

Fury --------- Фурия

Guardian ----- Страж

Illusionist -- Иллюзионист

Inquisitor --- Инквизитор

Monk --------- Монах

Mystic ------- Мистик

Necromancer -- Некромант

Paladin ------ Паладин

Ranger ------- Следопыт

Shadowknight - Темный рыцарь

Swashbuckler - Головорез

Templar ------ Храмовник

Troubador ---- Трубадур

Warden ------- Хранитель

Warlock ------ Чернокнижник

Wizard ------- Волшебник

Edited by Pirate
Link to comment
Share on other sites

  • 3 years later...

а можно добавить в макросы кнопок спелы, замещающие основные, из Престижа?

например инквизитор

вторая кнопка обычная, третья хотелось бы, что бы срабатывало "Вдохновение фанатика" вместо "Фанатичного исцеления", когда взята раскладка с Престижем в лечении.

В данном виде не работает когда раскладка без взятого "Вдохновение фанатика"

    <Data Name="Button2" Macro="SpellForMyLevel=&apos;1719748221&apos;

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 91 )

SpellForMyLevel=( COND ? &apos;3749354901&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 81 )

SpellForMyLevel=( COND ? &apos;2347916808&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 71 )

SpellForMyLevel=( COND ? &apos;1834882570&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 57 )

SpellForMyLevel=( COND ? &apos;2750594157&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 43 )

SpellForMyLevel=( COND ? &apos;966134467&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 29 )

SpellForMyLevel=( COND ? &apos;2395571978&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 22 )

SpellForMyLevel=( COND ? &apos;467053480&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 15 )

SpellForMyLevel=( COND ? &apos;2766199209&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 7 )

SpellForMyLevel=( COND ? &apos;759839429&apos; : SpellForMyLevel )

useability SpellForMyLevel

target_previous" Tooltip="( 1 ) Ministration

( 7 ) Ministration II

(15) Ministration III

(22) Ministration IV

(29) Ministration V

(43) Ministration VI

(57) Ministration VII

(71) Ministration VIII

(81) Ministration IX"/>

    <Data Name="Button3" Macro="SpellForMyLevel=&apos;2579406986&apos;

SpellForMyLevel=( COND ? &apos;745790527&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 93 )

SpellForMyLevel=( COND ? &apos;1226106745&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 83 )

SpellForMyLevel=( COND ? &apos;4124612351&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 73 )

SpellForMyLevel=( COND ? &apos;4089064119&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 60 )

SpellForMyLevel=( COND ? &apos;900403021&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 46 )

SpellForMyLevel=( COND ? &apos;4004566745&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 32 )

SpellForMyLevel=( COND ? &apos;1666305466&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 18 )

SpellForMyLevel=( COND ? &apos;1236046508&apos; : SpellForMyLevel )

COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text &lt; 10 )

SpellForMyLevel=( COND ? &apos;2493734826&apos; : SpellForMyLevel )

useability SpellForMyLevel

target_previous" Tooltip="( 3 ) Fanatical Healing

(10) Fanatical Healing II

(18) Fanatical Healing III

(32) Fanatical Healing IV

(46) Fanatical Healing V

(60) Fanatical Healing VI

(73) Fanatical Healing VII

(83) Fanatical Healing VIII"/>

Link to comment
Share on other sites

Способа определить взята или нет спелка из престижа я лично не знаю. Но вообщето в игре давно есть возможность использования названия спелов вместо их кодов, при этом срабатывает максимальный уровень умения. Просто файлик, из которого вы скопировали данный код нужно сохранить в кодировке UTF-8 without BOM (UTF-8 без BOM) и тогда выше приведенный код можно сократить до такого:


<Data Name="Button2" Macro="SpellForMyLevel=&apos;Забота&apos;

useability SpellForMyLevel

target_previous" Tooltip="Ministration"/>

<Data Name="Button3" Macro="SpellForMyLevel=&apos;Вдохновение фанатика&apos;

useability SpellForMyLevel

target_previous" Tooltip="Fanatics Inspitation"/>

Параметр Tooltip (всплывающая подсказка) оставляете на англицком, иначе отображаться не будет.

Edited by Каркарыч
Link to comment
Share on other sites

ага, спасибо

Тогда так задам вопрос. Можно ли в макросе на эти кнопки задавать "возможную последовательность" спелов?

Т.е. задается 1 спел, если его нет - выполняется другой 2 спел.

Или даже можно ли туда засунуть обычный макрос из книги создаваемых самим игроком?

Link to comment
Share on other sites

напрмер будет работать такое?

<Data Name="Button3" Macro="SpellForMyLevel=&apos;Фанатичное исцеление&apos;

useability &apos;Вдохновение фанатика&apos;

useability SpellForMyLevel

target_previous" Tooltip="Fanatics Inspitation"/>

Если взято "Вдохновение фанатика" в Престиже, то срабатывает оно. Если не взято - то последний уровень "Фанатичного исцеления"?

Link to comment
Share on other sites

напрмер будет работать такое?

<Data Name="Button3" Macro="SpellForMyLevel=&apos;Фанатичное исцеление&apos;

useability &apos;Вдохновение фанатика&apos;

useability SpellForMyLevel

target_previous" Tooltip="Fanatics Inspitation"/>

Если взято "Вдохновение фанатика" в Престиже, то срабатывает оно. Если не взято - то последний уровень "Фанатичного исцеления"?

Не совем так. Фанатичное исцеление срабатывает в любом случае, т.к. сама спелка при взятии Вдохновения фанатика в престиже не пропадает из книги заклинаний. В вашем коде сработает Вдохновение фанатика (если взято), а Фанатичное исцеление встанет в очередь и сработает после отлипа заклинания, т.к. залипают обе спелки одновременно. Если спелка из престижа не взята - то пройдет сообщение об ошибке -т.е. спелки Вдохновения фанатика не найдено, затем сработает Фанатичное исцеление.

Link to comment
Share on other sites

Не совем так. Фанатичное исцеление срабатывает в любом случае, т.к. сама спелка при взятии Вдохновения фанатика в престиже не пропадает из книги заклинаний. В вашем коде сработает Вдохновение фанатика (если взято), а Фанатичное исцеление встанет в очередь и сработает после отлипа заклинания, т.к. залипают обе спелки одновременно. Если спелка из престижа не взята - то пройдет сообщение об ошибке -т.е. спелки Вдохновения фанатика не найдено, затем сработает Фанатичное исцеление.

Нет, очередь заклинаний традиционно не работает тут в принципе. Т.е. срабатывает только первое существующее, а остальные сгорают. Проверил, действительно все работает как надо! Спасибо за помощь!

Link to comment
Share on other sites

Нет, очередь заклинаний традиционно не работает тут в принципе. Т.е. срабатывает только первое существующее, а остальные сгорают. Проверил, действительно все работает как надо! Спасибо за помощь!

Всегда пожалуйста :)

Link to comment
Share on other sites

  • 1 year later...

Я себе делать буду и если раньше никто не исправит, то выложу.

Но в принципе выше все описано, только естественно названия спелов - английские.

Link to comment
Share on other sites

13 минуты назад, nargo сказал:

Но в принципе выше все описано, только естественно названия спелов - английские.

Я может чета не понимаю, но у меня в этом файле нет ни одного русского слова. В макросах заклинания вообще забиты числовыми ID (проверила - с игрой совпадает) - при чем тут русский?. Но после переезда не работает - пишет нету такого спелла. Почему?

Link to comment
Share on other sites

А, на да, я то раньше еще переделывал под себя. Менял на названия.

В оригинальной версии не знаю.

Пока делаю облегченный вариант. Но есть проблема с некоторыми спелами, например у фурии "Nature's Elixir", есть подозрение, что из-за апострофа.

Edited by nargo
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...