Сообщение от
acerbis
Есть несколько причин, по которым на мой взгляд этот функционал имел бы смысл
1) Банальное удобство. Если игроки часто ходят друг другу в гости то им удобнее написать, например /home rav или /home acer чем телепортироваться друг к другу через tpa.
2) Афекашеры. Я часто нанимаю афекашеров чтобы не держать компьютер включенным в режиме 24 на 7. Так как человек получает процент от выхода продукции моего завода на мой взгляд абсолютно нормально что он хочет стоять на нем, а он находится в глубине привата и недоступен третьим лицам, и иметь возможность посмотреть сколько ресурсов создается, не сливаю ли я их втихую и т.п. Сейчас, с рестартами в 12 ночи я могу провести человека на завод через tpa и оставить его там стоять, но что делать если рестарты снова собьются? Когда рестарты были в 4 часа ночи я просто уходил спать, а человек входил через часик - два, тепался на мой завод и стоял. Плюс, при текущей реализации защиты он не может отлучиться, допустим чтобы продать кому-то что-то потому что не сможет вернуться назад.
Насчет игроков не в привате. Все таки на мой взгляд между "я рад видеть тебя в своем рг в любое время" и "я даю тебе возможность ломать и ставить блоки" есть большая разница. Для добавления в регион степень доверия к человеку должна быть на порядок больше чем для разрешения ему ползать у себя и смотреть как устроен завод.
Конечно отсутствие возможности тонкой настройки блокировщика сетхоумов это не ужас-ужас-ужас, без нее можно жить, но если бы она была, и можно было бы сделать так чтобы защита не действовала на тех людей на которых ты не хотел бы чтобы она действовала было бы здорово. Чем гибче система тем приятнее ей пользоваться.
Плюс я не вижу какой-то большой проблемы в ее реализации (заранее извиняюсь перед aWercs если я не прав и все очень сложно, )
Как я вижу реализацию:
1) Добавляем в регион кастомный строковый флаг, назовем его например sethomeallowedfor, в котором можно через запятую указать логины игроков которым ты хочешь дать доступ ставить хом у себя.
2) В методе или классе защиты от нежелательных тп считываем из объекта региона значение этого флага, разбиваем по запятой строку на массив логинов и проверяем, присутствует ли игрок в белом списке, если да разрешаем тп, если нет выдаем ошибку в чат.