Worldguard minecraft команды. Как приватить территорию в Minecraft (WorldGuard)

Данный плагин служит для защиты построек на серверах. Если этот плагин установлен на сервере, каждый игрок сможет защитить территорию своего дома – приватом. Приват – это область между двух блоков, которую может изменять только владелец этого привата и люди, которых он добавил в приват. С помощью этого плагина также защищают спавны на серверах, чтобы их не разграбили.

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

Основные команды:

/rg claim [владельцы…] - создает регион и закрепляет за ним владельцев.

/rg define [пользователи…] - создаёт регион без начальных флагов. Помогает администрации, так как приватит поверх других регионов.

/rg redefine - заменяет территорию региона на выделенную.

/rg addmember <пользователи…> - добавляет пользователя в регион.

/rg addowner <владельцы…> - добавляет владельца региона.

/rg removemember <пользователи…> - удаляет пользователя региона.

/rg removeowner <владельцы…> - удаляет владельца региона.

/rg flag <флаг> [переменная] - устанавливает флаг на регион. Переменные: none - не задана, allow - разрешено, deny - запрещено.

/rg remove - полностью удаляет регион.

/rg migratedb - уменьшает регион на заданное число от игрока (от вас)

На нашем сервере защита территории осуществляется специальным плагином WorldGuard. Строго придерживайтесь правила, СПЕРВА защита своей зоны, а уж затем — СТРОИТЕЛЬСТВО!

Чтобы защитить свою зону, сначала её необходимо выделить. Выделение зоны на нашем сервере производится куриным пером (вводим команду //wand , чтобы получить перо в инвентарь). Следует заметить, что на других серверах для этого обычно используется деревянный топор.

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

На данной картинке этими точками являются 1 и 2.

PS: Красная сеточка будет видна в игре только если вы установите мод WorldEdit Client User Interface (сокращенно Worldedit CUI). О том как это сделать, рассказывается ниже.

Как выделить регион для привата: В один угол будущего привата ткнуть левой кнопкой с пером в руке, а в другой, противоположный, угол — правой кнопкой. Это и будут противоположные точки нашего кубоида, т.е. те самые 1 и 2 с картинки.

Запомните, не нужно приватить свой дом от стенки до стенки!!! У вас в каждом из приватов разрешено до 200 000 кубиков. Вы все равно захотите потом пристроить веранду, сделать балкон, или второй этаж. Выделяйте регион побольше, чтобы к вам из под земли не прокапывались, или стенку не проломили.

Однако такой способ не всегда удобен. Он вынуждает строить высокие столбы и копать глубокие ямы (чтобы отметить эти крайные точки привата).

Чтобы облегчить эту работу, есть следующие специальные команды:
//expand <длина> <направление> — Эта команда расширяет регион в заданную сторону.
Пример: //expand 10 up — Расширим выделение на 10 кубов вверх.

//contract <длина> <направление> — Уменьшает выделение региона в заданную сторону.
Пример: //contract 5 up — Уменьшим выделение на 5 кубов снизу вверх

Возможные направления:
1. up
2. down
3. east
4. west
5. south
6. north
7. me

Первые два расширяют вверх и вниз, а последний туда, куда вы смотрите. Кстати me можно опустить, команда будет выполнена в том направлении, куда вы сейчас смотрите. Также можно упростить себе набор команд, писать только первую букву направления.
Пример: //expand 15 e — Расширим выделение на 15 кубов на восток (e - East).

Команда contract нуждается в дополнительных комментариях. Если указать направление me , то регион уменьшится на заданное число ОТ вас. Соответственно если указать сторону up , то регион уменьшится снизу вверх, то есть нижняя граница поднимется вверх. Еще есть третий аргумент, между первым и последним. Он позволяет указать величину сокращения региона с другой стороны, в другую сторону.

На любом сервер есть ограничение, сколько кубиков может вмещать в себе регион. Если в вашем выделении будет больше кубиков чем дозволено, вы не сможете сохранить такой регион. Чтобы узнать, сколько же у вас кубиков в выделении, воспользуйтесь командой:
//size

Вам будет указано сколько кубиков вы выделили в кубойд, и координаты крайних противоположных точек нашего кубоида — 1 и 2

Когда вы наконец завершили выделение кубоида, можно сохранить его за вами:
/region claim <имя региона> — Сохраняет выделенный кубоид как регион с указанным именем.

После этой команды вы единственный и полновластный владелец региона, и только вы можете выкапывать и снова ставить блоки на защищенной территории.

У каждого региона есть владельцы (owner) и члены (member). Владельцы могут изменять параметры региона, и добавлять членов и других владельцев. Когда вы создаете регион, вы автоматически записываетесь во владельцы.

Чтобы записать в члены региона, используются команды:
/region addmember <регион> <ник1> <ник2> и т.д.
Пример: /region addmember TestRegion Player1 Player2

Чтобы выгнать из членства региона, используются команды:
/region removemember <регион> <ник1> <ник2> и т.д.
Пример: /region removemember TestRegion Player1 Player2

Внимание, скобки < > НИГДЕ писать не нужно!

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

Например, игрок Semaru хочет построить себе склад алмазов.
Semaru выделяет регион любым способом и пишет
/region claim SkladOlmazaf

Теперь никто кроме него не может строить в этом регионе.

Потом приходят его друзья MCAwesome и FlashPoint и хотят ему « помочь» .
Semaru пишет:
/region addmember SkladOlmazaf MCAwesome Flashpoint

Теперь MCAwesome и FlashPoint могут вынести все Сёмино барахло помогать ему строить склад. Когда он будет закончен, и Semaru захочет остаться в нём единоличным владельцем, чтобы ему никто не мешал, он пишет:
/region removemember SkladOlmazaf MCAwesome Flashpoint

и эти игроки уже не смогут изменять кубы внутри региона MoyDom.

Если вы ошиблись при разметке региона, и уже сохранили его, не беда, его можно выбрать ещё раз с помощью команды:
/region select <регион>

После этого вы можете изменить выделенное (расширить или сократить его в нужном вам направлении), затем удалить старый регион командой:
/region delete <регион>
И заново его создать (как уже расписывалось выше).
Внимание, удалить можно ТОЛЬКО регионы, владельцем которых вы являетесь!

Теперь и обычные пользователи тоже могут ставить флаги у регионов, но это могут делать только владельцы.
Флаги ставяться командой:
/region flag <регион> <флаг> <значение>

В настоящее время у нас на сервере доступны только следующие флаги:

Флаги:
use - Возможно ли использование кнопок, дверей, и т.п.
chest-access — Возможно ли использование сундуков

Значения:
deny — отключено для всех, включая ДАЖЕ владельца.
allow - включен для всех, включая любого ДАЖЕ бомжа с соседней улицы.
Если флаг вообще не установлен — то это означает: «Можно только владельцу, и тем, кого владелец вписал».

Команда — /region list — выводит список ТОЛЬКО ваших регионов, на тот случай, если вы забыли какие регионы у вас уже есть.
Команда — /region info <регион> — выводит список овнеров и мемберов указанного региона, и еще некоторую дополнительную информацию. А именно, приоритет региона, его координаты и флаги.

Вы всегда можете узнать, принадлежит ли куб к региону, ткнув в интересующий кубик стрелой (используя правую кнопку мышки).

Вам выведется:
«Can you build? No. или Yes.»

В завершение статьи, если вы так и не разобрались КАК приватить, посмотрите вот это ВИДЕО.

World Guard приват територий это плагин для многопользовательской игры Minecraft , который поможет защитить территории. Сейчас рассмотрим подробнее, что он из себя представляет и какие команды в нем есть.

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

Любая выделенная вами территория не будет представлять из себя каких-либо сложных форм, все будет очень просто, квадрат или прямоугольник. Обыкновенный параллелепипед или как его еще называют - кубоид. Выделение происходит всего двумя точками, на картинке собственно, ими являются точки А и G.

Стандартный способ выделения

С деревянным топором в руке вам нужно нажать левую кнопку мыши (ЛКМ) в один куб, в другой куб, необходимо нажать правой кнопкой мыши (ПКМ) Это и будут наши крайние точки, как вы могли увидеть на картинке выше. У этого способа есть и не достаток, вам придется, копать ямы довольно солидной глубины и ставить высокие столбы.

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

//expand (длина) (направление) и //contract (длина) (Направление).

Например так:

// expand 5 up расширит выделение на 5 кубов вверх. // contra c t 5 up уменьшает выделение на те же 5 кубов снизу вверх.

Направления

  • down

Небольшие пояснения. Команды up и down расширят территорию - вверх и вниз соответственно. Команда me , в том направлении, в котором вы смотрите. О команде contract : Задав направление me - вы уменьшите зону на указанное число от вас, указывая же направление up вы уменьшаете зону снизу вверх. То есть, нижняя граница при этом поднимается выше. Между первым аргументом и последним, есть еще один, задавая его вы получите увеличение сокращение зоны выделения с одной стороны в другую.

Команда // shift (длина) (направление) сдвинет все выделения. Например:

//shift 5 up сдвинет их на 5 кубов вверх.

Указать две точки можно и другими командами. Например

//hpos1 и //hpos 2

Эти команды установят точки в направлении котором вы смотрите. Если еще проще, крестик который находится в центре монитора послужит вам ориентиром. Когда вы меняете выделенную область, то сможете посмотреть в скобках сколько именно территории вы охватили. На скриншоте думаю, все хорошо видно.

После выделения кубоида вы с помощью команды -

/region claim (ваше имя региона)

можете сохранить его. Регионы имеют своих владельцев (owner ) и членов (member ) Если регион создавался вами, то вы автоматически являетесь его владельцем, а членов вы можете добавлять или удалять с помощью специальных команд.

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

/region addowner (имя вашего региона) (имя пользователя) Для примера: /region addowner your name region player1. Для добавления членов команды вводим: / addmember (имя вашего региона) (имя пользователя)

Для удаления членов/владельцев :

/region removeowner (имя вашего региона) (ник удаляемого владельца) /region removemember (имя вашего региона) (ник удаляемого члена)

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

Регионы могут быть как родительскими, так и дочерними. Назначить регион родительский и дочерний можно с помощью команды:

/region setparent (имя региона) (имя региона-родителя)

Для удаления родительского региона , достаточно ввести команду:

/region setparent (имя региона)

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

Если вы сохранили регион, но ошиблись, можно отредактировать выделение командой:

/region select (имя региона)

Затем сохраняем выделенный фрагмент участка:

/ region claim (имя региона)

Удаление региона

/region delete (имя региона)

Также, владельцы регионов могут ставить флаги. Командой:

/region flag (имя региона) (флаг) (значение)

Флаги

  • pvp - Используется ли pvp в этой зоне.
  • use - Используются механизмы и двери.
  • chest -access - сундуки .
  • water flow - растекание воды .
  • lava flow - растекание лавы.
  • lighter - Использование зажигалки.

Значения

  • deny - отключен.
  • none - идентичность флагу из не приватной зоны.
  • allow - включен.

Чтобы узнать информацию о регионе, список владельцев, членов, и некоторую другую информацию, введите команду:

/region info (имя региона)

Важная информация: Максимальная область выделяемого кубоида не более - 50.000 кубов. Максимальное количество регионов на одного человека не более 10-ти.


В messages есть такая возможность
0 0 600 0 1 Hello, #name will shutdown in #tmin minutes. Что лучше и эффективнее будет. Писать свой рестартер с помощью Rcon или будет достаточно messages.xml?

Class LogClass { private FileHandle File; void LogClass() { Print("::: ::: Init:::"); } void ~LogClass() { Print("::: ::: UnInit:::"); } void Save(string FileName, string String) { private int year, month, day, hour, minute, second; Print("::: : Save: " + FileName); if (!FileExist(FileName)) { File = OpenFile(FileName,FileMode.WRITE); } else { File = OpenFile(FileName, FileMode.APPEND); } if (File == 0) { Print("::: : Can not write FileName: " + FileName); Print("::: : May be disk error, file write protected, file busy or FileMode.WRITE disabled (need to specify option -scrAllowFileWrite in server run parameters for enable FileMode.WRITE."); return; } FPrintln(File, DataBase_GetDate() + "," + DataBase_GetTime() + " : " + String); CloseFile(File); } void Rotate(string FileName, int FileNum) { Print("::: : Rotate: " + FileName); if (!FileExist(FileName)) { Print("::: : Rotate: FileName not exists: " + FileName); return; } else { for (int i = FileNum; i > 0; i--) { Print("::: : Rotate: FileName: " + FileName + "." + i); if (FileExist(FileName + "." + i)) { Print("::: : Rotate: DeleteFile: " + FileName + "." + i); DeleteFile(FileName + "." + i); } if (FileExist(FileName + "." + (i - 1))) { Print("::: : Rotate: CopyFile: " + FileName + "." + (i - 1) + " => " + FileName + "." + i); CopyFile(FileName + "." + (i - 1), FileName + "." + i); } } CopyFile(FileName, FileName + ".0"); DeleteFile(FileName); } } static string DataBase_GetDate() { int year, month, day; GetYearMonthDay(year, month, day); string date = day.ToStringLen(2) + "." + month.ToStringLen(2) + "." + year.ToStringLen(2); return date; } static string DataBase_GetTime() { int hour, minute, second; GetHourMinuteSecond(hour, minute, second); string time = hour.ToStringLen(2) + ":" + minute.ToStringLen(2) + ":" + second.ToStringLen(2); return time; } } Мне нужно им пользоваться функциями из него в нескольких местах
в PlayerBase.c в функциях в классе PlayerBase
в init.c в функция в классе миссии
Вопрос как?

В PlayerBase.c
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
Далее в классе
ref LogClass Log = new LogClass();
ну и в функциях
Log.Save{"путь-имя", данные);

Но после последнего обновления 0.63.149.525
В init.c
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
приводит к ошибке - Multiple declaration of class "LogClass"

Can"t compile mission init script"!
$CurrentDir://mpmissions//dayzOffline.chernarusplus//_MOD//LogClass//LogClass.c(1): Multiple declaration of class "LogClass"

До этого обновления все было норм
Как быть?

Продположим

Обявили массив внутри функции

Array stringParam;
// определяем массив текстового типа который живет до завершения работы функции

Static array stringParam;
// определяем массив текстового типа который сохраняет в себе данные и после завершения работы функции и при следующем
вызове функции содержимое массива останется и может быть использовано внутри функции (повторного обьявления массива не произойдет)

String text = "text";

//записываем содержимое переменной text в элемент массива 0
stringParam.Insert(text);
//записываем содержимое переменной text в элемент массива 1, если переменная text пуста в элемент запишется текст NULL
stringParam.Insert(text, "NULL");

Читаем в переменную text элемент массива 1
string text = stringParam.Get(1);

А вот теперь вопрос
Как мне изменить эелемент 1 массива?
stringParam = "блаблабла";

Так?
в теории должно быть так

Это вообще возможно?

И еще про функцию возвращающую результат в качестве массива

Array FileRead(string FileName)
{
array stringParam;
string line_content;

CloseFile(File);
return stringParam;
}