Server Banner

BBya World

Объявление

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

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

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


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


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

Сообщений 41 страница 60 из 78

1

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

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


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

41

1. Без понятия, не интересовался даже этой командой..
2. Никак. Поэтому я и советую писать не $$?, а $$!

42

Ласт, как сделать автозамену определённых слов на другие слова в отправляемом тексте? Например, автоматически заменять мат на звёздочки.

43

Неужто легче писать мат, долбя при этом на разные буквы, легче, чем просто несколько раз нажать на звёздочку.
Для того чтоб заменить, нужно в переменную записать сообщение с русскими буквами.. там опять же использовать $$[] или $$? нужно, но русские буквы не заносятся.. так что я не знаю других способов

44

Новый скрипт, сделал себе по необходимости. Может кому-нибудь ещё пригодится.
Расстояния между блоками

Как выглядит

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

Как использовать

Записать в текстовый документ и назначить документ на какую-нибудь кнопку. НЕ ЗАБЫТЬ, что нужно написать не так $$<blablabla.txt>, а так $${$$<blablabla.txt>}$$
Далее смотрим на какой-либо блок, так чтобы появилось обрамление у блока, и тыкаем кнопку, на которую привязали скрипт.
Создаётся первая точка (Зелёная на скрине).
Далее смотрим на второй блок, и так же тыкаем по нему этой же кнопкой.
Создаётся вторая точка (Красная на скрине).
Смотрим в чат на полученную информацию. Радуемся.

Скрипт

if(!point)
log(&6Точка &21 &6записана)
#x1=HITX
#y1=HITY
#z1=HITZ
log("&6Координаты: &2x=&5%#x1%&6, &2y=&5%#y1%&6, &2z=&5%#z1%")
point=true
else
log(&6Точка &22 &6записана)
#x2=HITX
#y2=HITY
#z2=HITZ
log("&6Координаты: &2x=&5%#x2%&6, &2y=&5%#y2%&6, &2z=&5%#z2%")
#dx=#x2-#x1
#dy=#y2-#y1
#dz=#z2-#z1
if(#dx<0); #dx=-1*#dx; endif
if(#dy<0); #dy=-1*#dy; endif
if(#dz<0); #dz=-1*#dz; endif
#dx=#dx+1
#dy=#dy+1
#dz=#dz+1
#v=#dx*#dy*#dz
log("&6Расстояния между точками:")
log("&2x=&d%#dx%&6, &2y=&d%#dy%&6, &2z=&d%#dz%")
log(&6Объём фигуры: &d%#v%)
point=false
endif

Объяснений по скрипту давать не буду, если нужно что-то узнать, что означает строчка, или символы, то спрашивайте сами в этой теме.

45

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

Новый скрипт, сделал себе по необходимости. Может кому-нибудь ещё пригодится.
Расстояния между блоками

думаю, это оч. полезный скрипт для тех, кто регулярно строит сложные проекты )

46

Снова обновил скрипт редактирующий чат. Удалил ненужные вещи, добавил новый спойлер в описание:

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

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

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

47

В помощь ограждающим свою территорию табличками с предупреждением

placesign("Строка1","Строка2","Строка3","Строка4")
Помним про длину строки = 15 символам. Просто записываем на кнопку, смотрим в нужное место, тыкаем кнопку, табличка с текстом ставится. Держание в руке самой таблички не обязательно, главное наличие в инвентаре

48

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

В помощь ограждающим свою территорию табличками с предупреждением

Не забываем использовать современные технологии - куда более информативные и действенные :)

49

Как забиндить клавишу H, чтобы при нажатии на неё выполнялась последовательность: удар, использование, удар?

50

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

Как забиндить клавишу H, чтобы при нажатии на неё выполнялась последовательность: удар, использование, удар?

Назначь на клавишу скрипт:
$${key(attack);key(use);key(attack)}$$

51

1. Не могу найти помощь по командам скрипта.
2. Можно ли сделать как-то авточарование вещей? Я могу сделать все вплоть до открывания стола, а как поместить вещь в слот, зачарить и забрать? И закрыть стол?

52

Владимир написал(а):

1. Не могу найти помощь по командам скрипта.
2. Можно ли сделать как-то авточарование вещей? Я могу сделать все вплоть до открывания стола, а как поместить вещь в слот, зачарить и забрать? И закрыть стол?

1. Нажимаешь Shift+~ (по умолчанию). Откроется окно с клавиатурой, выбираешь любую кнопку, и в новом окне редактирования справа увидишь кнопку Cmd Help.
2. Увы я не знаю, либо это вообще нельзя сделать. Как раз скорей всего нельзя.

53

Владимир написал(а):

2. Можно ли сделать как-то авточарование вещей? Я могу сделать все вплоть до открывания стола, а как поместить вещь в слот, зачарить и забрать? И закрыть стол?

Ммм...
А клики мышкой по координатам есть?? :)
Дабл-клик не кидает шмотку на стол?
Ну, и самое лёгкое, если я не ошибаюсь, это закрыть стол - Esc...

Или всё мимо?? :)

54

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

Ммм...
А клики мышкой по координатам есть?? :)
Дабл-клик не кидает шмотку на стол?
Ну, и самое лёгкое, если я не ошибаюсь, это закрыть стол - Esc...

Вроде как любое gui можно закрыть c помощью команды gui()
Клик в инвентаре: SlotClick(x), где x - номер слота
ещё знаю, что вроде как, если x: -999 это за пределами инвентаря клик, проще говоря выкидывание.. может здесь есть какой-то скрытый смысл, т.к. увидел такой вариант в коментах официальной темы мода на minecraftforum.net
Мышкой управления не видел, и скорей всего нет.. наверняка нет.

55

А как тыкнуть в слот самого стола? Закинуть в стол можно с помощью шифт+клик по слоту, или может бцть с помощью воронки, не проверял, а выкинуть можно просто закрыв окно и ловя воронкой предметы.
А в меня макросов у меня это:
http://hkar.ru/tQYT
И пожалуйста, распиши циклы в скриптах. Если конкретно, как сделать что цикл запускался когда нажал 1 раз кнпоку и останавливался, когда нажал второй раз, а также автоматически останавливался при выходе с сервера или мира. И как сделать что бы цикл останавливался, при совершении какого-нибудь события? Например получение 30 лвл.

Отредактировано Владимир (01-07-2014 17:23:37)

56

Владимир написал(а):

Если конкретно, как сделать что цикл запускался когда нажал 1 раз кнпоку и останавливался, когда нажал второй раз

if(flag);
    unset(flag);
else;
    set(flag);
    do;
        //Тело цикла, выполняющегося, пока flag не станет false
    while(flag);
endif;

Соответственно, если нужно чтоб остановился при получении 30 лвл, нужно в тело цикла добавить проверку лвл с помощью if

if(LEVEL=30);
unset(flag);
endif;

57

Блин, не получается у меня почему то :( Помогите сделать скрипт, в котором при нажатии кнопки игрок начинает атаковать циклично, а перестает атаковать, либо при повторном нажатии, либо при достижении 30 лвл. И что звуковое сопровождение было при достижении 30 лвл. Что бы отличалось от обычных.

58

Владимир, Я ж выше написал уже почти готовый код... Просто собираешь в кучу и:

if(flag);
    unset(flag);
else;
    set(flag);
    do;
        key(attack);
        if(LEVEL=30);
            unset(flag);
            playsound(mob.ghast.scream);
        endif;
    while(flag);
endif;

Звуки для команды playsound смотри тут: Ссылка

Отредактировано LastLife (03-07-2014 21:24:21)

59

Пилю потихоньку русификатор для этого мода.. Тот, который сейчас в нём встроен устарел, а в некоторых случаях очень неправильно переведён. В общем, возникло пару трудных моментов, может кто-нибудь здесь подскажет решение.
Первая проблема - перевод "Macro override". Это название той клавиши, зажав которую можно выполнять макросы, привязанные к уже занятой майнкрафтом клавише. Например пробел занят прыжком, и макрос привязанный к пробелу будет выполняться как раз при зажатой клавише Macro override. + также в настройках упоминаются такие пункты, как "Включить функцию override", "Показывать на экране override состояние макроса". Предыдущий переводчик перевёл override как переопределение, но мне кажется, что это слово не полностью соответствует действительности.
Ещё проблема: "Script terminated with uncollapsed stack, check your script syntax". Очень смущает слово uncollapsed, не пойму как стек может быть "неразрушимым"..
Тоже непонятен смысл "Disable deep injection" и "Apply debounce to macro key triggers"
Понимаю, что без хороших знаний мода, сложно понять, о чём говорят эти фразы, но может, кто-нибудь сможет помочь)

60

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

Ещё проблема: "Script terminated with uncollapsed stack, check your script syntax".

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

Вроде как "переопределение" подходит... но можно и "замена" или "клавиша замены" попробовать, если там именно в клавишу упирается...


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