YoungDELETE
Пользователь
И так,начнем с того,что вам нужно знать хотя-бы базу в GLUA - В помощь вам https://wiki.garrysmod.com/page/Main_Page
Создаем обычный txt и изменяем его расширение на lua,после называем...Допустим "MyFirstHud".
После,мы открываем его с помощью notepad++
Добавляем хук для скрытия обычного hud'a в Garry's Mod.
Выглядит он примерно так:
После,нам нужно добавить еще один хук,который будет отображать наш самописный hud.
Так-же,мы можем добавить свой шрифт,но это не обязательно!
В этом хуке,мы отображаем наше HP.
Выглядит примерно так:
Вот мы написали обычное отображение HP.
Кидать нужно в: GarrysMod\garrysmod\lua
А после запускать через консоль командой lua_openscript_cl MyFirstHud.lua
Или же мы можем сделать проще,закинув lua файл в: GarrysMod\garrysmod\lua\autorun\client
И hud сам будет запускаться!
Создаем обычный txt и изменяем его расширение на lua,после называем...Допустим "MyFirstHud".
После,мы открываем его с помощью notepad++
Добавляем хук для скрытия обычного hud'a в Garry's Mod.
Выглядит он примерно так:
Lua:
function HUDHide ( hud )
hook.Add( "HUDShouldDraw", "HideHL2HUDForSlimeHUD", function( name )
if name == "CHudHealth" or name == "CHudBattery" or name == "CHudSuitPower" or name == "CHudAmmo" or name == "CHudSecondaryAmmo" then
return false
end
-- Выключает обычный hud
end )
end
После,нам нужно добавить еще один хук,который будет отображать наш самописный hud.
Lua:
hook.Add( "HUDPaint", "HUDPaint_Draw", function() -- Добавляет хук,для отображения нашего hud'a
--Тут должен быть ваш код!
end)
Так-же,мы можем добавить свой шрифт,но это не обязательно!
Lua:
hook.Add( "HUDPaint", "HUDPaint_Draw", function()
surface.CreateFont( "vf", {
font = "Arial",
size = 25,
weight = 800
} )
end)
В этом хуке,мы отображаем наше HP.
Выглядит примерно так:
Lua:
hook.Add( "HUDPaint", "HUDPaint_Draw", function()
surface.CreateFont( "vf", {
font = "Arial", -- Какой будет использоваться шрифт,как за основу
size = 25, -- Размер
weight = 800 -- "Жирность" шрифта
} ) -- Добавляет наш шрифт
surface.SetDrawColor(255, 255, 255, 155) -- Устанавливает цвет для нашего квадрата
surface.DrawRect(8, ScrH() - 31 + 4, 200 + 4, 20 + 4 ) -- Рисует квадрат
surface.SetDrawColor(0, 200, 0, 255) -- Устанавливает цвет для нашего квадрата
surface.DrawRect(10, ScrH() - 25, 200 * ( LocalPlayer():Health() / LocalPlayer():GetMaxHealth() ), 20 ) -- Отображение нашего ХП в графическом варианте
surface.SetFont( "vf" ) -- С каким шрифтом будет наш текст
surface.SetTextPos( ScrW() - 1385, ScrH() - 27 ) -- Где будет наш текст
surface.SetTextColor(255, 255,255, 255) -- Цвет нашего текста
surface.DrawText( LocalPlayer():Health() .. "/" .. LocalPlayer():GetMaxHealth() .. "%" ) -- Отображение нашего ХП в текстовом варианте
end)
Вот мы написали обычное отображение HP.
Кидать нужно в: GarrysMod\garrysmod\lua
А после запускать через консоль командой lua_openscript_cl MyFirstHud.lua
Или же мы можем сделать проще,закинув lua файл в: GarrysMod\garrysmod\lua\autorun\client
И hud сам будет запускаться!