Jump to content
LastLife

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

Recommended Posts

Бинд команды.

Если вы не меняли стандартного управления в игре, то окно мода можно открыть нажатием Shift+~(тильда). Если же меняли, то настройки мода можно найти в настройках управления. Видим такое окошко:
Скриншот

Скрытый текст

eV3eFcv.png


Итак красные кнопки - это те кнопки, которые уже используются в управлении, поэтому выбираем любую другую кнопку, например клавишу H. Выпрыгивает новое окно:
Скриншот

Скрытый текст

tIrLy3T.jpg


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

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



 

Бинд с параметрами.

Т.к. на сервере вы наверняка играете не в одиночку, хотелось бы быстро общаться с друзьями не прописывая каждый раз команду /tellи имя друга. Для этого мы опять же используем бинд, но добавив в него несколько параметров, которые предлагает нам мод:
 
Скриншот

Скрытый текст

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 $$! - отправит личное сообщение выбранному игроку, который играет на сервере

 

Share this post


Link to post
Share on other sites
Достижения

Основы скриптинга.

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

Спойлер

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


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

Share this post


Link to post
Share on other sites
Достижения

Текстовый редактор.

Также я не упомянул о том, что можно забиндить сразу несколько команд на одну кнопку. Чтобы их разделить используется вертикальная черта "|" Например:

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

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

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

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

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

Share this post


Link to post
Share on other sites
Достижения

GUI. Кнопки.

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

Скрытый текст

Нажимаем "shift+~", и в появившемся окне нажимаем на кнопку в левом верхнем угле и выбираем "GUI редактор", либо тыкаем по кнопке с инструментами в правом нижнем углу.

В следующем окне слева видим список экранов и тыкаем двойным кликом по нужному.


2

Скрытый текст

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

 


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

Скрытый текст

ChGV9.png


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

Share this post


Link to post
Share on other sites
Достижения

Ивенты.

В моде встроено отслеживание выполнения некоторых игровых событий. Когда событие происходит можно заставить мод выполнить желаемый скрипт. Чтобы открыть окно с событиями, нажимаем shift+~ (по ум.) и с помощью стрелочек < и > в верхней части экрана находим окошко с ивентами:
Скриншот:

Скрытый текст

DEQrHQJ.png


Ну по названию думаю можно понять - какие ивенты отслеживаются (Пример: onPlayerJoined отслеживает вход игроков, и если на него что-нибудь записать, то действие будет выполняться при заходе игроков на сервер).
Также в окне настройки ивента можно увидеть переменные, за которые он отвечает. Например при редактировании ивента onPlayerJoided мы видим в поясняющем тексте красным цветом выделена переменная "JOINEDPLAYER". Не сложно догадаться, что в ней хранится ник зашедшего в игру игрока :) Выводятся переменные через скрипты. Т.е. не достаточно просто написать Хлеб-Соль, нужно делать это через $${echo()}$$. Так же при выводе переменной нужно взять её в "Процентные скобки" - %переменная%. В итоге, можем запилить такой скрипт при событии onPlayerJoined:

Цитата

$${echo("Хлеб-Соль, %JOINEDPLAYER%!")}$$            Использовать очень не рекомендую, ибо засоряется чат, на что люди реагировали негативно

 
Ну и для ещё одного примера покажу отслеживание уровня и оповещение-напоминалка для него:
В событие onLevelChange записываем скрипт (Я это делаю через текстовые документы)

Цитата

if(LEVEL > 25);
achievementget(Время зачарования!,enchanted_book);
endif;

 
Аналогично можно обрабатывать и другие события.

Share this post


Link to post
Share on other sites
Достижения

GUI. Метки.

Итак, выше в главе GUI. Кнопки я объяснял как менять GUI и привёл в пример добавление кнопок. Но также в меню добавления, мы видим Метки(Label), Индикаторы и Текст.

Итак, пойдём по порядку и рассмотрим Метки.
Их смысл заключается в постоянном отображении заданного текста. Добавляются они аналогично кнопкам, но в настройках видим немного другую картину:

 

Скриншот:

Скрытый текст

zMdS2ve.png


Имя - это по сути ID нашей метки, его применение опишу дальше.
Метка - текст, который показывает метка в данное время
Привязать - не особо пока что разобрался
Остальное - думаю всем понятно

Но полностью статичный текст нам не интересен, поэтому для примера покажу как сделать так, чтобы на метке показывалось текущее игровое время.
Задать текст метки можно с помощью функции setlabel(<Имя метки>, <текст>). Имя метки, то, что мы задавали в первой строке настроек, текст - это текст :)
Естественно, сама по себе метка меняться не будет, поэтому нужно совершать какие-либо действия (Нажать на кнопку, написать скрипт для ивента и т.п.)
Например создадим метку на GUI чата, дадим ей название "test". Запишем на любую кнопку скрипт $${setlabel(test, "$$[Text]")}$$. Теперь при нажатии заданной кнопки будет выдаваться поле для ввода текста, вводим туда текст и он записывается в нашу метку.

Ну и теперь воспользовавшись знаниями всего гайда можно сделать так, чтобы при открытии чата в заданном месте мы видели текущее игровое время. Нам потребуется: Метка, Ивент onShowGui, Переменная DAYTIME, которая хранит в себе игровое время, на вкус можно ещё добавить кнопку GUI рядом с меткой.
Итак, по порядку, ставим метку в GUI inChat, Указываем ей нужное имя, например TimeLabel. Далее, в ивент onShowGui, который выполняет действие при смене любого gui, записываем $${setlabel(TimeLabel, "Текущее время %DAYTIME%")}$$
Готово, теперь, при открывании чата мы будем видеть Игровое время, но только на момент открытия чата, т.е. автоматически каждую секунду меняться текст не будет, только если закрыть и открыть чат снова. Впринципе, как я уже сказал на вкус, можно добавить кнопку "Обновить" рядом с меткой, и записать на неё тот же текст.

Share this post


Link to post
Share on other sites
Достижения

GUI. Область текста.

Следующий элемент GUI, который попал под разбор - Текстовые области(TextArea). Их можно использовать для временного вывода какой нибудь информации. Работает примерно как чат, выводит сообщение, но в отличие от чата через некоторое время текст угасает и его нельзя пересмотреть.
При создании Области текста видим в свойствах 3 поля: 
Имя - ID нашего элемента 
Цвет - цвет выводимой инфы
Время - время, которое текст будет висеть в данной области текста. По истечении текст пропадает.
 
Заносится текст в эту область командой logto(цель, текст), где цель - это ID Области текста.
На мой взгляд, этот элемент лучше располагать на экране ingame.
Вот, наверное, и всё, что можно сказать про этот элемент.. Использования для него можно придумать разные, в основном всякие оповещалки, ну или, например, временное выведение результатов всяких рассчётов, чтоб они не мешались в чате. Например, вывод результатов рассчёта в своём скрипте расстояния между блоками я закидываю именно в textarea.
 

 

Вот ещё оповещалка об изменении погоды:

Скрытый текст

 

Создаём область текста с id info
В ивенте onWeatherChange прописываем код

Цитата

if(RAIN=100)
logto(info, "&4Кажется дождь начинается...")
endif
 
if(RAIN=0)
logto(info, "&2Дождь закончился ^_^")
endif


GUI. Индикаторы(ПрогрессБары).

На самом деле про них мало что могу рассказать и толкового применения не могу придумать для них. Просто знаю, что они как индикаторы показывают текущее значение в сравнении с минимальным и максимальным с помощью, так сказать, заполненности своей области. Например, можно указать индикатору, чтоб он показывал текущее HP игрока, указав минимальное значение - 0, максимальное - 20, и в выражении записать HEALTH. В итоге будем видеть полосу здоровья, хотя даже не понятно, зачем она нужна, т.к. она и так видна в интерфейсе майна.
При создании указываются свойста:
Имя - ID элемента
Выражение - Та часть, которая должна выдавать нужную нам цифру, пока что только знаю, что туда можно записать глобальные переменные, например HEALTH, TICKS и пр. Может быть, туда как-нибудь можно привязать формулы или ещё чего-то, с помощью скриптов, но я такой инфой не владею
Минимальное/максимальное значение - Минимальное/максимальное значение (Например, для HP 0 и 20, для тиков 0 и 24000)
Все остальные свойства интуитивно понятные. Если кто-нибудь нароет инфу об использовании данного элемента, отпишитесь здесь, т.к. я не совсем вник в суть и смысл :)

Share this post


Link to post
Share on other sites
Достижения

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

Цитата

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

Скрипт

Скрытый текст

 

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
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

 

 

Share this post


Link to post
Share on other sites
Достижения

"Зум"

Выбираем клавишу.

Сверху видим вкладки: Normal(Обычный) Macro, Key State(Расширенный) Macro, Conditional(Условный) Macro

Выбираем Key State(Расширенный) Macro

Заносим в него:

7cNnLf4.png

FOV() - Изменение Поля зрения, та опция, которая есть в настройках. По умолчанию стоит на минимуме 70. Выкручивая меньше 70 мы уменьшаем поле зрения, соответственно получается эффект зума.

SENSITIVITY() - Изменение чувствительности мыши. Если делать зум со стандартной чувствительностью, камера будет слишком быстро двигаться, поэтому уменьшаем. Дефолтное значение 100

Что творится в скрипте: При нажатии кнопки уменьшаем Поле зрения до 5 за 0.3 секунды и уменьшаем Чувствительность мыши до 20. При отпускании кнопки возвращаем в дефолтное состояние.

Edited by LastLife

Share this post


Link to post
Share on other sites
Достижения

Скрипт "Гексомёт"
Мой скрипт, с помощью которого была сделана сетка кланов на динмапе нашего сервера. Собственно, выложу просто скрипт, без объяснений "что есть что". Может пригодится кому-нить.

Код

Скрытый текст

#xw=0; #zw=0;
&cd=$$[CardinalDirection[NE,NW,SW,SE]];
#xn=$$[xStart]; #zn=$$[zStart];
IFMATCHES(%&cd%,"NE"); #xnp=1; #znp=-1; endif;
IFMATCHES(%&cd%,"NW"); #xnp=-1; #znp=-1; endif;
IFMATCHES(%&cd%,"SW"); #xnp=-1; #znp=1; endif;
IFMATCHES(%&cd%,"SE"); #xnp=1; #znp=1; endif;
#side=50;
do($$[zCount]);
do($$[xCount]);
#zsm=#zn/2; #zsm=#zsm*2; #zsm=#zn-#zsm;
#xc=#xw+#xnp*#xn*2*#side; #xc=#xc+#zsm*#side;
#zc=#znp*#zn*3*#side; #zc=#zc/2; #zc=#zc+#zw;
#x=#xc;#z=#zc-#side;
echo(/dmarker addcorner %#x% 100 %#z% world);
#x=#xc+#side;#z=#zc-#side/2;
echo(/dmarker addcorner %#x% 100 %#z% world);
#x=#xc+#side;#z=#zc+#side/2;
echo(/dmarker addcorner %#x% 100 %#z% world);
#x=#xc;#z=#zc+#side;
echo(/dmarker addcorner %#x% 100 %#z% world);
#x=#xc-#side;#z=#zc+#side/2;
echo(/dmarker addcorner %#x% 100 %#z% world);
#x=#xc-#side;#z=#zc-#side/2;
echo(/dmarker addcorner %#x% 100 %#z% world);
if(#xn<10); &nullx="000"; endif;
if((#xn>9) && (#xn<100)); &nullx="00"; endif;
if((#xn>99) && (#xn<1000)); &nullx="0"; endif;
if(#xn>999); &nullx=""; endif;
if(#zn<10); &nullz="000"; endif;
if((#zn>9) && (#zn<100)); &nullz="00"; endif;
if((#zn>99) && (#zn<1000)); &nullz="0"; endif;
if(#zn>999); &nullz=""; endif;
echo(/dmarker addarea id:%&cd%_%&nullx%%#xn%-%&nullz%%#zn% "%&cd%_%&nullx%%#xn%-%&nullz%%#zn% (free)" set:Clans);
echo(/dmarker updatearea id:%&cd%_%&nullx%%#xn%-%&nullz%%#zn% set:Clans color:404040 fillcolor:ffffff);
echo(/dmarker updatearea id:%&cd%_%&nullx%%#xn%-%&nullz%%#zn% set:Clans fillopacity:0.4 weight:1);
#xn=#xn+1;
wait(50ms);
loop;
#xn=$$[xStart];
#zn=#zn+1;
wait(50ms);
loop;

Share this post


Link to post
Share on other sites
Достижения

Создание своей панорамы для главного меню игры.
Скрипт был взят у автора мода, он его показывал в своём видео-гайде.
Суть: при заходе в главное меню, мы видим как камера вращается и показывает нам окрестности какого-либо места. Так вот, можно сделать так, чтобы в главном меню камера вертелась, например, внутри вашего дома, либо ещё какого-либо места. Для этого нужно создать специальные 6 картинок для панорамы: 6 граней куба внутри которого расположена камера. Называться они должны panorama_0-5.png и располагаться в \assets\minecraft\textures\gui\title\background\ . Итак, начнём, для начала подготовим нашу папку для панорамы, для этого создадим в resourcepacks папку Панорама. В ней создадим файл pack.mcmeta и в него через блокнот заносим

 

Цитата

{
  "pack": {
    "pack_format": 1,
    "description": "Моя панорамка"
  }
}

Ну и теперь создаём все нужные папки по порядку, для создания пути, который я написал выше (В папке Панорама создать папку assets, уже в ней папку minecraft и т.д.)
 
Теперь же сам скрипт:

Скрытый текст
Цитата

SETRES(256,256);
FOV(80);
 
WAIT(1);
 
LOOK(NORTH);
WAIT(500ms);
PRESS(F2);
WAIT(500ms);
 
LOOK(EAST);
WAIT(500ms);
PRESS(F2);
WAIT(500ms);
 
LOOK(SOUTH);
WAIT(500ms);
PRESS(F2);
WAIT(500ms);
 
LOOK(WEST);
WAIT(500ms);
PRESS(F2);
WAIT(500ms);
 
LOOK(NORTH);
WAIT(500ms);
 
LOOK(+0,270);
WAIT(500ms);
PRESS(F2);
WAIT(500ms);
 
LOOK(+0,90);
WAIT(500ms);
PRESS(F2);
WAIT(500ms);
 
LOOK(NORTH);
FOV(70);
SETRES(854,480);


Записываем его на любую удобную клавишу через текстовый документ, становимся в нужное нам место, убираем все панели на F1, и жмякаем на кнопку, ждём пока скрипт закончит работу. Далее идём в папку Screenshots видим там наши последние 6 скринов, переименовываем их последовательно в panorama0, panorama1 и т.д. и кидаем их в подготовленное место в ресурс-паке. Вот и всё :)

Share this post


Link to post
Share on other sites
Достижения

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

Расстояния между блоками

Как выглядит:

Скрытый текст

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

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

Share this post


Link to post
Share on other sites
Достижения

Измерение текущего ТПС
Наклепал скриптик, показывающий текущий ТПС в игре. Достоверность полученной информации не гарантирую, но в теории он показывает ТПС с погрешностью в +1, т.к. округляется отбрасыванием дробной части.

Скрипт:

#t1=%TICKS%
log("&2Таймер запущен, подождите 5 сек")
wait(5)
if(%TICKS%>%#t1%)
#t1=%TICKS%-#t1
else
#t1=%TICKS%+24000-#t1
endif
#t1=#t1/5
log("Текущий ТПС: &5%#t1%")


Повторюсь насчёт достоверности: Не думаю, что данный мод способен в точности знать ТПС сервера, и при тестировании он мне даже выдавал ТПС=4793, хотя это может быть косяк у меня в коде ;)

Share this post


Link to post
Share on other sites
Достижения

реально ли сотворить следующее?

1. выбираем ID предмета (например железную руду)

2. выбираем необходимое кол-во которое надо добыть в шахте (например 128)

3. в прогресс-баре указывается сколько уже собрано

Неплохая идея :)

Покуралесил с ней, заодно разобрался в прогрессбарах и глобальных переменных.

В общем, вот оно:

Создал прогрессбар, в строке Выражение записал переменную mine, которая будет хранить текущее значение кол-ва добытого материала:

@#mine

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

В минимальном значении указал 0, в максимальном поставил галочку напротив "Выражение" и указал на переменную max

@#max

Далее для удобства добавил пару кнопок: кнопка сброса и кнопка выбора ресурса и нужного кол-ва.

В сбросе записал:

$${@#mine=0}$$

А в выборе ресурса:

$${@&res=$$i; @#max=$$[amount]}$$

При нажатии кнопки указываем Максимальное кол-во ресурса, которое нам нужно, а потом выбираем предмет из списка

Ну и т.к. подсчитать общее кол-во предметов в инвентаре довольно муторно, я и пока не совсем понимаю как, то воспользовался просто событием поднятия предмета. В onPickupItem записал скрипт:

if(%PICKUPID%=%@&res%); - является ли поднятый нами предмет тем, который мы отслеживаем

inc(@#mine,%PICKUPAMOUNT%); - если да, то приплюсовываем к переменной mine кол-во поднятых нами предметов

endif;

Побочные эффекты:

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

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

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

P.s. Вероятно, можно считать точное кол-во предметов в инвентаре, прогоняя весь инвентарь циклом, отслеживая нужных ресурсов и считая их с помощью переменной STACKSIZE, но мне лень таким заморачиваться.

Share this post


Link to post
Share on other sites
Достижения

Здравствуй  LasLife, у меня куча вопросов по поводу скриптинга в мкб. Для начала мне бы хотелось узнать как  можно обращаться к элементам массива через переменную? То есть если захотеть прогнать массив через цикл, то %@&dialog[%#i%]% (гдe #i - переменная, а @&dialog[] - массив)  
не прокатит(
Хотелось бы связаться с тобой лично, понравились мне твои скрипты :)

Edited by Dudositer

Share this post


Link to post
Share on other sites

Здравствуй  LasLife, у меня куча вопросов по поводу скриптинга в мкб. Для начала мне бы хотелось узнать как  можно обращаться к элементам массива через переменную? То есть если захотеть прогнать массив через цикл, то %@&dialog[%#i%]% (гдe #i - переменная, а @&dialog[] - массив)  

не прокатит(

Хотелось бы связаться с тобой лично, понравились мне твои скрипты :)

 

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

 

Вот, собственно и скрипт:

 

$${
&players = $$<players.txt>;
&players[] = split(" ",%&players%);
    foreach(&players,&p);
      LOG("%&p%")
      IF(JOINEDPLAYER == %&p%);
        logto(JoinedPlayer, "§6§l§n%JOINEDPLAYER%§r в игре!");
        playsound(mob.zombie.unfect);
      ENDIF;
    next;
achievementget(§6§l%JOINEDPLAYER%§r в игре!,skull:3);
}$$

 

Где переменная &players, для удобства, задается с текстового файла "Players.txt", где записаны ники игроков через 1 пробел, например: "Notch Vlados Jemis Stewe Notch ...". Создается цикл количеством ников в текстовом файле (разделитель - " ") (foreach(&players,&p)) и проверяется ник вошедшего игрока с никами "друзей" (IF(JOINEDPLAYER == %&p%)). Результат выводится в текстовое поле с именем "JoinedPlayer," на экране (GUI "inGame") и сопровождается звуковым сигналом :) .

Share this post


Link to post
Share on other sites

Итак, представляю вам свой новый скрипт, использующий возможности minecraft 1.8, в частности команды fill и clone.

 

Послойная нарезка построек

Я думаю не только у меня возникали проблемы, когда нужно перенести постройку например на сервер. Приходится запускать игру в 2 окна и переключаться между ними, чтобы в точности перенести постройку, и чем она больше, тем сложнее. Этот скрипт упростит данную задачу, разрезав постройку по слоям, и в таком случае можно будет уже строить слоями (Прям как в инструкциях к лего :) ).

 

Как будет выглядеть результат:

Скрытый текст

Режим с накладыванием слоёв:

Скрытый текст

X0s8IHi.png

Режим отдельных слоёв:

Скрытый текст

MBBVhdU.png

 

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

Скрытый текст

Настройка:

Скрытый текст

ВАЖНО: Чтоб скрипт работал, нужно отключить в настройках Macro/Keybind функцию антифлуда (убрать галочку с Enable flood protection)

Как видно из скриншотов выше результат у нас получился в сетке 3x2. 3 это количество шагов сетки по координатам Z и этот параметр можно изменить.

В первой строке скрипта у меня выставлено значение #zcount=3; Вот как раз эту цифру 3 вы можете поменять на любую другую, как будет удобней.

Также можно изменить блоки, которыми обрамляются ячейки сетки. Это вторая строчка скрипта:

&fillblock="wool 11"; wool 11 вы можете заменить на любой другой блок.

Использование:

Скрытый текст

Для копирования области нам будут нужны 3 точки: 1-я и 2-я точки, которые выделяют область копирования, 3-я точка , которая указывает на место, где появятся слои.

Обратите внимание на расположение оси координат. Скрипт будет располагать новые элементы ячеек только по возрастанию X и Z

TVsDpNP.png

Запуская скрипт будет выдано поле ввода, куда нужно будет ввести цифру от 1 до 5.

1, 2, 3 - это обозначение точек, так как показано на скриншоте выше. Чтоб их обозначить, нужно подойти к точке, направить прицел на неё, так чтоб выделился блок, запустить скрипт и ввести цифру 1, 2 или 3.

4, 5 - это режимы нарезки. После обозначения всех трёх точек, вызываете скрипт, вводите 4 или 5 и получаете результат.

1 - Обозначить точку №1

2 - Обозначить точку №2

3 - Обозначить точку №3

4 - Сделать нарезку с режимом накладывания слоёв

5 - Сделать нарезку с режимом отдельных слоёв

Результат при #zcount=4:

Скрытый текст

4:

Скрытый текст

Hy37xZE.png

5:

Скрытый текст

oUQKNC1.png

 

Скрипт:

Скрытый текст

#zcount=3;
&fillblock="wool 11";

#mode=$$[mode];

if(#mode=1);
    #x1=HITX;
    #y1=HITY;
    #z1=HITZ;
	log("&6Точка 1. Координаты: &2x=&5%#x1%&6, &2y=&5%#y1%&6, &2z=&5%#z1%");
endif;

if(#mode=2);
    #x2=HITX;
    #y2=HITY;
    #z2=HITZ;
	log("&6Точка 2. Координаты: &2x=&5%#x2%&6, &2y=&5%#y2%&6, &2z=&5%#z2%");
endif;

if(#mode=3);
    #x3=HITX;
    #y3=HITY;
    #z3=HITZ;
	log("&6Точка 3. Координаты: &2x=&5%#x3%&6, &2y=&5%#y3%&6, &2z=&5%#z3%");
endif;

if(#mode=4);
	
	#counter=0;
	
    #height=#y2-#y1;
    if(#height<0); #height=-1*#height; endif;
	#height=#height+1;
    log("Кол-во слоёв: %#height%");
	
	#lenx=#x2-#x1;
    if(#lenx<0); #lenx=-1*#lenx; endif;
	#lenx=#lenx+1;
    log("Длина по x: %#lenx%");
	
	#lenz=#z2-#z1;
    if(#lenz<0); #lenz=-1*#lenz; endif;
	#lenz=#lenz+1;
    log("Длина по z: %#lenz%");
	
	#currentlayer=0;
	#clonex=#x3;
	#clonez=#z3;
	
	do(%#height%);
		#newy=#currentlayer+#y1;
		
		#fillx1=#clonex-2;
		#fillz1=#clonez-2;
		#fillx2=#clonex+#lenx+1;
		#fillz2=#clonez+#lenz+1;
		echo("/fill %#fillx1% %#y3% %#fillz1% %#fillx2% %#y3% %#fillz2% %&fillblock%");
		
		#fillx1=#clonex-1;
		#fillz1=#clonez-1;
		#fillx2=#clonex+#lenx;
		#fillz2=#clonez+#lenz;
		echo("/fill %#fillx1% %#y3% %#fillz1% %#fillx2% %#y3% %#fillz2% air");
		
		echo("/clone %#x1% %#y1% %#z1% %#x2% %#newy% %#z2% %#clonex% %#y3% %#clonez%");
		
		inc(#counter);
		if(#counter=#zcount);
			#clonex=#clonex+#lenx+3;
			#clonez=#z3;
			#counter=0;
		else;
			#clonez=#clonez+#lenz+3;
		endif;
		inc(#currentlayer);
	loop;
endif;

if(#mode=5);
	
	#counter=0;
	
    #height=#y2-#y1;
    if(#height<0); #height=-1*#height; endif;
	#height=#height+1;
    log("Кол-во слоёв: %#height%");
	
	#lenx=#x2-#x1;
    if(#lenx<0); #lenx=-1*#lenx; endif;
	#lenx=#lenx+1;
    log("Длина по x: %#lenx%");
	
	#lenz=#z2-#z1;
    if(#lenz<0); #lenz=-1*#lenz; endif;
	#lenz=#lenz+1;
    log("Длина по z: %#lenz%");
	
	#currentlayer=0;
	#clonex=#x3;
	#clonez=#z3;
	
	do(%#height%);
		#newy=#currentlayer+#y1;
		
		#fillx1=#clonex-2;
		#fillz1=#clonez-2;
		#fillx2=#clonex+#lenx+1;
		#fillz2=#clonez+#lenz+1;
		echo("/fill %#fillx1% %#y3% %#fillz1% %#fillx2% %#y3% %#fillz2% %&fillblock%");
		
		#fillx1=#clonex-1;
		#fillz1=#clonez-1;
		#fillx2=#clonex+#lenx;
		#fillz2=#clonez+#lenz;
		echo("/fill %#fillx1% %#y3% %#fillz1% %#fillx2% %#y3% %#fillz2% air");
		
		echo("/clone %#x1% %#newy% %#z1% %#x2% %#newy% %#z2% %#clonex% %#y3% %#clonez%");
		
		inc(#counter);
		if(#counter=#zcount);
			#clonex=#clonex+#lenx+3;
			#clonez=#z3;
			#counter=0;
		else;
			#clonez=#clonez+#lenz+3;
		endif;
		inc(#currentlayer);
	loop;
endif;

 

 

  • Upvote 1

Share this post


Link to post
Share on other sites
Достижения

UPD: Добавил в раздел ссылок Скрипты от _IeRONim_, там можно найти другие полезные скрипты)

Share this post


Link to post
Share on other sites
Достижения

У меня появилась идея немного усовершенствовать систему "Друзей" в Macro/keyBind (MKB).

 

Один скрипт, который выводит сообщение когда Ваш друг заходит на сервер, уже есть "Друг зашел на сервер". но добавлять новый ник в список друзей очень неудобно. Нужно создать текстовый файл "Players.txt" ([AppData]\.minecraft\liteconfig\common\macros\Players.txt) и всегда держать его открытым чтобы вручную дописывать туда ники.

 

Допустим такая ситуация: Вы пришли в гости к своему приятелю и захотели добавить его в друзья чтобы всегда видеть когда он зайдет на сервер. Вам нужно будет точно и без ошибок запомнить его ник и дописать в файл через 1 пробел! Как показала практика - это очень напрягает  :(

 

И вот у появилась идея как упростить весь этот процесс до нажатия одной кнопки "добавить в друзья" :) Запилил по-быстрому скрипт:

 

Нужно всего-лишь навести прицел на игрока, которого Вам нужно добавить в друзья и нажать на соответствующую кнопку.

Скрытый текст

 

$${
IF(HIT="PLAYER");
LOGTO(friends.txt,%HITNAME%);
LOGTO(info,&6%HITNAME% &2Добавлен(а) в Ваш список друзей)
ENDIF
}$$

 

 

 


Подтверждение что игрок добавлен выводиться на экран в текстовое поле "info"

Скрытый текст

 

11TfzwCvX.png11TfzwCvY.png

 

 

 

 

 

И для точности наведения добавил на экран ярлык который показывает на что вы смотрите )

Скрытый текст

11TfzwCw1.png11TfzwCw2.png

 

 

Но есть одно НО! Данный файл "Friends.txt" по-умолчанию сохраняется в папке "logs" (".minecraft\liteconfig\common\macros\logs\Friends.txt"). А это сильно затрудняет задачу т.к. скрипты берут данные исключительно с файлов в папке с настройками MKB (.minecraft\liteconfig\common\macros\...)

 

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

Если я что-то непонятно объяснил или где-то ошибся, пишите, я исправлюсь)

 

Заранее спасибо.

 

П.З.

LastLife, спасибо за проявленный интерес к моим наработкам  :)

Share this post


Link to post
Share on other sites

Здрасьте всем!

Подскажите плизз как написать скриптик для автокрафта ДЕВЯТИ тортиков при наличии всех инградиентов в инвентаре?

стандартной командой $${CRAFT(cake,9)}$$  на некоторых серверах не получается :(

Заранее благодарен...

Share this post


Link to post
Share on other sites

Всем спасибо - сам разобрался :)

 

Спасибо, что поделился решением проблемы и конкретным кодом )

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 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
    • By 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 и комиксах
    • By 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 После скачивание требуется инсталляция. Как только что то будет выходить свеженькое или интересное буду добавлять суда )
    • By stosoten
      В этой теме развивается каталог ссылок, помогающий новичкам.
      - - - - - - -
      Здравствуй странник! Мир BBya приветствует тебя 
       
      Эта тема поможет тебе адаптироваться и быстрее влиться в игровой процесс.
      - - - - - - -
      Начало игры:
      Сейчас твой ник зачеркнут, на персонаже висят отрицательные эффекты и ты не можешь ударять других/ломать блоки.
       
      Не нужно беспокоиться - это нормально. Так мы встречаем всех новичков 
      На сервер заходит много людей: мы защищаемся от проделок тех, кто сразу же уйдет.
       
      Так вот, чтобы начать играть полноценно - нужно подать заявку.
       
      Это делается в теме BBya World | Информация о сервере и правила игры.
       
      Вскоре, заявка будет обработана и ты сможешь полноценно играть.
      - - - - - - -
      Самые нужные ссылки:
      Прямо скажем, наш сервер весьма необычен. Здесь легально воровство, но и весьма развиты охранные системы.
       
      От попадания в тюрьму спасет прочтение правил.
       
      Карта сервера поможет сориентироваться на местности и выбрать место для дома - <<карта>>
      - - - - - - -
      Территория:
      На нашем сервере нет приватов, однако, закрепить за собой опредеденную территорию - можно.
       
      Делается это в теме Геополитика №3. Достаточно отослать туда скриншот карты, где ваш участок будет выделен, и, если все будет в порядке - администратор закрепит его за вами.
       
      Позже, когда вы станете гражданином, можно будет (за отдельную плату), выделить территорию на карте.
      Это делается в теме Разметка территории на карте, а здесь даны рекомендации по разметке.
      - - - - - - - 
      Заработать изумруды:
      Изумруды - это наша основная валюта. Заработать их можно торгуя с другими игроками, сдавая шлак или выполняя гос. заказы.
      - - - - - - - 
    • By Lunomi
      Здравствуйте,
      сегодня мы разберемся с темой порталов в ад, а именно с их «Соединением».

      Вот вы – новый игрок на сервере, немного поиграли, накопали ресурсов, и нашли себе свой «райский уголок», но до спауна добираться пешком очень долго и далеко. И вы решили построить портал в ад, а для полного счастья и чтобы не появиться на территории соседа, (и что еще хуже не попасть оттуда в тюрьму) на обратном пути нужно «Соединить» их. С этим сейчас и разберемся.


      Например, мы находимся в обычном мире. При переходе в нижний мир игра делит наши текущие координаты на 8, а если наоборот – то
      умножает.



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

      X: -20
      Z: -104

      И так, чтобы соединить порталы, нужно построить портал в обычном мире, поделить его координаты на 8 и найти их в аду. А после этого построить портал там.

      Всё! Теперь зайдя в портал в аду мы окажемся в обычном мире, в том портале, через который заходили.

  • Recently Browsing   0 members

    No registered users viewing this page.

×