"Замки" для дверей

GloverTime2

Новичок
Регистрация
7 Июн 2023
Сообщения
10
Попытаюсь разъяснить как можно подробнее:
Я разрабатываю режим, под названием Oxide: Survival
Вкратце:
Режим — выживание, карта маленькая, но не суть, основной фишкой игры будет строительство, тобишь вы фармите камень, делаете себе кирки получше, огнестрел и так далее, крафтите броню, строите дом, из блоков которые тоже можно скрафтить.
Что насчёт дверей? В них и проблема:
Мне нужно сделать так, чтобы только игрок, который их поставил, мог их открывать, и добавлять людей в свой список друзей, чтобы их могли открыть.
Сообщение объединено:

Если сможете - поясните как можно подробнее: какие переменные юзать, и т.д
 

Universal16

Участник
Регистрация
28 Май 2023
Сообщения
15
Попытаюсь разъяснить как можно подробнее:
Я разрабатываю режим, под названием Oxide: Survival
Вкратце:
Режим — выживание, карта маленькая, но не суть, основной фишкой игры будет строительство, тобишь вы фармите камень, делаете себе кирки получше, огнестрел и так далее, крафтите броню, строите дом, из блоков которые тоже можно скрафтить.
Что насчёт дверей? В них и проблема:
Мне нужно сделать так, чтобы только игрок, который их поставил, мог их открывать, и добавлять людей в свой список друзей, чтобы их могли открыть.
Сообщение объединено:

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

GloverTime2

Новичок
Регистрация
7 Июн 2023
Сообщения
10
Не совсем Раст, но очень похоже, если ты можешь помочь в разработке, мой дискорд - admin451#1266, жду твоих сообщений, очень нуждаюсь в помощи со стороны ещё одного кодера
 

Ink

Активный участник
Регистрация
31 Май 2023
Сообщения
21
Попытаюсь разъяснить как можно подробнее:
Я разрабатываю режим, под названием Oxide: Survival
Вкратце:
Режим — выживание, карта маленькая, но не суть, основной фишкой игры будет строительство, тобишь вы фармите камень, делаете себе кирки получше, огнестрел и так далее, крафтите броню, строите дом, из блоков которые тоже можно скрафтить.
Что насчёт дверей? В них и проблема:
Мне нужно сделать так, чтобы только игрок, который их поставил, мог их открывать, и добавлять людей в свой список друзей, чтобы их могли открыть.
Сообщение объединено:

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

GloverTime2

Новичок
Регистрация
7 Июн 2023
Сообщения
10
Привет. Я протестировал механику и сделал вывод, что взаимодействовать с дверьми в обычном их понятии нельзя, то есть деревянные и железные двери по какой-то причине не считаются за блоки при их установке. Единственный вохможный вариант сделать все через другие блоки, но не двери. Вся проблема в том, что помимо уникального замка должна быть и уникальная дверь, а считывать уникальность двери кодом невозможно, потому что любой размещенный блок для кода является идентичным.
Выходит, никак в привычном понятии нельзя сделать замок на дверь, очень печально.
Можно ли каким-то образом сделать подобные механики, прохожие на двери? Всё должно быть автоматически, и, как я сказал ранее, должно иметь замок, плачу 500 голды за подобные ответы, которые подкреплены скринами и фактами, лс в дс: admin451#1266
А так - благодарю за дополнительную информацию, в этой теме.
 

SashaLab7

Эксперт
Регистрация
3 Май 2023
Сообщения
95
Выходит, никак в привычном понятии нельзя сделать замок на дверь, очень печально.
Можно ли каким-то образом сделать подобные механики, прохожие на двери? Всё должно быть автоматически, и, как я сказал ранее, должно иметь замок, плачу 500 голды за подобные ответы, которые подкреплены скринами и фактами, лс в дс: admin451#1266
А так - благодарю за дополнительную информацию, в этой теме.
Если без ввода кода, то все просто. Так же, уже писали, по какой-то причине дверь не считается за блок. Провернуть такое с железной дверью скорее не получится. Если же выдавать доступ к дверям, то можно при ее открытии проверять, не содержит ли переменная двери ник игрока, открывшего дверь. (Это так же получится только с деревянными дверьми). По моим представлениям такое получится реализовать всего в 3 строчки.

Я делала кодовые двери, где нужно ввести код для ее открытия, но открывается не совсем дверь, а блоки, которые ее эмулируют. Дело в том, что "открыть" дверь крайне проблематично, ее изначально можно поставить так, что она будет смотреть в 1 из 4 сторон. У меня была идея создания редстоун блока под дверью, но это нужно довести до ума в коде.

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

GloverTime2

Новичок
Регистрация
7 Июн 2023
Сообщения
10
Если без ввода кода, то все просто. Так же, уже писали, по какой-то причине дверь не считается за блок. Провернуть такое с железной дверью скорее не получится. Если же выдавать доступ к дверям, то можно при ее открытии проверять, не содержит ли переменная двери ник игрока, открывшего дверь. (Это так же получится только с деревянными дверьми). По моим представлениям такое получится реализовать всего в 3 строчки.

Я делала кодовые двери, где нужно ввести код для ее открытия, но открывается не совсем дверь, а блоки, которые ее эмулируют. Дело в том, что "открыть" дверь крайне проблематично, ее изначально можно поставить так, что она будет смотреть в 1 из 4 сторон. У меня была идея создания редстоун блока под дверью, но это нужно довести до ума в коде.

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

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

Но, если вы сможете сделать и механику, и систему добавления друзей, как я это вижу:
@trust ник игрока
После чего, всё двери которые игрок, поставил, добавленный друг может открыть.
Плачу всё что у меня есть, честно - admin451#1266
 

Universal16

Участник
Регистрация
28 Май 2023
Сообщения
15
Не совсем Раст, но очень похоже, если ты можешь помочь в разработке, мой дискорд - admin451#1266, жду твоих сообщений, очень нуждаюсь в помощи со стороны ещё одного кодера
жду пока примешь в дс
 

GloverTime2

Новичок
Регистрация
7 Июн 2023
Сообщения
10
Платить не нужно.

Так выглядит код (с @trust <ник>):

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

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
358

Universal16

Участник
Регистрация
28 Май 2023
Сообщения
15
Всё довольно - непросто.
Каждая дверь, которая поставлена разными игроками должна иметь разных авторов, учитывая, что игроков может быть хоть сто, нужно сразу автоматизировать всё это, чтобы сразу при установке двери игроком дверь выдавала игроку возможность её открывать.
В этом и проблема, как всё связать? Игрок может открывать только свою дверь, ни чужую, никакую, только свою.

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

Но, если вы сможете сделать и механику, и систему добавления друзей, как я это вижу:
@trust ник игрока
После чего, всё двери которые игрок, поставил, добавленный друг может открыть.
Плачу всё что у меня есть, честно - admin451#1266
Смотри %player% личное значение для двери если при установке двери делать %player% doors и потом сверять нет ли другой лтичной переменной которая как замок но только это надо сделать как массив с никами игроков (это самый надежный вариант)

Вот пример
Игрок поставил дверь без замка - устанавливается переменная %player% doors - 1
Игрок поставил замок на дверь - Сравнить числа %player% doors больше или равно 1 - установить %player% yes doors установить ник того кто поставил тоисть просто пишешь %player% в значении
Чужой игрок открывает дверь идёт проверка нет ли этого игрока в %player% yes doors с никами то отменить открывание двери. А если есть то и разрешить открыть дверь

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

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
551
Смотри %player% личное значение для двери если при установке двери делать %player% doors и потом сверять нет ли другой лтичной переменной которая как замок но только это надо сделать как массив с никами игроков (это самый надежный вариант)

Вот пример
Игрок поставил дверь без замка - устанавливается переменная %player% doors - 1
Игрок поставил замок на дверь - Сравнить числа %player% doors больше или равно 1 - установить %player% yes doors установить ник того кто поставил тоисть просто пишешь %player% в значении
Чужой игрок открывает дверь идёт проверка нет ли этого игрока в %player% yes doors с никами то отменить открывание двери. А если есть то и разрешить открыть дверь

Это примерно я так предпологаю, но мне нужно тестить и проверять код и исправлять.
Какой-то бред, а не код. Я бы сделал иначе, что-то подобное(При условии, что 1 игрок может владеть одной дверью)

Игрок ставит дверь -> присваиваем в %player%Door координаты двери
Игрок кликает правой кнопкой -> если блок - дверь -> если координаты двери НЕ совпадают с координатами из %player%Door - отменяем событие

Насчет разрешения для других игроков... Когда игрок ставит дверь, можно создавать две переменные: %player%DoorCoord и %player%DoorPlayers.В DoorCord будут храниться координаты двери, а в DoorPlayers - список, кто может открывать эту дверь. При добавлении игрока в список мы будем добавлять ники в переменную DoorPlayers(И у нас в одной переменной хранится много значений!). Тогда в событие открывания двери мы добавляем проверку, содержит ли DoorPlayers ник игрока, кто открывает дверь. Если нет - отменяем событие и пишем, что вам нельзя открывать эту дверь.

UPD: Тоже написал не лучший код, надо помудрить немного с переменными. В идеале нужно сделать типа door1 = значение, door2 = значение. А можно и на массивы сделать... Тогда без переменной %player%DoorCoord. Или можно делать через выборку. Мой код выше работать не будет, нам надо через выборку получить игрока, который владеет этой дверью и только тогда проверять %selected%DoorPlayers. Если кому-то нужен полный код — просите, я распишу. Код не проверял, но в теории он обязан работать
 
Последнее редактирование:
Сверху