Перейти к содержанию
LastLife

Гайд По Моду Macro/keybind

Рекомендуемые сообщения

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

в этот макрорекордере если и делаю что-то свое, то только на основе имеющихся скриптов.

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

c5c6ba40cd.png

для меня это достижение, а для программеров фигня

 

а вот с текстом не могу

это же делается через 

IFMATCHES(%CHATCLEAN%,"Решите пример:")

где вместо "решите пример" нужно написать какой-то постоянный текст. а вот как вытащить уникальный - сам id  - не знаю

ebad65a611.png
[Магазин] Информация: - тут постоянный текст, по нему и можно делать условие

Diamond Spade - непостоянный, он не нужен. а вот нужно что далее написано в той же строчке

 

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ifmatches(%CHATCLEAN%,"(.+?) (.+?):(.+?)#(.+?)$"); match(%CHATCLEAN%,"(.+?) (.+?):(.+?)#(.+?)$",{&junk,&junk,&junk,&id}); endif;

&id содержит в себе нужное число.

Но это так, мой вариант. Самому интересен ответ Ласта - он явно шарит лучше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

да, и еще, я долго копался, но не понял как сделать, чтобы скрипт проверял не того игрока, который только вошел на сервер, а проверял конкретных людей на то онлайн он или нет

смотрел в списке переменных, не нашел. только количество онлайн смог определять. а вот проверять по нику кто онлайн - так и не понял

это все к чему, на сервере есть полиция, хотелось бы видеть ники тех полицейских, которые онлайн в метке или текстовом поле. и чтобы они убирались оттуда, если не онлайн

переделывал скрипты "друг на сервере", но там переменная JOINEDPLAYER только... и со списком в метке не вышло. может есть какой-то способ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, OcelotJungle сказал:

ifmatches(%CHATCLEAN%,"(.+?) (.+?):(.+?)#(.+?)$"); match(%CHATCLEAN%,"(.+?) (.+?):(.+?)#(.+?)$",{&junk,&junk,&junk,&id}); endif;

Думаю должно сработать. Можно ещё записывать id в глобальную переменную, чтобы потом её можно было использовать в команде placesign

 

5 минут назад, xaim сказал:

вот проверять по нику кто онлайн

вроде никак нельзя

Если нужно только значение после #, то регулярка будет выглядеть так:
#(.+?)$

 

ifmatches(%CHATCLEAN%,"#(.+?)$");
	match(%CHATCLEAN%,"#(.+?)$",{@&id});
endif

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

я знаю только как делать глобальную переменную... 

я сделал такую заготовку, чтобы видеть, получается ли вообще в глобальную что-то поместить

$${ECHO("/iinfo"); WAIT(1); ifmatches(%CHATCLEAN%,"(.+?) (.+?):(.+?)#(.+?)$"); match(%CHATCLEAN%,"(.+?) (.+?):(.+?)#(.+?)$",{&junk,&junk,&junk,&id}); endif;@&id = 123 ; setlabel(id, %@&id%);}$$

сделал метку с именем id, там пишется 123 - так я понял, что при удачном присваивании глобальной переменной нужного текста, я его хотя бы увижу и пойму, что получилось

потом стал методом тыка 

@&id = %CHATCLEAN%

@&id = CHATCLEAN

@&id = match(%CHATCLEAN%,"(.+?) (.+?):(.+?)#(.+?)$",{&junk,&junk,&junk,&id})

и прочее

ребят, я не понимаю как присвоить этой переменной то, что нужно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для теста вывожу в чат:

$${echo("[Магазин] Информация:");echo("Diamond Spade   277:40#19")}$$

В событии чата:

ifmatches(%CHATCLEAN%,"#(.+?)$")
    match(%CHATCLEAN%,"#(.+?)$",{@&id}) //Если находит id записывает его в @&id
    log(----------)
    log("ID: %@&id%") //если id нашёлся, выводит информацию о записанном id
endif

Команда установки таблички:
$${placesign("бла бла бла","%@&id%","","")}$$

gWs2YB5.gif

  • Плюс 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

так все расписали... но у меня не совсем получилось

вот что мне надо в той глобальной переменной: 352#2k

то есть, число, потом # потом число или число с буквой, например 352#24

не только после #, а все целиком

случай с ":", например 252:12#24 не нужен, потому что вот это ":12" в id указывает на покоцанность вещи. а я продаю починенные

я пробовал добавлять это (.+?) и  "&junk" но результат разный, но не тот, который нужен

feab72c929.png

а нужно 352#2k

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@xaim Если никаких ":" не должно быть, а первое значение состоит только из цифр, то подойдёт такое выражение

 

ifmatches(%CHATCLEAN%,"\s(\d+#.+)$")
    match(%CHATCLEAN%,"\s(\d+#.+)$",{@&id})
    log(----------)
    log("ID: %@&id%")
endif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Обновление 0.13.2:

- Обновлено на 1.10.2, также работает на 1.10

- Обновлён русский язык (Наконец то я ему свой русификатор впихнул :) )

- Исправлена подгрузка локализации ивентов и скриптов

- Добавлен слайдер как элемент GUI

- Добавлена опция "Границы" для элемента метки

- Исправлена PlaySound для звуков, которые имеют знак подчеркивания в названии

- Добавлена опция для подавления макро переопределения в gui командного блока

- Исправлено: количество поднятых предметов всегда выдавало ноль в одиночной игре

- Display rubberband when resizing gui controls to improve visual feedback

- Улучшено поведение контекстных меню от пкм в кастомных gui
- Playback Status can now be added as a control, doing so disables the normal playback status overlay
- Исправлено: наконечники стрел не отображались на некоторых виджетах управления
- Добавлен новый итератор CONTROLS для управления элементами. Новые переменные CONTROLID, CONTROLNAME and CONTROLTYPE.

FOREACH(controls)                // Перебрать все элементы управления везде
FOREACH(controls(ingame))        // Перебрать все элементы управления в gui "ingame"
FOREACH(controls(:button))       // Перебрать все кнопки
FOREACH(controls(ingame:button)) // Перебрать все кнопки в gui "ingame"

// Пример использования, установить все метки в синий цвет
FOREACH(controls(default:label));
   SETPROPERTY("%CONTROLNAME%","colour","#FF0000FF");
NEXT;

Ссылки: MKB, LiteLoader

  • Плюс 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Ласт, не подскажешь:

1) Как в моде взаимодействовать с буфером обмена?

2) Как удерживать любую клавишу нажатой? Например, Ctrl, Alt?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

3 часа назад, OcelotJungle сказал:

Ласт, не подскажешь:

1) Как в моде взаимодействовать с буфером обмена?

2) Как удерживать любую клавишу нажатой? Например, Ctrl, Alt?

 

Я конечно не профи, но

1. Специальный модуль для буффера обмена, который именуется Clipboard: Ссылка на minecraftforum.net

Больше я не знаю способов работы с системным буфером обмена.

2. KEYDOWN(CTRL); - зажать; KEYUP(CTRL) - отпустить Ctrl. Можно заменить на другую по LWJGL-коду клавиши.

Также есть другие команды на клавишу, смотри список команд (ссылка на список есть в шапке темы).

 

-=-=-=-=-=-

Вопрос первый:

Помогите мне понять патерны в MATCH и в IFMATCHES.

(.+?) и (.+) кое-как понял из ченджлогов (до двоеточия и после), но такой, что Ласт пишет никак не пойму.

Также спецсимволы в начале патерна (^), в середине патерна (|) и в конце патерна($). Последние два догадываюсь, но с первым туго.

Где можно прочитать про них?

В 15.07.2016 в 20:41, LastLife сказал:

ifmatches(%CHATCLEAN%,"\s(\d+#.+)$")
    match(%CHATCLEAN%,"\s(\d+#.+)$",{@&id})

 

-=-=-=-=-=-

Вопрос второй:

Как вести запись/чтение/удаление в/из файл(а)? Как очистить файл от записей?

Просто я хочу зашифровать часть скрипта и декодировать его в scriptTEMP.txt, что бы выполнить.

А потом опять стереть код, что бы файл был чистым. Или вообще удалить файл.

 

-=-=-=-=-=-

Вопрос третий:

Как шифровать с ключом?

Ибо кто-либо может просто декодировать мой закодированный код.

 

-=-=-=-=-=-

Вопрос четвертый:

Как читать файл в скрипте, если он находится в папке logs? Как записывать сразу в папку macros?

 

 

 

 

Изменено пользователем yoksoudraft
Корректировка первого вопроса

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 минуты назад, yoksoudraft сказал:

Вопрос первый:

Это не патерны команды, это использование регулярных выражений. Скобки означают то, что найденное выражение запишется, в нашем случае в переменную, идущую следом в {}.

32 минуты назад, yoksoudraft сказал:

(.+?) и (.+)

Википедия:

Цитата

 

Метасимвол . (точка) означает один любой символ, но в некоторых реализациях исключая символ новой строки

Представление Число повторений Эквивалент Пример Соответствие
? Ноль или одно {0,1} colou?r color, colour
* Ноль или более {0,} colou*r color, colour, colouur и т. д.
+ Одно или более {1,} colou+r colour, colouur и т. д. (но не color)

Часто используется последовательность .* для обозначения любого количества любых символов между двумя частями регулярного выражения.

 

\s(\d+#.+)$:
    \s - Пробельный символ
    \d - Цифра, соответственно \d+ - число
    .+ - Описано выше
    $ - Конец строки
В данном регулярном выражении ищется набор, состоящий из Число#Чтоугодно, перед набором должен присутствовать символ пробела.

Наглядно смотреть работу регулярок можно тут

 

41 минуту назад, yoksoudraft сказал:

Вопрос второй:

Не пытался заниматься таким. Могу только сказать, что записывать с помощью logto(), принимать файл с помощью $$<file.txt>

 

44 минуты назад, yoksoudraft сказал:

Вопрос третий:

Не ко мне вопрос

 

44 минуты назад, yoksoudraft сказал:

Вопрос четвертый:

Насколько мне известно, никак

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Ласт, подскажи, пожалуйста, как передавать значения переменных при использовании EXEC? Очень желательно с примерами для разных типов переменных (логические, строчные, цифровые, глобальные). Нужно ли как-то "принимать" передаваемые значения в исполняемом файле? Можно ли как-то через EXEC вызывать исполнение событий вроде onChat?

Какие ещё есть (если есть) типы переменных, кроме логического, строчного и цифрового?

То ли я дурак, то ли лыжи не едут: в новых версиях что-то поменяли с управлением кнопками? У меня не получается удалить кнопки на экране default. Жму крестик, нажимаю на них - ничего, никакой реакции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

9 минут назад, OcelotJungle сказал:

не получается удалить кнопки на экране default

Ага, тоже писал об этой проблеме в главной теме по моду, автор сказал, что он изменил систему удаления. Крестик удаляет содержимое кнопки. Чтобы удалить элемент, нужно нажать редактировать, выбрать элемент, и нажать delete на клавиатуре.

С остальными вопросами может быть как-нибудь гляну. Не пользовался этими функциями ещё

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

7 минут назад, LastLife сказал:

Ага, тоже писал об этой проблеме в главной теме по моду, автор сказал, что он изменил систему удаления. Крестик удаляет содержимое кнопки. Чтобы удалить элемент, нужно нажать редактировать, выбрать элемент, и нажать delete на клавиатуре.

И на том спасибо. А то во время тестов создал десяток разных кнопок, а удаляться не захотели.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

52 минуты назад, OcelotJungle сказал:

Ласт, подскажи, пожалуйста, как передавать значения переменных при использовании EXEC? Очень желательно с примерами для разных типов переменных (логические, строчные, цифровые, глобальные). Нужно ли как-то "принимать" передаваемые значения в исполняемом файле?

EXEC(<название срипта.txt>,<ID скрипта>,<аргумент1>,<аргумент2>,<аргумент3>,...) - передаем аргументы. В проценты переменные заключать!

В самом скрипте переменные вызвать через $$[1], $$[2] и т.д..

$$[1] - сразу являются текстом, т. е. универсальны по типу. В проценты НЕ заключать!

Например:

#integer=$$[1]; &string=$$[2];

Если передано аргументов меньше, чем в скрипте запрашивается параметров - откроется игровое диалоговое окно запроса параметра.

Если передано аргументов больше, чем в скрипте запрашивается параметров - ничего страшного, просто не будет использоваться.

 

52 минуты назад, OcelotJungle сказал:

Можно ли как-то через EXEC вызывать исполнение событий вроде onChat?

Нельзя.

 

-=-=-=-=-=-

Я для этого придумал фишку одну: вызывать скрипт через $${EXEC("script.txt","ScrID",<число>)}$$.

И для разных вариантов вызова - через клавишу, через onEvent, через другой скрипт - использовать разные числа - 0, 1, 2.

Т.е. передавать скрипту метод его вызова. А внутри скрипта сделать конструкцию IF($$[1]=1) и т.п.

 

52 минуты назад, OcelotJungle сказал:

Какие ещё есть (если есть) типы переменных, кроме логического, строчного и цифрового?

Вроде никаких больше. Массивы разве что, но они тоже трех типов.

Изменено пользователем yoksoudraft
  • Плюс 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

47 минут назад, yoksoudraft сказал:

EXEC(<название срипта.txt>,<ID скрипта>,<аргумент1>,<аргумент2>,<аргумент3>,...) - передаем аргументы. В проценты переменные заключать!

В самом скрипте переменные вызвать через $$[1], $$[2] и т.д..

$$[1] - сразу являются текстом, т. е. универсальны по типу. В проценты НЕ заключать!

Например:

#integer=$$[1]; &string=$$[2];

Если передано аргументов меньше, чем в скрипте запрашивается параметров - откроется игровое диалоговое окно запроса параметра.

Если передано аргументов больше, чем в скрипте запрашивается параметров - ничего страшного, просто не будет использоваться.

Большое спасибо! Ни за что бы не сообразил заключать переменные в проценты в EXEC.

 

47 минут назад, yoksoudraft сказал:

Нельзя.

 

-=-=-=-=-=-

Я для этого придумал фишку одну: вызывать скрипт через $${EXEC("script.txt","ScrID",<число>)}$$.

И для разных вариантов вызова - через клавишу, через onEvent, через другой скрипт - использовать разные числа - 0, 1, 2.

Т.е. передавать скрипту метод его вызова. А внутри скрипта сделать конструкцию IF($$[1]=1) и т.п.

Да у меня другая задача - нужно, после работы скрипта, запустить отслеживание серии сообщений в чате (и запись определённых значений в них).

Пока на уме только ставить глобальный флаг вроде @trackchat, и уже в самом onChat: "if(@trackchat); бла бла бла; endif;".

 

50 минут назад, yoksoudraft сказал:

Вроде никаких больше. Массивы разве что, но они тоже трех типов.

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

 

В 20.07.2016 в 23:30, yoksoudraft сказал:

1. Специальный модуль для буффера обмена, который именуется Clipboard: Ссылка на minecraftforum.net

Больше я не знаю способов работы с системным буфером обмена.

Модули пока даже до 1.9 не обновились, а у нас уже 1.10.2.

 

В 20.07.2016 в 23:30, yoksoudraft сказал:

2. KEYDOWN(CTRL); - зажать; KEYUP(CTRL) - отпустить Ctrl. Можно заменить на другую по LWJGL-коду клавиши.

Также есть другие команды на клавишу, смотри список команд (ссылка на список есть в шапке темы).

Вроде, работает только через цифровой код клавиши, буквенный не работает. Спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

16 минут назад, OcelotJungle сказал:

Да у меня другая задача - нужно, после работы скрипта, запустить отслеживание серии сообщений в чате (и запись определённых значений в них)

Не совсем понял задачу. Т.е. если флаг включен, то работает логирование сообщений, которые удовлетворяют фильтру (регулярки)?

 

16 минут назад, OcelotJungle сказал:

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

Число 3.1842 (три целых, тысяча восемьсот сорок две десятитысячных) можно представить в виде 31842 (тридцать одна тысяча восемьсот сорок два).

Проблемой будет, если дробная часть разного размера. Тогда округляй кое-как...

 

UPD#1 Появилась идея - создать два массива: один с числами вида 31842, второй с длинной дробной части.

То есть вот так:

Оригинал     Массив 1     Массив 2

3.284            3284            3

529.23410    52923410    5

 

UPD#2 Но это создает вторую проблему - наш целочисленный тип не бесконечной длинны. Т.е. 52923410 не запишется - слишком большое.

Тогда действительно округлять... хотя бы до сотой части?

 

UPD#3 Хранить отдельно дробную часть, отдельно целую. Убьем два зайца:

1. Решение второй проблемы.

2. Не нужно хранить длину дробной части. Само число и показывает нам длину.

Изменено пользователем yoksoudraft

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, yoksoudraft сказал:

Не совсем понял задачу. Т.е. если флаг включен, то работает логирование сообщений, которые удовлетворяют фильтру (регулярки)?

Да, суть такая. Не логгирование, а вытаскивание определённого строчного значения (если что, получаю список переменных игрока в ССИС).

Если что, можешь не заморачиваться на написание такого кода, я примерно представляю, как это должно выглядеть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

В чат-фильтре:

IFMATCHES(%CHATCLEAN%,<регулярное выражение>,{@&str})

Вытащил через глобальную @&str.

Увы, команда EXEC() в чат-фильтре не работает. Аргументом не передать.

И WAIT() тоже. Баг или фича?

Регулярные выражения можно изучить на википедии, а попрактиковать тут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 минут назад, yoksoudraft сказал:

И WAIT() тоже. Баг или фича?

Скорее, фича. В чат-фильтре ещё foreach не работает. Думаю, чтобы не задерживать обработку сообщения в чате.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Вопрос пятый:

Как инициализировать массив без SPLIT()? Как задать ему переменные во время инициализации без SPLIT?

 

Вопрос шестой:

Как очистить файл .vars.xml? Удаление файла ничего не изменяет - где-то кэш хранится.

Просто мне мешает кэш переменных, нужно очистить от шлака.

 

Вопрос седьмой:

Как очистить массив? Удалить все его ячейки?

Я пробовал сделать так, но количество ячеек не сократилось:

#testarr[]=; //Попытка инициализации
FOR(#i,0,9); //Заполняю массив шлаком
    #testarr[%#i%]=%#i%;
    LOG("+");
NEXT;
ARRAYSIZE(#testarr[],#tesetarr);
LOG(Size1: %#testarr%); //Вывод размера массива до очистки.
DEC(#testarr);
FOR(#i,0,%#testarr%);
    #testarr[%#i%]=; //Попытка очистки массива.
    LOG("-");
NEXT;
ARRAYSIZE(#testarr[],#testarr);
LOG(Size2: %#testarr%); //Вывод размера массива после очистки.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 минуты назад, yoksoudraft сказал:

Как очистить массив? Удалить все его ячейки?

Я пробовал сделать так, но количество ячеек не сократилось:

Замени

FOR(#i,0,%#testarr%);
    #testarr[%#i%]=;
NEXT;

на

UNSET(#testarr[]);

Твой вариант устанавливает элементам значение 0, а unset совсем убирает значение.

 

17 минут назад, yoksoudraft сказал:

Вопрос пятый:

Как инициализировать массив без SPLIT()? Как задать ему переменные во время инициализации без SPLIT?

Если скажешь, что такое "инициализировать" и "инициализация", применительно к массивам в MKB, я попробую помочь. :)

  • Плюс 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

8 минут назад, OcelotJungle сказал:

Замени


FOR(#i,0,%#testarr%);
    #testarr[%#i%]=;
NEXT;

на


UNSET(#testarr[]);

Твой вариант устанавливает элементам значение 0, а unset совсем убирает значение

 

Думаю, ещё должно сработать POP(#testarr[])

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

4 минуты назад, LastLife сказал:

Думаю, ещё должно сработать POP(#testarr[])

Не, не работает. Удаляет только последнее значение (описание: "удаляет последний элемент из хвоста массива и переносит его в outvar").

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От newoldmax
      Зачем мы здесь сегодня собрались?   Уже неоднократно на форуме звучала просьба выложить шейдеры, чтобы наслаждаться картинками вроде этой:     Так вот, протестированная на нескольких людях готовая сборка показала, что не все так гладко, как хотелось бы. У вас могут быть проблемы, если:  - установлены старые драйвера на видеокарту;  - видеокарта сама по себе не новая и не умеет всякие фишечки, используемые в шейдерах;  - игре не хватает оперативной памяти;  - просто слабый компьютер и увы;  - иные специфические проблемы.   Наиболее часто проблемы возникают у владельцев видеокарт торговой марки Radeon, а также пользователей не-windows систем (в них работа вообще не гарантируется).   Основная инструкция (версия 1.6.2)    
      Файлы для 1.7.2    
      Файлы для 1.7.10    
      История версий шейдеров    
      Инструкция для версии 1.8  
        Инструкция для версии 1.9.2
       
      Инструкция для версии 1.10
        Инструкция для версии 1.11
       
      Инструкция для версии 1.12
       
      Инструкция для версии 1.12.2
       
      Инструкция для версии 1.14.4
         
      Инструкция для версии 1.16.1
    • От Lunomi
      Здравствуйте,
      сегодня мы разберемся с темой порталов в ад, а именно с их «Соединением».
       
      Вот вы – новый игрок на сервере, немного поиграли, накопали ресурсов, и нашли себе свой «райский уголок», но до спауна добираться пешком очень долго и далеко. И вы решили построить портал в ад, а для полного счастья и чтобы не появиться на территории соседа, (и что еще хуже не попасть оттуда в тюрьму) на обратном пути нужно «Соединить» их. С этим сейчас и разберемся.
       
       
      Например, мы находимся в обычном мире. При переходе в нижний мир игра делит наши текущие координаты на 8, а если наоборот – то
       
      умножает.

       
      Допустим, координаты портала в обычном мире:
       
      X:-166
      Z: -833
      Что произойдёт после входа в портал?
      Игра поделит координаты на 8 и получится:

      X: -20
      Z: -104
      И так, чтобы соединить порталы, нужно построить портал в обычном мире, поделить его координаты на 8 и найти их в аду. А после этого построить портал там.
       
      Всё! Теперь зайдя в портал в аду мы окажемся в обычном мире, в том портале, через который заходили.
       

       
      =================================================================================
       
    • От LastLife
      Одна из самых важных особенностей мультиплеера - общение игроков в чате. Но т.к. мне очень уж не нравится тот вариант чата, что предлагает ванильный майнкрафт, пришлось менять его самому с помощью модификаций, о которых и пойдёт речь в этом посте.
       
       
      ChatFlow
      Мод с простым интерфейсом, способный находить и изменять/фильтровать сообщения по заданным регулярным выражениям. Также может найденные сообщения перекидывать в область actionbar. Легко реализовываются такие вещи, как выделение ключевых слов цветом, игнор(мут) игроков и прочие необходимые мелочи. Из недостатков стоит отметить то, что в отформатированных сообщениях пропадает функции кликабельности. Т.е. если вам скинут ссылку, открыть по клику не получится.
      Лёгкость освоения: 5/5
      Скрины:
       
       
      TabbyChat 2
      Мод, который может:
      Менять цвет и прозрачность чата и его рамки Менять размер и местоположение чата Создавать отдельные каналы чата по фильтрам Делать звуковые оповещения по найденным словам Сохранять историю чата Писать сообщения длиной 768 символов (против 256 в майне 1.11). При отправке такого сообщения, оно разделится на несколько сообщений и отправится последовательно с коротким промежутком времени и др. Мод не может редактировать сообщения (хотя в давнишних версиях мог)
      Лёгкость освоения: 5/5
      Скрины:
       
       
        MKB
      Мод, с помощью которого можно менять содержимое чата, не ограничивая себя практически ни в чём.
      Для хорошего понимания этого мода рекомендуется к прочтению мой гайд и комментарии темы
      Как он может преобразить чат?
      Изменение и преобразования любых кусков сообщений, приходящих в чат Звуковые и визуальные оповещения при необходимых событиях(упоминания, лс, вход в игру друзей и т.п.) Игнор(мут) нежелательных игроков При сильной заморочке можно также делать ссылки в изменённых сообщениях кликабельными Не забываем глянуть мою версию чата для данного мода
      Лёгкость освоения: 2/5
      Скрин создания чат-фильтра:
       
       
       
      EnhancedChat
      Для игры на сервере не совсем подходит
      Позволяет редактировать сообщения чата согласно регулярным выражениям. 
      Добавляет возможность включить оповещение при упоминании игрока с использованием @, например @LastLife. Не сказал бы, что функция хороша, т.к. информирование происходит через команду /title, в итоге при упоминании пол экрана перекрывается текстом о том, что вас упомянули.
      Походу сносит все исходные форматирования текста, т.е. ни ссылок ни цветного текста не будет. (Цветным только тот, что был отредактирован регулярными выражениями с кодами форматирования)
      Позволяет изменить кол-во сообщений в истории чата.
       
      Всё можно настроить либо в ESC > Настройки модов > EnhancedChat > Config, либо в файле конфига мода %ПапкаМайнкрафта%/config/EnhancedChat.cfg . Настройка через конфиг рекомендуется, т.к. только там можно настроить изменения чата с кодами форматирования (цветной текст, жирный, курсивный и т.п.). Изменение чата настраивается в пункте substitutions. В одну строку вводится строка поиска регулярным выражением, а в следующую - замена/изменение найденых совпадений. Для создания других фильтров нужно сделать пропуск строки и далее также, как и предыдущий пример. Звучит ужасно, примеры в скринах.
      Лёгкость освоения: 4/5
      Скрины:
       
       
      Можно упомянуть:
      Chat Bubbles - Чат не редактирует, но добавляет вслпывающие облачка над игроками, как в некоторых mmorpg и комиксах
    • От FoxSus
      Лаунчер MultiMc со встроенным Forge и LiteLoader.
       
      Minecraft Forge под 1.12.2 - 14.23.0.2491 Всем известный LiteLoader под 1.12.2 - мод-загрузчик для других модификаций Карта VoxelMap под 1.12.2 - для тех кто не может играть без карты Сетка для WorldEdit WorldEditCUI для 1.12.2 - для тех кто знает что такое WorldEdit Macro / Keybind Mod Скрипты бинды и многое другое ) OptiFine — модификация, значительно увеличивающая производительность игры и добавляющая поддержку HD ресурс/текстур-паков, а также сглаживание, анизотропную фильтрацию, динамическое освещение и прочее. PS После скачивание требуется инсталляция. Как только что то будет выходить свеженькое или интересное буду добавлять суда )
    • От stosoten
      В этой теме развивается каталог ссылок, помогающий новичкам.
      - - - - - - -
      Здравствуй странник! Мир BBya приветствует тебя 
       
      Эта тема поможет тебе адаптироваться и быстрее влиться в игровой процесс.
      - - - - - - -
      Начало игры:
      Сейчас твой ник зачеркнут, на персонаже висят отрицательные эффекты и ты не можешь ударять других/ломать блоки.
       
      Не нужно беспокоиться - это нормально. Так мы встречаем всех новичков 
      На сервер заходит много людей: мы защищаемся от проделок тех, кто сразу же уйдет.
       
      Так вот, чтобы начать играть полноценно - нужно подать заявку.
       
      Это делается в теме BBya World | Информация о сервере и правила игры.
       
      Вскоре, заявка будет обработана и ты сможешь полноценно играть.
      - - - - - - -
      Самые нужные ссылки:
      Прямо скажем, наш сервер весьма необычен. Здесь легально воровство, но и весьма развиты охранные системы.
       
      От попадания в тюрьму спасет прочтение правил.
       
      Карта сервера поможет сориентироваться на местности и выбрать место для дома - <<карта>>
      - - - - - - -
      Территория:
      На нашем сервере нет приватов, однако, закрепить за собой опредеденную территорию - можно.
       
      Делается это в теме Геополитика №3. Достаточно отослать туда скриншот карты, где ваш участок будет выделен, и, если все будет в порядке - администратор закрепит его за вами.
       
      Позже, когда вы станете гражданином, можно будет (за отдельную плату), выделить территорию на карте.
      Это делается в теме Разметка территории на карте, а здесь даны рекомендации по разметке.
      - - - - - - - 
      Заработать изумруды:
      Изумруды - это наша основная валюта. Заработать их можно торгуя с другими игроками, сдавая шлак или выполняя гос. заказы.
      - - - - - - - 
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×