Garry's Mod

Garry's Mod

58 ratings
Metrostroi Dispatcher
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: ServerContent
Addon Tags: Roleplay, Realism
File Size
Posted
Updated
0.084 MB
Mar 5, 2019 @ 1:04am
Nov 18 @ 3:56am
16 Change Notes ( view )

Subscribe to download
Metrostroi Dispatcher

Description
Разработчики: Alexell & Agent Smith
Версия: 4.0
Исходный код: https://github.com/Alexell/metrostroi_dispatcher
Лицензия: MIT

Диспетчерский функционал и расписания для машинистов Metrostroi.

Команды:
  • !dmenu (или в консоль disp_menu) - вызывает меню диспетчера, доступна игрокам с правом ulx disp, а также любому игроку, которого назначили на пост ДСЦП или ДЦХ
  • !disp - занять пост ДЦХ (также есть в меню)
  • !undisp - освободить пост ДЦХ (также есть в меню)
  • !sget - получить автоматическое расписание
  • !sclear - очистить имеющееся расписание
  • !sauto - вкл/выкл автоматическую перевыдачу расписания после оборота

Возможности меню диспетчера:
  • занять пост ДЦХ, освободить или назначить на пост ДЦХ другого игрока
  • установить интервал движения
  • назначить на пост ДСЦП или снять с поста
  • наблюдать за всеми интервалами в одном месте
  • выдавать расписание игрокам с указанием выдержек и комментария
  • в один клик телепортироваться к пультам на блок-постах
  • администраторы могут также добавлять блок-посты на картах, где они не заполнены (на вкладке "Блок-посты" будет соответствующая кнопка)

Особенности аддона:
  • панели ДЦХ и ДСЦП скрываются с экрана на клиенте при наличии в руке камеры или консольной командой disp_showpanel 0
  • панели ДЦХ и ДСЦП не скрываются, когда ДЦХ на посту
  • панель расписания отображается, только когда игрок в кресле машиниста
  • панель интервалов отображается на месте панели расписания, в один момент времени можно включить только одну из них
  • если на посту есть ДЦХ, автоматическое раписание получить не получится
  • расписание автоматически очищается по достижению времени обратного отправления (последняя строка в расписании)
  • блок-посты заполнены только на картах, где есть пульты: gm_metro_mosldl_v1, gm_mus_neoorange_e, gm_metro_jar_imagine_line_v4, gm_jar_pll_redux_v1, gm_metronvl, gm_metro_virus, gm_metro_nekrasovskaya_line_v5, gm_metro_crossline_r199h, gm_metro_kalinin_v2, gm_mus_loopline_e
  • данные блок-постов сохраняются в garrysmod\data\mdispatcher_controlrooms.txt после первого запуска сервера с этим аддоном
  • администраторы так же могут переименовывать или полностью удалять все блок-посты той или иной карты в файле, чтобы затем заполнить их через меню по своему
  • для работы расписаний, на карте должны присутвовать платформы и Metrostroi.StationConfigurations (с совпадающими ID станций), а также треки и сигнализация
  • для корректного просчета расписаний, от первой до последней станции должен идти единый трек
  • на картах ПЛЛ и НВЛ сделано разделение линий, т.е. станции на второй линии будут иметь немного другую нумерацию, это необходимо для корректной работы расписаний
  • из-за особенностей карты gm_mus_loopline_e, расписания для нее недоступны

Список хуков:
  • MDispatcher.TookPost (ник игрока) - выполняется, когда игрок заступил на пост ДЦХ
  • MDispatcher.FreedPost (ник игрока) - выполняется, когда игрок покинул пост ДЦХ
  • MDispatcher.SetInt (ник игрока, интервал) - выполняется, когда диспетчер изменил интервал
  • MDispatcher.DSCPSet (сообщение) - выполняется при назначении на пост ДСЦП
  • MDispatcher.DSCPUnset (сообщение) - выполняется при снятии с поста ДСЦП

Хуки можно использовать для вывода событий куда-либо, например на ваш Discord сервер.
Примеры использования:
hook.Add("MDispatcher.SetInt","SetInterval",function(ply,int) local msg = "Диспетчер "..ply.." установил интервал движения "..int -- далее ваш код для отправки msg в Дискорд end)
hook.Add("MDispatcher.DSCPSet","SetDSCP",function(msg) -- далее ваш код для отправки msg в Дискорд end)

При необходимости, вы также можете в ваших скриптах делать условия с использованием глобальной переменной MDispatcher.ActiveDispatcher, которая принимает значение true, если на посту ДЦХ есть игрок или false, если нет.

Необходимые аддоны:
  • Metrostroi
  • ULX
  • ULib
Popular Discussions View All (2)
7
Oct 22 @ 9:55pm
Баг-трекер / Bug-Reports
Alexell
6
Jun 29 @ 12:18pm
Предложения / Suggestions
Alexell
< >
34 Comments
Agent Smith  [author] Nov 29 @ 10:35am 
Cappu4ino , в ULX есть право ulx disp
другие права находятся в той же категории, что и ulx disp
Cappu4ino Nov 29 @ 2:01am 
Я не могу выдать себе доступ к дцх че делать?
Alexell  [author] Oct 23 @ 9:40pm 
Поправили еще ночью.
Машинист Козлов Oct 23 @ 11:03am 
Аддон сдох, после обновы на серваке ничего нет
Alexell  [author] Jun 29 @ 7:23pm 
Да, именно так. Все сказано в описании аддона.
BuoYancY_dabl Jun 29 @ 10:53am 
Ничего себе быстрое реагирование))) То-есть при вводе комманды сгенерируется расписание?
Alexell  [author] Jun 29 @ 10:51am 
Расписания выдаются вручную. Может выдать ДЦХ, но в их отсутствие игроки могут сами себе взять расписание. Выезжаешь из тупика на станцию, и отправляешь в чат команду !sget
BuoYancY_dabl Jun 29 @ 10:45am 
Вопрос перед тем, как поставлю: играю на локалке. Расписание отправлений генерируется автоматически? Я играю один, нету ДЦХ или ДСЦП
mbars Oct 1, 2022 @ 8:14am 
Как отключить/удалить блок-посты? А диспетчер оставить
Sumrak Jul 30, 2022 @ 10:46am 
скинешь этот трекер)))