[2] Garrys Mod Lua. Создаём свой шрифт и определяем имя игрока, выводя его на экран
Урок 1 : https://gamesubject.com/question/2967
Создаём свой шрифт и определяем ник игрока, выводя его на экран с нашим шрифтом.
Писать будем в клиентской части.
Создаём шрифт, но сначала рассмотрим параметры создания шрифта:
font - используемый шрифт, по умолчанию arial.
size - размер шрифта, по умолчанию 13.
weight - жирность шрифта, по умолчанию 500.
antialias - сглаживание шрифта, по умолчанию true.
underline - подчёркивание шрифта, по умолчанию false.
italic - сделать шрифт курсивом, по умолчанию false.
strikeout - зачёркивание шрифта, по умолчанию false.
shadow - создаёт тень шрифту, по умолчанию false.
outline - создаёт обводку, по умолчанию false.
Теперь создаём шрифт:
surface.CreateFont("hello",{
size = 40,
weight = 40,
shadow = true
})

surface.CreateFont - создаёт шрифт. Работает только в клиентской части.
"hello" - название нашего шрифта.
size = 40 - создаём размер шрифту.
weight = 40 - создаём жирность шрифту.
shadow = true - создаём тень шрифту.
Теперь создаём hook рисования HUD:
hook.Add("HUDPaint","hud",function()
HUDPaint - вызывается для рисования HUD. Работает только в клиентской части.
Создаём локальную переменную, в которую засовываем имя игрока:
local name = LocalPlayer():Nick()
local name - создаём локальную переменную.
LocalPlayer() - игрок. Работает только в клиентской части.
LocalPlayer():Nick() - получаем ник игрока.
Nick() - работает в клиентской и серверной части.
Теперь создаём текст с именем игрока:
draw.DrawText(name,"hello",80,910,Color(255,255,0,255),TEXT_ALIGN_LEFT)
draw.DrawText - создаёт текст. Работает только в клиентской части.
name - наш текст.
"hello" - наш шрифт.
80 - позиция текста по x.
910 - позиция текста по y.
Color(255,255,0,255) - цвет в RGBA, R(red, красный), G(green, зелёный), B(blue, синий), A(alpha, прозрачность).
TEXT_ALIGN_LEFT - смещение текста влево.
Рассмотри еще смещения текста:
TEXT_ALIGN_RIGHT - смещение текста вправо.
TEXT_ALIGN_BOTTOM - смещение текста вниз.
TEXT_ALIGN_TOP - смещение текста вверх.
Код который у нас получился:
if CLIENT then
local name = LocalPlayer():Nick()
surface.CreateFont("hello",{
size = 40,
weight = 40,
shadow = true
})
hook.Add("HUDPaint","hud",function()
draw.DrawText(name,"hello",80,910,Color(255,255,0,255),TEXT_ALIGN_LEFT)
end)
end
15451 просмотр
больше 3 лет назад
Garry’s Mod
5 ответов
4
3
Привет, слушай, расскажешь как сделать радужный цвет? Хочу на текст сделать радужный текст.
Ответ дан
27 дн. назад
0
Нормально так)
Ответ дан
больше 3 лет назад
0
Да, действительно приятно когда в коллективе появляются такие люди.
Ответ дан
больше 3 лет назад
0
Помогаю найти игру, исправить ошибки, вылеты, фризы, лаги и проседания FPS.
Я бы уже задолбался всё это делать)
Ответ дан
больше 3 лет назад
0
#privet ya top Gamer in the World
surfgamer
больше 3 лет назадОтветить
Bravo Приятно что у нас есть такой человек в команде)
Ответ дан
больше 3 лет назад
0
Я когда написал эту статью заметил что этот аддон автоматически не запускается, точнее запускается, но при автозапуске выдаёт ошибку, то что SteamID64 не имеет значения, думал уже переписывать статью, но хорошая получилась и очень долго писал, подумал, ладно оставлю(главное указал как запустить).surfgamer
больше 3 лет назадОтветить
но немного всё не по плану))surfgamer
больше 3 лет назадОтветить
@surf да бывает такое что во время работы происходят непредвиденные обстоятельства))Arturik^Turik
больше 3 лет назадОтветить
я решение проблемы придумал!!!! только что!!!!surfgamer
больше 3 лет назадОтветить
@surf это хорошо!)Arturik^Turik
больше 3 лет назадОтветить
@Artur не, плохо, не работает решение проблемы, не могу определить игрока на сервере((surfgamer
больше 3 лет назадОтветить
@surf очень жаль, особенно потому что я ничего не могу посоветовать(Arturik^Turik
больше 3 лет назадОтветить
@Artur Нашел работающий способ решения проблемыsurfgamer
больше 3 лет назадОтветить
@surf Отлично!Arturik^Turik
больше 3 лет назадОтветить
Введите ваш ответ
Символов нужно 2