Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Как написать отображение HP?

YoungDELETE

Пользователь
Регистрация
31 Окт 2019
Сообщения
5
Реакции
0
Баллы
13
И так,начнем с того,что вам нужно знать хотя-бы базу в GLUA - В помощь вам https://wiki.garrysmod.com/page/Main_Page
Создаем обычный 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 сам будет запускаться!
 

Kicessuor

Пользователь
Регистрация
13 Апр 2019
Сообщения
194
Реакции
0
Баллы
37
И так,начнем с того,что вам нужно знать хотя-бы базу в GLUA - В помощь вам https://wiki.garrysmod.com/page/Main_Page
Создаем обычный 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 сам будет запускаться!
Собственно тема про отображение ХП, но зачем в неё пихать ненужное?
Просто нужно обьяснить про HUDPaint и LocalPlayer():Health().
Остальное ненужное
 
Назад
Сверху Снизу