Server Banner

BBya World

Объявление

Мы переехали на новый форум: forum.bbyaworld.com

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » BBya World » F.A.Q. / ЧаВо » Гайд по моду Macro/Keybind mod


Гайд по моду Macro/Keybind mod

Сообщений 1 страница 20 из 78

1

Теперь находится тут

right
Всем доброго времени суток!
В этом гайде будут описаны основы мода Macro/Keybind mod.
Ну, вначале объясню суть: Мод позволяет ставить макросы на разные клавиши, добавлять различные кнопки для исполнения команд и много чего другого в понятном и удобном графическом интерфейсе.


Отредактировано LastLife (22-11-2014 13:48:19)

2

Ща опрубуем :)

3

http://s8.uploads.ru/zXZjf.pngБинд команды.http://s8.uploads.ru/zXZjf.png
Если вы не меняли стандартного управления в игре, то окно мода можно открыть нажатием Shift+~(тильда). Если же меняли, то настройки мода можно найти в настройках управления. Видим такое окошко:
http://i.imgur.com/eV3eFcv.png
Итак красные кнопки - это те кнопки, которые уже используются в управлении, поэтому выбираем любую другую кнопку, например клавишу H. Выпрыгивает новое окно:

Скриншот

http://i.imgur.com/tIrLy3T.jpg

Ну и далее прописываем нам нужную команду в чат в строке Edit macro binding for. Например /home(Для серверов, где есть такая функция). Нажимаем save, закрываем окно. Бинд клавиши готов: Теперь при нажатии клавиши H вас будет телепортировать домой.

Но, всё же можно ставить свои макросы на уже занятые игрой клавиши, в таком случае, при нажатии этой клавиши будет выполняться то действие, которое на неё назначено, а чтобы сработал сам макрос, нужно нажимать на неё с зажатым Ctrl. В таком случае клавиша, на которой есть и занятое действие, и макрос будет подсвечиваться оранжевым цветом.


http://s8.uploads.ru/zXZjf.pngБинд с параметрами.http://s8.uploads.ru/zXZjf.png
Т.к. на сервере вы наверняка играете не в одиночку, хотелось бы быстро общаться с друзьями не прописывая каждый раз команду /tellи имя друга. Для этого мы опять же используем бинд, но добавив в него несколько параметров, которые предлагает нам мод:

Скриншот

http://i.imgur.com/ZIg6YoE.png

В кратце о каждом из них:

Команды

$$<text.txt> пишет текст из указанного текстового файла
$$m Выдаёт окно с существующими текстовыми файлами
$$? или $$[name] Позволяет ввести параметр с указанным name
$$0-$$9 Выдаёт окно с заготовленными параметрами
$$w Выдаёт окно с варпами
$$f Окно с друзьями
$$u Окно с людьми в онлайне
$$h Окно с домами
$$! Команда, которая возвращает курсор в поле ввода

Итак, вернёмся к отправке приватных сообщений друзьям. Как и в первом пункте выбираем в настройках клавишу, например P. И в строке Edit macro binding for пишем:
/tell $$f $$[Message], либо /tell $$f $$!
В чём разница? В первом случае при нажатии на клавишу P, нам будет выдано указание для команды $$[Message], здесь мы будем должны ввести сообщение, затем нам выдадут список друзей (Если он пуст, нажимайте add friend, Пишите ник, выбирайте ему иконку и сохраняйте.. В итоге мы получим:
Нажимаем на клавишу P, В поле ввода Message Вводим сообщение, например "Привет", далее нажимаем Enter и выбираем друга. Этому другу отправится сообщение "Привет"
Во втором случае, где мы указали $$!, при нажатии на клавишу P, появится окно друзей, при выборе друга, у нас в чате автоматически пропишется /msg "Имя" и всё что нам остаётся, написать сообщение и отправить.
Я всё же предпочитаю использовать второй вариант.

Некоторые примеры биндов:

/tell $$f $$[Message], либо /tell $$f $$! - отправит личное сообщение выбранному другу
/tell $$u $$[Message], либо /tell $$u $$! - отправит личное сообщение выбранному игроку, который играет на сервере

Отредактировано LastLife (29-08-2014 01:03:24)

4

расписывай, полезно, хочю себе поставить на пару команд , да и хотел бы спросить: Можно ли сделать приветствие из длинного сообщения? Или майн будет обрезать? Вульфу помочь хочю

5

smilepunk написал(а):

расписывай, полезно, хочю себе поставить на пару команд , да и хотел бы спросить: Можно ли сделать приветствие из длинного сообщения? Или майн будет обрезать? Вульфу помочь хочю

Можно только оно будет выдавать несколькими сообщениями подряд

6

http://s8.uploads.ru/zXZjf.pngОсновы скриптинга.http://s8.uploads.ru/zXZjf.png
Любой скрипт в данном моде для срабатывания должен быть заключен в такие скобки: ${ }$
Приведу в пример самые простые скрипты:
- echo() - Выводит сообщение в чат. Аналогичен обычному написанию текста без использования скрипта
- log() - Выводит информационное сообщение в чат, оно выделяется голубым цветом и видно только вам. Можно использовать для получения какой-либо информации
- achievementget() - Выводит выпадающее окошко, как при получении достижения. Я его также применяю для получения информации
Внутри круглых скобок указываются параметры, необходимые для данного скрипта. В случае echo и log это обычный текст, в случае achievementget нужно прописать текст, и при желании изменить иконку через запятую указывается itemid

Примеры

$${echo(Всем привет)}$$ - Данный скрипт просто напишет "Всем привет" в чат.
$${log(Всем привет)}$$ - Данный скрипт выведет сообщение "Всем привет" в чат, которое увидите только вы.
$${achievementget(Wololo,paper)}$$ - При использовании скрипта вы получите достижение "Wololo" с иконкой бумаги http://qps.ru/yr93c
Если нужно выполнить сразу несколько скриптов, разделяем их с помощью ";"
$${echo(Раз);log(Два)}$$

Список доступных скриптов можно глянуть прямо внутри игры тыкнув по кнопке Cmd Help, которая находится в меню редактирования макроса

Отредактировано LastLife (12-04-2014 19:01:20)

7

http://s8.uploads.ru/zXZjf.pngТекстовый редактор.http://s8.uploads.ru/zXZjf.png
Также я не упомянул о том, что можно забиндить сразу несколько команд на одну кнопку. Чтобы их разделить используется вертикальная черта "|" Например:

/kill|$${achievementget(Самоубийца)}$$
При нажатии на кнопку, вы умрёте и получите достижение "Самоубийца"

Но всё же, если нужно написать большой макрос, это будет очень не круто выглядеть в одной строчке. Поэтому легче пользоваться считыванием текстового файла.
Для начала нужно создать сам файл в редакторе, который вызывается на кнопку "Текст. редактор" в правом нижнем углу окна определения клавиш(Shift+~).
http://i.imgur.com/BDm0Eue.png
Откроется окно с текстовыми файлами, если их нет, нужно создавать. Вводим название и нажимаем создать. Открывается текстовый редактор, и в нём уже можно записывать больше команд, разделяя их не вертикальной чертой, а переносом строки:

/kill
$${achievementget(Самоубийца)}$$

Правда, у этого редактора есть минус: Он не отображает русские символы, вместо них показывает другие символы. Но это только в редакторе, при выполнении макроса, всё отобразится как надо. Но если совсем уж мешает некорректное отображение русских символов, можно просто создать файл, а редактировать с помощью обычного блокнота (Созданный файл находится в папке %appdata%\.minecraft\liteconfig\common\macros\).
Итак, после создания файла, осталось записать его на клавишу: $$<Название.txt>
Если в файле будет много скриптов, то чтоб не путаться со скобками можно при записи файла на клавишу заключить всё дело в скобки вызова скриптов: $${$$<Название.txt>}$$. При этом внутри файла можно обходиться уже без этих скобок:

log(Чат очистится через 1 секунду);
wait(1);
clearchat();

Отредактировано LastLife (12-04-2014 19:03:47)

8

Запилил скрипт, редактирующий чат.
Особенности:

- Заменена стандартная система вывода сообщения "<ник> сообщение" на "Ник: сообщение (Если в сообщении есть ссылка, то оно не модифицируется, дабы можно было на неё кликнуть)"
- Заменена система личных сообщений:
    *->Ник: сообщение - Для отправки сообщения Нику
    *Ник: сообщение - Для получения сообщения от Ника
    *Добавлен звуковой сигнал при получении сообщения
- Добавлено отслеживание слов в сообщении и оповещение при нахождении звуковым сигналом (Я для себя сделал поиск по словам Ласт, ласт, ЛастЛайф и т.д. и слышу звуковой сигнал, когда ко мне обращаются). Также перед этим сообщением выводится !-------!

Скриншоты

http://sc.uploads.ru/7KYaM.png
http://sb.uploads.ru/gtohb.png

Сам скрипт

IFMATCHES(%CHATCLEAN%,"\bЛаст\b|\bласт\b")
    log(&2!-------!)
    playsound(random.levelup);
ENDIF

IFMATCHES(%CHATCLEAN%,"http|www")
    link=true
ENDIF

if(!link)
    IFMATCHES(%CHATCLEAN%,"^\<(.+?)\> (.+)$")
        MATCH(%CHATCLEAN%,"^\<(.+?)\> (.+)$",{&from,&msg})
        modify("&b&o%&from%: &k&f%&msg%")
    ENDIF
endif

IFMATCHES(%CHATCLEAN%,"^\[.+?->(.+?)\](.+)$")
    MATCH(%CHATCLEAN%,"^\[.+?->(.+?)\](.+)$",{&to,&msg})
    modify("&6&o->%&to%: &f%&msg%")
ENDIF

IFMATCHES(%CHATCLEAN%,"^(.+?) whispers (.+)$")
    MATCH(%CHATCLEAN%,"^(.+?) whispers (.+)$",{&from,&msg})
    playsound(random.orb);
    modify("&6&o%&from%: &f%&msg%")
ENDIF

link=false

Как установить

В первой строчке заменить Ласт и ласт на свои слова, разделяя их вертикальной чертой "|" (\b в этой строчке определяет границы слова, для меня это очень необходимо, т.к. оповещение срабатывало на слова "Власть", "Пластинка" и т.п.)
Открыть настройки мода (Shift+~ по ум.), в левом верхнем углу нажать на кнопку и выбрать Edit chat filter
http://sa.uploads.ru/BXFTa.png
Скопировать туда сам скрипт. Сохранить.
Так же можете менять всё на свой вкус, если разберётесь со скриптом)

Некоторые настройки

Что можно поменять для своего фен-шуя в этом скрипте?

playsound()

Используется для звукового оповещения. внутри скобок можно задавать свои значения. Сами значения можно найти в Этой статье

modify("&6&o->%&to%: &f%&msg%")

Строка отвечает за отправку лс кому-либо. Вся команда делится на несколько составных частей:
&6&o - Установка оранжевого цвета и наклонного текста. Значения можно менять под свой цвет и формат текста
-> - Просто выводимое обозначения того, что сообщение отправлено вами кому-то, мне показалось так удобней.
%&to% - Ник получателя сообщения. Его не менять
: &f - двоеточие после ника, и установка белого цвета
%&msg% - Само сообщение. Его не менять
Соответственно если написано не менять, то это не означает, что нельзя переставлять.

modify("&6&o%&from%: &f%&msg%")

Строка, отвечающая за получения ЛС. Абсолютно аналогична предыдущему варианту за исключением отсутствия стрелочки, а вместо %&to% используется %&from% - От кого получено сообщение

modify("&b&o%&from%: &k&f%&msg%")

Обычное сообщение, также аналогично предыдущим строчкам.
%&from% - отправитель
%&msg% - сообщение

Итак, как мы можем добавить ещё больше хаоса? У нас есть переменная from, которая хранит в себе ник отправителя, соответственно, мы можем задать условие для любого ника, к примеру сделать недругам зачёркнутые ник и сообщение. Как это сделать:
Берём блок изменения  обычных сообщений:

IFMATCHES(%CHATCLEAN%,"^\<(.+?)\> (.+)$")
MATCH(%CHATCLEAN%,"^\<(.+?)\> (.+)$",{&from,&msg})
modify("&b&o%&from%: &k&f%&msg%")
ENDIF

Теперь русскими словами: что должен видеть скрипт
Если переменная from = нужному нам нику, то пишем сообщение одним цветом, в других случаях по стандарту.
Теперь, как это сказать скрипту

if(%&from%="BByaAdmin")
        modify("&4&l%&from%: &l&f%&msg%")
        else
        modify("&b&o%&from%: &k&f%&msg%")
endif

По строчкам:
if(%&from%="BByaAdmin") - Думаю понятно. Если from=BByaAdmin
modify("&4&l%&from%: &l&f%&msg%") - выполняется изменение чата.  Ник становится красным, и весь текст жирным
else - в противном случае
modify("&b&o%&from%: &k&f%&msg%") - выполняем стандартное изменение. Как на скрине в описании.
endif - завершаем обработку условия
Соответственно, чтобы добавить несколько разных вариантов, просто накладываем условия, не забывая, что на каждый if нужен endif

if(%&from%="xLastLife")
        modify("&2&o%&from%: &k&f%&msg%")
        achievementget("Слова великих",book)
        else
if(%&from%="BByaAdmin")
        modify("&4&l%&from%: &l&f%&msg%")
        else
modify("&b&o%&from%: &k&f%&msg%")
endif
endif

Отредактировано LastLife (02-06-2014 23:11:49)

9

Ласт, а если добавить в отслеживание слов букву Л она будет отслеживаться в составе слов, будет ли отслеживаться маленькая л?

10

MisterRedCarrot написал(а):

будет ли отслеживаться маленькая л?

А если по внимательней почитать скрипт и увидеть что там

LastLife написал(а):

(%CHATCLEAN%,"Ласт|ласт")

11

Ласт, молодец: на эту тему уже приводят поисковые запросы :)

Если подредактировать название темы в соответствие со стандартными запросами в поисковиках по этому моду, можно будет неплохую дискуссию развести и круто меняться опытом с игроками со стороны :)

http://sc.uploads.ru/2n5do.jpg


Предлагаю переименовать тему в:

Macro / Keybind mod: скрипты, инструкция/гайд/мануал (гугл, яндекс)

Со временем, когда наберётся статистика по тем запросам, которые приводят на наш форум, можно будет подкорректировать название темы для более точного совпадения запросам из поисковиков.

http://sb.uploads.ru/t/fa0Tw.jpg

12

VELVET
Я без понятия, чем руководствуются пользователи, когда пишут запрос, но если мне нужен гайд по моду *modname*, то я бы и ввёл в гугл "Гайд по моду *modname*. Данный запрос в гугле выводит мою тему на второе место, а на яндексе так вообще на первое :)
Но попозже переименую как нибудь пообъёмнее

MisterRedCarrot написал(а):

Ласт, а если добавить в отслеживание слов букву Л она будет отслеживаться в составе слов, будет ли отслеживаться маленькая л?

Если ты напишешь "Л", то будет отслеживаться большая "Л" в любом участке текста, будь то начало, середина или конец слова. Чтобы отслеживать именно в начале слова, нужно это указать синтаксисом регулярных выражений

Отредактировано LastLife (23-04-2014 17:52:40)

13

LastLife написал(а):

я бы и ввёл в гугл "Гайд по моду *modname*. Данный запрос в гугле выводит мою тему на второе место, а на яндексе так вообще на первое

Потому что эта тема почти на 100% релевантна такому запросу: моя задача будет определить, какие запросы по этой теме наиболее частые и подкорректирую название темы под них

Хотя, поисковики не глупые и выдают наши темы по запросам, которые лишь по смыслу соответствуют обсуждаемому вопросу, но при этом нет ни одного похожего слова ))

14

Согласен, тема очень интересная и нигде так не расписана (на русском языке)

15

http://s8.uploads.ru/zXZjf.pngGUI. Кнопки.http://s8.uploads.ru/zXZjf.png
Если забивать все действия на клавиши на клавиатуре, со временем будет очень неудобно. Да и запоминать, что забито на какой из всех клавиш не круто. Поэтому можно воспользоваться созданием своих кнопок на экране. По дефолту в моде существует 3 GUI: default, ingame, inchat. Default экран мы наблюдаем при нажатии "~" (По ум.), ingame экран - во время процесса игры, inchat экран - при вызове чата. Ну, добавление кнопок на ingame экран особо не имеет смысл, т.к. там нет курсора, и мы не сможем нажать на кнопку, да и вообще его лучше не трогать. Поэтому лучше добавлять кнопки на default либо inchat экраны.
Как пример, добавим кнопку в экран чата, которая будет приветствовать новичков (Вульфу в помощь). Поехали.
Для начала нам нужно открыть экран для редактирования экрана.
Можно сделать это 2 способами:

1

Нажимаем "shift+~", и в появившемся окне нажимаем на кнопку в левом верхнем угле и выбираем "GUI редактор", либо тыкаем по кнопке с инструментами в правом нижнем углу.
http://sb.uploads.ru/Ae2vN.png
В следующем окне слева видим список экранов и тыкаем двойным кликом по нужному.

2

Вызываем нужный нам экран ("~" для default , "t" для чата) и в правом нижнем углу тыкаем по кнопке с инструментами.
http://sc.uploads.ru/WGPJ4.png

Выбираем GUI inchat. После того, как мы открыли GUI редактор слева снизу видим 3 кнопки: Удаление, Редактирование, Добавление. Добавляем кнопку на экран. В поле Текст, обзываем как хотим.

Скрины

http://sa.uploads.ru/ChGV9.png
http://sb.uploads.ru/L3oJg.png

Ну и впринципе, всё. После того как добавили, в окне редактирования нажатием ПКМ редактируем текст на ней и цвет, при нажатии ЛКМ по ней открывается точно такое же окно, как и при добавлении макроса на клавишу клавиатуры. Соответственно по примеру вставляем туда текст приветствия новичков
Всё готово, теперь при вызове чата, в заданном месте мы будем видеть кнопку с текстом "Приветствие для новичков", при нажатии на которую будет выводиться заданный текст
P.s. Думаю что одна из кнопок на скрине "Настройка сетки" не нуждается в объяснении )

16

Может, разместим в раздел полезных скриптов твоей шедевр скоростного построения сетки на динмапе?? :)

17

VELVET написал(а):

Может, разместим в раздел полезных скриптов твоей шедевр скоростного построения сетки на динмапе??

А смысл? разместить то не проблема, просто кому он может понадобиться?

18

LastLife написал(а):

А смысл? разместить то не проблема, просто кому он может понадобиться?

Ну, тем, кто развлекается с динмапой )))
Из него можно выцепить идеи алгоритмов...

А если подходить к вопросу с твоей позиции, то многим эта тема вообще должна быть не интересна :)

19

Тупой вопрос в студию:
итак, требует ли этот мод форджа и т.д т.к для установки нужна папка mods, но для её автоматического создания и использования нужны модлоадеры?
Попутно:
у кого стоит?

20

MisterRedCarrot написал(а):

требует ли этот мод форджа

нет, он требует LiteLoader, который можно привязать к форджу и оптифайну


Вы здесь » BBya World » F.A.Q. / ЧаВо » Гайд по моду Macro/Keybind mod