Pirate 10 Опубликовано 28 мая, 2011 Жалоба Поделиться Опубликовано 28 мая, 2011 (изменено) У меня неоднократно спрашивали, как можно повесить в Профите на макро-кнопки группового и рейдового окна (пять кнопок с циферками) собственные макросы или изменить существующие. Это делается очень просто. В 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='705062542' COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 53 ) SpellForMyLevel=( COND ? '3598453043' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 39 ) SpellForMyLevel=( COND ? '4115775947' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 25 ) SpellForMyLevel=( COND ? '1939112048' : 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='2829320935' COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 72 ) SpellForMyLevel=( COND ? '4191452681' : 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 ------- Волшебник Изменено 3 июня, 2011 пользователем Pirate Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
nargo 0 Опубликовано 2 июля, 2014 Жалоба Поделиться Опубликовано 2 июля, 2014 а можно добавить в макросы кнопок спелы, замещающие основные, из Престижа? например инквизитор вторая кнопка обычная, третья хотелось бы, что бы срабатывало "Вдохновение фанатика" вместо "Фанатичного исцеления", когда взята раскладка с Престижем в лечении. В данном виде не работает когда раскладка без взятого "Вдохновение фанатика" <Data Name="Button2" Macro="SpellForMyLevel='1719748221' COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 91 ) SpellForMyLevel=( COND ? '3749354901' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 81 ) SpellForMyLevel=( COND ? '2347916808' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 71 ) SpellForMyLevel=( COND ? '1834882570' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 57 ) SpellForMyLevel=( COND ? '2750594157' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 43 ) SpellForMyLevel=( COND ? '966134467' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 29 ) SpellForMyLevel=( COND ? '2395571978' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 22 ) SpellForMyLevel=( COND ? '467053480' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 15 ) SpellForMyLevel=( COND ? '2766199209' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 7 ) SpellForMyLevel=( COND ? '759839429' : 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='2579406986' SpellForMyLevel=( COND ? '745790527' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 93 ) SpellForMyLevel=( COND ? '1226106745' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 83 ) SpellForMyLevel=( COND ? '4124612351' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 73 ) SpellForMyLevel=( COND ? '4089064119' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 60 ) SpellForMyLevel=( COND ? '900403021' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 46 ) SpellForMyLevel=( COND ? '4004566745' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 32 ) SpellForMyLevel=( COND ? '1666305466' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 18 ) SpellForMyLevel=( COND ? '1236046508' : SpellForMyLevel ) COND=( parent.parent.parent.parent.Custom.ProfitUI_QuickRaidButtons.ActualLevel.Text < 10 ) SpellForMyLevel=( COND ? '2493734826' : 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"/> Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Каркарыч 10 Опубликовано 3 июля, 2014 Жалоба Поделиться Опубликовано 3 июля, 2014 (изменено) Способа определить взята или нет спелка из престижа я лично не знаю. Но вообщето в игре давно есть возможность использования названия спелов вместо их кодов, при этом срабатывает максимальный уровень умения. Просто файлик, из которого вы скопировали данный код нужно сохранить в кодировке UTF-8 without BOM (UTF-8 без BOM) и тогда выше приведенный код можно сократить до такого: <Data Name="Button2" Macro="SpellForMyLevel='Забота' useability SpellForMyLevel target_previous" Tooltip="Ministration"/> <Data Name="Button3" Macro="SpellForMyLevel='Вдохновение фанатика' useability SpellForMyLevel target_previous" Tooltip="Fanatics Inspitation"/> Параметр Tooltip (всплывающая подсказка) оставляете на англицком, иначе отображаться не будет. Изменено 3 июля, 2014 пользователем Каркарыч Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
nargo 0 Опубликовано 3 июля, 2014 Жалоба Поделиться Опубликовано 3 июля, 2014 ага, спасибо Тогда так задам вопрос. Можно ли в макросе на эти кнопки задавать "возможную последовательность" спелов? Т.е. задается 1 спел, если его нет - выполняется другой 2 спел. Или даже можно ли туда засунуть обычный макрос из книги создаваемых самим игроком? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
nargo 0 Опубликовано 3 июля, 2014 Жалоба Поделиться Опубликовано 3 июля, 2014 напрмер будет работать такое? <Data Name="Button3" Macro="SpellForMyLevel='Фанатичное исцеление' useability 'Вдохновение фанатика' useability SpellForMyLevel target_previous" Tooltip="Fanatics Inspitation"/> Если взято "Вдохновение фанатика" в Престиже, то срабатывает оно. Если не взято - то последний уровень "Фанатичного исцеления"? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Каркарыч 10 Опубликовано 3 июля, 2014 Жалоба Поделиться Опубликовано 3 июля, 2014 напрмер будет работать такое? <Data Name="Button3" Macro="SpellForMyLevel='Фанатичное исцеление' useability 'Вдохновение фанатика' useability SpellForMyLevel target_previous" Tooltip="Fanatics Inspitation"/> Если взято "Вдохновение фанатика" в Престиже, то срабатывает оно. Если не взято - то последний уровень "Фанатичного исцеления"? Не совем так. Фанатичное исцеление срабатывает в любом случае, т.к. сама спелка при взятии Вдохновения фанатика в престиже не пропадает из книги заклинаний. В вашем коде сработает Вдохновение фанатика (если взято), а Фанатичное исцеление встанет в очередь и сработает после отлипа заклинания, т.к. залипают обе спелки одновременно. Если спелка из престижа не взята - то пройдет сообщение об ошибке -т.е. спелки Вдохновения фанатика не найдено, затем сработает Фанатичное исцеление. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
nargo 0 Опубликовано 3 июля, 2014 Жалоба Поделиться Опубликовано 3 июля, 2014 Не совем так. Фанатичное исцеление срабатывает в любом случае, т.к. сама спелка при взятии Вдохновения фанатика в престиже не пропадает из книги заклинаний. В вашем коде сработает Вдохновение фанатика (если взято), а Фанатичное исцеление встанет в очередь и сработает после отлипа заклинания, т.к. залипают обе спелки одновременно. Если спелка из престижа не взята - то пройдет сообщение об ошибке -т.е. спелки Вдохновения фанатика не найдено, затем сработает Фанатичное исцеление. Нет, очередь заклинаний традиционно не работает тут в принципе. Т.е. срабатывает только первое существующее, а остальные сгорают. Проверил, действительно все работает как надо! Спасибо за помощь! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Каркарыч 10 Опубликовано 4 июля, 2014 Жалоба Поделиться Опубликовано 4 июля, 2014 Нет, очередь заклинаний традиционно не работает тут в принципе. Т.е. срабатывает только первое существующее, а остальные сгорают. Проверил, действительно все работает как надо! Спасибо за помощь! Всегда пожалуйста Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Анико 1 Опубликовано 1 апреля, 2016 Жалоба Поделиться Опубликовано 1 апреля, 2016 Кто-нибудь может подсказать, как заставить работать макро-кнопки в актуальной версии (англ) клиента? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Брутгейм 1 Опубликовано 1 апреля, 2016 Жалоба Поделиться Опубликовано 1 апреля, 2016 Да,да....и название макроса,теперь написать нельзя....(( Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
nargo 0 Опубликовано 1 апреля, 2016 Жалоба Поделиться Опубликовано 1 апреля, 2016 Я себе делать буду и если раньше никто не исправит, то выложу. Но в принципе выше все описано, только естественно названия спелов - английские. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Анико 1 Опубликовано 1 апреля, 2016 Жалоба Поделиться Опубликовано 1 апреля, 2016 13 минуты назад, nargo сказал: Но в принципе выше все описано, только естественно названия спелов - английские. Я может чета не понимаю, но у меня в этом файле нет ни одного русского слова. В макросах заклинания вообще забиты числовыми ID (проверила - с игрой совпадает) - при чем тут русский?. Но после переезда не работает - пишет нету такого спелла. Почему? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
nargo 0 Опубликовано 2 апреля, 2016 Жалоба Поделиться Опубликовано 2 апреля, 2016 (изменено) А, на да, я то раньше еще переделывал под себя. Менял на названия. В оригинальной версии не знаю. Пока делаю облегченный вариант. Но есть проблема с некоторыми спелами, например у фурии "Nature's Elixir", есть подозрение, что из-за апострофа. Изменено 2 апреля, 2016 пользователем nargo Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.