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

ЦНС сервера или кодим сервер командными блоками

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

YVoWfZql.png

 

Центральная Нервная Система сервера

Большой Брат следит за вами :)

 

41 5 138

 

Представляю вашему вниманию уникальную разработку!

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

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

 

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

Со временем, система сильно преобразилась, выросла и заметно обросла функционалом - а, ведь, внешне это выглядит не так очевидно, согласитесь?

Но, обо всём по порядку ))

 

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

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

 

Вот функции, которые она выполняет:

и, соответственно, таким образом заменяет некоторые плагины

 

 - ограничение прав новичков и разных типов игроков, а также запрет на использование некоторых предметов;

 - обработка смены ника;

 - защита/приват территорий игроков (частные охранные системы на основе стандартных ловушек игры - "сигнализации");

 - охрана важных общественных объектов;

 - система гильдий и навыков;

 - краткое пошаговое обучение новичков (эдакий "onboard");

 - контроль заключённых и автовыход из тюрьмы;

 - раздача покупных индивидуальных эффектов (за пожретвования/донат/бонусы);

 - выборочно исключает воздействие любых команд на администраторов;

 - контроль искусственных и естественных деревенских жителей;

 - увеличение силы мобов по ночам;

 - контроль перемещения игроков в режиме "наблюдение";

 - обеспечение равных условий для всех участников во время проведения ивентов;

 

 

Итак, перейдём к описанию каждого конкретного элемента.

Спойлер

 

Принцип действия:

Спойлер

 

Система состоит из:

 

 - генератор коротких импульсов/сигналов;

 - командные блоки;

 - проводка;

 - разъясняющие таблички;

 - дополнительные помещения в других частях карты;

 

Генератор представляет из себя стандартное устройство на воронках.

Их количество подбирается индивидуально так, чтобы всё срабатывало достаточно часто, но не слишком быстро - на нашем сервере это 6 закольцованных воронок, выдающих импульс примерно каждую секунду-две.

 

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

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

 

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

 

Некоторые элементы системы находятся в других частях карты и находятся под охраной основной системы.

Такими отдельными элементами системы являются: автопрокачка в гильдии и выдача отдельных эффектов по утрам.

 

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

 

 

Основными недостатками системы являются:

 

 - ограниченность действия только миром, где она находится;

 - необходимость наличия игроков в районе нахождения системы;

 - ограниченный функционал из-за особенностей игры;

 - вероятная просадка как TPS всего сервера, так и отдельных чанков в районе расположения системы, особенно у игроков со слабым "железом";

 - относительная незащищённость системы от несанкционированного проникновения;

 - необходимость кодить всё ручками в игре и разбираться во всём досканально;

 - большая вероятность случайно что-нибудь уничтожить или совершить необратимую и неконтролируемую ошибку при внесении изменений;
 - сложность понимания принципов действия;

 - затролленная консоль сервера сообщениями командных блоков, а также гигантский лог сервера, если он не чистится автоматически;

 

 + иногда во время внесения/изменения команды в командный блок, туда "просачивается" непонятным образом какой-то невидимый символ, который можно заметить только при проверке текста команды вне игры и только после сохранения её в командном блоке и последующем копировании оттуда (так, однажды такой невидимый символ закрался во время копирования команды из одного командного блока в другой без изменений - прямо между цифрами длительности эффекта); однако с версии 1.8 данный символ стал виден в игре и его сложно не заметить.

 

Пример вредоносного символа, который не виден в игре:

JH76834.png

 

 

Основные достоинства системы:

 

 - позволяет реализовать уникальные идеи;

 - относительная простота реализации, отладки и внесения изменений;

 - нет привязки к сторонним разработчикам плагинов и ядер;

 - нет необходимости изучать досканально систему модинга игры и написание плагинов;

 - нет необходимости переделывать систему при переходе на более новую версию игры (исключения - изменение баланса и правил работы с командными блоками);

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

 

 

 

Работа с новичками и сменой ника:

Спойлер

 

После перехода на 1.8 возникла проблема с новыми игроками: т.к. в ССИС ещё нет никакой информации о них.

Вся работа данной "ЦНС сервера" построена на переменных.

До версии 1.8 считалось, что если в ССИС нет никакой информации о новом игроке, то значения всех запрашиваемых переменных = 0, а с версии 1.8 в таком случае игрок просто не обрабатывается.

Из-за этого перестала работать вся система безопасности, основанная на данной "ЦНС сервера", т.к. проверки просто не срабатывали и нарушители не улетали в тюрьму. Пришлось её переделать.

 

Итак, ниже представлено описание всех аспектов работы с новыми игроками.

 

 

Защита от атак грифферов и просто нарушителей.

 

Наш сервер специально настроен на режим "Приключение" для новых игроков (на самом деле мы играем в режиме "Выживание"), чтобы мы могли отличать новичков.

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

А получается у нас это благодаря тому, что ССИС позволяет проверять новых игроков на соответствие указанному режиму игры и нахождению в определённой команде - таким образом мы берём только новичков и только тех из них, кто только-только зашёл, т.к. через мгновение мы запихнём их в команду "Newbie".



/scoreboard players set @a[m=2,team=!Newbie] Admins 0
/scoreboard players set @a[m=2,team=!Newbie] PlayerID 0
/scoreboard players set @a[m=2,team=!Newbie] alarmCode 0
/scoreboard players set @a[m=2,team=!Newbie] ClanID 0
/scoreboard players set @a[m=2,team=!Newbie] i_newbie 0
/scoreboard players set @a[m=2,team=!Newbie] SmertiEffectov 0

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

Теперь мы можем смело добавлять их в команду "Newbie" для дальнейшей работы с ними в плане автоматизированного информирования и обучения, а также визуального отличия для других игроков (у всех новичков ники зачёркнуты).

 

Делаем мы это с помощью такой команды, которая выполняется с некоторой задержкой после предыдущих команд, действует только на тех новичков, кто ещё не в этой команде и заодно проверяет выполнение предыдущих команд, сверяясь со всеми переменными:



/scoreboard teams join Newbie @a[m=2,team=!Newbie,score_Admins=0,score_PlayerID=0,score_alarmCode=0,score_ClanID=0,score_i_newbie=0,score_SmertiEffectov=0]

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



/spawnpoint @a[167,65,-134,rm=10,m=2] -5 65 -31

/effect @a[167,65,-134,rm=10,m=2] minecraft:weakness 999999 2
/effect @a[167,65,-134,rm=10,m=2] minecraft:mining_fatigue 999999 50
/effect @a[167,65,-134,rm=10,m=2] minecraft:slowness 999999 0

/clear @a[m=2] minecraft:tnt
/clear @a[m=2] minecraft:lava_bucket
/clear @a[m=2] minecraft:water_bucket
/clear @a[m=2] minecraft:flint_and_steel

Также выдаётся эффект "Поглощение" (один раз до след. смерти):
/effect @a[167,65,-134,rm=10,team=Newbie,score_SmertiEffectov_min=1] minecraft:absorption 9999 19

После чего, переменная, отслеживающая смерти, обнуляется:
/scoreboard players set @p[team=Newbie,score_SmertiEffectov_min=1] SmertiEffectov 0

Обработка смены ника игроками:

 

Из-за тех же изменений в версии 1.8 при смене ника игрок с новым ником никак не числится в ССИС, но сохраняет инфу о своём режиме игры и все проверки по UUID.

Однако, для нормальной обработки таких игроков с помощью ЦНС им надо заново перезадать все переменные.

 

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

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

Затем увеличиваем её значение всем допущенным игрокам на 1, проверяя другую стандартную для всех обычных игроков переменную "Admins", которой "не существует" у игроков, сменивших ник, и они не проходят проверку, и остаются с нулём.

 

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



/scoreboard players set @a[m=0] i_newbie 0
/scoreboard players add @a[m=0,score_Admins=1] i_newbie 1
/gamemode 2 @a[m=0,score_i_newbie=0]

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

 

Автоматическая обработка ника затрагивает только: админство, гильдии, кланы, личные id, отображение ника, режим игры, отрицательные эффекты.

 

Спойлер

Отключенно, т.к. это сильно выносит мозг при входе на сервер...

 

Обучение и информирование новичков.

 

Данная система была запланирована интерактивной, но на данный момент реализована по упрощённой схеме в связи с ошибками при работе с командами...

Интерактивность системы подразумевает, что новичку будет выдаваться некая информация с помощью команды /tellraw, которая в зависимости от выбора игрока будет изменять значения переменной "i_newbie" самостоятельно - и, как следствие, будут выполняться нужные другие команды, погружающие новичка в игровой процесс всё глубже и глубже.

 

Планировалось, что с версии 1.8 мы сможем взаимодействовать с игроком любыми способами с помощью команды /execute и /trigger, встроенных в команду /tellraw, и выполнять любые команды от имени нужного нам новичка, что позволит создавать интерактивные системы взаимодействия любой сложности!! :)

 

Однако, на данный момент система реализована на простейших задержках и выполнении команд по списку последовательно, циклически.

Вот примерно такими командами это делается:




/scoreboard players add @a[m=2,team=Newbie] i_newbie 1


/tellraw @a[m=2,team=Newbie,score_i_newbie_min=25,score_i_newbie=25] {"text":"","extra":[{"text":"Дружище, ","color":"gold"},{"text":"познакомься с великим миром BBya!! :)","color":"green"}]}

/tellraw @a[m=2,team=Newbie,score_i_newbie_min=30,score_i_newbie=30] {"text":"","extra":[{"text":"Сейчас ты находишься в демо-режиме: ","color":"green"},{"text":"зачёркнутый ник, отрицательные эффекты и некоторые другие ограничения.","color":"gold"}]}

/tellraw @a[m=2,team=Newbie,score_i_newbie_min=40,score_i_newbie=40] {"text":"Хочешь ли ты присоединиться к нашему сообществу? Нравится ли тебе у нас? Готов ли ты стать частью этого невероятного мира??","color":"green"}

/tellraw @a[m=2,team=Newbie,score_i_newbie_min=45,score_i_newbie=45] {"text":"","extra":[{"text":"Для полноценной игры на нашем сервере необходимо - ","color":"green"},{"text":"ознакомиться с правилами и подать заявку на форуме, в той же теме (активная ссылка).","color":"gold","clickEvent":{"action":"open_url","value":"http://forum.bbyaworld.com/index.php?/topic/2-bbya-world-informatciia-o-servere-i-pravila-igry/"},"hoverEvent":{"action":"show_text","value":"кликни на оранжевый текст - это ссылка на форум"}}]}

/title @a[m=2,team=Newbie,score_i_newbie_min=50,score_i_newbie=50] subtitle {text:"skype: bbyaworld", color:aqua, italic:true}

/title @a[m=2,team=Newbie,score_i_newbie_min=50,score_i_newbie=50] title {text:"Поговори с админом", bold:true, color:gold}

/tellraw @a[m=2,team=Newbie,score_i_newbie_min=55,score_i_newbie=55] {"text":"","extra":[{"text":"Задай вопрос админу по скайпу: ", "bold":"true", "color":"green"},{"text":"bbyaworld", "bold":"true" ,"color":"gold"}]}

/tellraw @a[m=2,team=Newbie,score_i_newbie_min=65,score_i_newbie=65] {"text":"","extra":[{"text":"Скорее подавай заявку на добавление к игровому процессу! ", "color":"green"}]}

/tellraw @a[m=2,team=Newbie,score_i_newbie_min=70,score_i_newbie=70] {"text":"","extra":[{"text":"Тебя ждут - невероятный мир и новые друзья!!", "color":"gold"}]}

/title @a[m=2,team=Newbie,score_i_newbie_min=80,score_i_newbie=80] title {text:"BBya World", bold:true, color:gold}

/title @a[m=2,team=Newbie,score_i_newbie_min=80,score_i_newbie=80] subtitle {text:"ТВОЙ НОВЫЙ ДОМ!!", color:aqua, italic:true}


/scoreboard players set @a[m=2,team=Newbie,score_i_newbie_min=150,score_i_newbie=150] i_newbie 0

Видео можно посмотреть тут:

https://youtu.be/3VDJOC1NHgY

 

 

 

 

 

Работа с нарушителями и заключёнными.

Спойлер

 

"ЦНС сервера" охраняет саму себя, все важные общественные техинческие помещения и частные охранные системы игроков на основе командных блоков и переменных.

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

Во всех командах исключаются админы с помощью добавления условия "score_Admins=0".

Например, если проникнуть в "ЦНС сервера", то сработает командный блок, охраняющий помещение, в котором находится сама охранная система, охраняющая саму себя:



/scoreboard players set @a[-31,1,-27,dx=45,dy=7,dz=17,score_Admins=0] alarmCode 1

Важно отметить, что прямоугольные параллепипеды "-31,1,-27,dx=45,dy=7,dz=17" (вместо обычного сферического радиуса или при использовании одновременно с ним) указываются в строго определённом направлении, зависящем от знака перед конкретным значением дистанции! 

 

 

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

 

Для начала все новички-нарушители переводятся в режим "Выживание":



/gamemode 0 @a[m=2,score_alarmCode_min=1]

Затем все игроки-нарушители вне команды "prisoners" и не админы перемещаются в команду зеков (возможно, нужно перемещать только игроков в режиме "Выживание", но пока так):



/scoreboard teams join prisoners @a[team=!prisoners,score_alarmCode_min=1,score_Admins=0]

Далее зекам сразу и постоянно чистится инвентарь, меняется точка спауна и игровой режим, накладывается эффект замедления - затем нарушитель перемещается в тюрьму и ему постоянно выдаётся информация о дальнейших необходимых действиях:



/clear @a[team=prisoners]
/gamemode 0 @a[team=prisoners]
/spawnpoint @a[team=prisoners] 0 3 0
/effect @a[team=prisoners] minecraft:slowness 999999 4

/tp @a[0,3,0,rm=10,team=prisoners] 0 3 0

/tellraw @a[0,3,0,10] {"text":"","extra":[{"text":"Внимание!! Вы стали жертвой нарушения правил сервера! Чтобы выйти из тюрьмы, отпишитесь в теме ","color":"green"},{"text":"по этой ссылке!","color":"gold","hoverEvent":{"action":"show_text","value":"Кликни на оранжевый текст"},"clickEvent":{"action":"open_url","value":"http://forum.bbyaworld.com/index.php?/topic/8-tiurma-№3/"}}]}

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

Всё это обсуждается в специальной теме, там же описаны дополнительные функции - такие, как модуль "Анти-бунт".

 

 

Процесс выхода игрока на свободу автоматизирован.

Для того, чтобы выпустить игрока из тюрьмы, оператор должен любым способ задать значение перменной "alarmCode = -1" - далее автоматика всё сделает сама (сменит команду, изменит точку спауна, снимет эффекты, телепортнёт и сбросит код охранной системы):



/scoreboard teams leave @a[0,3,0,10,score_alarmCode=-1]
/spawnpoint @a[0,3,0,10,team=!prisoners] -5 66 -31
/effect @a[0,3,0,10,team=!prisoners] clear
/tp @a[0,3,0,10,team=!prisoners] -5 66 -31
/scoreboard players set @a[-5,66,-31,20,score_alarmCode=-1] alarmCode 0

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

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

 

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

 

 

Запрещённые предметы и дополнительные ограничения.

 

На нашем сервере запрещено носить некоторые предметы (читай - запрещено использование).

 

Для обеспечения дополнительной безопасности стратегических объектов всем игрокам запрещено переносить Жемчуг Края в зоне спауна:



/clear @a[x=140,y=10,z=-200,r=300,score_Admins=0] minecraft:ender_pearl

Кроме того, используется эдакая заглушка, которая позволяет запретить всеми игрокам, кроме админов, скрывать свой ник на Dynmap:



/dynmap show @a[score_Admins=0]

 

 

Беспроигрышная лотерея:

Спойлер

 

Из-за недостатка времени у представителей администрации на сервере почти не проводятся ивенты в их обычном понимании (ни что не вечно).

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

Админы (Admins=1) и новички (m=2) не участвуют в розыгрыше.



/give @r[m=0,score_Admins=0] minecraft:iron_ingot

 

 

Контроль за стандартными и искусственными деревенскими жителями:

Спойлер

 

С версии 1.8 мы взяли под контроль цены у деревенских жителей, а также сильно ограничили их количество.

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



/effect @e[type=Villager] minecraft:instant_damage 2 5

Убийство происходит эффектом "Мгновенный урон", т.к. нам необходимо сохранить спец.жителей, которые обслуживают нужды игроков при торговле с сервером, но по установленным администрацией ценам, а команда /kill убивала бы всех без разбора.

Спец.жители создаются с помощью командных блоков и настроенной команды /summon с параметром бессмертия ("Invulnerable:1").



/summon Villager ~ ~ ~ {Invulnerable:1,CustomName:Глиномес,CustomNameVisible:1,Profession:3,Offers:{Recipes:[{maxUses:999999,buy:{id:3,Count:1},buyB:{id:388,Count:1},sell:{id:82,Count:1}},{maxUses:0,buy:{id:51,Count:1},sell:{id:51,Count:1}},]},}

Поэтому, в теории всё должно было быть хорошо...

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

 

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

 

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

 

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

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

 

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

 

На данный момент мы можем только задавать нестандартные параметры, но проверять в командных блоках можем только параметр "name".

Но этот параметр может изменить любой игрок.

И на данный момент единственная возможность избежать этого - это задать параметр "name" сразу в команде при создании искусственного жителя: тогда - как бы не меняли имя жителю игроки, командным блоком всегда можно проверить исходное имя и убить всех неверных.

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

 

В общем, над этим пока ещё работаем :)

 

 

 

Изменение свойств мобов:

Спойлер

 

С 27 августа 2015 года в тестовом режиме запущена система, автоматически увеличивающая силу мобов в ночное время.

Сделано это в рамках общего усложнения игрового процесса на сервере (см. п.п. 6.1).

 

Реализация очень простая: с помощью датчика света поздно вечером подаётся сигнал на командные блоки, которые раздают всем мобам в обычном мире эффекты ограниченной длительности (7 минут = длительность ночи).



/effect @e[type=!Player] minecraft:strength 420 0
/effect @e[type=!Player] minecraft:speed 420 0
/effect @e[type=!Player] minecraft:resistance 420 1

 

 

Контроль перемещения игроков в режиме "наблюдение":

Спойлер

 

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

Я не смог сделать это прямым путём, по типу как в креативе (хотя, вроде бы, есть какие-то параметры полёта в игре).

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

 

Добавил обработку спектаторов: обычные игроки в режиме спектатора не смогут опуститься ниже высоты Y=65, а админы могут.

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

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

/tp @a[-3000,65,-3000,dx=6000,dy=-65,dz=6000,m=3,score_Admins=0] ~ ~50 ~

Как работает эта команда?

 

Размер карты - 6000х6000. Командный блок проверят пространство от точки с координатами x=-3000 y=65 z=-3000 до точки с координатами x=3000 y=0 z=3000. Командный блок воздействует только на игроков в режиме "Спектатор" (m=3), но исключает админов (score_Admins=1). Спектаторы просто телепортятся на 50 клеток вверх.

 

 

 

Обеспечение равных условий для всех участников во время проведения ивентов:

Спойлер

 

С 10 января 2015 года в систему интегрировано условие недействительности всех эффектов для любых игроков в зоне арены для ивентов.

Таким образом реализовано равноправие всех участников состязаний в зоне арены: при входе на ринг у всех бойцов снимаются все эффекты и игроки становятся в равные условия, играя по оговоренным между собой правилам. Новые эффекты не накладываются, т.к. это прописано в командных блоках.

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

 

Данное условие реализовано с помощью ограничения минимального радиуса действия с началом координат в центре арены.

* примерно с августа 2015 года изменилась система автоматического отключения эффектов в зонах проведения ивентов - надо немного переписать этот фрагмент описания...
 

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

/effect @a[m=2] 18 999999 2

С этим дополнением она усложняется указанием центра координат и минимальным радиусом действия конкретного командного блока:

/effect @a[167,65,-134,rm=10,m=2] 18 999999 2

где:

 

 - @a: указатель цели на всех игроков;

 - 167,65,-134: координаты центра зоны действия конкретного командного блока (отсутствие явно заданных координат = координаты расположения блока, в который вписана эта команда; координаты можно указывать в упрощённом виде, как в примере или для удобства - явно: "x=167,y=65,z=-134");

 - rm=10: минимальный радиус действия;

 - m=2: условие действия только на игроков в режиме приключение;

 - 18эффект слабости;

 - 99999: длительность действия;

 - 2: уровень эффекта.

 

 

 

Гильдии и навыки:

Спойлер

 

Пока ещё не описал...

 

 

 

  • Лайк 1

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


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

Проблему решил так, как ты и сказал: в обоих командах не хватало "_min".

 

Одноразовые сердца до первой смерти выдаются новичкам, которые уже подали заявку и добавлены к игровому процессу.

 

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



 

 

вагонетки стоят в метро и приходиться пересаживаться на ходу

Кто-нибудь знает способ чистить вагонетки автоматом?

Видимо, конкретной командой с указанием вагонетки, как сущности )

 

Желательно, чтобы чистились только пустые. Можно обрабатывать наличие/отсутствие сущностей в вагонетках?

 

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

 

А также, как исключить чистку вагонеток игроков и убирать только в метро?

Видимо, с помощью указания зоны действия в виде параллепипеда с максимальной высотой 32-33, где проложены рельсы. Но всё равное есть мелкий шанс чистки частных вагонеток на таких высотах...

Типа, со всеми нюансами никак?

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


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

Спавнить в метро вагонетки со спец именем, а потом удалять только вагонетки с таким именем. А вот насчёт проверки пустоты вагонетки не знаю, под рукой только телефон, да и не копался я конкретно в вагонетках в плане НБТ, так что это смогу глянуть, когда домой приеду, но, скорее всего, тоже как-то можно. В принципе, можно запариться с ССИС, если очень надо. При спавне выдавать вагонетке помимо имени значение определённого objective (isMetroCart) 1 + поставить генератор, присваивающий вагонеткам, со значением этого objectice 1, тем самым именем и с игроками на них (это тоже можно проверять) значение переменной 2, а потом убирать вагонетки со значением переменной 1. Вагонетки с игроками остались, без игроков пропали, пользовательские не тронуты, координаты задавать не нужно.

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

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

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


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

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

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

Главное - результат )

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


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

В таком случае неплохо было бы найти картинку с текстом, которую ты кидпл в первый раз.

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


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

В таком случае неплохо было бы найти картинку с текстом, которую ты кидпл в первый раз.

В первом сообщении - в списке функций ЦНС.

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


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

В таком случае неплохо было бы найти картинку с текстом, которую ты кидпл в первый раз.

В первом сообщении - в списке функций ЦНС.
Ссылки, ведущие на старый форум, выдают ошибку.

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


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

 

 

В таком случае неплохо было бы найти картинку с текстом, которую ты кидпл в первый раз.

В первом сообщении - в списке функций ЦНС.
Ссылки, ведущие на старый форум, выдают ошибку.

 

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

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


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

Принялся за создание этой системы, но появился вопрос. Как ты планируешь отсчитывать время там, где нужна задержка в 10 и 60 секунд?

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


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

Как ты планируешь отсчитывать время там, где нужна задержка в 10 и 60 секунд?

Писал гигантское сообщение с сылками, но всё пропало и теперь влом переписывать )

 

Короче, на основе стандартных задержек схем из реда - тык (с точностью до 0.1 секунды) и до бесконечно длинных задержек на основе циклов день/ночь и механизмов типа ПВС-ПЦ_4.

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


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

Команды сделал.

Вот это то, что пишется автоматически с задержкой (начальные):

/tellraw identifier ["",{"text":"Приветствуем тебя, дивный странник!","color":"green"}]

 
/tellraw identifier ["",{"text":"Познакомься с великим миром BBya!","color":"green"}]
 
/tellraw identifier ["",{"text":"Осмотрись, пообщайся с игроками... Прочувствуй. :)","color":"green"}]
 
/tellraw identifier ["",{"text":"Сейчас ты находишься в своеобразном \"демо-режиме\": зачёркнутый ник, негативные эффекты и некоторые прочие ограничения.","color":"green"}]

 

Это автоматика в конце:

/tellraw identifier ["",{"text":"Прощай, странный незнакомец, и удачи тебе в этой жизни.","color":"green"}]

 

 

/tellraw identifier ["",{"text":"Если захочешь вернуться, начни с форума (bbyaworld.com) - почитай информацию о сервере, ознакомься с правилами.","color":"green"}]

 

А это команды с выбором:

/tellraw identifier ["",{"text":"Понравилось ли тебе у нас? Хочешь ли ты присоединиться к нашему обществу? Готов ли ты стать частью этого уникального мира? ","color":"green"},{"text":"[Удивите меня!]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 1"}},{"text":" / ","color":"gold","italic":false,"underlined":false},{"text":"[Не хочу ничего!]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 4"}},{"text":" (просто нажми на нужный вариант ответа)","color":"green"}]

 
 
 
/tellraw identifier ["",{"text":"Для полноценной игры на нашем сервере необходимо ознакомиться с правилами и подать заявку в свободной форме с указанием игрового ника. ","color":"green"},{"text":"[Хочу, хочу!]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 2"}},{"text":" / ","color":"gold","italic":false,"underlined":false},{"text":"[Достал этот бред...]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 4"}}]
 
 
/tellraw identifier ["",{"text":"Уверен, тебе понравятся наши правила, которые можно прочитать в ","color":"green"},{"text":"этой теме (кликабельно)","color":"green","underlined":true,"clickEvent":{"action":"open_url","value":"http://forum.bbyaworld.com/index.php?/topic/2-bbya-world-informatciia-o-servere-i-pravila-igry/?p=2"}},{"text":" и там же подать заявку на добавление к игровому процессу. ","color":"green","underlined":false},{"text":"[Меня всё устраивает.]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 3"}},{"text":" / ","color":"gold","italic":false,"underlined":false},{"text":"[Ненавижу форумы...]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 4"}}]
 
 
/tellraw identifier ["",{"text":"Возвращайся скорее! Тебя ждут невероятный мир и новые друзья! BByaWorld - твой новый дом.","color":"green"}]
 

 

Создаём переменную guide и присваиваем всем новичкам значение для неё 0 (во избежание глюков системы). Затем начинает работу всё, что выше. Сначала идут автокоманды по таймеру (первый спойлер), затем для новичка "перезаряжается" триггер командой "/scoreboard players enable identifier guide", чтобы он мог менять её через команды, прописанные в tellraw (ручками тоже можно, но ведь об этом никто из новичков не узнает, хотя, если хочется 100% чёткости, можно прописать автосброс переменной к нулю, если она меньше нуля и больше четырёх (две разные команды)). Затем у игрока есть выбор положительный "Удивите меня!" и отрицательный "Не хочу ничего!". При выборе положительного ему присваивается значение переменной guide 1, в результате чего триггер для него снова перезаряжается той же командой и появляется следующая команда с выбором. Если же он выбирает отрицательный вариант, получает значение guide 4 и система идёт по "плохой концовке": "Прощай, странный..." ---> "Если захочешь вернуться...." ---> Про бан не очень понял - то ли ты у него это спрашиваешь, то ли у себя, предусматривая в этом случае автобан через минуту с определённой причиной, это уже сам решай.

 

Команды с выбором я проверил, остальные не очень (косяков быть не должно, вроде как, ибо там негде ошибиться), нужно только грамотно оформить таймер для разных игроков и прописать идентификаторы, на что у меня не хватило информации о работе нынешних ЦНС и ССИС сервера. Вроде бы всё написал, но мог и забыть что-то. Если нужно, объясню конкретные моменты.

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


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

Команды сделал.

Вот это то, что пишется автоматически с задержкой (начальные):

/tellraw identifier ["",{"text":"Приветствуем тебя, дивный странник!","color":"green"}]

 
/tellraw identifier ["",{"text":"Познакомься с великим миром BBya!","color":"green"}]
 
/tellraw identifier ["",{"text":"Осмотрись, пообщайся с игроками... Прочувствуй. :)","color":"green"}]
 
/tellraw identifier ["",{"text":"Сейчас ты находишься в своеобразном \"демо-режиме\": зачёркнутый ник, негативные эффекты и некоторые прочие ограничения.","color":"green"}]

 

Это автоматика в конце:

/tellraw identifier ["",{"text":"Прощай, странный незнакомец, и удачи тебе в этой жизни.","color":"green"}]

 

 

/tellraw identifier ["",{"text":"Если захочешь вернуться, начни с форума (bbyaworld.com) - почитай информацию о сервере, ознакомься с правилами.","color":"green"}]

 

А это команды с выбором:

/tellraw identifier ["",{"text":"Понравилось ли тебе у нас? Хочешь ли ты присоединиться к нашему обществу? Готов ли ты стать частью этого уникального мира? ","color":"green"},{"text":"[Удивите меня!]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 1"}},{"text":" / ","color":"gold","italic":false,"underlined":false},{"text":"[Не хочу ничего!]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 4"}},{"text":" (просто нажми на нужный вариант ответа)","color":"green"}]

 
 
 
/tellraw identifier ["",{"text":"Для полноценной игры на нашем сервере необходимо ознакомиться с правилами и подать заявку в свободной форме с указанием игрового ника. ","color":"green"},{"text":"[Хочу, хочу!]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 2"}},{"text":" / ","color":"gold","italic":false,"underlined":false},{"text":"[Достал этот бред...]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 4"}}]
 
 
/tellraw identifier ["",{"text":"Уверен, тебе понравятся наши правила, которые можно прочитать в ","color":"green"},{"text":"этой теме (кликабельно)","color":"green","underlined":true,"clickEvent":{"action":"open_url","value":"http://forum.bbyaworld.com/index.php?/topic/2-bbya-world-informatciia-o-servere-i-pravila-igry/?p=2"}},{"text":" и там же подать заявку на добавление к игровому процессу. ","color":"green","underlined":false},{"text":"[Меня всё устраивает.]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 3"}},{"text":" / ","color":"gold","italic":false,"underlined":false},{"text":"[Ненавижу форумы...]","color":"gold","italic":true,"underlined":true,"clickEvent":{"action":"run_command","value":"/trigger guide set 4"}}]
 
 
/tellraw identifier ["",{"text":"Возвращайся скорее! Тебя ждут невероятный мир и новые друзья! BByaWorld - твой новый дом.","color":"green"}]
 

 

Создаём переменную guide и присваиваем всем новичкам значение для неё 0 (во избежание глюков системы). Затем начинает работу всё, что выше. Сначала идут автокоманды по таймеру (первый спойлер), затем для новичка "перезаряжается" триггер командой "/scoreboard players enable identifier guide", чтобы он мог менять её через команды, прописанные в tellraw (ручками тоже можно, но ведь об этом никто из новичков не узнает, хотя, если хочется 100% чёткости, можно прописать автосброс переменной к нулю, если она меньше нуля и больше четырёх (две разные команды)). Затем у игрока есть выбор положительный "Удивите меня!" и отрицательный "Не хочу ничего!". При выборе положительного ему присваивается значение переменной guide 1, в результате чего триггер для него снова перезаряжается той же командой и появляется следующая команда с выбором. Если же он выбирает отрицательный вариант, получает значение guide 4 и система идёт по "плохой концовке": "Прощай, странный..." ---> "Если захочешь вернуться...." ---> Про бан не очень понял - то ли ты у него это спрашиваешь, то ли у себя, предусматривая в этом случае автобан через минуту с определённой причиной, это уже сам решай.

 

Команды с выбором я проверил, остальные не очень (косяков быть не должно, вроде как, ибо там негде ошибиться), нужно только грамотно оформить таймер для разных игроков и прописать идентификаторы, на что у меня не хватило информации о работе нынешних ЦНС и ССИС сервера. Вроде бы всё написал, но мог и забыть что-то. Если нужно, объясню конкретные моменты.

Как-нибудь вкурю это всё и попробую выдать что-нибудь дельное...

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


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

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

Я не смог сделать это прямым путём, по типу как в креативе (хотя, вроде бы, есть какие-то параметры полёта в игре).

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

 

Добавил обработку спектаторов: обычные игроки в режиме спектатора не смогут опуститься ниже высоты Y=65, а админы могут.

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

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

/tp @a[-3000,65,-3000,dx=6000,dy=-65,dz=6000,m=3,score_Admins=0] ~ ~50 ~

Как работает эта команда?

 

Размер карты - 6000х6000. Командный блок проверят пространство от точки с координатами x=-3000 y=65 z=-3000 до точки с координатами x=3000 y=0 z=3000. Командный блок воздействует только на игроков в режиме "Спектатор" (m=3), но исключает админов (score_Admins=1). Спектаторы просто телепортятся на 50 клеток вверх.

 


 

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

Нужно переписать обработку зон проведения ивентов - автоотключение эффектов во всех зонах для проведения ивентов.

Нужно проверить ночные эффекты мобов: что-то мне кажется, что эффект уровня "0" не влияет на силу... Хотя, наверное ошибаюсь, т.к. я же всё тестил перед запуском...

 + вроде бы сделал скрин с недо-символом в командах, из-за которого они могут не работать )

 

JH76834.png

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


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

По поводу чистки вагонеток командой

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

/summon Minecart ~ ~ ~ {CustomName:"Имя вагонетки"}

тут всё просто, задаем вагонетке имя, а потом когда возникает нужда убиваем все вагонетки с этим именем

/kill @e[type=MinecartRideable,name=Имя вагонетки]

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

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

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


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

Ну, вроде, норм )
А кроме имени есть что-нибудь?

 

В теории игроки могут приходить со своими самоварами...

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


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

Кроме имени пока ничего не пробовал.

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

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

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

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


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

Спавнить в метро вагонетки со спец именем, а потом удалять только вагонетки с таким именем. А вот насчёт проверки пустоты вагонетки не знаю, под рукой только телефон, да и не копался я конкретно в вагонетках в плане НБТ, так что это смогу глянуть, когда домой приеду, но, скорее всего, тоже как-то можно. В принципе, можно запариться с ССИС, если очень надо. При спавне выдавать вагонетке помимо имени значение определённого objective (isMetroCart) 1 + поставить генератор, присваивающий вагонеткам, со значением этого objectice 1, тем самым именем и с игроками на них (это тоже можно проверять) значение переменной 2, а потом убирать вагонетки со значением переменной 1. Вагонетки с игроками остались, без игроков пропали, пользовательские не тронуты, координаты задавать не нужно.

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

Может, тупо проверять наличие игроков в этой зоне?

Мы же работать будем сразу со всей областью...

Если там не будет игроков, то чистим, если будут, то не чистим?

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


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

То ли ник перепутал, то ли процитировал не то. Если вопрос ко мне:

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

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


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

 

Если ты настроишь на неотображение эффектов, наложенных на игрока, из-за гильдии я тебе руки целовать буду!! :D

Сейчас это можно сделать прямо из игры - у команды effect есть такой параметр, как отключение частиц от эффекта.

 

Если поможете с кодом, то я естественно вставлю его.

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

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


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

Если тебе нужна команда для выдачи эффектов гильдиям, где не отображаются частицы то надо просто к концу каждой команды effect добавить true
т.е. вот так выглядеть будет

/effect @p minecraft:speed 1000000 4 true
Изменено пользователем StPlotnik

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


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

 

Если тебе нужна команда для выдачи эффектов гильдиям, где не отображаются частицы то надо просто к концу каждой команды effect добавить true

т.е. вот так выглядеть будет

/effect @p minecraft:speed 1000000 4 true

Спасибо!

Переделали. Проверяйте :)

Все гильдийные и покупные эффекты должны быть без частиц. Если что не так, отписывайтесь.

 

Точно с частицами эффекты - маяков, зелий, скороходы.

 

Норц, не забудь, что все покупные эффекты пишем так.

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


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

Если гильдейский эффект совпадает с эффектом на маяке, то при попадании в радиус действия такого маяка частицы будут отображаться до повторного наложения гильдейских эффектов. Так что если не хотите частиц, то маяки ваш враг XD

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


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

Если гильдейский эффект совпадает с эффектом на маяке, то при попадании в радиус действия такого маяка частицы будут отображаться до повторного наложения гильдейских эффектов. Так что если не хотите частиц, то маяки ваш враг XD

А это распространённая проблема?

Какие гильдии и маяки могут пересечься?

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

У остальных гильдий эффекты постоянно накладыаются.

 

Если всё так, то осталось выяснить, какие эффекты могут пересекаться с маяками и зельями. Игроки делают всё многообразие эффектов в маяках или в основном определённые?

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


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

У гномов с маяком пересекаются эффекты "Спешка", "Сопротивление", "Регенерация"
У строителей "Прыжок", "Спешка", "Скорость"
У Темной силы это "Сила", "Скорость", "Прыжок"
У Воинов света это "Сила", "Регенерация", "Сопротивление"

По поводу разнообразия эффектов, которые делают игроки не знаю, но на спавне у кого-то работает усиленный прыжок, который вернул мне отображене частиц этого эффекта до следующего наступления утра. 

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


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

Надо добавить внешний контур зашиты самой ЦНС - защитную сферу, радиусом больше размеров самой ЦНС, при попадании в которую игроки будут телепортироваться на спаун :)

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


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

Запустил заново, но снова в старом формате, информирование новичков.

Подробное описание в первом посте.

 

 + видео, если влом заходить под бесплатными акками и тестить самостоятельно :)

 

 

Временно отключил большую часть этого адского троллинга.

Оставил только приветствие: "Привет, дружище! Добро пожаловать на сервер BBya World".

 

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

D2ciQ5n.png

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


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

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

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

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

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

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

Войти

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

Войти

  • Последние посетители   0 пользователей онлайн

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

×