Подскажите как сделать.

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

В свойствах шлюза посмотри через ПКМ, там что-то связанное с акцусом

Спасибо за это, но мне бы понять, где оно именно в коде прописано все это. Я вроде все просмотрел, но так и не нашел.

Найди файл (если наш билд - z1) и там найди какой-нибудь шлюз, нажми ПКМ и свойства и ищи

Ну смотри, в этом месте код всех доступов, соответственно, дабы добавить “ключ”, сначала сюда надо запилить его доступ.
Потом сюда внести код “ключа” и прописать ему этот доступ, если на знаешь как, то глянь на карту синдиката.
А вот дабы дать именно конкретный доступ двери, тут уже мапперством нужно заниматься, если я не ошибаюсь.

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

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

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

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

var/turf/T = get_turf(src) if(T) ...
или

var/turf/T = get_turf(src) if(!T) return 1 ...
Возможно ли, что get_turf(src) выдаст не турф? Или только в случае, если где-то баг?
Почему тогда не добавить эту проверку внутрь get_turf?
И какой в итоге вариант выбрать?

Просто пропиши своим ключам номер доступа, а в сами двери впиши запрос доступа.
Будет работать как ИД карта.
Быдлокостылекодер в деле

Я другое предлагаю:
Запилить 2 доп состояния для дверей - открыт замок и закрыт.
При клике ключом на дверь будет открывать\закрывать соотвественно и если замок открыт, то дверь открывается. Нормас будет.

Замок - болты. Так даже проще. Ключ их поднимает/опускает.

Объект, у которого ты хочешь вызнать турф, может быть в NULL’e или удалён. На этот случай и делается эта проверка.

То есть можно не делать эту проверку в проке этого же объекта?
Например код разборки объекта:

/obj/item/X/attackby(obj/item/W, mob/user) ..() if(istype(W, /obj/item/weapon/crowbar)) if(src.cell) src.cell.loc = get_turf(src) src.cell = null to_chat(user, "\blue You took out a cell!") else to_chat(user, "\red No cell installed!") return

Совершенно верно.
P.S. Не злоупотребляй указателем src, в твоём отрезке он точно не нужен. А ещё вместо \blue используй спаны.

Понял, я просто скопировал из https://github.com/TauCetiStation/TauCetiClassic/blob/master/code/game/objects/items/robot/robot_parts.dm то как там было, думал допилить разборку остовов боргов на составляющие.
п.с. Может тогда там все случаи с src и \blue переделать заодно?

Нужно.