Я немного объясню, чтобы было понятно, как оно работает. Сматри.
Есть var/output, туда записывается то, что будет показываться в том мальком окошке.
Окошко запиливается через html. Тег <center> значит, что надписи будут центрироваться в окошке. Тег <p> определяет элемент, внутри которого может что-то находится: ссылки, картинки, текст и т.д. Все эти надписи обернуты в <p>, чтобы тег <center> работал с элементами, а не с надписями.
Каждый элемент представляет из себя ссылку <a>. href= - адрес ссылки, в данном случает адрес выглядит как byond://[тут уникальный номер игрока]:[переменная]. То что находится между <a> и </a> отображается как надпись, по которой можно кликнуть, чтобы перейти по ссылке. Сама ссылка находится в открывающем теге <a>, и как я уже написал, ссылка находится в href='ссылка'.
Когда ты заходишь на сервер первый раз за раунд, для тебя построчно выполнятся код, который находится по адресу
/mob/new_player/proc/new_player_panel()
Сначала в окошко добавляется надпись
Setup Character
Со ссылкой
href='byond://?src=\ref[src];show_preferences=1'
Потом выполнение останавливается на if
if(!ticker || ticker.current_state <= GAME_STATE_PREGAME)
Я точно не знаю что тут за переменные, но суть в том, что если раунд ещё не начался, то выполняется код который идёт сразу после if, если раунд уже идёт, то выполняется код, который идёт после else.
Давай посмотрим, что будет, если раунд ещё не начался, т.е. начинает выполнятся код, который идёт сразу после if.
if(ready)
output += "<p>\[ <b>Ready</b> | <a href='byond://?src=\ref[src];ready=0'>Not Ready</a> \]</p>"
else
output += "<p>\[ <a href='byond://?src=\ref[src];ready=1'>Ready</a> | <b>Not Ready</b> \]</p>"
Тут есть проверка if. Ready - переменая в которой хранится 0 или 1. Изначально там 0, т.к. ты зашел первый раз за раунд. Т.е. будет выполнятся код после else.
Если ты нажмешь ссылку Ready, то на на сервур будет отправлено ready=1, что ты типо готов. Если нажать на Not ready, то на сервур отправится ready=0, ты уже не готов.
Потом начнет выполняться следующая часть кода.
output += "<p><a href='byond://?src=\ref[src];observe=1'>Observe</A></p>"
Она добавляется в окошко ссылку Observe.
Нооо. Если ты зашел после начала раунда, то при первой проверке код перейдет к else и в твоё окошко не будут добавлены ссылки ready и not ready, зато будет выполнен следующий код.
output += "<p><a href='byond://?src=\ref[src];manifest=1'>View the Crew Manifest</A></p>"
output += "<p><a href='byond://?src=\ref[src];late_join=1'>Join Game!</A></p>"
Он добавит тебе в окошко ссылки View the Crew Manifest и Join Game!
И потом, опять же, будет выполнен код
output += "<p><a href='byond://?src=\ref[src];observe=1'>Observe</A></p>"
Чтобы кнопка обсерв была только тогда, когда раунд уже начался, нужно добавить её в блок else проверки на начало раунда.