Team Fortress 2

Team Fortress 2

Not enough ratings
Flame’s Guide to HUDs[RU]
By Torus xo
Этот гайд создан чтобы объяснить людям как менять, двигать, замещать разные части как кастомного, так и стандартного HUD тим фортреса.
Полностью написан http://steamproxy-script.pipiskins.com/id/mattrod, это лишь перевод оригинала.
   
Award
Favorite
Favorited
Unfavorite
1 Где и как найти файлы хада
Для начала нужно скачать программу, которая называется GCFScape. С её помощью можно открывать GCF файлы игры.
Когда прога запущена File->Open. потом открываем где у вас лежит стим C:/место вашего steam/Steam/Steamapps/Common/Team Fortress 2/tf открываем vpk tf2_misc_dir.vpk. Как открыли нужно извлечь куда-то (Extract->куда) /resource и /scripts. После извлечения идем в C:/место вашего steam/Steam/Steamapps/Common/Team Fortress 2/tf/custom/MyFirstHud (создайте новую папку и обзовите как хотите). Переносим все что извлекли из VPK в эту папку чтобы было так: tf/custom/MyFirstHUD/resource и tf/custom/MyFirstHUD/scripts.
2 Настраиваем клиент
Чтобы было меньше гемора при правке худа, нажмите на тим фортресе лкм в библиотеке стима, зайдите в свойства и нажмите "установить параметры запуска" запишите в эту строку –windowed –noborder. С этим будет легче альт-табаться. Ещё бы неплохо прописать бинд на команду hud_reloadscheme - пропишите в автоексеке или просто в консоли bind "кнопка" "hud_reloadscheme". С её помощью можно обновить худ после того как вы что-то поменяли в .res файле, лишь после обновления худа через консоль изменения вступят в силу. Лишний раз обновить хад в игре будет быстрее чем каждый раз заново запускать клиент.
3 Пояснения к переменным
В .res файлах всегда есть огромное количество переменных, которые можно изменять под себя. некоторые из них будут выглядеть беспорядочно из-за чего можно запутаться. На самом деле все просто, ниже идет пояснение каждой переменной, флейм рекомендует использовать Notepad++ чтобы открывать .res файлы.

Controlname – Это не стоит трогать, только если вы абсолютно уверены что можно изменить показатель.

Fieldname – Имя поля буквально. В этой переменной надо указывать название поля. Если не указать, игра будет вытворять странные вещи с худом.

Xpos – это положение оси Х относительно левой стороны экрана или какой то определённой области худа. Есть несколько способов прописать позицию икса. это C перед номером, что показывает отдалённость от центра экрана. (например C0 или c-12 значит на 12 левее центра). А так же R перед числом, что показывает отдалённость от правой стороны экрана (например r5 значит на 5 в сторону от правой стороны).

Ypos – Так же как положение по оси Х только вертикально. Все так же С это смещение от центра, r от нижней части экрана.

Zpos – Это слой на котором находится объект. Если указать значения с минусом, то объект будет позади остальных. Изменяйте тогда, когда хотите сделать рамки для текста и чтобы они показывались поверх шрифта а не под ним и все в таком духе.

Wide – Ширина того, что вы редактируете. Если это заливка какой-то секции/окна то она будет расширяться/сужаться, но если background то просто будет больше/меньше места для того чтобы передвигать части внутри него.

Tall – Тоже что с шириной только в высоту

*_minmode – когда вы видите _minmode значит это только для режима cl_hud_minmode (минималистичн худ). Например xpos_minmode это поизиция x когда активирован минималистичн режим и tall_minmode это ширина в минималистичн моде.

Visible – Видимость/отображение. Visible 1 значит будет показываться, visible 0 значит не будет показываться.

Enabled – Вкл/выкл. Если 0, то выкл. Есть исключения для чисел в visible и enabled, но в большинстве случаев enabled 1 значит включено и отображается, а enabled 0 значит не показывается и не включено.

Font – Это указывает какой шрифт будет использоваться в секции. Шрифты можно найти в clientscheme.res который находится в tf/scripts/.

FgColor – Цвет шрифта. Так же есть в clientscheme.res. Можно сделать любой цвет, опираясь на цветовую схему RGB (Red Green Blue). Тоесть 0 0 255 255 даёт нам ярко-синий цвет, а 0 255 0 150 даст полупрозрачный зелёный.

TextAlignment – Структурирует текст как в ворде. Left значит текст будет колонкой слева, Right значит текст будет колонкой справа, и Center значит текст будет распределён равномерно по середине. Tак же есть west/northwest и east/northeast.

Image – Это файл, картинка, которая используется для фона. В большинстве случаев вы просто будете выкручивать все картинки в visible 0 или enabled 0 потому как большинство из них просто стрёмно выглядят.

Scaleimage и Pincorner – Scaleimage используется для обозначения размеров картинки. Картинка в 480x480 плохо подходит под формат худа в 32x32. Pincorner используется для расположения левого верхнего угла чего-либо в определённом месте.

Это большинство переменных которые вам можно менять. Есть так же другие, но там и так всё ясно©FLAME. Другие включают всякие специальные картинки команд или какой то текст. Большинство годных худов были состряпаны только лишь с использованием вышеперечисленных переменных и изменения расположения по Х и У с добавлением теней к шрифтам. Visible 0 на всякие фоновые картинки так же делает худ более чистым.
4 ClientScheme.Res
ClientScheme.Res
Находится в tf/resource/. В этом файле можно найти/добавить/удалить шрифты и цвета. В первую очередь используем его, когда надо посмотреть какими шрифтами щас располагает игра и какие можно добавить, комбинируя стиль шрифта и его размер. Добавить цвет можно просто создав новую секцию и вписав в неё цвета в цветовой схеме RGB. Можно просто скопировать название шрифта, жмакнуть ентер и вставить шрифт под ним, поменяв название и числа в нём а потом использовать его в остальных .res файлах когда нужно.

Чтобы добавить шрифт, нужно сначала файл шрифта(.ttf)файл поместить в tf/resource/. После этого нужно внести этот шрифт в список clientscheme.res. Все переменные можно понять по их названиям если вы знаете инглиш. Если хотите добавить обводку то надо скопировать шрифт и вставить ниже, переименовать, и добавить переменную “outline” и поставить ей значение “1.”

Важный момент: когда вы колдуете над clientscheme.res, изменения не будут видны до тех пор, пока вы не перезапустите игру. Например добавление шрифта или цвета в clientscheme.res ни как не отразится в игре , не трудитесь вводить hud_reloadscheme это не работает.

Вообще этот файл не так уж то и нужен при создании худа. Только если надо добавить какой то шрифт взамен старого. А в остальном в этом файле хранится список названий шрифтов и цветов
5 Hudlayout.res
Это скелет всего худа. Важно знать что тут да как чтобы использовать его. Допустим этот файл команда, а определённые .res файлы это игроки команды, а строки в .res файлах это оружие. В большинстве случаев в этом файле меняются позиции по x и y pos; xpos и ypos в _minmode. Когда вы меняете значение у одного предмета тут, то в худе целиком двигается всё что прописано в .res файле этого предмета.

Что это значит: когда вы двигаете допустим Х и У HudAmmoWeapons, то целиком сдвинется и фон и переменные и обводки. Потом эти новые значение прописываются автоматически в .res файлах в resource/ui/. Если не понятно то просто поменяйте значение чего-нибудь, сразу увидите. Флейм не стал расписывать все переменные этого файла, потому что вышло бы ещё 5 старниц текста, ну если короче то когда вы не можете передвинуть в худе какую-то вещь через определённый resource/ui/ .res файл, то на помощь приходит переменная этого файла в hudlayout.res

Тут есть почти что все объекты, кроме таблицы счёта и худа зрителя. Можно добавить что то, но это не обязательно. target ID, цель медика, патроны, крест здоровья, и другие числа с их позициями по иксу и игреку составляют львиную долю худоделания. Так же этот файл постоянно обновляется, так что надо где то отложить бут версию на всякий случай.

Когда выходит обнова или идёт какой то ивент всегда лучше сразу заглянуть в hudlayout.res и добавить значения в новом файле вместо тупого замещения.Если вы замените новый файл то потеряете новые свистелки перделки, например если вышла обнова для классов и обновили например полосу заряда для спая, если вы замените новый файл старым то и моча на снайпе и шар дрёмы на скоте и плащ спая не будут отображаться, вызывая жопные боли у всех пользователей худа.

Ну это так, в общих чертах об этом файле. Все что вам тут надо менять это позиции Х и У, ну ещё возможно изменение ширины или длинны объектов. Если вы не можете передвинуть что то внутри .res файла, проблема возможно в высоте/ширине или позициях Х и У
5 Таблица счёта
Таблица со счетом,которая открывается в табе представлена всего одним файлом. Файл scoreboard.res находится в tf/resource/ui. В этом файле лежат разные переменные. Я думаю по большей части вы будете работать с переменной scores
BlueScoreBG это цветной фон за надписью blu в левой верхней части таблицы.
Src_corner_height\width и draw_corner_width отвечают за скругленные или прямые углы таблиц нужно только чтобы сделать прямоугольные формы.
RedScoreBG тоже самое что с синей командой только это для красной.заменить цвета можно следующим образом скопировать цветовой бокс и поменять в нем fieldname и все необходимые параметры под себя
MainBG основная картинка фона,на ней распологаются имена игроков,это большой серый фон таблицы
Blue/RedTeamLabelназвание команд. "Синяя команда и красная" в верхней части таблицы
Blue/RedTeamScore отображает счет команды
Blue/RedTeamScoreDropShadow тень от шрифта счета
Classimage показывает в табе за какой класс вы играете слева снизу
Остальные переменные не так важны,зачастую вы просто захотите повырубать все лишнее чтобы худ был менее громоздким. Флейм не считает проблемой огромную таблицу на весь экран. Если вы хотите себе сделать таблицу в стиле 6-6,то можно изменить height у score тогда все уменьшится, или просто заменить на что то поменьше например шрифты в названиях команд или счете.
6 Патроны в обойме
Большинству людей не нравится где находятся патроны в стандартном худе tf2 или просто как они выглядят. Это число можно передвинуть в секции HudAmmoWeapons в файле hudlayout.res. Можно так же изменить значения в самом HudAmmoWeapons.res в /resource/ui/. Есть несколько вещей которые надо знать и понимать чтобы менять эти числа, так как тут не одно значение надо менять чтоб изменить патроны для всех классов.

HUDAmmoWeaponBG – это та самая тёмная картинка в углу экрана на фоне патронов. Лучше поставить видимость на ноль

AmmoInClip – Это сколько патронов в обойме(только для оружия с обоймой, например огнемет пиро не имеет обоймы или миниган хеви)

AmmoInReserve – Это сколько патронов в запасе у оружия с обоймой. Тоесть стандартно у ракетомёта 4/20 что значит 4 в обойме и 20 в запасе

AmmoNoClip – Это для оружия без обойм
7 Количество хп
Многим нравится менять дефолтный хп потому что размер и позиция оставляют желать лучшего. Опять же можно двигать через hudlayout.res всё что касается хп так же есть в файле HudPlayerHealth.res в tf/resource/ui/. Тут всего несколько переменных:
PlayerStatusHealthImage – это внутренняя часть креста, белая часть, которая становится красной на лоухп. Если вы увеличите или уменьшите эту переменную, то все что внутри надо так же изменять.

PlayerStatusHealthImageBG – Это внешний тёмный фоновый слой креста. Он должен быть шире/длинней обычного креста, иначе не его не будет видно.

PlayerStatusHealthBonusImage – Это часть выходящая за рамки креста когда вас нахиливает мед и у вас есть оверхил. Должна быть ещё больше фона

PlayerStatusHealthValue – Цифровое обозначение хп внутри креста.
8 Иконки контрольных точек
Кому то нравятся иконки побольше, кому то поменьше. Если иконки слишком маленькие то невозможно разглядеть может сейчас захватывают ваш ласт или хотябы просто понять какая из точек захвачена а какая нет. Флейм не понимает зачем все подряд перетаскивают эти иконки, но изменить их width/height можно как вам угодно. файл для этого дела находится в ControlPointIcon.res в tf/resource/ui/.

ControlPointIcon – Это позиция квадратиков на СР картах. Немного можно поменять, например в минимал. худе слишком маленькие иконки или наоборот в обычном.

CapPlayerImage – Это человечек, который появляется на иконке поинта, когда кто-то захватывает.

CapNumPlayers – Это количество которое показывает сколько человек сейчас захватывают- цифра напротив человечка
9 Класс игрока
The Player Class
Это почти бесполезная секция. только если вам надо видеть за какой класс вы играете. Расположено в HudPlayerClass.res в tf/resource/ui/.
PlayerStatusClassImage – Это картинка класса за который вы играете. Находится в левом нижнем углу худа.

PlayerStatusSpyImage – Картинка того класса, под который вы замаскировались на спае.

PlayerStatusSpyOutlineImage – Это обводка которая выскакивает когда вы ударили ножом или выстрелили под маскировкой.

PlayerStatusClassImageBG – Это фон картинки класса. Когда вы в синей команде он синяя, когда в красной- красный
10 Полоса уберзаряда
Файл для называется HudMedicCharge.res находится в tf/resource/ui/. Тут немного переменных как и с луком снайпера. Всем не нравится позиция этой полосы в худе, потому и меняют расположение.

Background – Это фоновая картинка уберзаряда внизу справа.

Chargelabel – Это сколько процентов убера заряжено

Chargemeter – Это сама полоса, бегунок который визуально заполняется при накоплении убера.

HealthClusterIcon – Маленькая иконка плюса от лечения, которую видно только в минималистичном режиме. По идее бесполезная, но может кому надо
11 Таймеры кулдауна (банкате, молоко)
Есть около 10 разных эффектов. Их названия есть в HudItemEffectMeter_x.res в tf/resource/ui/. Они показывают кд(англ cooldown=перезарядка) всех вещей от мочи до молока скота.

ItemEffectMeterBG – Это фон позади таймеров.

ItemEffectMeterLabel – Это название того что сейчас перезаряжается.

ItemEffectMeter – Это бегунок кд, белая прямоугольная полоса.
12 Худ в режиме CTF карт
The CTF HUD
Это кое-что необычное. Когда вы работаете над худом попробуйте зайти на CTF карту чтоб посмотреть не перекрывается ли одно другим.
Всё это управляется отсюда: HudObjectiveFlagPanel.res в /resource/ui/. Важно: когда двигаете текст не забывать перетащить и тени этого шрифта.

Left/RightSideBG – Это фон для CTF Hud. По дефолту слева синий и справа красный.

OutlineBG – Это обводка на Left/RightSideBG.

Blue/RedScore – Цифра сколько каждая команда утащила доков. Есть тень

PlayingTo – Это маленькая панель в центре которая показывает сколько ещё надо захватить. То есть на обычных пабах лимит 3, тут будет показывать до победы: 3. Так же есть фон по дефолту полупрозрачный, серого цвета с округлёнными углами.


Blue/RedFlag – Это круглый компас местонахождения доков. Если сдвинуть один из них то надо сдвинуть второй на такое же расстояние в противоположную сторону, а то будет стремно выглядеть.
13 Худ в режимах PL/PLR карт
The Payload/Payload Race HUD
Часто вызывает бугурт при моддинге. Если вы измените размер пути вагонетки в худе, то вам так же надо изменять положения старта вагонетки и всех точек. Всё что касается PL/PLR HUD находится в ObjectiveStatusEscort.res и ObjectiveStatusMultipleEscort.res в tf/resource/ui/ для payload и payload race соответственно. PLR часто играют, иногда в компететиве, так что сделать худ для этого режима просто необходимо.

LevelBar – Это путь прогресса вагонетки, когда вагонетка двигается по карте она передвигается и в худе по этому пути. Можно с ним делать все что угодно. Находится внизу худа.

HomeCPIcon – Это картинка в левой части пути так называемый "дом". Если изменить его размер то надо будет двигать саму картинку так, чтобы она совпала с началом пути.

EscortItemImage – Иконка вагонетки. Должна быть одинаковая width с путём. Иначе может лагать

SpeedBackwards – Стрелка, которая появляется когда вагонетка катится назад.

CapPlayerImage – Это человечек который появляется, когда кто-то двигает вагонетку.

CapNumPlayers – Число двигающих вагонетку напротив человечка. большая часть всех этих вещей есть в ObjectiveStatusEscort.res но специальные фишки PLR в ObjectiveStatusMultipleEscort.res. Их тут всего ничего, но они важные.

Blue/RedEscortPanel – В режиме PLR красный и синий путь для обеих команд.
14 Фриз камеры после смерти
The Killed-By Freezecam
Можно убрать боксы с именем убийцы, можно вообще всё поубирать. Файл - FreezePanel_Basic.res и FreezePanelKillerHealth.res в tf/resource/ui/.
NemesisPanelBG – Чёрный фон позади имени того, кто над вами доминирует.

NemesisIcon – Иконка на которой изображены два бьющихся кулака.

NemesisLabel – имя того, кто над вами доминирует.

FreezePanelBG – Цветной фон позади имени.

FreezeLabelKiller – Инфа о том, кто вас убил

FreezePanelHealth - Показывает сколько хп в форме креста у убийцы.

ItemPanel – Показывает что носит убийца, можно отключить в настройках
Можно заменить крест хп на число в FreezePanelKillerHealth.res.
15 Облако с плюсом при вызове меда
The Medic Caller Icons
Итак, эти "пузыри" с крестиком внутри показываются когда вы играете за меда и кто то кричит МЕДИК. Флейм делает эти пузыри поменьше, но можно и больше сделать- как хотите. Файл для этого называется MedicCallerPanel.res так же в tf/resource/ui/.
CallerBG – Это фон облака.

CallerBurning – Это фон облака когда кто-то горит.

CallerHealth – эта иконка показывает лоухп у зовущего. Когда хп в порядке белого цвета, когда лоухп- красного.
16 Худ наблюдателя
The Pub Spectator HUD
Этот худ видно когда вы спекаете игру в обычном пабе. У него есть серые части вверху и внизу на которых показывают разную инфу, которые бесполезны в минималистичном режиме, а так же серая часть в минималистичном режиме в верхней части худа.
Тут немного разных штук: время респавна, target IDs (исправляется не в этом файле) и серые части худа. Файл называется Spectator.res в tf/resource/ui/. Тут всё понятно если шарите в инглиш.
TopBar – Верхний серый бокс. visible 0 с ним не работает. Вам нужно сделать tall 0 чтобы спрятать его

BottomBar – Серый бокс внизу если у вас cl_hud_minmode на 0. Содержит инфу типа названия карты и т. д. Исчезает в минималистичном режиме.

ReinforcementsLabel – Таймер респа.
Остальное видно лишь в полном худе, не мин. режиме.
17 Худ наблюдателя в компететиве
The Tournament Spectator HUD
Разработан под игры в стиле 6-6. Файл называется SpectatorTournament.res в нем прописаны все части худа, а в SpectatorTournamentGUIHealth.res прописан крест здоровья и число хп.

SpecGui – Самое важное. Базовые значения показывают где находится инфа об игроке от первого лица.

PlayerName – Имя игрока по дефолту внизу бокса с инфой

Classimage – Картинка слева от бокса, показывает класс игрока.

HealthIcon – Крест хп.

RespawnTime – Время респа. По дефолту снизу справа от HealthIcon.

ChargeAmount – Процент убера у меда.

SpecIndex – Слот игрока, чтобы спекать было проще. Тоесть если вы нажмёте 1 вы будете спекать за первым игроком в боксе.
TopBar и BottomBar такие же как в Spectator.res и Reinforcementlabel показывает тот же респаун тайм. Хп числом можно прописать в SpectatorTournamentGUIHealth.res
18 Железо инжа
The Engineer's Metal
У этой части худа зачем-то есть свой отдельный файл, ну пути вольво неисповедимы. Файл называется HudAccountPanel.res
AccountBG – Фон иконки метала.

MetalIcon – Изображение ключа напротив металла.

AccountValue – Цифра сколько металла в запасе.
Таблица построек находятся в build menu
19 Target ID
The Target ID хз как адекватнее перевести, если буквально то это идентификатор цели.
Это ахилесова пята всех худов, зачастую может запороть нормальный худ. Стандартный Target ID выглядит громоздко и занимает огромную площадь, что во время боя может помешать вам разглядеть важные детали. Состоит из 3 частей, их позиции прописаны в hudlayout.res. Это MainTargetID, SpecatatorID, SecondaryID.
CMainTargetID – Имя того, на кого смотрите

CSpecatatorTargetID – Имя того, на кого смотрите когда спекаете.

CSecondaryTargetID – Кого лечите
Все эти переменные находятся в hudlayout.res, хорошо бы знать как их распологать относительно друг друга. Но вся эстетика Target ID рождается в TargetID.res в tf/resource/ui/.

TargetIDBG – Фон где написано имя и уровень уберзаряда с хп того игрока, на которого вы смотрите.

TargetIDBG_Spec_Blue/Red – Это фон синего или красного цвета у надписей имени и прочего только для зрителя в спектрах.

TargetNameLabel – Это имя того, на кого смотрите или инфа о постройке.

TargetDataLabel – это вторичная инфа о игроке когда вы на него смотрите. Тоесть убер меда или уровень улучшения построек инжа.

SpectatorGUIHealth – Это плюсик хп в секции Target ID
20 Win Panel
Тут всё похоже на таблицу счёта, за исключением того что тут всё проще но труднее редактировать. Потому что этот элемент худа видно только в конце раунда/игры и отображается он только так. Находится в winpanel.res в tf/resource/ui/. А так же часть находится в arenavspanel.res но это только для режима "арена".
Blue/RedScoreBG – Это цветной фон названий команд в верхней части панели.

Red/BlueTeamLabel – Это название команд BLU/RED.

Red/BlueTeamScore – Счёт лучших игроков в команде
Всё остальное точно такое же как в таблице счёта.
21 Дополнительная информация
Здесь рассмотрим остальные файлы которые так или иначе могут понадобиться при худоделании и подведём итог. Чтобы создать тень надо скопировать элемент вниз изменив его название и fieldname. Потом сместить его от оригинала на 1 по zpos и переместить по ypos/xpos на 2 от оригинала. Потом поменять fgcolor на black.

Маскировка спая как отдельный элемент – у него есть свой файл для маленькой панели которая показывает под кого вы маскируетесь и какое оружие у вас в руках. Файл называется DisguiseStatusPanel.res

Всегда смотрите над чем работаете, карта CTF или PLR – и классы heavy/pyro или demoman/scout чтобы убедиться что ничего не запорото. Пест инжа тоже часто багает, потому что там 200 патронов в запасе.

Если visible 0 не отключает отображение чего-либо – такое бывает в некоторых частях худа. Можно пофиксить изменением ширины/высоты секции на ноль. Или просто задать позиции за пределами экрана, тогда тоже не будет показываться.

Убедитесь что нет опечаток в написании английских переменных и их показателей – Если в одной части худа какой то бокс/секция написаны с опечаткой игра может вообще не запускаться или крашится при заходе на серв.
Стики демо и лук снайпера имеют полосу заряда – Оба оружия имеют отдельные файлы. Это HUDDemomanPipes и HUDBowCharge. Их расположение меняется в hudlayout.res

Если вы не понимаете что за что отвечает, то зайдите на серв у которого прописано sv_cheats 1, введите в консоли vgui_drawtree 1. Это откроет "дерево" всех элементов худа. Смотрите за что отмечено подсветкой и выберите в дереве что вам нужно чтобы посмотреть название элемента.
1 Comments
Гнойный prime 17 Oct, 2021 @ 2:35am 
спасибо чувак, очень хорошая статья:Upgrades: