• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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 - В помощь вам
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).

Создаем обычный 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 сам будет запускаться!
 
И так,начнем с того,что вам нужно знать хотя-бы базу в GLUA - В помощь вам
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).

Создаем обычный 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().
Остальное ненужное
 
Главная Регистрация
Назад
Сверху